Real Time Protocol (RTP)

26
Real Time Protocol (RTP) Profa. Ana Cristina Benso da Silva Redes de Computadores

description

Real Time Protocol (RTP). Profa. Ana Cristina Benso da Silva Redes de Computadores. RTP (Real Time Protocol). “Application Layer Framing” Troca o TCP (protocolo sofisticado) por um protocolo simples Normalmente aplicações em tempo real não necessitam das funções do TCP - PowerPoint PPT Presentation

Transcript of Real Time Protocol (RTP)

Page 1: Real Time Protocol (RTP)

Real Time Protocol (RTP)

Profa. Ana Cristina Benso da Silva

Redes de Computadores

Page 2: Real Time Protocol (RTP)

Redes de Computadores Profa. Ana Benso

RTP (Real Time Protocol)

“Application Layer Framing” Troca o TCP (protocolo sofisticado) por um

protocolo simplesNormalmente aplicações em tempo real não

necessitam das funções do TCPAlgoritmos para aplicações multimídia tratam a falta

de dados ou erro nas transmissõesTempo de retransmissão do TCP é normalmente

substituído pelo simples esquecimento dos dados que faltam

Page 3: Real Time Protocol (RTP)

Redes de Computadores Profa. Ana Benso

RTP

IP

Arquitetura do RTP

RTP não especifica um protocolo por completoFramework

Define papéis básicos, operações e formato das mensagens

Aplicações específicas adicionam o controle necessário para cada uma UDP

RTP

MPEG

H.261

JPEG

Page 4: Real Time Protocol (RTP)

Redes de Computadores Profa. Ana Benso

Transmissão de Áudio e Vídeo

Transmissão de áudio em sistema de telefoniaPCM

Amostras de 8 bits a cada 125 seg (8000 vz/seg)Total de 64Kbps

Exemplo: 128 seg. de áudio = 1 Mb de memóriaRedução:

Diminuir o número de amostrasDiminuir o número de bits por amostraCompressão digital*

Resultado: BAIXA QUALIDADE ou ATRASO*

Page 5: Real Time Protocol (RTP)

Redes de Computadores Profa. Ana Benso

Reprodução de Áudio e Vídeo

Tempo real Largura de banda para garantir a velocidadeGarantia de tempo de entrega para garantir a

reproduçãoArquitetura Isócrona

Todo sistema é desenvolvido para a garantia da transmissão em tempo real

Redes TCP/IPNão é isócrono

Page 6: Real Time Protocol (RTP)

Redes de Computadores Profa. Ana Benso

Problema em Redes TCP/IP

O TCP/IP não preserva as relações de tempo entre as mensagensDatagramas podem chegar

em intervalos irregulares fora de ordem

Ou não chegam

RedeRede

Jitter: Variação no atraso

Page 7: Real Time Protocol (RTP)

Redes de Computadores Profa. Ana Benso

Timestamp

A reprodução dos dados de forma continua exige a reconstrução e sincronização dos dados

Aplicações de tempo real utilizam um timestamp para a reordenação dos dados

Timestamp é comum a maioria das aplicações de tempo realIncorporado ao framework do RTP

Page 8: Real Time Protocol (RTP)

Redes de Computadores Profa. Ana Benso

Jitter e Atraso de Reprodução

Playback buffer

Dados são bufferizados na recepção até atingir o playback point (limite de k posições)

Não houver jitter, sempre haverá k frames bufferizados

Caso ocorrá atraso, haverá K frames bufferizados

EntradaTempo variável

SaídaTempo fixo

Page 9: Real Time Protocol (RTP)

Redes de Computadores Profa. Ana Benso

Multicast

O RTP foi projetado para operações em multicastTráfego de dadosTráfego de controle

Mensagens de feedback são enviadas a todos os participantes do grupoGasto de largura de banda?

Page 10: Real Time Protocol (RTP)

Redes de Computadores Profa. Ana Benso

Multicast - Vantages

Todos os clientes “ouvem” o feedback dos demais

Assim todos ficam sabendo quanto de banda é gasta com o feedback

Com este conhecimento os participantes podem diminuir e retardar as mensagens de feedback

Outros hosts podem “ouvir” e medir a qualidade da transmissão na rede

Natureza humana“Somente eu tenho problemas, como esta a

qualidade para os demais”?

Page 11: Real Time Protocol (RTP)

Redes de Computadores Profa. Ana Benso

Papéis

Origem e DestinoTranslator and Mixer

Estão entre origem e destino e processam pacotes RTP (“in the middle”)

Translator: transforma o pacotes de um formato de payload para outro

Mixer: combina vários “source streams” em um, preservando o formato original

Page 12: Real Time Protocol (RTP)

Redes de Computadores Profa. Ana Benso

Formato da Mensagem

Timestamp

Synchronization Source Identifier

(first) Contributing Source Identifier

(last) Contributing Source Identifier

Application Data

Version

Padding

Extension

ContributorCount

Marker

Payload Type Sequence Number

Page 13: Real Time Protocol (RTP)

Redes de Computadores Profa. Ana Benso

Campos da Mensagem

Version: versão atual é a 2 (2 bits) Padding: se for igual a um, indica que o último byte no pacote tem um

contador que indica quantos bytes foram adicionados (1 bit) Extension: se for igual a um, indica que há um header de extensão

após o header do RTP (1 bit) Contributor Count: indica quantos “contributing source identifiers” a

mensagem tem (4 bits) Marker: bit disponível para aplicação (1 bit) Payload Type: indica o tipo do payload (7 bits) Synchronization source identifier (SSRC): identifica o “sistema”

original da mensagem, ou seja, o sistema que define o número de seqüência e o timestamp dos dados (32 bits)

Contributing Source (CSRC): sistema de origem, cujos dados estão multiplexados neste datagrama (32 bits)

Page 14: Real Time Protocol (RTP)

Redes de Computadores Profa. Ana Benso

Tipo de Payload

0 PCMU Audio 16-22 unassigned audio

1 1016 audio 23 RGB8 video

2 G721 audio 24 HDCC video

3 GSM audio 25 CelB vieo

4 unassigned audio 26 JPEG video

5 DVI4 audio (8KHz) 27 CUSM video

7 LPC audio 29 PICW video

8 PCMA audio 30 CPV video

9 G722 audio 31 H261 video

10 L16 audio (stereo) 32 MPV video

11 L16 audio (mono) 33 MP2T video

12 TPS0 audio 34-71 unassigned video

13 VSC audio 72-76 reserved

14 MPA audio 77-95 unassigned

Page 15: Real Time Protocol (RTP)

Redes de Computadores Profa. Ana Benso

Características do RTP

Usa o mesmo formato de frame para todas as mensagensEste formato é alterado pela adição de

aplicações específicasTransportado sobre UDP, mas suporta

outros protocolosNão tem uma porta “bem-conhecida”, depende

da aplicaçãoDefault: 5004 (dados), acima de 5004 para

controle

Page 16: Real Time Protocol (RTP)

Redes de Computadores Profa. Ana Benso

Características do RTP

Header compactoEvita overhead de controleAplicações consome muita largura de bandaAplicações enviam pequenas quantidades de

dadosReduz o overhead e ajuda no transporte

eficiente

Page 17: Real Time Protocol (RTP)

Redes de Computadores Profa. Ana Benso

Áudio e Vídeo Simultâneos

São transmitidos em sessões RTP distintasRTP e RTPC para ambas as sessões

Portas UDP e endereço multicast diferentes para cada sessão

Manter a sincronização entre áudio e vídeoVantagem

Usuários podem receber ambos streams, ou apenas um deles

Page 18: Real Time Protocol (RTP)

Redes de Computadores Profa. Ana Benso

Problemas na Demultiplexação

Não há como identificar tipos diferentes de payload (codificação diferente)

Problemas de temporização e sequenciamento se houver diferença para diferentes mídias

Mensagens RTPC descrevem apenas um espaço de número de seqüência e temporização

RTP mixer não é capaz de combinar tipos diferentes em um stream

Gerenciamento da largura de banda e recepção de streams heterogêneos

Page 19: Real Time Protocol (RTP)

Redes de Computadores Profa. Ana Benso

Controlando Tráfego em Tempo Real

Um só tipo de mensagensMensagens para transporte de dados de

aplicaçãoRTPC – Real Time Control Protocol

Feedback e outros controlesUsa porta UDP diferente

Uma ID maior que a porta de dadosSender Report (200), Receiver Report (201),

Source Destination (202), Bye(203), Application Specific(204)

Page 20: Real Time Protocol (RTP)

Redes de Computadores Profa. Ana Benso

RTPC Reports

SenderEnvia mensagens para que os outros

verifiquem o que deveriam ter recebidoFormato (em anexo)

ReceiverUsado para quando o host não está

transmitindoReporta estatísticas de recepção

Page 21: Real Time Protocol (RTP)

Redes de Computadores Profa. Ana Benso

Reports ...

Outros reportsSource Description (SDES)

CNAME, NAME, EMAIL, PHONE, LOC, TOOL, NOTE, PRIV

ByeSistema anuncia que está deixando a conferência

Application Specific Messages

ProblemasCongestionamento com msg de controle

Page 22: Real Time Protocol (RTP)

Redes de Computadores Profa. Ana Benso

Reports ...

SoluçãoRegras para definir a periodicidade destas

mensagens

PrincípiosManter os requisitos de tráfego constantes,

independente do número de participantesMensagens são enviadas por multicast

Controle do número de sistemas

Aumentado-se o número de sistemas, a freqüência dos relatórios de todos os sistemas diminui

Page 23: Real Time Protocol (RTP)

Redes de Computadores Profa. Ana Benso

Reports ...

Geração de mensagens em intervalos randômicos Se houver sincronização haverá picos de tráfego

Page 24: Real Time Protocol (RTP)

Redes de Computadores Profa. Ana Benso

RTPC - Intervalo de Transmissão

Largura de banda da sessãoDividida entre os participantesSoma de custos ou largura disponível para a

sessãoNormalmente é a soma da largura de banda nominal

de cada origem que deverá estar ativa (sender)Para transmissões de áudio é normalmente a largura de

banda de uma origem apenas

Largura de banda deve ser fornecida por um gerente de sessão

Page 25: Real Time Protocol (RTP)

Redes de Computadores Profa. Ana Benso

RTPC - Intervalo de Transmissão

O tráfego de controle deve ser limitado a 5% da largura de bandaNão deverá causar impacto na transmissão de

dados¼ deste 5% devem ser reservados aos

participantes que enviam dadosSe o número de origem é maior que ¼ dos

participantesA origem usa o percentual sobre a largura de banda

total da sessãoPoucos participantes: mínimo 5 segundos!!!

Page 26: Real Time Protocol (RTP)

Redes de Computadores Profa. Ana Benso

Telefonia IP e Sinalização

“Voice over IP”Qual a tecnologia adicional para o suporte aos sistemas

de telefonia isócronos? RTP Controle de Conexão (a nível de aplicação) Mecanismos para que uma rede IP funcione de forma isócrona

Controle de Conexão SS7 (Signaling System 7)

Padrões propostosH.323 (ITU-T)SIP (Signaling Initiation Protocol) (IETF)