net-adr-2009-slides-cap6

net-adr-2009-slides-cap6 - Curso de Redes de Computadores...

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: Curso de Redes de Computadores Luis Carlos Trevelin Capítulo 6 Capítulo Redes Multimídia Agradecimentos Adriano Mauro Cansian adriano@acmesecurity.org : Pela Preparação do Material Pela 1 Capítulo 6: Redes Multimídia Capítulo Objetivos do Capítulo: entender os requisitos de entender serviço para redes com multimídia multimídia • • • atraso taxa de transmissão perda aprender como aproveitar o aprender máximo do serviço de melhor esforço da Internet Aprender como a Internet Aprender poderá evoluir para um melhor desempenho dos serviços multimídia serviços Resumo do capítulo: aplicações de rede com multimídia aplicações aúdio e vídeo de tempo contínuo aúdio armazenados • RTSP aplicações interativas de tempo-real aplicações • Exemplo: telefonia na Internet RTP H.323 e SIP além do melhor esforço • • • programando e verificando serviços integrados serviços serviços diferenciados serviços 2 Multimídia em Redes Características Fundamentais: Características Tipicamente sensíveis ao Tipicamente atraso. atraso. Mas tolerante a perdas: perdas Mas esparsas causam pequenas falhas que podem passas desapercebidas. desapercebidas. Antítese de dados Antítese (programas , informações bancárias, etc.), que não toleram falhas mas aceitam atrasos sem problemas. atrasos Multimídia também é Multimídia chamada de “mídia de tempo contínuo” Classes de aplicações MM: MM: Aúdio e vídeo de tempo Aúdio contínuo armazenados Audío e vídeo de tempo Audío contínuo ao vivo contínuo Vídeo interativo em Vídeo tempo-real 3 Multimídia em redes (2) Aplicações MM com aúdio e vídeo armazenados vídeo Clientes solicitam arquivos com Clientes aúdio e vídeo de servidores, recebem a informação pela rede e a apresentam apresentam Interativo: o usuário pode controlar a operação (similar a um VCR: pause, resume, fast forward, rewind, etc.) forward, Atraso: a partir do pedido do cliente até o início da apresentação pode ser de 1 a 10 segundos segundos Tempo-real unidirecional: similar à TV convencional, mas a similar transferência de informação é feita pela Internet pela Não interativo, apenas escutar e ver Não Tempo-Real Interativo: Tempo-Real Conferência de aúdio ou de vídeo Mais exigente nos requisitos de atraso Mais que o tempo real unidirecional por causa da necessidade de interatividade em tempo real Vídeo: < 150 ms aceitável Vídeo: Aúdio: < 150 ms bom, <400 ms Aúdio: aceitável 4 Multimídia em redes (3): desafios desafios Arquitetura TCP/UDP/IP fornece Arquitetura melhor esforço, não garantias sobre o atraso ou sobre a variação de atraso. • • • Aplicações de tempo contínuo Aplicações com atrasos inicias de 5-10 segundos são comuns hoje me dia, mas o desempenho deteriora se os enlaces estão congestionados (transoceânicos) congestionados Aplicações Interativas e,m tempo Aplicações real têm requisitos rígidos para atraso de pacotes e variação de atraso (jitter). atraso Jitter é a variabilidade do atraso de pacotes dentro do mesmo feixe de pacotes. feixe Projeto de aplicações Projeto multimídia seria fácil se houvesse várias classes de serviço. • • Mas na Internet pública Mas todos os pacotes recebem igual tratamento. Pacotes contendo aúdio e Pacotes vídelo interativo de tempo real permanecem nas filas, como todos os outros. como Esforços vêm sendo Esforços desenvolvidos para prover serviços diferenciados. serviços 5 Multimídia em redes (4): aproveitando ao máximo o “melhor esforço” esforço” Para reduzir o impacto do serviço de Para melhor esforço da Internet, nós podemos: podemos: Usar UDP para evitar o TCP e Usar sua fase de partida lenta… sua Armazenar o conteúdo no cliente Armazenar e controlar a apresentação para remediar o jiter Podemos acrescentar marcas de Podemos tempo nos pacotes para que o receptor saiba quando reproduzíreceptor los. los. Adaptar o nível de compressão à Adaptar taxa de transmissão disponível Nós podemos transmitir Nós pacotes redundantes para atenuar os efeitos das perdas de pacotes. perdas ² Nós discutiremos todos esses “truques”. esses 6 Como a Internet deveria evoluir para suportar melhor as aplicações multimídia? m de serviços Integrados: Filosofiaultimídia? Filosofia de serviços Diferenciados Filosofia Mudar os protocolos da Internet de Mudar forma que as aplicações possam reservar uma banda de transmissão fim-a-fim fim-a-fim • • • Necessita de um novo protocolo que Necessita reserva banda de transmissão Deve modificar as regras de Deve escalonamento nos roteadores para poder honrar às reservas Aplicação deve fornecer à rede uma Aplicação descrição do seu tráfego e deve posteriormente respeitar esta descrição. Exige menos mudanças na infraExige estrutura da Internet, embora forneça estrutura serviços de primeira e de segunda classe. classe. Datagramas são marcados. Usuários pagam mais para enviar e Usuários receber pacotes de primeira classe. receber ISPs pagam mais aos provedores de ISPs backbone para enviar e receber pacotes de primeira classe. de Exige um novo e complexo software Exige nos hosts e nos roteadores nos 7 Como a Internet deveria evoluir para suportar melhor as aplicações multimídia? multimídia? Redes privadas virtuais (VPNs) Filosofia Laissez-faire Filosofia Não há reservas, nem marcações de datagramas Quando a demanda aumenta, mais Quando banda de transmissão deve ser provida Coloque armazenadores de Coloque conteúdo nas bordas da rede: conteúdo • • • ISPs e provedores de backbone ISPs acrescentam caches acrescentam Provedores de conteúdo Provedores armazenam conteúdo em nós CDN P2P: escolhe o parceiro mais P2P: próximo com o conteúdo desejado desejado Reserva blocos permanentes Reserva de banda de transmissão para empresas. Roteadores distinguem o Roteadores tráfego de cada VPN usando endereços IP Roteadores usam esquemas Roteadores de escalonamento especiais para fornecerem a banda de transmissão reservada. transmissão 8 Aúdio e Vídeo Armazenados Mídia de tempo contínuo armazenada: armazenada: Arquivos de Aúdio e de Vídeo Arquivos são armazenados em servidores Usuários solicitam os arquivos Usuários de aúdio e de vídeo por demanda. de Aúdio/vídeo são aprsentandos, Aúdio/vídeo digamos, 10 s após o pedido. digamos, Interatividade (pausa, Interatividade deslocamento da apresentação) é permitido. permitido. Transdutor de Mídia (player): • • • • remove jitter descomprime descomprime correção de erros correção interface gráfica de usuário interface com controles para interatividade Plug-ins podem ser usados para Plug-ins embutir o transdutor de mídia na janela de um browser. na 9 Informações de tempo contínuo em servidores Web (1) servidores Os arquivos de aúdio e de vídeo Os são armazenados em servidores Web abordagem ingênua abordagem browser pede o arquivo com uma browser mensagem HTTP do tipo pedido mensagem Servidor Web envia o arquivo na Servidor mensagem HTTP do tipo resposta O cabeçalho “content-type” cabeçalho indica uma codificação apropriada para aúdio e vídeo apropriada browser dispara o transdutor de browser mídia e passa o arquivo para ele mídia transdutor de mídia apresenta o transdutor arquivo arquivo cliente servidor • Maior problema: o transdutor de mídia interage com o servidor WEB através do Web browser que atua como intermediário. 10 Informações de tempo contínuo em servidores Web (2) servidores Alternativa: estabelecer conexão entre Alternativa: o servidor e o transdutor browser Web solicita e recebe um browser meta arquivo (um arquivo descrevendo o objeto) ao invés de receber o próprio arquivo; arquivo; O cabeçalho “Content-type” indica cabeçalho uma específica aplicação de aúdio e vídeo Browser dispare o transdutor de Browser mídia e passa o meta arquivo para ele Transdutor estabelece uma conexão Transdutor TCP com o servidor e envia a ele a mensagem HTTP do tipo pedido. mensagem (1) pedido/resposta HTTP por um meta arquivo (2) meta arquivo transdutor de mídia (3) arquivo solicitado é enviado usando o HTTP Algumas preocupações: O transdutor de mídia se transdutor comunica usando HTTP, que não foi projetado mpara suportar comandos de controle de apesentação de Pode desejar enviar o aúdio e Pode o vídeo sobre UDP vídeo 11 Obtendo o vídeo de um servidor dedicado dedicado (1) HTTP pedido/resposta para o arquivo descritor da apresentação Esta arquitetura permite Esta o uso de outros protocolos (além do HTTP) entre o servidor e o transdutor de mídia transdutor Pode também usar UDP Pode ao invés do TCP ao (2) arquivo descritor transdutor de mídia cliente (3) arquivo de aúdio e vídeo pedido e enviado servidor de vídeo servidores 12 Opções ao utilizar um servidor de vídeo de Enviar a uma taxa constante sobre Enviar UDP. Para reduzir os efeitos do jitter, armazenar e exibir com uma atraso entre 1 e 10s. Taxa de transmissão = d, igual à taxa de codificação. Taxa de enchimento x(t) é igual a d, ecxeto quando há perdas. Use TCP, e envie na máxima taxa Use possível sobre TCP; TCP retransmite quando um erro é encontrado; x(t) agora flutua, e pode tornar-se muito maior que d. Decodificador deve usar um buffer muito maior para compensar a taxa de entrega do TCP. compensar buffer cliente taxa de leitura = d taxa de chegada = x(t) da rede decodificação e apresentação área com vídeo 13 Real Time Streaming Protocol: RTSP O que ele não faz: HTTP HTTP não define como o aúdio e o não Projetistas do HTTP tinham Projetistas vídeo é encapsulado para mídias fixas em mente: HTML, transmissão sobre a rede transmissão imagens, applets, etc. imagens, HTTP não pretende tratar mídia não restringe como a mídia HTTP não contínua armazenada (isto é, contínua é transportada: pode aúdio, vídeo, apresentações usar UDP ou TCP usar SMIL, etc.) SMIL, não especifica como o receptor não RTSP: RFC 2326 armazena o aúdio e o vídeo armazena Protocolo de aplicação do tipo Protocolo RealNetworks cliente-servidor. cliente-servidor. Permite ao usuário controlar Servidor e transdutor usam RTSP Permite Servidor apresentações de mídia para enviar informações de contínua: voltar ao início, controle de um para o outro avançar, pausa, continuar, seleção de trilha, etc… seleção 14 RTSP: controle for a da banda RTSP: FTP usa um canal de controle “fora-da-banda”: Um arquivo é transferido sobre Um um canal. um Informação de controle Informação (mudanças de diretório, remoção de arquivos, trocas de nomes, etc.) é enviada sobre uma conexão TCP separada. uma Os canais “dentro-da-banda”e Os “fora-da-banda”usam diferentes números de portas. números Mensagens RTSP també são enviadas “for Mensagens a-da-banda”: a-da-banda”: As mensagens de controle RTSP usam As diferentes números de portas em relação ao fluxo de dados de mídia contínua, e, portanto, são enviados portanto, “fora-da-banda”. O fluxo de dados de mídia contínua fluxo cuja estrutura de pacotes não é definida pelo RTSP, é considerada “dentro-dapelo banda”. Se as mensagens do RTSP devessem Se usar os mesmos números de portas do fluxo de mídia contínua, então as mensagens RTSP seriam consideradas como “intercaladas” com o fluxo de mídia contínua. mídia 15 Iniciação do RTSP e controles de entrega entrega Web browser HTTP GET presentation desc. descr. apresent. Web server SETUP PLAY media Transdutor player de mídia fluxo de mídia media stream PAUSE media Servidor server de mídia TEARDOWN client cliente server servidor Cliente obtém uma descrição da apresentação Cliente multimídia, que pode consistir de vários fluxos de dados. de O browser chama o transdutor de mídia browser (aplicação auxiliar) com base no tipo de conteúdo da descrição da apresentação. conteúdo A descrição da apresentação inclui referências descrição aos fluxos de mídia usando o método rtsp:// aos Transdutor envia o comando RTSP SETUP; Transdutor servidor envia a resposta RTSP SETUP. servidor Transdutor envia o comando RTSP PLAY; Transdutor servidor envia a resposta RTSP PLAY. servidor O servidor de mídia descarrega o fluxo de mídia. Transdutor envia o comando RTSP PAUSE; o Transdutor servidor envia a resposta RTSP PAUSE. servidor Transdutor envia o comando RTSP Transdutor TEARDOWN; servidor envia a resposta RTSP TEARDOWN. TEARDOWN. 16 Exemplo de Meta-arquivo Exemplo <title>Twister</title> <title>Twister</title> <session> <group language=en lipsync> <switch> <track type=audio e="PCMU/8000/1" src = "rtsp://audio.example.com/twister/audio.en/lofi"> <track type=audio e="DVI4/16000/2" pt="90 DVI4/8000/1" src="rtsp://audio.example.com/twister/audio.en/hifi"> </switch> <track type="video/jpeg" src="rtsp://video.example.com/twister/video"> </group> </session> 17 Sessão RTSP Sessão Cada sessão RTSP tem um Cada O número de porta do RTSP é número identificador de sessão, que é escolhido pelo servidor. escolhido O cliente inicia a sessão com o cliente comando SETUP, e o servidor responde ao comando com um identificador. identificador. O cliente repete o cliente identificador de sessão em cada comando, até que o cliente encera a sessão com o comando TEARDOWN. comando 554. 554. RTSP pode ser usado sobre RTSP UDP ou TCP. Cada mensagem RTSP pode ser enviada numa conexão TCP separada. conexão 18 RTSP: exemplo de mensagens C: SETUP rtsp://audio.example.com/twister/audio RTSP/1.0 C: Transport: rtp/udp; compression; port=3056; mode=PLAY S: RTSP/1.0 200 1 OK S: Session 4231 C: PLAY rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0 C: Session: 4231 Range: npt=0C: PAUSE rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0 C: Session: 4231 Range: npt=37 C: TEARDOWN rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0 C: Session: 4231 S: 200 3 OK S: 19 RTSP: cache de dados RTSP: O cache de mensagens de cache resposta RTSP faz pouco sentido. resposta Mas é desejável armazenar fluxos Mas de mídia contínua próximos ao cliente. cliente. Muito do controle de cache do Muito HTTP/1.1 foi adotado pelo RTSP. HTTP/1.1 • Cabeçalhos e controle de Cabeçalhos cache podem ser acrescentados às mensagens RTSP SETUP, sejam comandos ou respostas: comandos • If-modified-since: , If-modified-since: Expires: , Via: , CacheExpires: Control: Control: O servidor de cache pode manter servidor somente segmentos de um dado fluxo de mídia. de • O servidor de cache pode servidor começar a servir um cliente com dados do seu cache local, e então conectar o servidor para obter material complementar, se possível sem introduzir pausas indevidas no cliente. indevidas Quando o servidor original está Quando enviando um fluxo de dados de mídia contínua para um cliente e este fluxo passa por um servidor de cache, o servidor pode usar o TCP para obter os dados; mas o servidor intermediário ainda envia as mensagens de controle RSTP para o servidor original. servidor 20 Aplicações interativas em tempo-real telefone PC-a-PC PC-a-telefone • Dialpad • Net2phone videoconferência Vamos agora examinar Vamos um produto do tipo telefone PC-a-PC da Internet em detalhes Internet Webcams 21 Telefonia Internet sobre melhorTelefonia esforço (1) Melhor esforço atraso de pacotes, perdas e atraso variação de atraso (jitter) variação Exemplo de telefone Internet agora vamos examinar como agora atrasos de pacotes, perdas e jitter são muitas vezes tratados num exemplo de telefonia IP. num As aplicações de telefonia na As Internet geram pacotes durante momentos de atividade da voz atividade taxa de bits é 64 kbps nos taxa intervalos de atividade intervalos durante os intervalos de durante atividade a aplicação produz um bloco de 160 bytes a cada 20 ms (8 kbytes/s * 20 ms) cabeçalho é acrescentado ao cabeçalho bloco; então bloco mais cabeçalho sáo encapsulados num pacote UDP e enviados alguns pacotes podem ser alguns perdidos e o atraso de pacote irá flutuar. irá receptor deve determinar receptor quando reproduzir um bloco e determinar o que fazer com um bloco faltante um 22 Telefonia Internet (2) Telefonia perda de pacotes O segmento UDP é encapsulado segmento num datagrama IP num datagrama pode ser descartado por datagrama falta de espaço num roteador falta TCP pode eliminar perdas, mas • • retransmissões aumentam o atraso O controle de congestio-namento controle do TCP limita a taxa de transmissão transmissão Pacotes redundantes podem ajudar atraso fim-a-fim acúmulo dos atrasos de trans-missão, acúmulo propagação, proces-samento e atrasos de filas mais que 400 ms de atraso fim- a-fim compromete a a-fim interatividade; quanto menor o atraso melhor atraso variação de atraso considere dois pacotes considere consecutivos num intervalo de atividade atividade espaçamento inicial é de 20 espaçamento ms, mas o espaçamento no receptor pode ser maior ou menor que 20 ms menor removendo o jitter número de seqüência marcas de tempo atrasando a reprodução 23 Telefonia Internet (3): atraso de reprodução fixo reprodução Receptor tenta reproduzir Receptor cada bloco exatamente q ms depois que o bloco é gerado. gerado. • • Se o bloco tem marca de Se tempo t, receptor usa o bloco no instante t+q . bloco Se o bloco chega após o Se instante t+q, receptor o descarta. descarta. Escolha do valor de q: • q grande: menos perda de grande: pacotes pacotes • q pequeno: melhor pequeno: controle da interatividade controle Números de seqüência Números não são necessários. Estratégia permite Estratégia pacotes pedidos. pacotes 24 Telefonia Internet (4): atraso de reprodução fixo reprodução Transmissor gera pacotes a cada 20 ms durante os intervalos de atividade. Primeiro pacote é recebido no instante r Primeiro Primeira programação de reprodução: começa em p Primeira Segunda programação de reprodução: começa em p’ Segunda p pacotest s acke ppacotes s acket g egeradose d n e ra t lo s s perda p pacotess acket r erecebidos c e iv e d p l a y o progr. reprodução u t s c h e d u le p - r p ­ r p l aprogr. reproduçãlo yout schedu e p p’ ­ r '-r t itempo me r p p' 25 Atraso de reprodução adaptativo (1) (1) • Estima o atraso da rede e ajusta o atraso de reprodução no início de cada intervalo de atividade. • Intervalos de silêncio são aumentados e diminuídos. • Blocos ainda são gerados a cada 20 ms nos intervalos de atividade. ti = marca de tempo do i − ésimo pacote ri = instante no qual o pacote i é recebido pelo receptor pi = instante no qual o pacote i é reproduzido no receptor ri − ti = atraso da rede para o i - ésimo pacote d i = estimativa do atraso na rede após receber o i - ésimo pacote Estimativa dinâmica do atraso médio no reeptor: d i = (1 − u )d i −1 + u ( ri − ti ) onde u é uma constante fixa (ex., u = 0,01). 26 Atraso de reprodução adaptativo (2) édia do atraso, v : adaptativo ância m É também usual estimar a vari i vi = (1 − u )vi −1 + u | ri − ti − d i | As estimativas de di e vi são calculadas para cada pacote recebido, embora elas sejam usadas apenas no início de um intervalo de atividade. Para o primeiro pacotes de um intervalo de atividade, o instante de reprodução é: pi = ti + d i + Kvi onde K é uma constante positiva. Para este mesmo pacote, o atraso de reprodução é: qi = pi − ti Para o pacote j no mesmo intervalo de atividade, o pacote deve ser reproduzido em: p j = t j + qi 27 Atraso de reprodução adaptativo é(3) de um intervalo de atividade: adaptativo o primeiro Como saber se um pacote Se nunca houvesse perdas o receptor poderia simplesmente olhar nas marcas Se de tempo sucessivas. de Se a diferença de marcas de tempo sucessivas for maior que 20 Se ms, então temos o início de um intervalo de atividade. ms, Mas porque as perdas são possíveis, o receptor deve olhar tanto as Mas marcas de tempo como os números de seqüência dos pacotes. marcas • Se a diferença de marcas de tempo sucessivas for maior que 20 Se ms e não há pulos nos números de seqüência então tem-se o início de um intervalo de atividade. de • 28 Recuperação de perdas de pacotes (1) pacotes Perdas: pacote nunca chega ou Perdas: chega depois do seu tempo de reprodução programado reprodução correção de erro de envio (FEC): correção esquema simples esquema para cada grupo de n blocos cria para um bloco redundante realizando uma operação OU exclusivo entre os n blocos originais envia os n+1 blocos, aumentando a envia banda passante por um fator de 1/n. 1/n. pode reconstruir os n blocos pode originais se houver no máximo um bloco perdido nos n+1 blocos enviados Atraso de reprodução Atraso precisa ser definido para receber todos os n+1 pacotes pacotes Compromisso: Compromisso: • • • aumentar n, menor aumentar disperdício de banda disperdício aumentar n, maior atraso aumentar de reprodução de aumentar n, maior a aumentar probabilidade que dois ou mais blocos sejam perdidos perdidos 29 Recuperação de perdas de pacotes (2) pacotes 2o, esquema FEC • enviar um fluxo de menor qualidade como “carona” • envia fluxo de aúdio de menor resolução como a informação redundante • por exemplo, um fluxo PCM nominal a 64 kbps e um fluxo GSM redun­ dante a 13 kbps. • Transmissor cria pacote tomando o bloco n do fluxo nominal e anexando a ele o bloco (n­1) do fluxo redun­ dante Fluxo original Redundância Perda de Pacote Fluxo reconstruído • Sempre que ocorre perda não­consecutiva, o receptor pode esconder a perda. • Apenas dois pacotes precisam ser recebidos antes do início da reprodução • Pode também anexar os blocos (n­1) e (n­2) do fluxo de baixa qualidade 30 Recuperação de perdas de pacotes (3) pacotes Intercalação Intercalação blocos são quebrados em blocos unidades menores unidades por exemplo, 4 blocos de por 5 ms cada ms intercalar os blocos como intercalar mostrado no diagrama mostrado pacote agora contém pacote unidades menores de diferentes blocos diferentes Fluxo original Fluxo intercalado Perda de pacote Fluxo reconstruído Remontar os blocos no Remontar receptor receptor Se o pacote é perdido, Se ainda resta mais de cada bloco bloco 31 Recuperação de perdas de pacotes (4) pacotes Recuperação pelo receptor de Recuperação fluxos de aúdio danificados fluxos produzir uma substituição para produzir um pacote perdido que seja similar ao pacote original similar pode produzir bons resultados pode para baixas taxas de perdas e pacotes pequenos (4-40 ms) pacotes estratégia mais simples: estratégia repetiçãon repetiçãon estratégia mais complexa: estratégia interpolação interpolação 32 Real-Time Protocol (RTP) (RTP) RTP especifica uma RTP RTP roda nos sistemas RTP estrutura de pacotes que transportam dados de aúdio e vídeo: RFC 1889. aúdio pacote RTP oferece pacote terminais. terminais. os pacotes RTP são os encapsulados em segmentos UDP segmentos Interoperabilidade: se Interoperabilidade: duas aplicações de telefonia IP usam RTP, então elas podem ser capazes de trabalhar juntas • • • identificação do tipo de identificação carga carga numeração da seqüência numeração de pacotes de marcas de tempo 33 RTP roda em cima do UDP RTP As bibliotecas do RTP fornecem uma interface de camada de transporte que extendem o UDP: • número de portas, endereços IP • verificação de erros dentro dos segmentos • identificação do tipo de carga • numeração da seqüência de pacotes • marcas de tempo Aplicação camada de transporte Enlace Física 34 RTP: Exemplo RTP: Considere enviar 64 kbps de Considere voz codificada em PCM sobre RTP. A aplicação reúne dados aplicação codificados em blocos, por exemplo, a cada 20 ms = 160 bytes por bloco. O bloco de aúdio, junto com o bloco cabeçalho RTP forma o pacote RTP, que é encapsulado num segmento UDP. O cabeçalho RTP indica cabeçalho o tipo de codificação de aúdio 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. tempo. 35 RTP e QoS RTP RTP não fornece nenhum RTP mecanismo para assegurar a entrega dos pacotes e dados no tempo correto, nem fornece outras garantias de qualidade de serviço. O encapsulamento RTP é visto encapsulamento apenas nos sistemas finais -- ele não é percebido pelos roteadores intermediários. intermediários. • A fim de fornecer QoS fim para uma aplicação, a Internet deve prover um mecanismo, tal como o RSVP, para que a aplicação possa reservar recursos da rede. recursos Roteadores fornecem o serviço Roteadores de melhor-esforço tradicional da Internet. Eles não fazem nenhum esforço especial para assegurar que os pacotes RTP cheguem no destino no momento correto. destino 36 Fluxos RTP Fluxos RTP permite atribuir a cada RTP fonte (por exemplo, uma câmara ou um microfone) o seu próprio fluxo de pacotes RTP independente. • Por exemplo, para uma Por videoconferência entre dois participantes, quatro fluxos RTP poderiam ser abertos: dois fluxos para transmitir o aúdio (um em cada direção) e dois fluxos para o vídeo (novamente, um em cada direção). Contudo, algumas técnicas de Contudo, codificação populares, incluindo MPEG1 e MPEG2 -reúnem o aúdio e o vídeo num único fluxo durante o processo de codificação. Quando o aúdio e o vídeo são reunidos pelo codificador, então apenas um fluxo RTP é gerado em cada direção. Para uma sessão multicast do Para tipo muitos-para-muitos, todos os transmissores e receptores tipicamente enviam seus fluxos RTP na mesma árvore de multicast com o mesmo endereço de multicast. endereço 37 Cabeçalho RTP Tipo de Carga Número de Seqüência Marca de tempo Identificador sincronismo fonte campos de miscelânias Cabeçalho RTP Tipo de Carga (7 bits): Usado para indicar o tipo de codificação que está sendo usado no momento. Se um transmissor muda o tipo de codificação durante uma conferência, o transmissor informa o receptor através deste campo de tipo de carga. •Tipo de carga 0: PCM mu­law, 64 Kbps •Tipo de carga 3, GSM, 13 Kbps •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 video Número de Seqüência (16 bits): O número de seqüê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. 38 Cabeçalho RTP (2) Campo de marca de tempod (32 bytes). Reflete o instante de amostragem do primeiro byte no pacote de dados RTP. O receptor pode usar esta marca de tempo para remover o jitter do pacote e para obter o sincronismo de reprodução. A marca de tempo é derivada do relógio de amostragem no transmissor. • Como exemplo, para aúdio o relógio de marca de tempo incrementa de um a cada Como intervalo de amostragem (por exemplo, cada 125 us para uma taxa de amostagem de 8 KHz); se a aplicação de aúdio geram blocos contendo 160 amostras codificadas, então a marca de tempo do RTP aumenta de 160 para cada pacote RTP quando a fonte está ativa. O relógio de marca de tempo continua a aumentar numa taxa constante mesmo quando a fonte está inativa. taxa campo SSRC (identificador de sincronismo fonte) (32 bits). Identifica a fonte do fluxo RTP. Cada fluxo numa sessão RTP deve ter um SSRC distinto. fonte 39 Real-Time Control Protocol (RTCP) (RTCP) Trabalha em conjunto com o Trabalha RTP. Cada participante de uma Cada 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 que são úteis para a aplicação. As estatísticas incluem o As número de pacotes enviados, número de pacotes perdidos, variação de atraso entre chegadas, etc. Esta informação de Esta realimentação para a aplicação pode ser usada para controle do desempenho e para fins de diagnóstico. • O transmissor pode mudar transmissor suas transmissões com base nestas informações de realimentação. de 40 RTCP - Continuação RTCP ­ Para uma sessão RTP existe tipicamente um único endereço de multicast todos os pacotes RTP e RTCP pertencentes à sessão usam este endereço de multicast. ­ Os pacotes RTP e RTCP são 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. 41 Pacotes RTCP Pacotes 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. entre Pacotes de relatório do Pacotes transmissor: transmissor: SSRC do fluxo RTP, o tempo SSRC corrente, o número de pacotes enviados e o número de bytes enviados. Pacotes de descrição da fonte: fonte: endereço de e-mail do endereço transmissor, o nome do transmissor, o SSRC do fluxo RTP associado. Esses pacotes fornecem um mapeamento entre o SSRC e o nome do usuário ou do host. usuário 42 Sincronização de Fluxos Sincronização RTCP pode ser usado para RTCP sincronizar diferentes fluxos de mídia numa sessão RTP. Considere uma aplicação de Considere videoconferência para a qual cada transmissor gera um fluxo RTP para aúdio e um para vídeo. As marcas de tempo nestes As pacotes são vinculadas aos relógios de amostragem de vídeo e de aúdio, mas não são vinculadas a um relógio de tempo real (isto é, a um relógio de parede). Cada pacote relatório-do- transmissor RTCP contém transmissor para o último pacote gerado no fluxo RTP associado, a marca de tempo do pacote RTP e o instante de tempo real no qual o pacote foi criado. Desta forma o pacote RTCP relatório-do-transmissor associa o relógio de amostragem com o relógio de tempo real. Receptores podem uar esta Receptores associação para sincronizar a reprodução de aúdio e de vídeo. 43 Controle de Banda do RTCP Controle O RTCP procura limitar seu RTCP tráfego a 5% da banda passante da sessão. Por exemplo, suponha que Por existe um transmissor enviando vídeo com uma taxa de 2 Mbps. Então o RTCP procura limitar seu tráfego a 100 Kbps. O protocolo dá 75% desta protocolo taxa, ou 75 kbps, para os receptores; ele dá os 25% restantes da taxa, isto é, 25 kbps, para o transmissor. Os 75 kbps dedicados aos Os receptores são divididos de forma igual entre todos os receptores. Assim, se existem R receptores, cada receptor consegue enviar tráfego RTCP a uma taxa de 75/R kbps e o transmissor envia tráfego RTCP a uma taxa de 25 kbps. Um participante (um transmissor Um ou receptor) determina o período de transmissão de pacotes RTCP dinamicamente calculando o tamanho médio do pacote (durante toda a sessão) e dividindo o tamanho médio do pacote RTCP pela sua taxa alocada. 44 H.323 H.323 Visão geral Terminal H.323 Codificação H. 323 Gatekeeper Gateway Codecs de Aúdio Codecs de Vídeo 45 Visão Geral (1) Visão Base para conferência de aúdio Base e de vídeo através de redes IP. de Objetiva comunicação de Objetiva tempo real (ao invés de por demanda) demanda) Recomendação quarda-chuva Recomendação do ITU-T. do Escopo largo: • equipamentos isolados (ex., equipamentos telefones Web) telefones • aplicações em PCs • conferências ponto-a-ponto conferências e multiponto multiponto A especificação H.323 inclui: • • • • • • Como os equipamentos terminais Como fazem e recebem chamadas. fazem Como os equipamentos terminais Como negociam codificações comuns de aúdio e vídeo. aúdio Como os blocos de aúdio e vídeo Como são encapsulados e enviados para a rede. rede. Como o aúdio e o vídeo são Como sincronizados entre si. sincronizados Como os equipamentos terminais Como se comunicam com seus respectivos gatekeepers. respectivos Como os telefones IP e os Como telefones PSTN/ISDN convencionais se comunicam. convencionais 46 Visão Geral (2) Visão Internet Chamadas telefônicas Chamadas de vídeo Conferências Telefone "Ethernet" Quadros brancos MS Netmeeting NetSpeak WebPhone Todos os terminais suportando H.323 1: Introdução 47 Visão Geral (3) Visão Gatekeeper Internet PSTN Gateway H.323 SS7, Inband 1: Introdução 48 Terminais H.323 Devem Suportar: Suportar: G.711 - padrão do ITU Q.931 - Um protocolo de para compressão de voz para RTP - protocolo para RTP encapsular blocos de dados de mídia em pacotes pacotes H.245 - Protocolo de controle “fora-da-banda” para controlar a mídia entre os terminais H.323. entre sinalização para estabelecer e encerrar chamadas. chamadas. RAS (Registration/Admission/ (Registration/Admission/ Status) protocolo de Status) canal - Protocolo para comunicação com o gatekeeper (se um gatekeeper está presente) gatekeeper 49 Terminal H.323 Terminal 50 Codificação H.323 Codificação Aúdio: Terminais H.323 devem Terminais suportar o padrão G.711 para compressão de voz e transmissão a 56/64 kbps. transmissão H.323 está considerando H.323 exigir a codificação G.723 = G.723.1, que opera a 5.3/6.3 kbps. Opcionais: G.722, G.728, Opcionais: G.729 G.729 Vídeo Capacidade de vídeo para um Capacidade terminal H.323 são opcionais. terminal Qualquer terminal H.323 com Qualquer capacidade de vídeo deve suportar o formato QCIF H.261 (176x144 pixels). H.261 O suporte a outros esquemas suporte da recomendação H.261 é opcional: CIF, 4CIF e 16CIF. opcional: H.261 é usado com canais de H.261 comunicação cuja taxa de transmissão é múltipla de 64 kbps. kbps. 51 Gerando fluxo de pacotes de aúdio no H.323 aúdio Fonte de Aúdio Codificação: ex., G.711 ou G.723.1 encapsulamento de pacote RTP porta UDP Internet ou Gatekeeper 52 Canal de Controle H.245 Canal O fluxo H.323 pode fluxo conter múltiplos canais para diferentes tipos de mídia. mídia. Um canal de controle Um H.245 por sessão H.323. H.245 O canal de controle canal H.245 é um canal confiável (TCP) que transporta mensagens de controle. controle. Principais tarefas: Abrir e fechar canais de Abrir mídia. mídia. • Troca de informações de Troca capacidades: antes de enviar dados os terminais devem concordar sobre o algoritmo de codificação algoritmo Nota: H.245 para conferência Nota: multimedia é análogo ao RTSP para mídia contínua armazenada armazenada • 53 Fluxos de Informação Canal de Controle de Chamada Canal de sinalização de Chamada Terminal H.323 Canal de Controle de Mídia Terminal H.323 Canal RAS H.323 Gatekeeper Canal de Mídia 1 Canal de Mídia 2 TCP UDP 1: Introdução 54 terminais H.323 Gatekeeper 1/2 Gatekeeper Internet Rotea dor RAS Gatekeeper LAN = “Zona” • O gatekeeper é opcional. Pode oferecer aos terminais: • translação de endereços para endereços IP • gerenciamento de banda-passante: pode limitar o total de banda-passante consumida pelas conferências de tempo real • Opcionalmente, as chamadas H.323 podem ser roteadas através do gatekeeper. Conveniente para bilhetagem. 55 • Protocolo RAS (sobre TCP) para comunicação entre terminal-gatekeeper. Gatekeeper 2/2 Gatekeeper Terminal H.323 deve se Terminal registrar com o gatekeeper na sua zona. sua • Quando a aplicação H.323 Quando é chamada no terminal, o terminal usa o RAS para enviar seu endereço IP e apelido (alias) fornecido pelo usuário ao gatekeeper. gatekeeper. Se o gatekeeper está presente Se numa zona, cada terminal da zona deve contacta-lo para pedir permissão para realizar uma chamada. uma Uma vez que ele obtém a Uma permissão, o terminal pode enviar ao gatekeeper um endereço de eao mail, um nome de referência mail, (alias) ou uma extensão de telefone. O gatekeeper translada o nome de referência num endereço IP. IP. • Se necessário, o gatekeeper Se poderá consultar outros gatekeepers em outras zonas para resolver um endereço IP. O processo varia entre os fornecedores. fornecedores. 56 Gateway Gateway PSTN Terminais H.323 Gateway Router Internet RAS Gatekeeper LAN = “Zona” • Ponte entre a zona IP e as redes PSTN (ou ISDN). • Terminais se comunicam com gateways usando H.245 e Q.931 57 Codecs de Aúdio Codecs Codec Bandwidth [kbit/s] MOS Complexidade [MIPS] Packetização (tamanho) [ms] G.711 64 4.5 - - G.721 (ADPCM) 32 4.4 6.5 - GSM 13 3.8 4 20 G.729 8 4.1 15 10 G.723 6.4/5.3 4.0 20 30 MOS (Mean Opinion Score) 5 4 3 2 1 1: Introdução Qualidade comercial interlocutor reconhecível intelegível problemas de inteleg. MOS (Mean Opinion Score) 58 Codecs de Vídeo Codecs • H.261 (p x 64 kbit/s) – Vídeo sobre ISDN – Resoluções : QCIF, CIF • H.263 (< 64 kbit/s) – Comunicação de baixa taxa de bits – Resoluções: SQCIF, QCIF, CIF,4CIF, 16CIF SQCIF QCIF CIF 4CIF 16CIF (128 x 96) (176 x 144) (352 x 288) (704 x 576) (1408 x 1152) 1: Introdução 59 Oferecendo QOS em Redes IP Oferecendo Os grupos do IETF estão trabalhando em propostas para fornecer Os melhor controle de QOS em redes IP, isto é, para superar o serviço de melhor esforço e prover alguma garantia de QOS melhor Trabalho em Progresso inclui RSVP, Serviços Diferenciados, e Trabalho Serviços Integrados Serviços Modelo simples para Modelo estudos de compartilhamento e de congestão: de Enlace de 1,5 Mbps Fila de interface de saída de R1 60 Princípios para Garantias de QOS QOS Considere uma aplicação de telefonia a 1Mbps e uma aplicação FTP Considere compartilhando um enlace de 1.5 Mbps. • • rajadas de tráfego FTP podem congestionar o roteador e fazer com que pacotes rajadas de aúdio sejam perdidos. deseja-se dar prioridade ao aúdio sobre o FTP PRINCÍPIO 1: Marcação dos pacotes é necessária para o roteador PRINCÍPIO distingüir entre diferentes classes; assim como novas regras de roteamento para tratar os pacotes de forma diferenciada roteamento 61 Princípios para Garantia de QOS (mais) QOS Aplicações mal-comportadas (aúdio envia pacotes numa taxa superior a Aplicações 1Mbps anteriormente assumida); PRINCÍPIO 2: fornecer proteção (isolação) para uma classe em relação PRINCÍPIO às demais às Exige mecanismos de policiamento para assegurar que as fontes aderem aos Exige seus requisitos de banda passante. Marcação e policiamento precisam ser feitos nas bordas da rede: feitos marcação de pacotes e policiamento 62 Princípios para Garantia de QOS (mais) QOS Alternativa à marcação e policiamento: alocar uma porção da taxa Alternativa de transmissão a cada fluxo de aplicação; pode produzir um uso ineficiente da banda se um dos fluxos não usa toda a sua alocação ineficiente PRINCÍPIO 3: Embora fornecendo isolação, é necessário usar PRINCÍPIO os recursos da forma mais eficiente possível os marcação de pacotes enlace lógico de 1 Mbps enlace lógico de 0,5 Mbps 63 Princípios para Garantia de QOS (mais) QOS Não deve ser aceito tráfego além da capacidade do enlace Não PRINCÍPIO 4: Necessita de um Processo de Admissão de PRINCÍPIO Chamada; a aplicação declara a necessidade do seu fluxo, a rede pode bloquear a chamada se a necessidade não pode ser satisfeita 64 Admissão de chamadas alta eficiência de utilização Isolação: programação e policiamento classificação de pacotes Resumo QoS para aplicações em redes 65 Mecanismos de Escalonamento e Policiamento Policiamento Escalonamento: a escolha do próximo pacote para Escalonamento: transmissão num enlace pode ser feita de acordo com várias regras; várias FIFO: em ordem de chegada na fila; pacotes que chegam FIFO: para um buffer cheio são ou descartados, ou uma política de descarte é usada para determinar qual pacote descartar entre aquele que chega e aqueles que já estão na fila na chegadas partidas fila (área de espera) enlace (servidor) 66 Disciplinas de Escalonamento Disciplinas Filas com Prioridade: classes tem diferentes prioridades; classes Filas podem depender de marcação explícita ou de outras informações no cabeçalho, tais como, o endereço de origem ou de destino, número de portas, etc. portas, Transmite um pacote da prioridade mais alta que esteja presente na fila Versão preemptive e não-preemptive Versão fila de alta prioridade (área de espera) chegadas tempo pacotes no servidor chegadas classificação fila de baixa prioridade (área de espera) partidas enlace (servidor) tempo partidas 67 Disciplinas de Escalonamento (mais) (mais) Round Robin: percorre as classes presentes na fila, Round servindo um pacote de cada classe que tem pelo menos um representante na fila um chegadas tempo pacote em serviço tempo partidas 68 Disciplinas de Escalonamento (mais) (mais) Weighted Fair Queuing (fila justa ponderada): é Weighted uma forma generalizada de Round Robin na qual se tenta prover a cada classe com um volume diferenciado de serviço num dado período de tempo período classificador de chegadas enlace partidas 69 Mecanismos de Policiamento Mecanismos Três critérios: Três • (Longo prazo) Taxa Média (100 pacotes por segundo ou 6000 (Longo Taxa pacotes por minuto??), o aspecto crucial é o tamanho do intervalo intervalo • Taxa de Pico: ex. 6000 pacotes por minuto na média e 1500 ex. pacotes por segundo de pico pacotes • (Max.) Tamanho da Rajada: Máximo número de pacotes Máximo enviado consecutivamente, isto é, num curto período de tempo enviado 70 Mecanismos de Policiamento Mecanismos Mecanismo Token Bucket (balde de Mecanismo permissões), oferece um meio de limitar a entrada dentro de um tamanho de rajada e uma taxa média especificados. r tokens/seg balde pode conter até b tokens pacotes espera token para a rede 71 Mecanismos de Policiamento Mecanismos Balde pode armazenar b tokens; tokens são gerados numa Balde taxa de r token/seg exceto se o balde está cheio. token/seg Num intervalo de tempo t, o número de pacotes que são Num número admitidos é menor ou igual a (r t + b). admitidos Token bucket e Token WFQ podem ser combinados para prover um limite prover superior ao atraso. 72 Serviços Integrados Serviços Uma arquitetura para prover garantias de QOS em redes IP para Uma sessões individuais de aplicações sessões Confia em reserva de recursos, e os roteadores necessitam manter Confia informação de estado ( Circuito Virtual??), mantendo um registro dos recursos alocados e respondendo a novos pedidos de conexões de acordo com o estado estado da rede 73 Admissão de Chamadas Admissão A sessão deve primeiramente declarar seus requisitos de sessão e caracterizar o tráfego que ela enviará através da rede caracterizar R-spec: define a QOS sendo solicitada T-spec: define as características de tráfego É necessário um protocolo de sinalização para necessário transportar a R-spec e a T-spec aos roteadores onde a reserva deve ser pedida; RSVP é o melhor candidato para este papel de protocolo de sinalização para 74 Admissão de Chamadas Admissão Admissão de Chamadas: roteadores aceitarão as Admissão chamadas com base nas suas R-spec e T-spec e com base nos recursos correntemente alocados nos roteadores para outras chamadas. nos 1. Pedido: especifica ­ tráfego (Tspec) ­ garantia (Rspec) 3. Resposta: o pedido pode ou não ser atendido 2. Elemento considera ­ recursos não reservados ­ recursos solicitados 75 Serviços Integrados: Classes Serviços QOS Garantido: esta classe é oferecida com esta controles estritos dos atrasos de filas nos roteadores; projetada para aplicações de tempo real críticas que são muito sensíveis ao atraso médio fim-a-fim e a sua variância médio Carga Controlada: esta classe fornece um QOS esta que aproxima bem aquele fornecido por um roteador não carregado; projetada para as aplicações IP de hoje que se comportam bem quando a rede não está carregada quando 76 Serviços Diferenciados Serviços Planejado para resolver as seguintes dificuldades que se Planejado encontram nos esquemas com Intserv e RSVP; encontram Escalabilidade: manter informações dede estado nos manter roteadores em redes de alta velocidade é difícil devido ao grande número de fluxos simultâneos Modelos de Serviços Flexíveiss: Intserv tem apenas Intserv duas classes, deseja-se prover mais classes de serviços com diferentes méritos qualitativos; deseja-se manter uma distinção “relativa” entre as classes (Platina, Ouro, Prata, …) Prata, Sinalização mais Simples: (que o RSVP) muitas (que aplicações e usuários podem desejar apenas especificar um serviço de forma mais qualitativa um 77 Serviços Diferenciados Serviços Abordagem: Abordagem: • • Apenas funções simples no interior da rede, e Apenas funções relativamente complexas nos roteadores de borda (ou nos hosts) Não define classes de serviço, ao invés disso fornece Não componentes funcionais com os quais as classes de serviço podem ser construídas serviço 78 Funções de Borda Funções Num computador com funções de DS (serviços Num diferenciados) ou no primeiro roteador com funções de DS DS Classificação: o nó de borda marca os pacotes de acordo nó com regras de classificação a serem especificadas (manualmente pelo administrador ou por algum roteador de borda: classificação roteador central: protocolo de sinalização) protocolo condicionamento envio Condicionamento de Tráfego: o nó de borda pode nó atrasar e então enviar ou pode descartar atrasar 79 Funções do Núcleo Central Funções Envio: de acordo com “Per-Hop-Behavior” de (comportamento por salto) ou PHB especificado para aquela classe em particular; este PHB baseia-se estritiamente na marcação de classe (nenhum outro campo do cabeçalho pode ser usado para influenciar o PHB) usado GRANDE VANTAGEM: Não há necessidade de manter informação de Não estado nos roteadores! estado 80 Classificação e Condicionamento Condicionamento Pacote é marcado no campo Tipo de Serviço (TOS) no Pacote IPv4, e Classe de Trafégo no IPv6 IPv4, 6 bits são usados para o Ponto de Código de Serviços bits Diferenciados (DSCP) - (Differentiated Service Code Point) e determinam o PHB que o pacote receberá Point) 2 bits são atuamente reservados 81 Classificação e Condicionamento Condicionamento Pode ser desejável limitar a taxa de injeção de Pode tráfego em alguma classe; usuário declara o perfil de tráfego (ex., taxa e tamanho das rajadas); tráfego é medido e ajustado se não estiver de acrodo commedidor perfil o seu pacotes classificador marcador ajuste corte enviar descartar 82 Envio (PHB) Envio PHB resulta num comportamento observacio-nalmente PHB diferente (mensurável) para o desempenho do envio de pacotes pacotes PHB não especifica quais mecanismos usar para PHB assegurar um comportamento do desempenho conforme o exigido pelo PHB Exemplos: Exemplos: • • Classe A obtém x% da taxa de transmissão do enlace de saída Classe considerando intervalos de tempo de uma certa extensão considerando pacotes de classe A partem primeiro, antes dos pacotes de classe pacotes B 83 Envio (PHB) Envio PHBs que estão sendo estudados: • • Envio Expresso: taxa de partida dos pacotes de uma taxa dada classe iguala ou excede uma taxa especificada (enlace lógico com uma taxa mínima garantida) (enlace Envio Assegurado: 4 classes, cada uma garantida classes, com um mínimo de taxa de transmissão e armazenamento; cada uma com três particionamentos para preferência de descarte dos pacotes para 84 Problemas com os Serviços Diferenciados Diferenciados AF e EF não estão padronizados ainda… AF pesquisa em andamento pesquisa “Linhas dedicadas virtuais” e serviços Linhas “Olímpicos” estão sendo discutidos Impacto de atravessar múltiplos sistemas Impacto autônomos e roteadores que não estão preparados para operar com as funções de serviços diferenciados serviços 85 ...
View Full Document

Ask a homework question - tutors are online