A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

7: Redes Multimídia7-1 Multimídia e Qualidade de Serviço: O que são? aplicações multimídia: áudio e vídeo na rede (mídia contínua) Quality of Service a.

Apresentações semelhantes


Apresentação em tema: "7: Redes Multimídia7-1 Multimídia e Qualidade de Serviço: O que são? aplicações multimídia: áudio e vídeo na rede (mídia contínua) Quality of Service a."— Transcrição da apresentação:

1 7: Redes Multimídia7-1 Multimídia e Qualidade de Serviço: O que são? aplicações multimídia: áudio e vídeo na rede (mídia contínua) Quality of Service a rede fornece à aplicação o nível de desempenho necessário para que a aplicação funcione como esperado. QoS

2 7: Redes Multimídia7-2 Capítulo 7: objetivos Princípios r classificar as aplicações multimídia r identificar os serviços de rede que as aplicações necessitam r extrair o máximo do serviço de melhor esforço Protocolos e Arquiteturas r protocolos específicos para melhor esforço r mecanismos para garantir QoS r arquiteturas para QoS

3 7: Redes Multimídia7-3 Capítulo 7: roteiro 7.1 aplicações multimídia em redes 7.2 fluxos contínuos (streams) de áudio e vídeo armazenados 7.3 extraindo o máximo do serviço de melhor esforço 7.4 protocolos para aplicações interativas de tempo real m RTP,RTCP,SIP 7.5 suprindo múltiplas classes de serviços 7.6 suprindo garantias de QoS

4 7: Redes Multimídia7-4 Aplicações MM na Rede Características Fundamentais: r tipicamente são sensíveis a atrasos m atraso fim-a-fim m variação do atraso (jitter) r mas são tolerantes a perdas: perdas não muito frequentes causam apenas pequenos distúrbios r antítese da transferência de dados que é intolerante a perdas mas tolerante a atrasos. Classes de aplicações MM: 1) fluxo contínuo (streams) de áudio e vídeo armazenados 2) fluxos contínuo (stream) de áudio e vídeo ao vivo 3) vídeo interativo de tempo real Jitter é a variabilidade dos atrasos dos pacotes dentro de um mesmo fluxo de pacotes

5 7: Redes Multimídia7-5 Multimídia de Fluxo Contínuo Armazenado Fluxo Contínuo (streaming): r mídia armazenada na fonte r transmitida para o cliente r fluxo contínuo: reprodução no cliente inicia antes de que todos os dados tenham sido recebidos r restrição de tempo para os dados ainda não transmitidos: devem chegar a tempo de serem reproduzidos

6 7: Redes Multimídia7-6 Multimídia de Fluxo Contínuo Armazenado : O que é? 1. vídeo gravado 2. vídeo transmitido 3. vídeo recebido, reproduzido no cliente Dados acumulados streaming: neste instante, o cliente está reproduzindo uma parte anterior do vídeo, enquanto o servidor ainda está transmitindo as partes seguintes atraso da rede tempo

7 7: Redes Multimídia7-7 Multimídia de Fluxo Contínuo Armazenado: Interatividade r funcionalidade tipo VCR: cliente pode pausar, voltar, avançar rapidamente (FF), modificar a barra de deslocamento m atraso inicial de 10 seg OK m 1-2 seg até que o comando seja executado OK r restrição de tempo para dados ainda não transmitidos: chegar em tempo para reprodução

8 7: Redes Multimídia7-8 Fluxo Contínuo Multimídia ao Vivo Exemplos: r programa de bate papo em rádio Internet r evento esportivo ao vivo Fluxo Contínuo (como em multimídia armazenada) r buffer de reprodução r reprodução pode atrasar dezenas de segundos após a transmissão r mantém restrições de tempo Interatividade r impossível avançar r é possível voltar, pausar!

9 7: Redes Multimídia7-9 Multimídia de Tempo Real Interativa r requisitos de atraso fim-a-fim: m áudio: < 150 mseg bom, < 400 mseg OK inclui atrasos da camada de aplicação (empacotamento) e de rede grandes atrasos são perceptíveis, prejudicam a interatividade r inicialização da sessão m como o destino anuncia o seu endereço IP, número de porta e algoritmo de codificação? r aplicações: telefonia IP, vídeo conferência, mundos interativos distribuídos

10 7: Redes Multimídia7-10 Multimídia Sobre a Internet Atual TCP/UDP/IP: serviço de melhor esforço r sem garantias sobre atrasos, perdas As aplicações MM na Internet atual usam técnicas da camada de aplicação p/minimizar (da melhor forma) efeitos de atraso, perdas Mas, você disse que as aplicações MM necessitam de QoS e nível de desempenho para funcionarem corretamente! ? ? ?? ? ? ? ? ? ? ?

11 7: Redes Multimídia7-11 Como a Internet deveria evoluir para dar um melhor suporte a aplicações MM? Filosofia de serviços integrados: r modificar a Internet de modo que as aplicações possam reservar largura de banda fim-a-fim r requer software novo e complexo nos hosts & roteadores Filosofia do deixa como está: r sem grandes mudanças r aumento da largura de banda quando necessário r distribuição de conteúdo, multicast m na camada de aplicação Filosofia de serviços diferenciados : r Menos mudanças na infra- estrutura da Internet, mas provendo serviços de 1a. e 2a. classes Qual é a sua opinião?

12 7: Redes Multimídia7-12 Algumas palavras sobre compressão de áudio r sinal analógico amostrado a uma taxa constante m telefone: amostras/seg m CD de música: amostras/seg r cada amostra é discretizada (arredondada) m ex., 2 8 =256 possíveis valores discretos r cada valor discretizado é representado por bits m 8 bits para 256 valores r exemplo: amostras/seg, 256 valores discretos --> bps r receptor converte-o de volta a um sinal analógico: m alguma perda de qualidade Exemplo de taxas r CD: 1,411 Mbps r MP3: 96, 128, 160 kbps r Telefonia Internet: 5,3 kbps ou mais

13 7: Redes Multimídia7-13 Algumas palavras sobre compressão de vídeo r vídeo é uma sequência de imagens apresentadas a uma taxa constante m ex. 24 imagens/seg r imagem digital: é uma matriz de pixels m cada pixel é representado por bits r redundância m espacial (dentro da imagem) m temporal (de uma imagem p/ a seguinte) Exemplos: r MPEG 1 (CD-ROM) 1,5 Mbps r MPEG2 (DVD) 3-6 Mbps r MPEG4 (freqüentemente usado na Internet, < 1 Mbps) Pesquisa: r vídeo em camadas (escalável) m adapta as camadas à largura de banda disponível

14 7: Redes Multimídia7-14 Capítulo 7: roteiro 7.1 aplicações multimídia em redes 7.2 fluxos contínuos (streams) de áudio e vídeo armazenados 7.3 extraindo o máximo do serviço de melhor esforço 7.4 protocolos para aplicações interativas de tempo real m RTP,RTCP,SIP 7.5 suprindo múltiplas classes de serviços 7.6 suprindo garantias de QoS

15 7: Redes Multimídia7-15 Fluxo Contínuo de Multimídia Armazenada Técnicas de streaming da camada de aplicação para extrair o máximo do serviço de melhor esforço: m armazenamento (buffer) no lado do cliente m uso do UDP ao invés do TCP m múltiplas codificações da multimídia r remoção de jitter r descompressão r esconder os erros r interface gráfica do usuário com controles para interatividade Media Player

16 7: Redes Multimídia7-16 Multimídia na Internet: abordagem simplista áudio, vídeo não são enviados como fluxo contínuo: r não há cadeia de montagem (pipelining) longos atrasos até a reprodução! r áudio ou vídeo armazenado em arquivo r arquivos transferidos como objetos HTTP m recebidos inteiros pelo cliente m depois repassado para o media player

17 7: Redes Multimídia7-17 Multimídia Internet: abordagem com fluxo contínuo r browser solicita (GETs) meta arquivo r browser inicia o media player, passando o meta arquivo r media player contacta o servidor r servidor cria o fluxo contínuo de áudio/vídeo com o media player

18 7: Redes Multimídia7-18 Fluxo cont í nuo a partir de um servidor de fluxos r esta arquitetura permite o uso de protocolos não-HTTP entre o servidor e o media player r UDP ou TCP para o passo (3), mais em breve

19 7: Redes Multimídia7-19 transmissão do vídeo a taxa constante Dados acumulados tempo atraso variável da rede recepção do vídeo no cliente reprodução do vídeo a taxa constante no cliente atraso de reprodução no cliente buffered video Fluxo Contínuo de Multimídia: Armazenamento pelo Cliente r armazenamento no lado do cliente, o atraso de reprodução compensa o atraso e a variação do atraso (jitter) provocados pela rede

20 7: Redes Multimídia7-20 Fluxo Contínuo de Multimídia: Armazenamento pelo Cliente r armazenamento no lado do cliente, o atraso de reprodução compensa o atraso e a variação do atraso (jitter) provocados pela rede vídeo armazenado variable fill rate, x(t) constant drain rate, d

21 7: Redes Multimídia7-21 Fluxo Contínuo de Multimídia: UDP ou TCP? UDP r servidor envia a uma taxa adequada para o cliente (sem se importar com congestionamento da rede!) m frequentemente taxa de transmissão = taxa de codificação = constante m portanto, taxa de enchimento = taxa constante – perda de pacotes r pequeno atraso de reprodução (2-5 segundos) para compensar pela variação do atraso da rede r recuperação de erros: se houver tempo TCP r transmite na taxa máxima permitida pelo TCP r taxa de enchimento flutua devido ao controle de congestionamento do TCP r maior atraso para reprodução: taxa de entrega do TCP mais suave r HTTP/TCP passam mais facilmente através de firewalls

22 7: Redes Multimídia7-22 Fluxo Contínuo de Multimídia: taxa(s) do cliente Q: como lidar com diferentes capacitações de taxa de recepção do cliente? m acesso discado de 28,8 Kbps m Ethernet de 100Mbps R: servidor armazena, transmite múltiplas cópias do vídeo, codificadas em taxas diferentes codificação 1.5 Mbps codificação 28.8 Kbps

23 7: Redes Multimídia7-23 Controle do Usuário de Mídia Contínua: RTSP HTTP r não tem como alvo conteúdo multimídia r não possui comandos para avanço rápido, etc. RTSP: RFC 2326 r protocolo cliente- servidor da camada de aplicações. r usuário pode controlar a reprodução: retorno, avanço rápido, pausa, retomada, reposicionamento, etc … O que ele não faz : r não define como o áudio/vídeo é encapsulado para ser transmitido pela rede r não restringe como a mídia tipo fluxo contínuo é transportada; pode ser transportada sobre UDP ou TCP r não especifica como o media player bufferiza o áudio/vídeo

24 7: Redes Multimídia7-24 RTSP: controle fora de banda (out of band) FTP usa um canal de controle fora de banda: r um arquivo é transferido sobre uma conexão TCP. r a informação de controle (mudanças de diretório, remoção de arquivo, renomeação de arquivo, etc.) é enviada numa conexão TCP à parte r os canais fora de banda e dentro da banda utilizam diferentes números de portas Mensagens RTSP também são enviadas fora de banda: r as mensagens de controle RTSP usam números de porta diferentes do fluxo contínuo da mídia, e são, portanto, enviadas fora de banda m Porta 554 r o fluxo de mídia é considerado dentro da banda.

25 7: Redes Multimídia7-25 Exemplo RTSP Cenário: r meta arquivo enviado para o browser web r browser inicia o media player r media player estabelece uma conexão de controle RTSP e uma conexão de dados para o servidor de mídia contínua

26 7: Redes Multimídia7-26 Exemplo de Meta-arquivo Twister

27 7: Redes Multimídia7-27 Operação do RTSP

28 7: Redes Multimídia7-28 RTSP: exemplo de diálogo C: SETUP rtsp://audio.example.com/twister/audio RTSP/1.0 Transport: rtp/udp; compression; port=3056; mode=PLAY S: RTSP/ OK Session 4231 C: PLAY rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0 Session: 4231 Range: npt=0- C: PAUSE rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0 Session: 4231 Range: npt=37 C: TEARDOWN rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0 Session: 4231 S: OK

29 7: Redes Multimídia7-29 Capítulo 7: roteiro 7.1 aplicações multimídia em redes 7.2 fluxos contínuos (streams) de áudio e vídeo armazenados 7.3 extraindo o máximo do serviço de melhor esforço 7.4 protocolos para aplicações interativas de tempo real m RTP,RTCP,SIP 7.5 suprindo múltiplas classes de serviços 7.6 suprindo garantias de QoS

30 7: Redes Multimídia7-30 Aplicações interativas de tempo real r telefone PC-2-PC m Skype r PC para telefone m Dialpad m Net2phone m Skype r videoconferência com webcams m Skype m Polycom Vamos estudar em detalhes um exemplo de telefone Internet PC para PC

31 7: Redes Multimídia7-31 Multimídia Interativa: Telefone por Internet Introduzimos o Telefone Internet através de um exemplo r áudio de quem fala: alterna surtos de voz com períodos de silêncio m 64 kbps durante surto de voz m pcts gerados apenas durante os surtos de voz m pedaços de 20 mseg a 8 Kbytes/seg: dados de 160 bytes r cabeçalho da camada de aplicação é adicionado a cada pedaço. r pedaço+cabeçalho empacotado num segmento UDP r aplicação envia segmentos UDP no socket a cada 20 mseg durante um surto de voz.

32 7: Redes Multimídia7-32 Telefone Internet: Perda de Pacotes e Atrasos r perda pela rede: datagrama IP perdido devido a congestionamento da rede (estouro do buffer do roteador) r perda por atraso: o datagrama IP chega muito tarde para ser reproduzido no receptor m atrasos: processamento, enfileiramento na rede; atrasos no end-system (transmissor, receptor) m atraso máximo tolerável típico: 400 ms r tolerância a perdas: a depender da codificação da voz, as perdas podem ser encobertas, taxas de perdas de pacotes entre 1% e 10% podem ser toleradas.

33 7: Redes Multimídia7-33 transmissão de vídeo a taxa constante Dados acumulados tempo atraso variável da rede (jitter) recepção do vídeo reprodução do vídeo a taxa constante no cliente atraso de reprodução dados armazenados Variação do atraso (jitter) r considere o atraso fim a fim de dois pacotes consecutivos: a diferença pode ser maior ou menor do que 20 mseg (que é a diferença do tempo de transmissão)

34 7: Redes Multimídia7-34 Telefone Internet: atraso de reprodução fixo r o receptor tenta reproduzir cada pedaço exatamente q msegs após a geração do pedaço. m Pedaço tem carimbo de tempo t: reproduz o pedaço em t+q. m Pedaço chega depois de t+q: o dado chegou muito tarde para reproduzir, dado perdido r compromissos para escolha de q: m q grade: menos pacotes perdidos m q pequeno: melhor experiência interativa

35 7: Redes Multimídia7-35 Fixed Playout Delay transmissor gera pacotes a cada 20 mseg durante o surto de voz. o primeiro pacote é recebido no instante r a primeira reprodução é programada para iniciar no instante p a segunda reprodução é programada para iniciar no instante p´

36 7: Redes Multimídia7-36 Atraso de reprodução adaptativo (1) estimativa dinâmica do atraso médio no receptor : onde u é uma constante (ex., u = 0,01). r Objetivo: minimizar o atraso de reprodução, mantendo baixa a taxa de perdas r Abordagem: ajuste adaptativo do atraso de reprodução: m estima o atraso da rede e ajusta o atraso de reprodução no início de cada surto de voz. m períodos de silêncio são comprimidos e alongados. m pedaços ainda são reproduzidos a cada 20 mseg durante um surto de voz.

37 7: Redes Multimídia7-37 Atraso de reprodução adaptativo (2) também é útil estimar o desvio médio do atraso, v i : estimativas d i, v i são calculadas para cada pacote recebido, apesar de serem usados apenas no início de um surto de voz para o primeiro pacote de um surto de voz, o tempo de reprodução é: onde K é um constante positiva pacotes restantes em um surto de voz são reproduzidos periodicamente

38 7: Redes Multimídia7-38 Atraso de reprodução adaptativo (3) Q: Como o receptor determina se um pacote é o primeiro de um surto de voz? r se nunca houvesse perdas, o receptor poderia simplesmente olhar os carimbos de tempo sucessivos. m diferença entre carimbos sucessivos > 20 mseg --> início do surto de voz. r mas, dado que perdas são possíveis, o receptor deve olhar tanto para os carimbos de tempo quanto para os números de seqüência. m diferença entre carimbos sucessivos > 20 mseg e números de sequência sem falhas --> início do surto de voz.

39 7: Redes Multimídia7-39 Recuperação da perda de pacotes (1) Forward Error Correction (FEC): técnica simples r para cada grupo de n pedaços criar um pedaço redundante efetuando o OU-exclusivo dos n pedaços originais r transmite n+1 pedaços, aumentando a largura de banda por um fator de 1/n. r pode reconstruir os n pedaços originais se houver no máximo um pedaço perdido dentre os n+1 pedaços. r atraso de reprodução deve ser fixado para o instante de recepção de todos os n+1 pacotes r compromissos: m aumento de n, menos desperdício de banda m aumento de n, atraso de reprodução mais longo m aumento de n, maior probabilidade de que 2 ou mais pedaços sejam perdidos

40 7: Redes Multimídia7-40 Recuperação da perda de pacotes (2) 2a. técnica FEC transmissão de carona (piggyback)de um fluxo de menor qualidade envia fluxo de áudio de baixa resolução como informação redundante por exemplo, fluxo nominal PCM a 64 kbps e fluxo redundante GSM a 13 kbps. sempre que houver uma perda não consecutiva, o receptor poderá recuperar o pacote perdido pode também adicionar o (n-1)-ésimo e o (n-2)-ésimo pedaço de baixa taxa de transmissão

41 7: Redes Multimídia7-41 Recuperação da perda de pacotes (3) Intercalação r os pedaços são quebrados em unidades menores r por exemplo, quatro unidades de 5 mseg por pedaço r pacote agora contém pequenas unidades de pedaços diferentes r se o pacote se perder, ainda temos muito de cada pedaço r não tem overhead de redundância mas aumenta o atraso de reprodução

42 7: Redes Multimídia7-42 Redes de distribuição de conteúdos (CDNs - Content distribution networks) Replicação de conteúdo r desafio transmitir fluxo de grandes arquivos (ex, vídeo) de um único servidor original em tempo real r solução: replicar o conteúdo em centenas de servidores através da Internet m conteúdo downloaded antecipadamente nos servidores CDN m colocar o conteúdo perto do usuário evita impedimentos (perda, atraso) com o envio do conteúdo sobre caminhos longos m servidor CDN tipicamente posicionado na borda da rede/rede de acesso servidor original na América do Norte nó de distribuição CDN servidor CDN na Am. do Sul servidor CDN na Europa Servidor CDN na Ásia

43 7: Redes Multimídia7-43 Redes de distribuição de conteúdos (CDNs) Replicação de conteúdo r usuário de uma CDN (ex, Akamai) é o provedor de conteúdo (ex. CNN) r a CDN replica o conteúdo dos usuários nos servidores CDN r quando o provedor atualiza o conteúdo, a CDN atualiza os servidores servidor original na América do Norte nó de distribuição CDN servidor CDN na Am. do Sul servidor CDN na Europa servidor CDN na Ásia

44 7: Redes Multimídia7-44 CDN exemplo servidor original (www.foo.com) r distribui HTML r substitui: por h ttp://www.cdn.com/www.foo.com/sports/ruth.gif HTTP request para DNS query para HTTP request para servidor original servidor DNS com autoridade para a CDN servidor CDN próximo do cliente empresa CDN (cdn.com) r distribui arquivos gif r usa o seu servidor DNS com autoridade para redirecionar os pedidos cliente

45 7: Redes Multimídia7-45 Mais sobre CDNs roteamento de pedidos r A CDN cria um mapa, indicando as distâncias entre os ISPs folhas e os nós CDN r quando a solicitação chega num servidor DNS oficial: m o servidor determina qual é o ISP de onde provém o pedido m usa o mapa para determinar qual o melhor servidor CDN r nós CDN criam uma rede sobreposta na camada de aplicação

46 7: Redes Multimídia7-46 Resumo: Multimídia na Internet: truques r use UDP para evitar o(s) (atrasos) do controle de congestionamento do TCP para tráfego sensível a tempo r atraso de reprodução adaptativo para o lado do cliente: para compensar o atraso r o lado do servidor casa a largura de banda do fluxo à largura de banda disponível no caminho cliente- ao-servidor m escolha entre taxas de fluxos pré-codificadas m taxa dinâmica de codificação do servidor r recuperação de erros (acima do UDP) m FEC, entrelaçamento m retransmissões, se houver tempo r CDN: traz o conteúdo para perto dos clientes

47 7: Redes Multimídia7-47 Capítulo 7: roteiro 7.1 aplicações multimídia em redes 7.2 fluxos contínuos (streams) de áudio e vídeo armazenados 7.3 extraindo o máximo do serviço de melhor esforço 7.4 protocolos para aplicações interativas de tempo real m RTP,RTCP,SIP 7.5 suprindo múltiplas classes de serviços 7.6 suprindo garantias de QoS

48 7: Redes Multimídia7-48 Protocolo de Tempo Real (RTP - Real Time Protocol) r RTP especifica uma estrutura de pacote para pacotes que transportam dados de áudio e de vídeo r RFC 3550 r pacote RTP provê m identificação do tipo da carga m numeração da seqüência de pacotes m carimbo de tempo r RTP roda nos sistemas terminais. r pacotes RTP são encapsulados em segmentos UDP r interoperabilidade: se duas aplicações de telefone Internet utilizam RTP então elas poderão trabalhar em conjunto

49 7: Redes Multimídia7-49 RTP roda sobre UDP bibliotecas RTP provêm interface com a camada de transporte que estende o UDP: números de portas, endereços IP identificação do tipo da carga numeração da seqüência de pacotes carimbo de tempo

50 7: Redes Multimídia7-50 Exemplo RTP r considere o envio de voz codificada em PCM de 64 kbps sobre RTP. r aplicação coleta os dados codificados em pedaços, ex., a cada 20 mseg = 160 bytes num pedaço. r o pedaço de áudio junto com o cabeçalho RTP formam um pacote RTP, que é encapsulado num segmento UDP r o cabeçalho RTP indica o tipo da codificação de áudio em cada pacote: m o transmissor pode mudar a codificação durante a conferência. r o cabeçalho RTP também contém números de sequência e carimbos de tempo.

51 7: Redes Multimídia7-51 RTP e a QoS r RTP não provê nenhum mecanismo para garantir a entrega em tempo dos dados nem nenhuma outra garantia de qualidade de serviço. r o encapsulamento RTP é visto apenas nos sistemas terminais – não é visto por roteadores intermediários. m roteadores provendo o serviço tradicional Internet de melhor esforço não fazem nenhum esforço adicional para garantir que os pacotes RTP cheguem ao destino em tempo para reprodução.

52 7: Redes Multimídia7-52 Cabeçalho RTP Payload Type (7 bits): indica o tipo de codificação que está sendo usado. Se o transmissor modificar a codificação no meio de uma confe- rência, o transmissor informará o receptor através do campo payload type. Payload type 0: PCM mu-law, 64 kbps Payload type 3, GSM, 13 kbps Payload type 7, LPC, 2.4 kbps Payload type 26, Motion JPEG Payload type 31. H.261 Payload type 33, MPEG2 video Sequence Number (16 bits): o número de sequência é incrementado de 1 para cada pacote RTP enviado; pode ser usado para detectar a perda de pacotes e para restaurar a seqüência de pacotes.

53 7: Redes Multimídia7-53 Cabeçalho RTP (2) r Timestamp (32 bytes): reflete o instante de amostragem do primeiro byte no pacote de dados RTP. para áudio o relógio de carimbo de tempo incrementa de um para cada período de amostragem (por exemplo, a cada 125 seg para um relógio de amostragem de 8kHz) m se a aplicação de áudio gerar pedaços de 160 amostras codificadas, então o carimbo de tempo aumenta de 160 para cada pacote RTP quando a fonte estiver ativa. O relógio de carimbo de tempo continua a aumentar a uma taxa constante mesmo quando a fonte estiver inativa. r SSRC (32 bits): identifica a fonte de um fluxo RTP. Cada fluxo numa sessão RTP deve possuir um SSRC distinto.

54 7: Redes Multimídia7-54 RTSP/RTP Trabalho de Programação r construa um servidor que encapsula frames de vídeo armazenado em pacotes RTP m apanhe um frame de vídeo, coloque cabeçalhos RTP, crie segmentos UDP, envie segmentos para socket UDP m inclua nos. de sequência e marcas de tempo (time stamps) r construa o cliente RTP r insira no cliente o protocolo RTSP m para comandos play/pause r insira no seu servidor o protocolo RTSP para atender os comandos RTSP do cliente

55 7: Redes Multimídia7-55 Protocolo de Controle de Tempo Real (Real-Time Control Protocol - RTCP) r trabalha em conjunto com o RTP. r cada participante numa sessão RTP periodicamente transmite pacotes de controle RTCP para todos os demais participantes. r cada pacote RTCP contém relatos do transmissor e/ou receptor m relatam estatísticas úteis para as aplicações : no. pacotes enviados, no. pacotes perdidos, intervalo entre chegadas (jitter), etc. r a realimentação de informação pode ser usada para controlar o desempenho m o transmissor pode modificar as suas transmissões com base na realimentação

56 7: Redes Multimídia7-56 RTCP - Continuação para uma sessão RTP há tipicamente um único endereço multicast; todos os pacotes RTP e RTCP pertencentes à sessão usam o endereço multicast. pacotes RTP, RTCP são diferenciados uns dos outros através do uso de números de portas distintos. para limitar o tráfego, cada participante reduz o seu tráfego RTCP à medida que cresce o número de participantes da conferência.

57 7: Redes Multimídia7-57 Pacotes RTCP Pacotes de relato do receptor: r fração dos pacotes perdidos, último número de sequência, jitter médio entre chegadas Pacotes de relato do transmissor: r SSRC do fluxo RTP, tempo atual, número de pacotes enviados e número de bytes enviados. Pacotes de descrição da origem: r endereço de do transmissor, nome do transmissor, o SSRC do fluxo RTP associado. r os pacotes provêm um mapeamento entre o SSRC e o nome do usuário/host.

58 7: Redes Multimídia7-58 Sincronização de Fluxos r o RTCP pode ser usado para sincronizar diferentes fluxos de mídia dentro de uma sessão RTP. r considere uma aplicação de videoconferência para a qual cada transmissor gera um fluxo RTP para vídeo e outro para áudio. r os carimbos de tempo nestes pacotes RTP estão vinculados aos relógios de amostragem de vídeo e de áudio m não estão vinculadas ao relógio de tempo real. r cada pacote de relato do transmissor contém, para o pacote gerado mais recentemente no fluxo RTP associado, m o carimbo de tempo do pacote RTP m e instante num relógio de tempo real em que o pacote foi criado. r os receptores pode usar esta associação para sincronizar a reprodução de áudio e de vídeo.

59 7: Redes Multimídia7-59 Escalonamento da Largura de Banda p/ o RTCP r O RTCP tenta limitar o seu tráfego a 5% da largura de banda da sessão. Exemplo r Suponha que haja um transmissor enviando vídeo a uma taxa de 2 Mbps. Então o RTCP tenta limitar o seu tráfego a 100 Kbps. r RTCP atribui 75% da taxa p/ os recetores; os restantes 25% p/ o transmissor r Os 75 Kbps alocados são compartilhados igualmente entre os receptores: m com R receptores, cada receptor pode gerar tráfego RTCP a uma taxa de 75/R Kbps. r O transmissor pode gerar tráfego RTCP a uma taxa de 25 Kbps. r O participante determina a frequência de transmissão de pacotes RTCP, calculando o tamanho médio do pacote RTCP (ao longo da sessão inteira) e dividindo o tamanho médio do pacote RTCP pela taxa alocada.

60 7: Redes Multimídia7-60 Protocolo de Iniciação de Sessão (Session Initiation Protocol - SIP) [RFC 3261] Visão de longo prazo do SIP r todas as chamadas telefônicas e de videoconferência se realizam sobre a Internet r pessoas são identificadas por nomes ou endereços de , ao invés de números de telefone r é possível encontrar o chamado, não importa onde ele esteja, e em qualquer dispositivo IP que o chamado esteja usando no momento

61 7: Redes Multimídia7-61 Serviços SIP r Estabelecendo uma chamada, SIP provê mecanismos.. m para que o chamador informe ao chamado que ele deseja estabelecer uma chamada m para que o chamador e o chamado concordem no tipo de mídia e na codificação m para encerrar a chamada r determina o endereço IP atual do chamado. m mapeia identificador mnemônico para o endereço IP atual r gerenciamento de chamadas m adiciona novos fluxos de mídia durante a chamada m altera a codificação durante a chamada m convida outros participantes m transfere e mantém a chamada

62 7: Redes Multimídia7-62 Estabelecendo uma chamada para um endereço IP conhecido Mensagem invite de Alice indica o seu número de porta, endereço IP e a codificação em que Alice prefere receber (PCM ulaw) A mensagem 200 OK de Bob indica o seu número de porta, endereço IP e codificação preferida (GSM) Mensagens SIP podem ser transmitidas sobre TCP ou UDP; aqui está sendo enviada sobre RTP/UDP. número de porta Default do SIP é a 5060.

63 7: Redes Multimídia7-63 Estabelecendo uma chamada (mais) r negociação de codificação: m suponha que Bob não possui um codificador PCM ulaw. m Bob responderá então com um código 606 Not Acceptable Reply e lista os codificadores que ele pode usar. Alice pode então enviar uma nova mensagem INVITE, anunciando um codificador apropriado r rejeitando a chamada m Bob pode rejeitar com respostas busy (ocupado), gone (fora) payment required (necessário pagamento), forbidden (proibido). r a mídia pode ser enviada sobre RTP ou algum outro protocolo

64 7: Redes Multimídia7-64 Exemplo de mensagem SIP INVITE SIP/2.0 Via: SIP/2.0/UDP From: To: Call-ID: Content-Type: application/sdp Content-Length: 885 c=IN IP m=audio RTP/AVP 0 Notas: r sintaxe de mensagem HTTP r sdp = session description protocol (protocolo de descrição da sessão) r identificador (Call-ID) único para cada chamada Aqui não sabemos o endereço IP de Bob. Servidores SIP intermediários são necessários. Alice envia e recebe mensagens SIP usando o número de porta default do SIP 5060 Alice especifica na linha Via do cabeçalho, que o cliente SIP envia e recebe mensagens SIP sobre UDP

65 7: Redes Multimídia7-65 Tradução de nome e localização do usuário r chamador deseja contactar o chamado, mas possui apenas o nome ou o endereço de do chamado. r precisa obter o endereço IP do host atual do chamado: m usuário se desloca m protocolo DHCP m usuário possui diferentes dispositivos IP (PC, PDA, dispositivo no automóvel) r resultado pode depender de: m hora do dia (trabalho, casa) m chamador (não deseja que o chefe lhe chame em casa) m status do chamado (chamadas enviadas para correio de voz quando o chamado já estiver falando com alguém) Serviço provido por servidores SIP: r Servidor de registro SIP r Servidor proxy SIP

66 7: Redes Multimídia7-66 Servidor de Registro SIP REGISTER sip:domain.com SIP/2.0 Via: SIP/2.0/UDP From: To: Expires: 3600 r Quando Bob inicia cliente SIP, o cliente envia uma mensagem REGISTER SIP para o servidor de registros de Bob (função semelhante é necessária para serviço de mensagens instantâneas) Mensagem Register:

67 7: Redes Multimídia7-67 Servidor proxy SIP r Alice envia mensagem invite para o seu servidor proxy m contém endereço r O proxy é responsável por rotear mensagens SIP para o chamado m possivelmente através de múltiplos proxies r O chamado envia resposta através do mesmo conjunto de proxies. r O proxy retorna a mensagem de resposta SIP para Alice m contendo o endereço IP de Bob r Nota: proxy é análogo a um servidor DNS local

68 7: Redes Multimídia7-68 Example Chamador faz uma chamada para (1) Jim envia mensagem INVITE para o proxy SIP da umass. (2) Proxy encaminha o pedido para o servidor de registro da upenn. (3) O servidor da uPenn retorna resposta de redirecionamento, indicando que deve tentar (4) O proxy da umass envia INVITE para o registro da eurecom. (5) Registro da eurecom encaminha o INVITE para , que está rodando o cliente SIP de Keith. (6-8) retorno da resposta SIP. (9) mídia enviada diretamente entre clientes. Nota: mensagens ack do SIP, não são apresentadas.

69 7: Redes Multimídia7-69 Comparação com o H.323 r H.323 é um outro protocolo de sinalização para tempo- real, interativo r H.323 é um conjunto integrado de protocolos para conferência multimídia: sinalização, registro, controle de admissão, transporte e codificações r SIP é um único componente. Trabalha com RTP, mas não é obrigatório. Pode ser combinado com outros protocolos e serviços r H.323 vem do ITU (telefonia). r SIP vem do IETF: Toma emprestado muitos dos seus conceitos do HTTP. SIP tem um sabor Web, enquanto que o H.323 tem um sabor da telefonia. r SIP usa o princípio KISS: Keep it Simple Stupid.

70 7: Redes Multimídia7-70 Capítulo 7: roteiro 7.1 aplicações multimídia em redes 7.2 fluxos contínuos (streams) de áudio e vídeo armazenados 7.3 extraindo o máximo do serviço de melhor esforço 7.4 protocolos para aplicações interativas de tempo real m RTP,RTCP,SIP 7.5 suprindo múltiplas classes de serviços 7.6 suprindo garantias de QoS

71 7: Redes Multimídia7-71 Provendo Múltiplas Classes de Serviço r até o momento: extraímos o máximo do melhor-esforço m um único tamanho veste todos os modelos de serviço r alternativa: múltiplas classes de serviço m dividir o tráfego em classes m A rede trata diferentes classes de tráfego de modo diferente (analogia: serviço VIP x serviço regular) 0111 r granularidade: serviço diferenciado entre múltiplas classes, não entre conexões individuais r história: bits ToS

72 7: Redes Multimídia7-72 Múltiplas classes de serviço: Cenário R1 R2 H1 H2 H3 H4 enlace de 1,5 Mbps fila da interface de saída de R1

73 7: Redes Multimídia7-73 Cenário 1: FTP e áudio no mesmo enlace r Exemplo: Telefone IP de 1Mbps, FTP compartilhando enlace de 1,5 Mbps. m surtos de FTP podem congestionar o roteador e causar a perda de pacotes de áudio m queremos dar prioridade ao tráfego de áudio sobre o de FTP é preciso marcar os pacotes para que o roteador faça distinção entre as classes diferentes; e uma nova política no roteador para tratar os pacotes de forma diferenciada Princípio 1 R1 R2

74 7: Redes Multimídia7-74 Princípios p/ garantir QOS (mais) r e se as aplicações se comportarem mal (áudio envia pacotes a taxax mais elevadas do que a declarada)? m policiamento: força que origens respeitem as alocações de banda r marcação e policiamento nas bordas da rede: m similar ao ATM UNI (User Network Interface) prover proteção (isolamento) de uma classe sobre as demais Princípio 2 R1 R2 enlace de 1,5 Mbps telefone 1 Mbps marcação de pacotes e policiamento

75 7: Redes Multimídia7-75 Princípios p/ garantir QOS (mais) r Alocar uma largura de banda fixa (não compartilhável) para o fluxo: uso ineficiente da banda se os fluxos não usarem suas alocações Enquanto provê isolamento, é desejável utilizar os recursos o mais eficientemente possível Princípio 3 R1 R2 enlace de 1,5 Mbps telefone 1 Mbps enlace lógico de 1 Mbps enlace lógico de 0,5 Mbps

76 7: Redes Multimídia7-76 Mecanismos de Escalonamento e Policiamento r escalonamento: escolha do próximo pacote a transmitir no canal r escalonamento FIFO (first in first out): transmite na ordem de chegada na fila m exemplos da vida real? m política de descarte: se os pacotes ao chegarem encontrarem a fila cheia: quem deve ser descartado? descarta o último (cauda): descarta o pacote que acabou de chegar prioridade: descarta/remove baseado na prioridade randômico: descarta/remove aleatoriamente

77 7: Redes Multimídia7-77 Políticas de Escalonamento: mais escalonamento por prioridades: transmite pacote enfileirado de mais alta prioridade r múltiplas classes, com diferentes prioridades m classe pode depender da marcação ou outra informação do cabeçalho (ex. IP origem/destino, números de portas, etc.) m Exemplo da vida real?

78 7: Redes Multimídia7-78 Políticas de Escalonamento: ainda mais escalonamento Round Robin (circular): r múltiplas classes r varre as filas das classes transmitindo um pacote de cada classe cuja fila não estiver vazia r exemplo da vida real?

79 7: Redes Multimídia7-79 Políticas de Escalonamento: ainda mais escalonamento por enfileiramento justo ponderado (Weighted Fair Queuing ): r Round Robin generalizado r cada classe recebe um tempo de serviço diferenciado em cada ciclo r exemplo do mundo real?

80 7: Redes Multimídia7-80 Mecanismos de Policiamento Objetivo: limita o tráfego para que não exceda os parâmetros declarados Três critérios comumente usados: r Taxa Média (de Longo prazo): quantos pacotes podem ser enviados por unidade de tempo (em longo prazo) m questão crucial: qual é o comprimento do intervalo: 100 pacotes por seg ou 6000 pacotes por min têm a mesma média! r Taxa de Pico: ex., 6000 pacotes por minuto (ppm) em média e taxa de pico de 1500 ppm r Comprimento (Máx.) do Surto: número máximo de pacotes enviados consecutivamente (sem intervalo ocioso)

81 7: Redes Multimídia7-81 Mecanismos de Policiamento Token Bucket (Balde de Permissões): limita a entrada para Tamanho do Surto e Taxa Média especificadas. r balde pode guardar b permissões r tokens são gerados a uma taxa de r token/seg a menos que o balde esteja cheio r num intervalo de comprimento t: número de pacotes admitidos é menor ou igual a (r t + b).

82 7: Redes Multimídia7-82 Mecanismos de Policiamento (mais) r combinação de token bucket, WFQ provê limite superior garantido no atraso, i.e., garantia de QoS ! WFQ taxa do token, r tamanho do balde, b taxa por fluxo, R D = b/R max tráfego de chegada

83 7: Redes Multimídia7-83 Serviços Diferenciados do IETF r Deseja-se classes de serviço qualitativas m comportamento de circuito m distinção relativo de serviço: Platina, Ouro, Prata r Escalabilidade: funções simples no núcleo da rede, funções relativamente complexas nos roteadores de borda (ou nos hosts) m sinalização, manter estado por fluxo no roteador é difícil para um grande número de fluxos r Não define classes de serviço, provê componentes funcionais para implementação das classes de serviço

84 7: Redes Multimídia7-84 Oroteador de borda: gerenciamento de tráfego por- fluxo marca os pacotes como dentro- perfil e fora-perfil Roteador do núcleo: gerenciamento de tráfego por classe armazenamento e escalonamento baseado na marcação feita na borda preferência para os pacotes dentro- perfil Diffserv Architecture escalonamento... r b marcação

85 7: Redes Multimídia7-85 Marcação de Pacotes no Roteador de Borda r marcação baseada em classes: pacotes de classes diferentes são marcados diferentemente r marcação dentro da mesma classe: porção do fluxo bem comportado marcado diferentemente do mau comportado r perfil: taxa A, comprimento do balde B pré-negociados r marcação de pacote na borda baseada no perfil por-fluxo Possível uso da marcação: Pacotes do usuário Taxa A B

86 7: Redes Multimídia7-86 Classificação e Condicionamento r O Pacote é marcado no campo de Tipo de Serviço (TOS) no IPv4 e, Classe de Tráfego no IPv6 r São usados 6 bits para fornecer a codificação dos Serviços Diferenciados e determinar a PHB (Per- Hop Behaviors) que o pacote receberá r No momento há 2 bits que não estão sendo usados

87 7: Redes Multimídia7-87 Classificação e Condicionamento pode ser desejável limitar a taxa de injeção de tráfego para alguma classe: r o usuário declara o seu perfil de tráfego (ex. taxa e comprimento das rajadas); r o tráfego é medido e moldado se não estiver de acordo com o seu perfil

88 7: Redes Multimídia7-88 Encaminhamento Per-Hop Behaviors (PHB) r PHB resulta num comportamento de desempenho de encaminhamento diferente observável (mensurável) r O PHB não especifica quais os mecanismos a serem usados para garantir o comportamento de desempenho PHB requisitado r Exemplos: m Classe A recebe x% da taxa de transmissão do enlace de saída dentro de intervalos de tempo de comprimento especificado m Pacotes da classe A deixam os buffers antes dos pacotes da classe B

89 7: Redes Multimídia7-89 Encaminhamento Per-Hop Behaviors (PHB) PHBs em desenvolvimento: r Expedited Forwarding (Encaminhamento Expresso): taxa de partida dos pacotes de uma classe é maior ou igual a uma taxa especificada m enlace lógico com uma taxa mínima garantida r Assured Forwarding (Encaminhamento Assegurado): 4 classes de tráfego m a cada uma é garantida uma quantidade mínima de largura de banda m cada uma com três partições de preferência para o descarte

90 7: Redes Multimídia7-90 Capítulo 7: roteiro 7.1 aplicações multimídia em redes 7.2 fluxos contínuos (streams) de áudio e vídeo armazenados 7.3 extraindo o máximo do serviço de melhor esforço 7.4 protocolos para aplicações interativas de tempo real m RTP,RTCP,SIP 7.5 suprindo múltiplas classes de serviços 7.6 suprindo garantias de QoS

91 7: Redes Multimídia7-91 Chapter 7 outline r 7.1 Multimedia Networking Applications r 7.2 Streaming stored audio and video r 7.3 Real-time Multimedia: Internet Phone study r 7.4 Protocols for Real- Time Interactive Applications m RTP,RTCP,SIP r 7.5 Distributing Multimedia: content distribution networks r 7.6 Beyond Best Effort r 7.7 Scheduling and Policing Mechanisms r 7.8 Integrated Services and Differentiated Services r 7.9 RSVP

92 7: Redes Multimídia7-92 Princípios p/ garantir QOS (mais) r Fato básico da vida: não é possível atender a um tráfego superior à capacidade do enlace Admissão de Chamadas: o fluxo da aplicação declara as suas necessidades, a rede pode bloquear (enviar sinal de ocupado) a chamada se não puder atender a estas necessidades Princípio 4 R1 R2 enlace de 1,5 Mbps telefone 1 Mbps telefone 1 Mbps

93 7: Redes Multimídia7-93 Cenário p/ estudar garantia de QoS r Reserva de recursos m estabelecimento de chamada, sinalização (RSVP-ReSerVation Protocol) m declaração de tráfego e QoS m controle de admissão por elemento m escslonamento sensível a QoS (ex., WFQ) request/ reply

94 7: Redes Multimídia7-94 Serviços Integrados do IETF r arquitetura para prover garantias de QOS em redes IP para sessões individuais de aplicações r reserva de recursos: roteadores devem manter info. de estado (Circuito Virtual??), manter registros dos recursos alocados, requisitos de QoS r admitir/rejeitar novos pedidos de chamadas Pergunta: os novos fluxos que chegam podem ser admitidos com garantias de desempenho e ainda assim não violar as garantias de QoS prometidas a fluxos já admitidos?

95 7: Redes Multimídia7-95 Admissão de Chamadas A sessão entrante deve: r declarar os seus requisitos de QOS m R-spec: define a QOS que está sendo solicitada r caracterizar o tráfego que injetará na rede m T-spec: define as características do tráfego r protocolo de sinalização: necessário para levar a R- spec e T-spec aos roteadores (onde a reserva é necessária) m RSVP

96 7: Redes Multimídia7-96 Intserv QoS: Modelos de serviço [rfc2211, rfc 2212] Serviço garantido: r chegada de tráfego de pior caso: fonte policiada por um balde furado. r limite simples (pode ser provado matematicamente) para o atraso [Parekh 1992, Cruz 1988] Serviço de carga controlada : r uma qualidade de serviço que muito se aproxima da QoS que o mesmo fluxo receberia de um elemento de rede sem carga WFQ taxa de token, r tamanho do balde, b taxa por fluxo, R D = b/R max tráfego de chegada

97 7: Redes Multimídia7-97 Sinalização na Internet sem conexão (sem estado) encaminhamento por roteadores IP serviço do melhor esforço não existem protocolos de sinalização no projeto inicial do IP + = r Novas necessidades: reservar recursos ao longo do path fim-a-fim (end system, roteadores) para garantir QoS para aplicações multimídia r Protocolo para Reseva de Recursos -RSVP: (Resource Reservation Protocol) [RFC 2205] m … permite aos usuários comunicar necessidades para rede de modo robusto e eficiente. isto é, sinalizar! r Protocolo de Sinalização da Internet anterior: ST-II [RFC 1819]

98 7: Redes Multimídia7-98 Objetivos do Projeto do RSVP 1. acomodar receptores heterogêneos (diferentes bandas passantes ao longo dos paths) 2. acomodar diferentes aplicações com diferentes necessidades de recursos 3. tornar multicast um serviço de primeira classe, com adaptação para membros de grupo multicast 4. roteamento multicast/unicast existente, com adaptação às mudanças nas rotas unicast, multicast subjacentes 5. controle do overhead do protocolo para crescer (no pior caso) linearmente ao número de receptores 6. projeto modular para tecnologias subjacentes heterogêneas

99 7: Redes Multimídia7-99 RSVP: não faz… r especificar como recursos serão reservados r mas: o mecanismo para comunicação das necessidades r determinar as rotas que o pacote seguirá r isso é tarefa dos protocolos de roteamento r a sinalização é desacoplada do roteamento r interagir com o encaminhamento de pacotes r separação dos planos de controle (sinalização) e dados (forwarding)

100 7: Redes Multimídia7-100 RSVP: Visão Geral da Operação r transmissores, receptores se juntam a um grupo multicast m feito externamente ao RSVP m transmissores não precisam se juntar ao grupo r sinalização do transmissor para a rede m mensagem path: torna a presença do transmissor conhecida para os roteadores m liberação do path: elimina o estado do path do transmissor nos roteadores r sinalização do receptor para a rede m Mensagem de reserva : reserva recursos do transmissor(es) para o receptor m liberação de reserva: remove as reservas do receptor r sinalização da rede para o end system m falha no path m falha de reserva

101 7: Redes Multimídia7-101 Capítulo 7: Resumo Princípios r classificar as aplicações multimídia r identificar os serviços de rede que as aplicações necessitam r extrair o máximo do serviço de melhor esforço Protocolos e Arquiteturas r protocolos específicos para melhor esforço r mecanismos para garantir QoS r arquiteturas para QoS m múltiplas classes de serviço m garantias de QoS, controle de admissão


Carregar ppt "7: Redes Multimídia7-1 Multimídia e Qualidade de Serviço: O que são? aplicações multimídia: áudio e vídeo na rede (mídia contínua) Quality of Service a."

Apresentações semelhantes


Anúncios Google