![Page 1: inf207 redes multimidia - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207_redes... · Ł Exemplo: Skype e vídeoSkype. Jitter Variaçãode atrasosdos](https://reader031.vdocuments.site/reader031/viewer/2022022620/5bae903009d3f2251e8d90b3/html5/thumbnails/1.jpg)
INFINF--207207
Sistemas ComputacionaisSistemas Computacionais
para Processamento Multimídiapara Processamento Multimídia
SistemasSistemas MultimídiaMultimídiaSistemasSistemas MultimídiaMultimídiaAulaAula 04 04 –– RedesRedes MultimídiaMultimídia
22°°°°°°°°QQ--20102010
Prof. Roberto Prof. Roberto JacobeJacobe ([email protected])
Prof. Marcelo Z. do Prof. Marcelo Z. do NascimentoNascimento (([email protected])
![Page 2: inf207 redes multimidia - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207_redes... · Ł Exemplo: Skype e vídeoSkype. Jitter Variaçãode atrasosdos](https://reader031.vdocuments.site/reader031/viewer/2022022620/5bae903009d3f2251e8d90b3/html5/thumbnails/2.jpg)
Roteiro
• Aplicações de rede multimídia
• Transmissão em fluxo contínuo de áudio e vídeo
armazenados
• Protocolos para aplicações interativas em tempo real:• Protocolos para aplicações interativas em tempo real:
• RTP
• RTCP
• SIP
• Leitura Sugerida
![Page 3: inf207 redes multimidia - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207_redes... · Ł Exemplo: Skype e vídeoSkype. Jitter Variaçãode atrasosdos](https://reader031.vdocuments.site/reader031/viewer/2022022620/5bae903009d3f2251e8d90b3/html5/thumbnails/3.jpg)
• Aplicações multimídia: áudio e vídeo em rede (“mídia contínua”)
• Fatores como temporização (sensíveis ao atraso) e tolerância a perda.
Aplicações de rede multimídia
QoS
rede provê aplicações com nível de desempenho necessário para o funcionamento da aplicação. Multimídia X Web, Email, FTP?
![Page 4: inf207 redes multimidia - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207_redes... · Ł Exemplo: Skype e vídeoSkype. Jitter Variaçãode atrasosdos](https://reader031.vdocuments.site/reader031/viewer/2022022620/5bae903009d3f2251e8d90b3/html5/thumbnails/4.jpg)
As Classes de aplicações multimídia:
1) Transmissão em fluxo contínuo de áudio e vídeoarmazenados (Demanda).
� Exemplo: Palestras, filmes de longa duração, videoclipes
2) Transmissão em fluxo contínuo de áudio e vídeo ao vivoExemplo: Emissora de rádio e IPTV
Aplicações de Redes Multimídia
� Exemplo: Emissora de rádio e IPTV
3) Áudio e vídeo interativos em tempo real� Exemplo: Skype e vídeo Skype.
Jitter Variação de atrasos dos pacotes dentro
do mesmo fluxo de pacotes
![Page 5: inf207 redes multimidia - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207_redes... · Ł Exemplo: Skype e vídeoSkype. Jitter Variaçãode atrasosdos](https://reader031.vdocuments.site/reader031/viewer/2022022620/5bae903009d3f2251e8d90b3/html5/thumbnails/5.jpg)
Características fundamentais em multimídia:
•Se a aplicação é:
• Tipicamente sensível a atraso
• Atraso fim-a-fim• Jitter do atraso
Aplicações de Redes Multimídia
• Jitter do atraso
• Mas é tolerante a perdas: perdas infreqüentes causam
interrupções aleatórias menores na recepção de áudio e vídeo
• Em aplicações eláticas (web, email, telnet), atrasos longos são incômodos, mas não prejudiciais e a integridade dos dados são de suma importância
![Page 6: inf207 redes multimidia - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207_redes... · Ł Exemplo: Skype e vídeoSkype. Jitter Variaçãode atrasosdos](https://reader031.vdocuments.site/reader031/viewer/2022022620/5bae903009d3f2251e8d90b3/html5/thumbnails/6.jpg)
• Clientes requisitam sobre demanda arquivos que estão armazenados em servidores
• Essa transmissão em fluxo contínuo tem características:
• Mídia armazenada na origem (funções => pausa, voltar)
Transmissão em fluxo contínuo de multimídia armazenada
voltar)• Transmitida para o cliente• Fluxo contínuo: cliente começa a reproduçãoantes que todos os dados tenham chegado• Usa aplicações => RealPlayer, QuickTime, etc.
• Confinamento de tempo para os dados que ainda serão transmitidos:• Em tempo para a reprodução.
![Page 7: inf207 redes multimidia - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207_redes... · Ł Exemplo: Skype e vídeoSkype. Jitter Variaçãode atrasosdos](https://reader031.vdocuments.site/reader031/viewer/2022022620/5bae903009d3f2251e8d90b3/html5/thumbnails/7.jpg)
2. Vídeoenviado atraso
Transmissão em fluxo contínuo de multimídia armazenada:
Vídeogravado
enviado3. Vídeo recebido,executado no cliente
Fluxo contínuo: o clienteexecuta a parte inicial do vídeo, enquanto o servidor ainda está enviandosua parte final
atrasoda rede
tempo
![Page 8: inf207 redes multimidia - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207_redes... · Ł Exemplo: Skype e vídeoSkype. Jitter Variaçãode atrasosdos](https://reader031.vdocuments.site/reader031/viewer/2022022620/5bae903009d3f2251e8d90b3/html5/thumbnails/8.jpg)
Aplicações: telefonia IP, videoconferência e mundos interativos distribuídos
• Permite que utilizem áudio e vídeo para comunicação entre si em tempo real;
•Requisitos de atraso fim-a-fim:Áudio: < 150 mseg bom e < 400 mseg aceitáveis
Multimídia interativa em tempo real
•Requisitos de atraso fim-a-fim:• Áudio: < 150 mseg bom e < 400 mseg aceitáveis• Inclui atrasos do nível de aplicação (empacotamento) e da estrutura de rede
• Atrasos maiores notáveis, danificam a interatividade
•Inicialização da sessão• Na comunicação: endereço IP, número de porta, algoritmos de codificação:
• TCP/UDP/IP: “serviço de melhor esforço” => nenhumagarantia contra atrasos e perdas
![Page 9: inf207 redes multimidia - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207_redes... · Ł Exemplo: Skype e vídeoSkype. Jitter Variaçãode atrasosdos](https://reader031.vdocuments.site/reader031/viewer/2022022620/5bae903009d3f2251e8d90b3/html5/thumbnails/9.jpg)
Filosofia de serviços integrados: • Mudanças fundamentais na Internet para que as aplicações
possam fazer reserva de banda fim-a-fim;
• Requer softwares novos e complexos em hosts e roteadores;
A evolução da Internet para suporte adequado a multimídia?
• Requer softwares novos e complexos em hosts e roteadores;
Não intervenção• Sem maiores mudanças;
• Maior largura de banda quando necessário;
• Distribuição de conteúdo => multicast em nível de aplicação;
• Camada de aplicação.
![Page 10: inf207 redes multimidia - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207_redes... · Ł Exemplo: Skype e vídeoSkype. Jitter Variaçãode atrasosdos](https://reader031.vdocuments.site/reader031/viewer/2022022620/5bae903009d3f2251e8d90b3/html5/thumbnails/10.jpg)
Filosofia de serviços diferenciados:
•Se houvesse uma definição de classes de serviços:
• Roteadores antendesse pacotes de classe (prioridade)
• Poucas mudanças na infra-estrutura da Internet ainda
A evolução da Internet para suporte adequado a multimídia?
• Poucas mudanças na infra-estrutura da Internet ainda
provêem serviços de 1a e 2a classes
• Quais mecanismos temos para trabalhar:
• Enviar áudio e vídeo com UDP e/ou retardo de reprodução
Qual é a sua opinião?
![Page 11: inf207 redes multimidia - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207_redes... · Ł Exemplo: Skype e vídeoSkype. Jitter Variaçãode atrasosdos](https://reader031.vdocuments.site/reader031/viewer/2022022620/5bae903009d3f2251e8d90b3/html5/thumbnails/11.jpg)
•Áudio ou vídeo armazenado em arquivo => devem ser segmentados e os segmentos devem ser encapsulados com cabeçalhos especiais apropriado para trafego de áudio e vídeo – RTP (protocolo de tempo real)
• Se houver interatividade com usuário => saltos, avanço, rebobinação => RTSP (protocolo de fluxo contínuo em tempo
Multimídia da Internet: abordagem mais simples
rebobinação => RTSP (protocolo de fluxo contínuo em tempo real);
•Usa uma aplicação auxiliar (usuário)-> transdutor• Estabelece-se uma conexão TCP
• Faz a descompressão e eliminação de variação de atraso• Mensagem: Arquivos transferidos como objeto HTTP• Recebidos por inteiro no cliente• Então iniciam a execução!
![Page 12: inf207 redes multimidia - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207_redes... · Ł Exemplo: Skype e vídeoSkype. Jitter Variaçãode atrasosdos](https://reader031.vdocuments.site/reader031/viewer/2022022620/5bae903009d3f2251e8d90b3/html5/thumbnails/12.jpg)
•O transdutor interage com o servidor por meio do browser
•Áudio e vídeo sem fluxo contínuo:
•Longos atrasos até a
Multimídia da Internet: abordagem mais simples
•Longos atrasos até a reprodução!
•Problema:•Deve descarrega-lo antes de passar para aplicação auxiliar;
•Isso é inaceitável para clipes de áudio/vídeo de tamanho moderado
![Page 13: inf207 redes multimidia - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207_redes... · Ł Exemplo: Skype e vídeoSkype. Jitter Variaçãode atrasosdos](https://reader031.vdocuments.site/reader031/viewer/2022022620/5bae903009d3f2251e8d90b3/html5/thumbnails/13.jpg)
• Para fluxo contínuo ocorrer => deve ser estabelecido um conexão direta entre processo servidor e o processo transdutor
• O browser obtém (GET) => o metarquivo• Aciona o player => passando o metarquivo.O player contata o servidor.
Multimídia da Internet: fluxo contínuo
• O player contata o servidor.
• O servidor transmite em fluxo contínuo=> o áudio/vídeo para o player
• Nem sempre é uma boa solução, pois o transdutor a se comunicar com o servidor por HTTP, e portanto, também por TCP.
• Complexo trabalhar com HTTP enviar comando de pausa/reinício e salto temporal.
![Page 14: inf207 redes multimidia - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207_redes... · Ł Exemplo: Skype e vídeoSkype. Jitter Variaçãode atrasosdos](https://reader031.vdocuments.site/reader031/viewer/2022022620/5bae903009d3f2251e8d90b3/html5/thumbnails/14.jpg)
•Solução: Uso de uma aplicação auxiliar;
•Necessidade de 2 servidores: 1 para páginas e outro para fluxo
Multimídia : abordagem de fluxo contínuo
e outro para fluxo contínuo;
•Esta arquitetura permite protocolo não HTTP entre o servidor e o mídia player;
• Também pode usar UDP em vez de TCP;
![Page 15: inf207 redes multimidia - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207_redes... · Ł Exemplo: Skype e vídeoSkype. Jitter Variaçãode atrasosdos](https://reader031.vdocuments.site/reader031/viewer/2022022620/5bae903009d3f2251e8d90b3/html5/thumbnails/15.jpg)
Transmissão devídeo em taxa
constante de bit
Atrasode redevariável
Recepção devídeo no cliente
Reprodução no clienteem taxa constantede bit
víde
o em
buffe
r
Fluxo contínuo : buffer no cliente
tempo
variável
Atraso dereprodução no
cliente
• Um buffer é usado para armazenar a mídia;• Atraso de 2 a 5 segundos para eliminar variação de atraso induzido pela rede;
• Após pré-capturar algum pouco segundos, começa a descarregar.
![Page 16: inf207 redes multimidia - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207_redes... · Ł Exemplo: Skype e vídeoSkype. Jitter Variaçãode atrasosdos](https://reader031.vdocuments.site/reader031/viewer/2022022620/5bae903009d3f2251e8d90b3/html5/thumbnails/16.jpg)
Fluxo contínuo : buffer no cliente
• Taxa de preenchimento x(t) = taxa de saída d, exceto perda de pacote que x(t) é momentaneamente menor que d
![Page 17: inf207 redes multimidia - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207_redes... · Ł Exemplo: Skype e vídeoSkype. Jitter Variaçãode atrasosdos](https://reader031.vdocuments.site/reader031/viewer/2022022620/5bae903009d3f2251e8d90b3/html5/thumbnails/17.jpg)
UDP • Servidor envia na taxa apropriada para o cliente (indiferente ao congestionamento da rede) – define-se o tamanho• Taxa de envio frequente = taxa de codificação = taxa constante• Então, taxa de chegada = taxa constante — perda de pacotes
• Pequeno atraso de reprodução (entre 2~5 s) para compensar o
Fluxo contínuo de multimídia: UDP ou TCP?
• Pequeno atraso de reprodução (entre 2~5 s) para compensar o atraso de jitter da rede.
TCP• Envia na máxima taxa possível sobre TCP• Taxa de chegada flutua devido ao controle do congestionamento do TCP
• Maior atraso de execução: suaviza a taxa de entrega do TCP
![Page 18: inf207 redes multimidia - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207_redes... · Ł Exemplo: Skype e vídeoSkype. Jitter Variaçãode atrasosdos](https://reader031.vdocuments.site/reader031/viewer/2022022620/5bae903009d3f2251e8d90b3/html5/thumbnails/18.jpg)
RTSP: RFC 2326• Protocolo da camada de aplicação cliente-servidor• Protocolo de Fluxo Contínuo em Tempo Real;• Permite ao usuário controlar a apresentação: voltar ao início, avançar, parar, continuar, etc.
Controle de usuário no fluxo contínuo de mídia: RTSP
O que ele não faz:
• Não define como o áudio e o vídeo são encapsulados para transmissão sobre a rede
• Não restringe como a mídia contínua é transportada: pode usar UDP ou TCP
• Não especifica como o receptor armazena o áudio e o vídeo
![Page 19: inf207 redes multimidia - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207_redes... · Ł Exemplo: Skype e vídeoSkype. Jitter Variaçãode atrasosdos](https://reader031.vdocuments.site/reader031/viewer/2022022620/5bae903009d3f2251e8d90b3/html5/thumbnails/19.jpg)
• O RTSP permite que o transdutor controle a transmissão de uma corrente de mídia:
• Um arquivo é transferido sobre um canal• Informação de controle (mudanças de diretório, remoção de arquivos, etc.) é enviada sobre uma conexão TCP separada
• Os canais “dentro da banda” e “fora da banda” usam diferentes números de portas
RTSP: controle fora da banda
números de portas
� Mensagens RTSP também são enviadas “fora da banda”:• As mensagens de controle RTSP usam diferentes números de portas em relação ao fluxo de dados de mídia contínua, e, portanto, são enviados “fora da banda”
• Usa a porta 554• O fluxo contínuo de mídia é considerado “dentro da banda”
![Page 20: inf207 redes multimidia - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207_redes... · Ł Exemplo: Skype e vídeoSkype. Jitter Variaçãode atrasosdos](https://reader031.vdocuments.site/reader031/viewer/2022022620/5bae903009d3f2251e8d90b3/html5/thumbnails/20.jpg)
Cenário:• Metarquivo comunicado ao browser Web
• Browser aciona o player• Player estabelece uma conexão de controle RTSP, conexão de dados ao servidor de fluxo contínuo
RTSP: exemplo
Servidor HTTP GET Servidor web
Servidor de mídia
Browser
Transdutor
HTTP GET
Setup
Play
Arquivo de descrição da apresentação
![Page 21: inf207 redes multimidia - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207_redes... · Ł Exemplo: Skype e vídeoSkype. Jitter Variaçãode atrasosdos](https://reader031.vdocuments.site/reader031/viewer/2022022620/5bae903009d3f2251e8d90b3/html5/thumbnails/21.jpg)
RTSP: Operação
7 - 21
![Page 22: inf207 redes multimidia - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207_redes... · Ł Exemplo: Skype e vídeoSkype. Jitter Variaçãode atrasosdos](https://reader031.vdocuments.site/reader031/viewer/2022022620/5bae903009d3f2251e8d90b3/html5/thumbnails/22.jpg)
RTSP: Wireshark
![Page 23: inf207 redes multimidia - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207_redes... · Ł Exemplo: Skype e vídeoSkype. Jitter Variaçãode atrasosdos](https://reader031.vdocuments.site/reader031/viewer/2022022620/5bae903009d3f2251e8d90b3/html5/thumbnails/23.jpg)
Multimídia interativa: telefonia Internet
Exemplo: telefonia Internet
•Transmissor=>Áudio alterna períodos de fala e períodos de silêncio;
• 64 kbps durante o intervalo de atividade
•Pacotes são gerados apenas durante períodos de fala:• Blocos de 20 mseg a 8 Kbytes/s => 160 bytes
• Um cabeçalho da camada de aplicação é adicionado a cada bloco
•O Bloco e ocabeçalhos encapsulados dentro do segmento UDP
• Aplicação envia o segmento UDP para o socket a cada 20 mseg durante o intervalo de tempo.
![Page 24: inf207 redes multimidia - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207_redes... · Ł Exemplo: Skype e vídeoSkype. Jitter Variaçãode atrasosdos](https://reader031.vdocuments.site/reader031/viewer/2022022620/5bae903009d3f2251e8d90b3/html5/thumbnails/24.jpg)
Perda de pacotes e atrasos
•Perda pela rede:• O datagrama IP é perdido devido ao congestionamento da rede (sobrecarga do buffer do roteador)
•Perda por atraso:• O datagrama IP chega muito atrasado para a reprodução no receptorno receptor
• Atrasos: processamento, fila na rede; atrasos no sistema final (transmissor, receptor)
• Máxima tolerância de atraso: 400 ms
•Tolerância de perda: • dependendo da codificação de voz, as perdas ficam ocultas,
taxas de perda de pacotes entre 1% e 10% podem ser toleradas
![Page 25: inf207 redes multimidia - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207_redes... · Ł Exemplo: Skype e vídeoSkype. Jitter Variaçãode atrasosdos](https://reader031.vdocuments.site/reader031/viewer/2022022620/5bae903009d3f2251e8d90b3/html5/thumbnails/25.jpg)
Transmissão emtaxa de bitconstante
Atrasovariávelda rede
Recepçãono cliente
Reprodução no clienteem taxa de bitconstante
Dad
os
no
bu
ffer
Perda de pacotes e atrasos
tempo
da rede(jitter)
Atraso dereprodução no
clienteD
ado
s n
ob
uffe
r
• Considere os atrasos fim-a-fim de dois pacotes consecutivos: diferença pode ser mais ou menos do que 20 mseg, mas roteadores e caminhos podem influenciar a entrega
![Page 26: inf207 redes multimidia - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207_redes... · Ł Exemplo: Skype e vídeoSkype. Jitter Variaçãode atrasosdos](https://reader031.vdocuments.site/reader031/viewer/2022022620/5bae903009d3f2251e8d90b3/html5/thumbnails/26.jpg)
Recuperação de perdas de pacotes
Correção de erro de envio (FEC): esquema simples
• Para cada grupo de n blocos, cria-se um bloco redundante realizando uma operação OU exclusivoentre os n blocos originais
• Envia os n + 1 blocos aumentando a banda passante por um fator de 1/n
• Pode reconstruir os n blocos originais se houver no máximo um bloco perdido nos n+1 blocos enviados
• Atraso de reprodução precisa ser definido para receber todos os n + 1 pacotes
![Page 27: inf207 redes multimidia - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207_redes... · Ł Exemplo: Skype e vídeoSkype. Jitter Variaçãode atrasosdos](https://reader031.vdocuments.site/reader031/viewer/2022022620/5bae903009d3f2251e8d90b3/html5/thumbnails/27.jpg)
• 2o esquema FEC• Enviar um fluxo demenor qualidade como“carona”
• Envia fluxo de áudiode menor resolução comoa informação redundante
Recuperação de perdas de pacotes
a informação redundante• Por exemplo, um fluxoPCM nominal a 64 kbpse um fluxo GSM redun-dante a 13 kbps
• Sempre que ocorre perda não consecutiva, o receptor pode esconder a perda
• Pode também anexar os blocos (n — 1) e (n — 2) do fluxo de baixa qualidade
![Page 28: inf207 redes multimidia - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207_redes... · Ł Exemplo: Skype e vídeoSkype. Jitter Variaçãode atrasosdos](https://reader031.vdocuments.site/reader031/viewer/2022022620/5bae903009d3f2251e8d90b3/html5/thumbnails/28.jpg)
Protocolo de tempo real (RTP)
•RTP especifica uma estrutura de pacotes que transportam dados de áudio e vídeo:
•RFC 1889•Pacote RTP oferece:
• Identificação do tipo de carga• Numeração da seqüência de pacotes• Numeração da seqüência de pacotes• Marcas de tempo
• RTP roda nos sistemas terminais.• Os pacotes RTP são encapsulados em segmentos UDP
•Interoperabilidade: •Se duas aplicações de telefonia IP usam RTP, então elas podem ser capazes de trabalhar juntas
![Page 29: inf207 redes multimidia - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207_redes... · Ł Exemplo: Skype e vídeoSkype. Jitter Variaçãode atrasosdos](https://reader031.vdocuments.site/reader031/viewer/2022022620/5bae903009d3f2251e8d90b3/html5/thumbnails/29.jpg)
RTP roda em cima do UDP
As bibliotecas do RTP fornecem uma interface de camada de transporte que estendem o UDP:
• Número de portas, endereços IP• Identificação do tipo de carga • Numeração da seqüência de pacotes• Marcas de tempo• Marcas de tempo
![Page 30: inf207 redes multimidia - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207_redes... · Ł Exemplo: Skype e vídeoSkype. Jitter Variaçãode atrasosdos](https://reader031.vdocuments.site/reader031/viewer/2022022620/5bae903009d3f2251e8d90b3/html5/thumbnails/30.jpg)
RTP: Exemplo
• Considere enviar 64 kbps de voz codificada em PCM sobre RTP;
•A aplicação reúne dados codificados em blocos:•Exemplo: 20 ms = 160 bytes por bloco
• O bloco de áudio, junto com o cabeçalho RTP, forma o pacote RTP, que é encapsulado num segmento UDP;pacote RTP, que é encapsulado num segmento UDP;
•O cabeçalho RTP indica o tipo de codificação de áudio em cada pacote
• Os transmissores podem mudar a codificação durante a conferência
• O cabeçalho RTP também contém os números de seqüência e marcas de tempo.
![Page 31: inf207 redes multimidia - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207_redes... · Ł Exemplo: Skype e vídeoSkype. Jitter Variaçãode atrasosdos](https://reader031.vdocuments.site/reader031/viewer/2022022620/5bae903009d3f2251e8d90b3/html5/thumbnails/31.jpg)
RTP e QoS
•RTP não fornece nenhum mecanismo:
• Assegurar a entrega dos pacotes
• Dados no tempo correto
• Fornece garantias de qualidade de serviço
•O encapsulamento RTP => apenas tratado nos sistemas •O encapsulamento RTP => apenas tratado nos sistemas finais;
• Equipamamentos de camada 1, 2 e 3 não entendem
•Roteadores fornecem o serviço de melhor esforço da Internet. • Não fazem nenhum esforço especial para assegurar que os
pacotes RTP cheguem ao destino
![Page 32: inf207 redes multimidia - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207_redes... · Ł Exemplo: Skype e vídeoSkype. Jitter Variaçãode atrasosdos](https://reader031.vdocuments.site/reader031/viewer/2022022620/5bae903009d3f2251e8d90b3/html5/thumbnails/32.jpg)
Cabeçalho RTP
Tipo de carga (7 bits): utilizado para indicar o tipo de codificação:
• Tipo de carga 0: PCM mu-law, 64 kbps• Tipo de carga 3, GSM, 13 kbps
Cabeçalho RTP
• Tipo de carga 7, LPC, 2.4 kbps• Tipo de carga 26, Motion JPEG• Tipo de carga 31. H.261• Tipo de carga 33, MPEG2 vídeo
Número de seqüência (16 bits): O número de sequência é incrementado de um a cada pacote RTP enviado; pode ser usado para detectar perdas de pacotes e para recuperar a seqüência de pacotes.
![Page 33: inf207 redes multimidia - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207_redes... · Ł Exemplo: Skype e vídeoSkype. Jitter Variaçãode atrasosdos](https://reader031.vdocuments.site/reader031/viewer/2022022620/5bae903009d3f2251e8d90b3/html5/thumbnails/33.jpg)
Cabeçalho RTP
• Timestamp field (32 bytes long). Reflete o instante de amostragem
do primeiro byte no pacote de dados RTP
• Para áudio, o relógio de marca de tempo incrementa de um a cada • Para áudio, o relógio de marca de tempo incrementa de um a cada
intervalo de amostragem (por exemplo, cada 125 us para uma taxa
de amostagem de 8 KHz)
• Campo SSRC (32 bits). Identifica a fonte do fluxo RTP. Cada fluxo
numa sessão RTP deve ter um SSRC distinto
![Page 34: inf207 redes multimidia - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207_redes... · Ł Exemplo: Skype e vídeoSkype. Jitter Variaçãode atrasosdos](https://reader031.vdocuments.site/reader031/viewer/2022022620/5bae903009d3f2251e8d90b3/html5/thumbnails/34.jpg)
Real-Time Control Protocol (RTCP)
• Trabalha em conjunto com o RTP• Cada participante de uma sessão RTP transmite
periodicamente pacotes de controle RTCP para todos os outros participantes.
•Cada pacote RTCP contém relatórios do transmissor e/ou do receptor => Estatísticas são úteis para a aplicação;do receptor => Estatísticas são úteis para a aplicação;
• As estatísticas incluem o número de pacotes enviados, o número de pacotes perdidos, a variação de atraso entre chegadas etc.
•Esta informação pode ser usada para controle do desempenho e para fins de diagnóstico
•O transmissor pode mudar suas transmissões com base nestas informações de realimentação
![Page 35: inf207 redes multimidia - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207_redes... · Ł Exemplo: Skype e vídeoSkype. Jitter Variaçãode atrasosdos](https://reader031.vdocuments.site/reader031/viewer/2022022620/5bae903009d3f2251e8d90b3/html5/thumbnails/35.jpg)
RTCP•Para uma sessão RTP, existe tipicamente um único endereço de multicast;
•Os pertencentes à sessão usam este endereço de multicast
• Os pacotes RTP e RTCP são distintos um dos outros pelo uso de distintos um dos outros pelo uso de números de portas diferentes
• Para limitar o tráfego, cada participante reduz seu tráfego RTCP quando o número de participantes da conferência aumenta
![Page 36: inf207 redes multimidia - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207_redes... · Ł Exemplo: Skype e vídeoSkype. Jitter Variaçãode atrasosdos](https://reader031.vdocuments.site/reader031/viewer/2022022620/5bae903009d3f2251e8d90b3/html5/thumbnails/36.jpg)
Pacotes RTCP
Pacotes de relatório do receptor:• Fração de pacotes perdidos, último número de seqüência, variância média do atraso entre chegadas
Pacotes de relatório do transmissor: • SSRC do fluxo RTP, o tempo corrente, o número de pacotes enviados e o número de bytes enviadosSSRC do fluxo RTP, o tempo corrente, o número de pacotes enviados e o número de bytes enviados
Pacotes de descrição da fonte: • Endereço de e-mail do transmissor, o nome do transmissor, o SSRC do fluxo RTP associado
• Fornecem um mapeamento entre o SSRC e o nome do usuário ou do hospedeiro
![Page 37: inf207 redes multimidia - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207_redes... · Ł Exemplo: Skype e vídeoSkype. Jitter Variaçãode atrasosdos](https://reader031.vdocuments.site/reader031/viewer/2022022620/5bae903009d3f2251e8d90b3/html5/thumbnails/37.jpg)
Sincronização de fluxos
•Pode ser aplicado na sincronização de diferentes fluxos de mídia numa sessão RTP:
•Videoconferência => cada transmissor gera um fluxo RTP para áudio e um para vídeo
•As marcas de tempo nesses pacotes são vinculadas aos relógios de amostragem de vídeo e de áudio;de amostragem de vídeo e de áudio;
•Cada pacote relatório do transmissor RTCP contém (para o último pacote gerado no fluxo RTP associado):
•Marca de tempo do pacote RTP=> instante de tempo real no qual o pacote foi criado
• Então, os receptores podem usar esta associação para sincronizar a reprodução de áudio e de vídeo
![Page 38: inf207 redes multimidia - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207_redes... · Ł Exemplo: Skype e vídeoSkype. Jitter Variaçãode atrasosdos](https://reader031.vdocuments.site/reader031/viewer/2022022620/5bae903009d3f2251e8d90b3/html5/thumbnails/38.jpg)
Controle de Banda do RTCP
• O RTCP procura limitar seu tráfego a 5% da banda passante da sessão
Exemplo
•Um transmissor enviando vídeo com uma taxa de 2 •Um transmissor enviando vídeo com uma taxa de 2 Mbps.
•O RTCP procura limitar seu tráfego a 100 kbps
![Page 39: inf207 redes multimidia - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207_redes... · Ł Exemplo: Skype e vídeoSkype. Jitter Variaçãode atrasosdos](https://reader031.vdocuments.site/reader031/viewer/2022022620/5bae903009d3f2251e8d90b3/html5/thumbnails/39.jpg)
Controle de Banda do RTCP
•RTCP dá 75% dessa taxa para os receptores e 25% do restante para o transmissor
•Os 75 kbps dedicados aos receptores são divididos de forma igual entre os receptores: •Com R receptores=> cada receptor consegue enviar tráfego RTCP a uma taxa de 75/R kbps Com R receptores=> cada receptor consegue enviar tráfego RTCP a uma taxa de 75/R kbps •Transmissor envia tráfego RTCP a uma taxa de 25 kbps
• Um participante determina o período de transmissão de pacotes RTCP dinamicamente calculando o tamanho médio do pacote e dividindo o tamanho médio do pacote RTCP pela sua taxa alocada
![Page 40: inf207 redes multimidia - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207_redes... · Ł Exemplo: Skype e vídeoSkype. Jitter Variaçãode atrasosdos](https://reader031.vdocuments.site/reader031/viewer/2022022620/5bae903009d3f2251e8d90b3/html5/thumbnails/40.jpg)
SIP
• Session Initiation Protocol• Desenvolvido pelo IETF
Visão de longo prazo do SIP•Todas as chamadas telefônicas e as chamadas de videoconferência ocorrem sobre a Internetvideoconferência ocorrem sobre a Internet
•Não existe mais uma rede comutada de circuitos• Sem centrais de comutação telefônico
• As Pessoas são identificadas por nomes ou endereços de e-mail, em vez de números telefônicos
• Você pode alcançar o usuário chamado, não importa onde ele esteja, não importa o dispositivo IP que ele esteja usando atualmente
![Page 41: inf207 redes multimidia - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207_redes... · Ł Exemplo: Skype e vídeoSkype. Jitter Variaçãode atrasosdos](https://reader031.vdocuments.site/reader031/viewer/2022022620/5bae903009d3f2251e8d90b3/html5/thumbnails/41.jpg)
• Estabelecendo uma chamada• Provê mecanismos informando o usuário chamado que há alguém que deseja estabelecer uma chamada
• Provê mecanismos de modo que transmissor e o receptor possam concordar com o tipo de mídia e codificação
• Provê mecanismos para finalizar a chamada
• Determina o endereço IP do usuário chamado
SIP: Serviços
• Determina o endereço IP do usuário chamado• Mapeia o identificador mnemônico para o endereço IP atual
• Gerenciamento de chamada• Adiciona novos fluxos de mídia durante a chamada• Troca a codificação durante a chamada• Convida outros• Transfere e retém chamadas
![Page 42: inf207 redes multimidia - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207_redes... · Ł Exemplo: Skype e vídeoSkype. Jitter Variaçãode atrasosdos](https://reader031.vdocuments.site/reader031/viewer/2022022620/5bae903009d3f2251e8d90b3/html5/thumbnails/42.jpg)
Estabelecendo uma chamada
• A mensagem INVITE do SIP de Alice indica seu número de porta e endereço IP. Indica a codificação que Alice prefere receber (PCM)• A mensagem 200 OK de • A mensagem 200 OK de Bob: 200 indica seu número de porta, endereço IP e codificação preferida GSM• Mensagens SIP podem ser enviadas sobre TCP ou
UDP => ex. são enviadas sobre RTP/UDP• O número de porta-padrão do SIP é 5060
![Page 43: inf207 redes multimidia - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207_redes... · Ł Exemplo: Skype e vídeoSkype. Jitter Variaçãode atrasosdos](https://reader031.vdocuments.site/reader031/viewer/2022022620/5bae903009d3f2251e8d90b3/html5/thumbnails/43.jpg)
• Negociação do codec:• Suponha que Bob não tenha o codificador do PCM• Bob responderá com 606 Not Acceptable Reply e listará os codificadores que ele pode usar
• Alice pode então enviar uma nova mensagem INVITE, anunciando um codificador apropriado
Estabelecendo uma chamada
anunciando um codificador apropriado
• Rejeitando a chamada:• Bob pode rejeitar com respostas “ocupado”, “ausente”, “pagamento exigido”, “proibido”
• A mídia pode ser enviada sobre RTP ou algum outroprotocolo
![Page 44: inf207 redes multimidia - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207_redes... · Ł Exemplo: Skype e vídeoSkype. Jitter Variaçãode atrasosdos](https://reader031.vdocuments.site/reader031/viewer/2022022620/5bae903009d3f2251e8d90b3/html5/thumbnails/44.jpg)
Mensagem SIP
INVITE sip:[email protected] SIP/2.0
Via: SIP/2.0/UDP 167.180.112.24
From: sip:[email protected]
To: sip:[email protected]
c = IN IP4 167.180.112.24
m = audio 38060 RTP/AVP
• Aqui não sabemos o endereço IP de Bob. Servidores SIP intermediários serão necessários
• Alice envia e recebe mensagens SIP usando o número 5060 de porta-padrão do SIP
m = audio 38060 RTP/AVP
Notas:Sintaxe de mensagem HTTPsdp = protocolo de descrição de sessãoID de chamada (Call-ID) é único para cada chamada
• Alice especifica através do cabeçalho que o cliente SIP envia e recebe mensagens SIP sobre UDP
![Page 45: inf207 redes multimidia - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207_redes... · Ł Exemplo: Skype e vídeoSkype. Jitter Variaçãode atrasosdos](https://reader031.vdocuments.site/reader031/viewer/2022022620/5bae903009d3f2251e8d90b3/html5/thumbnails/45.jpg)
Tradução de nome e localização de usuário
• O transmissor quer chamar o usuário de destino, mas tem somente o endereço de e-mail• Precisa obter o endereço IP do hospedeiro atual do usuário chamado:
• Usuário move-se ao redor• Protocolo DHCPUsuário possui diferentes dispositivos IP (PC, PDA, dispositivo de
• Protocolo DHCP• Usuário possui diferentes dispositivos IP (PC, PDA, dispositivo de carro)
• Serviços fornecidos pelos servidores SIP:• Servidor de registro SIP• Servidor proxy SIP
![Page 46: inf207 redes multimidia - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207_redes... · Ł Exemplo: Skype e vídeoSkype. Jitter Variaçãode atrasosdos](https://reader031.vdocuments.site/reader031/viewer/2022022620/5bae903009d3f2251e8d90b3/html5/thumbnails/46.jpg)
• Quando Bob inicia o cliente SIP, o cliente envia a mensagem SIP REGISTER ao servidor de registro de Bob (função similar necessária para mensagens instantâneas)
Mensagem de registro:
Tradução de nome e localização de usuário
REGISTER sip:domain.com SIP/2.0
Via: SIP/2.0/UDP 193.64.210.89
From: sip:[email protected]
To: sip:[email protected]
Expires: 3600
![Page 47: inf207 redes multimidia - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207_redes... · Ł Exemplo: Skype e vídeoSkype. Jitter Variaçãode atrasosdos](https://reader031.vdocuments.site/reader031/viewer/2022022620/5bae903009d3f2251e8d90b3/html5/thumbnails/47.jpg)
Proxy SIP
• Alice envia a mensagem “invite” para o seu servidor proxy: Contém endereço sip:[email protected]• Proxy responsável por rotear mensagens SIP para o usuário chamado:
• Possivelmente através de múltiplos proxies• Possivelmente através de múltiplos proxies
• O usuário chamado envia a resposta de volta através do mesmo conjunto de proxies
• Proxy retorna a mensagem de resposta SIP para Alice • Contém o endereço IP de Bob
• Nota: proxy é análogo ao servidor DNS local
![Page 48: inf207 redes multimidia - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207_redes... · Ł Exemplo: Skype e vídeoSkype. Jitter Variaçãode atrasosdos](https://reader031.vdocuments.site/reader031/viewer/2022022620/5bae903009d3f2251e8d90b3/html5/thumbnails/48.jpg)
Usuário chamado [email protected] que estabelece uma chamada para [email protected]
(1) Jim envia mensagem INVITE para o proxy SIP umass.edu SIP(2) Proxy encaminha a requisição para o servidor de registro upenn.edu(3) servidor upenn retorna resposta, indicando que ele deveria tentar
Proxy SIP
indicando que ele deveria tentar [email protected](4) proxy umass envia INVITE para registro eurecom. (5) registro eurecom encaminha INVITE para 197.87.54.21, que está rodando o cliente SIP de keith. (6-8) resposta SIP enviada de volta (9) mídia enviada diretamente entre clientes
![Page 49: inf207 redes multimidia - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207_redes... · Ł Exemplo: Skype e vídeoSkype. Jitter Variaçãode atrasosdos](https://reader031.vdocuments.site/reader031/viewer/2022022620/5bae903009d3f2251e8d90b3/html5/thumbnails/49.jpg)
Wireshark: SIP
![Page 50: inf207 redes multimidia - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207_redes... · Ł Exemplo: Skype e vídeoSkype. Jitter Variaçãode atrasosdos](https://reader031.vdocuments.site/reader031/viewer/2022022620/5bae903009d3f2251e8d90b3/html5/thumbnails/50.jpg)
Roteiro
• Aplicações de rede multimídia
• Transmissão em fluxo contínuo de áudio e vídeo
armazenados
• Protocolos para aplicações interativas em tempo real:• Protocolos para aplicações interativas em tempo real:
• RTP,
• RTCP
• SIP
![Page 51: inf207 redes multimidia - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207_redes... · Ł Exemplo: Skype e vídeoSkype. Jitter Variaçãode atrasosdos](https://reader031.vdocuments.site/reader031/viewer/2022022620/5bae903009d3f2251e8d90b3/html5/thumbnails/51.jpg)
• Computer Networking, A Top-Down Featuring the Internet by James F.Kurose & Keith W.Ross.
Leitura Sugerida
![Page 52: inf207 redes multimidia - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207_redes... · Ł Exemplo: Skype e vídeoSkype. Jitter Variaçãode atrasosdos](https://reader031.vdocuments.site/reader031/viewer/2022022620/5bae903009d3f2251e8d90b3/html5/thumbnails/52.jpg)
Outras informações sobre essa disciplina podem ser obtidas:
http://hostel.ufabc.edu.br/~marcelo.nascimento/
Mais Informações