1 / 23

Distribuição de Mídia Contínua Voz sobre IP

Distribuição de Mídia Contínua Voz sobre IP. Jussara M. Almeida. Junho 200 5. Voz sobre IP. Comunicação interativa Altos requisitos de latência e perdas de pacotes Atrasos de 100-150 ms ou acima disto são perceptíveis ao ouvido humano

danica
Download Presentation

Distribuição de Mídia Contínua Voz sobre IP

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Distribuição de Mídia ContínuaVoz sobre IP Jussara M. Almeida Junho 2005

  2. Voz sobre IP • Comunicação interativa • Altos requisitos de latência e perdas de pacotes • Atrasos de 100-150 ms ou acima disto são perceptíveis ao ouvido humano • Seres humanos têm baixa tolerância à degradação de áudio • Objetivo primário: minimizar latência • Objetivo secundário: minimizar perdas de pacotes

  3. Voz sobre IP • Métodos atuais: • UDP • Retransmissão de pacotes perdidos podem não chegar a tempo no destino • Protocolos confiáveis como TCP travam em falhas de retransmissão ou timeouts • FEC e/ou packet loss concealment • Recuperação limitada para perdas em rajadas ou perdas súbitas

  4. Voz sobre IP na Internet Atual • Perdas em rajadas são comuns • Probabilidade condicional de um pacote ser perdido dado que o ultimo pacote foi perdido é de 0.72 (muito alto) • Modelo de perdas: 2 estados • Falhas de links podem durar muito tempo : 5% das falhas duram mais que 2 horas • Estas características limitam eficácia de VoIP

  5. Voz sobre IP: Avaliação Inicial • Avaliação no ambiente Emulab • Transferência de 5 minutos de voz • Rede com atrasos de 50 ms e banda de 10Mbps: link transcontinental • Taxas de perdas variáveis • Métrica: • PESQ: Perceptual Evaluation of Speech Quality • PESQ = 4 : qualidade de telefone

  6. Voz sobre IP: Avaliação Inicial • Mesmo perda de 0.5%, PESQ < 4 para prob. rajada de 0.75 • Internet atual: perda de 0.42% com prob. rajada de 0.72 • Logo: precisa de novas soluções

  7. Proposta • Arquitetura overlay que melhora o desempenho de aplicações VoIP quando serviço da Internet sofre • Taxa de entrega de pacotes alta mesmo frente a altas perdas com baixo overhead (baixa latência) • Comunicação end-to-end pelo overlay: divisão do caminho em vários segmentos de overlay • É possível recuperar pacotes com pouco atraso: recuperação local tem baixo overhead pois links do overlay tem baixo RTT se comparado à latência do caminho total • Algoritmo de roteamento pode se adaptar evitando links do overlay congestionados (alta perda ou indisponíveis)

  8. Proposta • Contribuições: • Um protocolo de recuperação de pacotes em tempo real que entrega pacotes recebidos como UDP mas que realiza recuperação de pacotes de forma local • Tenta-se a recuperação somente uma vez e somente se for provável que o pacote chegue ao destino em tempo • Protocolo de roteamento no overlay adaptativo específico para VoIP que seleciona o caminho com base em uma métrica que combina a latência e a perda observada nos links

  9. Arquitetura Overlay • Spines: implementa protocolos específico para a aplicação • Manutenção da rede: pings periódicos • Pacotes com número de sequência: deteção de perdas • Atribui um custo a cada link do overlay com base na perda e latência observadas no link • Custo de links disseminados pela rede de forma incremental • Melhorar VoIP: novos protocolos para • Recuperação localizada de pacotes • Roteamento adaptativo

  10. Protocolo de Retransmissão em Tempo Real • Recupera pacotes somente se há uma possibilidade dele chegar a tempo no destino • Cada nó no overlay mantém um buffer circular de pacotes para cada link de saída • Pacotes são mantidos no buffer por um período igual ao atraso máximo suportado pelo codificador de voz • Nós intermediários enviam pacotes à medida que eles chegam, mesmo fora de ordem • Ao detetar uma perda, um nó envia um NACK requisitando cópia ao vizinho superior • Pedido de retransmissão enviado somente uma vez • NACKs limitam tráfego de controle quando não há perda

  11. Protocolo de Retransmissão em Tempo Real • Quando um nó recebe um pedido de retransmissão, ele: • Checa se ele tem o pacote no seu buffer circular • Se tem re-envia, se não tem, não faz nada • Número máximo de retransmissões regulado em função do número de pacotes enviados: limita retransmissões em links com muitas perdas • Se um nó recebe o mesmo pacote duas vezes, somente a primeira cópia será transmitida para frente

  12. Protocolo de Retransmissão em Tempo Real • Protocolo não envia ACKs positivos: • Não acarreta tráfego adicional se não há perda (exceto pelos pings) • Protocolo não trava para recuperar pacotes • Não tem timeouts • Desvantagem: não recupera todos pacotes • Pedido de retransmissão é perdido: • Se perdas independentes a taxa p, probabilidade é p  (1-p)  p = p2 – p3 • A retransmissão é perdida: • Probabilidade: p  (1-p)  (1 – p)  p = p2 – 2p3 + p4 • Probabilidade de perda total ~ 2p2 – 3p3

  13. Protocolo de Retransmissão em Tempo Real • Distribuição da latência dos pacotes em um link com atraso T e taxa de perda p: • (1 – p) dos pacotes terão latência T • (p - 2p2 + 3p3) dos pacotes terão latência 3T +  •  = tempo para nó detetar perda •  depende dos tempos entre chegadas de pacotes e do número máximo de pacotes fora de ordem que o protocolo suporta • Um pacote fora de ordem dispara pedido de retransmissão: latência é crucial • Distribuição de latência em caminho com múltiplos links é composta das latências em cada segmento

  14. Avaliação • Implementação em Spines e avaliação no Emulab • Cada experimento : 10 fluxos de VoIP • Perda de pacotes após protocolo: • link de 10 ms: vários níveis de perdas e rajadas Nível de rajada com pouco impacto Aplicação do protocolo em link com 5% de perda reduz perda por um fator de 10 (0.5%)

  15. Avaliação • Perda de pacotes após protocolo: • Dois links concatenados de 10 ms cada Nível de rajada com pouco impacto Aplicação do protocolo em link com 5% de perda reduz perda por um fator de 10 (0.5%)

  16. Avaliação • Distribuição da latência • Um link de 10 ms e 5% de perdas • 95% dos pacotes chegam em 10 ms • 4.5% chegam em 30 ms mais tempo entre chegadas de pacotes • Varia com rajadas • 0.5% dos pacotes são perdidos

  17. Avaliação • Distribuição da latência • Concatenação de 2 links: cada um 10 ms e 5% de perdas • Somente 1% dos pacotes são efetivamente perdidos • 0.25% dos pacotes chegam com latência de 66ms: perdas nos dois links (0.05 X 0.05)

  18. Avaliação • Impacto do protocolo na qualidade da voz • Rede com 5 segmentos de 10 ms cada • 10 fluxos VoIP de A pra F • Perdas entre C e D • Limite de atraso de 100 ms

  19. Avaliação • Com novo protocolo, independente de rajada ou não, o codec em questão pode supeortar até 3.5% de perdas para garantir qualidade de telefone

  20. Protocolo de Roteamento em Tempo Real • Objetivo: max # pacotes que chegam no destino dentro do limite imposto pelo codec (ex: 100ms) • Duas métricas por link: latência e taxa de perda • Computar a distribuição de latência para todos os caminhos possíveis e escollher o melhor é ótimo mas muito caro • Solução: • aproxima custo de cada link por uma métrica dependente da latência e taxa de perdas • Usa algoritmo do caminho mais curto com esta métrica

  21. Protocolo de Roteamento em Tempo Real • Métrica: latência esperada • Latência esperada em um link: Texp = (1 – p)T + (p - 2p2 + 3p3 )(3T+ ) + (2p2 + 3p3)Tmax • Latência esperada em um caminho: soma das latências nos links

  22. Avaliação • Topologias aleatórias criadas com o gerador Brite • Para cada topologia, avalia o roteamento entre o par de nós que estão mais distantes • % de pacotes que chegam ao destino a tempo (100 ms) • Métricas para roteamento • Latência esperada: Cost = Texp • Distância em hops : Cost = 1 • Latência do Link: Cost = T • Taxa de perdas: Cost = - log(1 – p) • Otimizador guloso: Dijkstra modificado onde a cada iteração, escolhe o próximo nó com taxa de entrega máxima • Ótimo

  23. Avaliação • Topologias com diâmetro pequeno: roteamento baseado na taxa de perdas é melhor • Topologias com diâmetro grande: latência é + importante • Latência esperada: bom compromisso

More Related