Aplicações e Reserva de Recursos na Internet Sistemas Telemáticos LESI Grupo de Comunicações por Computador 2000 Objectivos Abordar os requisitos das novas aplicações no âmbito das redes de computadores. Verificar a adequabilidade da filosofia best-effort a esses requisitos (alguns deles motivados pelas aplicações multimedia de tempo-real) Técnicas usadas pelas aplicações T.R sobre cenários besteffort. Novas soluções protocolares que garantam Qualidade de Serviço (QoS). Sistemas Telemáticos - Aplicações Adaptativas/Rígidas e Reservas de Recursos na Internet Classificação de Aplicações Aplicações Elásticas Aplicações de Tempo Real Intolerantes Tolerantes Sistemas Telemáticos - Aplicações Adaptativas/Rígidas e Reservas de Recursos na Internet Classificação das Aplicações Aplicações Elásticas ftp, e-mail, http, .... Aplicações que não são extremamente sensíveis a factores como: Atrasos, variação dos atrasos, variações de largura de banda, perdas, etc... apesar desses mesmos factores afectarem o seu desempenho Preocupação sob o ponto de vista de integridade do dados Protocolos de transporte tradicionais tais como: TCP, UDP, ... Sistemas Telemáticos - Aplicações Adaptativas/Rígidas e Reservas de Recursos na Internet Classif. das Aplicações (cont.) Aplicações de Tempo Real (audio e vídeo em tempo real, vídeo-conferência...) Requisitos: garantia de isocronismo dos dados gerados, sensibilidade a atrasos, sensibilidade a perda de pacotes, necessidades de sincronização, largura de banda etc... Duas classes de aplicações de T.R: Aplicações Rígidas/Intolerantes Aplicações Adaptativas/Tolerantes Sistemas Telemáticos - Aplicações Adaptativas/Rígidas e Reservas de Recursos na Internet Aplicações de T.R. Aplicações Rígidas Requerem suprtes que garantam limites para os diversos parâmetros que as condicionam (largura de banda, perdas, atrasos de pacotes...) Aplicações Tolerantes/Adaptativas Assumem um determinado grau de inadequação do meio não se baseiam em limites fixos para os parâmetros de funcionamento admitem um grau de tolerância às condições de operação observação vs adaptação Sistemas Telemáticos - Aplicações Adaptativas/Rígidas e Reservas de Recursos na Internet Aplicações de T.R. (cont.) Suportes Protocolares • Adequação aos objectivos das aplicações Aplicações Adaptativas vs Intolerantes • Protocolos usualmente utilizados • TCP - fiabilidade à custa de mecanismos nem sempre apropriados... • UDP - carece de alguns mecanismos “custo” indispensáveis às aplicações de T.R. T.R estrito T.R tolerantes desempenho • Natureza multi-utilizador de muitas das aplicações multimédia com requisitos de T.R paradigma de comunicação multi-ponto (multicasting) • Desenvolvimento de aplicações com requisitos de T.R. Soluções propriétarias. (aplicação + transporte - ex. aplicações Vchat, Vosaic, CuSeeme, etc...) Sistemas Telemáticos - Aplicações Adaptativas/Rígidas e Reservas de Recursos na Internet Suporte de Aplicações Multimédia e de Tempo Real Tempo Real sobre redes best-effort RTP (Real Time Protocol) Reserva de Recursos RSVP (Resource Reservation Protocol) Serviços Diferenciados Sistemas Telemáticos - Aplicações Adaptativas/Rígidas e Reservas de Recursos na Internet Protocolos Streaming • Adequados para aplicações geradoras de tráfego T.R. sobre cenários best-effort (IP) • Operação sobre cenários sem garantia de alocação de recursos Conceitos: • Tolerância a perdas de pacotes • Controlo de atrasos (jitter vs buffers de amortecimento) • Adaptação dinâmica dos serviços (mediante mecanismos de sinalização do estado de operação dos canais de dados) Sistemas Telemáticos - Aplicações Adaptativas/Rígidas e Reservas de Recursos na Internet Protocolo Streamming (cont) Sistemas Telemáticos - Aplicações Adaptativas/Rígidas e Reservas de Recursos na Internet Protocolo Streamming (cont.) Sistemas Telemáticos - Aplicações Adaptativas/Rígidas e Reservas de Recursos na Internet Protocolo RTP Protocolo RTP (Real Time Protocol) (RFC 1889) • Implementado como base às aplicações de T.R (adaptativas) • Fornece mecanismos de transporte fim-a-fim a dados gerados por aplic. T.R • Apto a ser aplicado em cenários unicast ou multicast • Canal de dados + canal de controlo (RTCP - Real Time Control Protocol) • RTCP - mecanismos de notificação do estado de operação do canal de dados (perdas, atrasos, sincronização etc ...) Sistemas Telemáticos - Aplicações Adaptativas/Rígidas e Reservas de Recursos na Internet Protocolo RTP (cont.) • Camada Protocolar com o RTP (best-effort) • Fornecer um mecanismo de transmissão a dados T.R. • Fornecer mecanismos para controlo dos dados por parte da aplicação Sistemas Telemáticos - Aplicações Adaptativas/Rígidas e Reservas de Recursos na Internet Protocolo RTP (cont.) • Sessão RTP = canal dados + canal de controlo • Emissão de vários media- cada um é transmitido em sessões independentes • Endereço de sessão = endereço de rede (unicast ou multicast) + porta protocolar • Canal RTCP = porta protocolar do canal RTP+1 Sistemas Telemáticos - Aplicações Adaptativas/Rígidas e Reservas de Recursos na Internet Protocolo RTP (cont.) • Cenários multicast: • Canal RTP - dados das aplicações • Canal RTCP - dados de controlo • informação de alto nível •estatísticas sobre o desempenho dos receptores: perdas de pacotes , atrasos, jitter, inf. sincronização, etc... Sistemas Telemáticos - Aplicações Adaptativas/Rígidas e Reservas de Recursos na Internet RTP sobre Multicasting • Protocolos de encaminhamento (diferentes filosofias) • Protocolos de gestão de grupos multicast (IGMP) • Túneis IP (interoperacionalidade entre encaminhadores) • Propagação de sessões multicast (parâmetro TTL) Sistemas Telemáticos - Aplicações Adaptativas/Rígidas e Reservas de Recursos na Internet Formato Pacote RTP Sistemas Telemáticos - Aplicações Adaptativas/Rígidas e Reservas de Recursos na Internet Multiplexagem das sessões RTP Cada média transportado numa sessão independente Estratégia de multiplexagem: endereço de transporte (IP+Porta) Transitam pacotes dum único tipo (payload type) Gerados por uma ou mais entidades(SSRC) Se as entidades trocarem entre si outro tipo de dados abre-se numa nova sessão RTP, independente da primeira Sistemas Telemáticos - Aplicações Adaptativas/Rígidas e Reservas de Recursos na Internet Real Time Control Protocol Protocolo de controlo associado ao RTP Usado para trocar mensagens de controlo entre os participantes Identificação de fontes: nome e email dos participantes Mensagens do estado da sessão Geradas por todos os participantes Relatar valores de diversos parâmetros: perdas, atrasos, estados de sincronização • 2 tipos: sender report (SR) e receiver report (RR) Sistemas Telemáticos - Aplicações Adaptativas/Rígidas e Reservas de Recursos na Internet Mecanismos de Controlo Variação nos atrasos dos pacotes - Jitter • Influência no desempenho das aplicações (isocronismo). Cálculo do Jitter •Cálculo nas estações 25 20 Jitter Estimado 15 10 5 • Necessidade de buffers de Pacotes Recebidos amortecimento. Sistemas Telemáticos - Aplicações Adaptativas/Rígidas e Reservas de Recursos na Internet 66 61 56 51 46 41 36 31 26 21 16 11 0 1 dst = Diffdest(x,x-1) + Difforg(x,x-1) 30 6 jitterx = jitter(x-1) + fact*(dst - jitter(x-1)), 35 Jitter (ms) receptoras: 40 Mecanismos de Controlo Buffers de Amortecimento • Amortecer o efeito da variação dos atrasos (assegurar isocronismo) • Reordenação de pacotes • Análise de n amostras e cálculo de um valor de amortecimento a ser adoptado. D = u(1) - u(n) com u(k) - késsimo maior valor dos atrasos das amostras. •Antes de começar a reproduzir espera-se um determinado tempo. n EMISSOR n-1 t1 n-2 t2 n-3 t3 D RECEPTOR n n-1 tf Sistemas Telemáticos - Aplicações Adaptativas/Rígidas e Reservas de Recursos na Internet n-2 tf n-3 tf Mecanismos de Controlo Sistemas Telemáticos - Aplicações Adaptativas/Rígidas e Reservas de Recursos na Internet Mecanismos de Controlo Estratégias de Reprodução (1) Preservação Temporal Tentar reproduzir a informação que obedeça ao limite temporal imposto (2) (3) (4) D (5) (6) (7) D (1) (1) (2) (2) (3) (3) (8) (9) (4) (5) (6) Preservação de Informação Tentar reproduzir toda a informação recebida independentemente. De estar atrasada ou não (6) Recepção dos pacotes (7) (8) (8) (9) (9) Preservação da Informação Preservação Temporal •Probabilidades diferentes de cortes nos media Sistemas Telemáticos - Aplicações Adaptativas/Rígidas e Reservas de Recursos na Internet Estratégias de Reprodução (cont.) Preservação de Informação Quebra no pacote i se: u(i) > (u(0) + D) e u(i) > u(1), u(2)..u(i- 1) Cálculo da probabilidade de quebra baseado em funções de distribuição de probabilidades dos atrasos e função de distribuição de tempos de amortecimento. Preservação Temporal Quebra no pacote i se: u(i) > u(0) + D idem - maior número de quebras.... mas com outras vantagens Sistemas Telemáticos - Aplicações Adaptativas/Rígidas e Reservas de Recursos na Internet Mecanismos de Controlo Perda de Pacotes • Afectam desempenho das aplicações. • Situações de saturação da infra-estrutura. • Cada receptor mantém estatísticas das perdas verificadas informa periodicamente as entidades emissoras. filtroperdas=fact * (filtroperdas)+ (1-fact)*percperdas com (0<fact<1) • Percperdas presentes nos pacotes RTCP • Definição de limites para o filtro de análise de perda de pacotes. Sistemas Telemáticos - Aplicações Adaptativas/Rígidas e Reservas de Recursos na Internet Perdas de Pacotes (cont.) • Indicador para a aplicação diminuir o seu débito (alteração de codificações, diminuição do frame-rate, etc...) • Receptor define limites inferiores/superiores para as percentagens admissíveis de perda de pacotes • (> limite_superior) dimin. débito ; (< limite_inferior) aum. débito. Adaptação Dinâmica Débito gerado Débito gerado pela aplicação (kbytes/s) 60 Perdas/pacotes(%) Estatistica/perdas(%) 50 40 30 20 15% 10% 10 Limites percentuais 0 20 40 60 80 100 120 140 160 180 200 tem po(s) Sistemas Telemáticos - Aplicações Adaptativas/Rígidas e Reservas de Recursos na Internet Perdas de Pacotes (cont.) Perda de Pacotes - Ambientes multicast (n participantes) • Vários receptores diferentes situações de operação. • Decisão a tomar pelos emissores? • Atender ao pior caso? • Ponderação dos estados dos intervenientes (classificação das entidades + algoritmo de decisão). • Emissão simultânea de um mesmo medium codificado de diferentes maneiras: • Cada codificação numa sessão multicast independente • Cada receptor escolhe a mais apropriada • Vantagens/inconvenientes... Sistemas Telemáticos - Aplicações Adaptativas/Rígidas e Reservas de Recursos na Internet Perdas de Pacotes (cont.) Técnica de ponderação de estados dos receptores • Cada receptor é classificado e depois é tomada uma decisão de débito de informação. %PERDAS 100 % %Perdas anunciada Congestionada lim_sup filtroperdas lim_inf 0% Normal Sem perdas Débito - Diminuição, aumento,continuação Se ((Nentcong/Ntot) > %entcong) Se (Nentnorm/Ntot) > %entcong) Senão Sistemas Telemáticos - Aplicações Adaptativas/Rígidas e Reservas de Recursos na Internet Perdas de Pacotes (cont.) C A • Cenário multicast com 3 entidades (A,B,C). C relata as perdas; a partir de um dado instante as perdas de C ultrapassam os limites admissíveis pelos emissores A e B; A e B diminuem os débitos; as %ens perdas em C diminuem. RTP sobre multicast B Perdas de pacotes observadas por C Perdas de pacotes observadas por C nº acumulado de pacotes perdidos 25 20 15 Entidade A d(t) 10 5 0 0 3 6 9 tem po(seg) 12 15 18 nº acumulado de pacotes perdidos 20 15 Entidade B 10 d(t) 5 0 0 3 6 9 12 15 18 tem po(seg) Sistemas Telemáticos - Aplicações Adaptativas/Rígidas e Reservas de Recursos na Internet Mecanismos de Controlo Módulo Sincronização • Emissores enviam + do que 1 medium • Transmissão em sessões distintas (assumido pelo RTP) • Afectados por condições variáveis (perdas, atrasos ....) • Processamento local das estações • Necessidade de sincronização periódica dos dados pelas entidades receptoras. • fsincroniza(Ses1,Ses2) : nºpacotes de desfazamento entre as sessões como medida dessa dessincronização (+Ses1 atrasada, -Ses2 atrasada) Sistemas Telemáticos - Aplicações Adaptativas/Rígidas e Reservas de Recursos na Internet Sincronização (cont.) •Como é realizada a sincronização ? •Através da informação presente nos pacotes RTCP de cada uma das sessões: “no instante x do emissor o último pacote do canal A estava etiquetado com t1, no instante y do emissor o último pacote do canal B estava etiquetado com t2” EMISSOR buffering Canal A RECEPTOR Canal B pontos de sincronização eliminação Sistemas Telemáticos - Aplicações Adaptativas/Rígidas e Reservas de Recursos na Internet Sincronização (cont.) 8 6 4 2 0 -2 -4 -6 -8 -10 -12 4 • Mesmo cenário multicast (entidades A, B C) 3 2 1 0 -1 -2 • Problemas de sincronização aumentam com a escala da infra-estrutura utilizada 40 0 2 4 6 8 10 12 35 0 2 4 30 Sincronização 20 2 1 10 2 51 Cenário1 0 -2 8 10 0,6po(seg) 1,2 tem 0 1,8 0 0 9 11 7 11 25 2,4 0 0 3 0 1 0 12 0 0 2 4 10 10 6 8 15 tem po(seg) 10 11 10 18 10 12 10 12 10 Sincronização 25 8 6 4 2 0 -2 -4 -6 -8 -10 1,9-12 5,1 5 4 0 3 20 2 1 15 Cenário3 0 10 -1 -2 5 0 1,7 42 3,5 0 4 6 60 0 3,4 83 3 10 2 5 6 6 12 4 4,2 59 6 8 4 12 4 0 0 Cenário2 20 -2 12 nº pacotes 0 0 6 Sincronização 0 0 0 0 30 Cenário 010 Cenário -1 2 -1 Cenário1 0 0 nº pacotes nº pacotes 3 4 10 tempo(seg) Cenário1514 Cenário 23 2 8 25 4 0 6 15 18 tem po(seg) Sincronização Sistemas Telemáticos - Aplicações Adaptativas/Rígidas e Reservas de Recursos na Internet 11 11 RTP (cont.) Encapsulamento de diferentes media sobre o RTP (grupo AVT do IETF) Compressão dos cabeçalhos RTP diminuir a sobrecarga por eles gerados. Questões de segurança encriptação de conteúdos. geração aleatória de estampilhas temporais e identificadores Mecanismos de gestão e notificação de sessões Protocolo SDP - Session Description Protocol Mixers - Entidades modificadoras dos conteúdos dos pacotes RTP. Sistemas Telemáticos - Aplicações Adaptativas/Rígidas e Reservas de Recursos na Internet