52
INF INF-207 207 Sistemas Computacionais Sistemas Computacionais para Processamento Multimídia para Processamento Multimídia Sistemas Sistemas Multimídia Multimídia Sistemas Sistemas Multimídia Multimídia Aula Aula 04 04 – Redes Redes Multimídia Multimídia 2° ° ° ° °Q-2010 2010 Prof. Roberto Prof. Roberto Jacobe Jacobe ([email protected]) Prof. Marcelo Z. do Prof. Marcelo Z. do Nascimento Nascimento ([email protected])

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

Embed Size (px)

Citation preview

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

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

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

• 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

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

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

• 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

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

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

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

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

•Á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

•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

• 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

•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

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

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

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

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

• 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

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

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

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

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

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

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

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

• 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

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

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

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

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

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

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

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

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

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

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

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

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

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

• 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

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

• 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

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

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

• 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

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

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

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

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

• 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

Outras informações sobre essa disciplina podem ser obtidas:

http://hostel.ufabc.edu.br/~marcelo.nascimento/

Mais Informações