Prof. Dr. Valter Roesler: roesler@inf.ufrgs.br Universidade Federal do Rio Grande do Sul
Latência Tempo entre o início de um evento e o momento que ele se torna perceptível no destino Ex: filmar um relógio numa videoconferência e ver quantos ms ele atrasa no destino 3
Qual o atraso ACEITÁVEL em uma conferência ponto a ponto? 4
Latência Transmite tela do micro no sistema IVA. Destino envia de volta. Latência ida e volta (410ms) 5
Latência e Jitter Normalmente a latência varia um pouco nos diversos pacotes, por causa do Jitter (variação da latência) 6
Skew Diferença do tempo de chegada entre diferentes mídias que deveriam estar sincronizadas (áudio e vídeo, por exemplo) N. de Pacotes chegando skew vídeo áudio t 7
Qual o skew (desalinhamento áudio e vídeo) ACEITÁVEL em uma conferência ponto a ponto? < 20ms: imperceptível ~50ms: perceptível que algo está errado, mas sem saber se áudio adiantado ou atrasado >50ms: causa distração da videoconferência ~1s: usuário foca no áudio e deixa de prestar atenção no vídeo Voice and Video Conferencing Fundamentals: Scott Firestone, Thiya Ramalingam, Steve Fry. Cisco Press, 2007. 397p. 8
O mais natural é ver o vídeo um pouco ADIANTADO (voz demora mais para chegar aos ouvidos que a imagem aos olhos) 9
Protocolo RTP Real-Time Transport Protocol RFC 3550 obsoleta a 1889 (RTP e RTCP) 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 V=2 P X CC M PT Número de seqüência Timestamp Synchronization Source (SSRC) identifier Contributing Source (CSRC) identifiers
Localização OSI do RTP Acima do nível 4, no subnível inferior do nível de aplicação Aplicação Encapsulamento de mídia RTP RTCP dados controle UDP IPv4 / IPv6 Unicast ou multicast Ethernet
Protocolo RTP (Nível de perdas e ajuste de fluxo) SEQ=1 SEQ=2 SEQ=3 SEQ=4 SEQ=5 SEQ=6 SEQ=7 SEQ=8 SEQ=9 SEQ=10 Perdas=10% RTCP monitora QoS da sessão, e não tem nada a ver com o QoS da rede
Protocolo RTP (Sincronização intramídia) SEQ=1, tstamp=x SEQ=2, tstamp=x+eq 20ms Adaptação ao jitter SEQ=3, tstamp=x+eq 40ms SEQ=4, tstamp=x+eq 60ms SEQ=5, tstamp=x+eq 80ms
Fatores de atraso Quais os fatores de atraso na seguinte situação? Videoconferência ponto a ponto Computador core2duo 2.1GHz, 2GRAM 400 km de distância Meio de transmissão é fibra ótica no backbone, e par trançado na rede local 100Mbit/s na rede local, 2Mbit/s até backbone, 1Gbit/s no backbone Passando por 8 roteadores Sistema Operacional windows com 3 processos em paralelo Codecs G.711 e H.264 (transmissão em SD) 14
Atraso de time-sharing Computador core2duo 2.1GHz, 2GRAM Sistema Operacional windows com 3 processos em paralelo Dependendo da máquina ou da demanda de processador dos processos em paralelo, pode comprometer a capacidade do computador de codificar vídeo de forma adequada Custo de processador pode ser minimizado parametrizando adequadamente codificador de vídeo 15
É melhor ter um vídeo com menos qualidade, porém sem perdas, do que um vídeo Full HD com perdas *(processador próximo a 100% gera perdas) 16
Áudio Atraso de captura no hardware Placas normalmente capturam em pacotes com amostras Típico: 64 amostras por pacote Após amostras efetuadas, gera interrupção e disponibiliza pacote para usuário Atraso para 8.000 amostras/s, cada uma com 8 bits 64/8000 = 8ms. 64 amostras=64bytes. Total de 125 pacotes de 64 bytes por segundo (1 a cada 8ms) Atraso para 44.100 amostras / s 64/44.100 = 1,5ms 17
Atraso de empacotamento no encoder Áudio Alguns codecs necessitam um tempo fixo para processar a codificação Exemplos: G.723 tempos de 30ms + look-ahead de 7,5ms G.729 tempos de 10ms + look-ahead de 5ms Isso gera um atraso de empacotamento de 37,5ms (G.723) ou 15ms (G.729) antes de ir ao encoder 18
t Atraso de codificação Obrigatoriamente deve ser menor do que um time frame, senão o codec não estará apto a manter a taxa de entrada OBS: esse atraso é paralelo ao atraso de captura. Exemplo para G.723.1 8ms 8ms 8ms 8ms 8ms INT INT INT INT INT Δt1=40ms 30ms +7,5ms Encoder 300 bytes Δt2 ES Áudio (24B)
Padrão Atraso na compressão de áudio Faixa de freqüência Taxa de transmissão Comple xidade Qualidade G.711 300 Hz-3.4 khz 64 kbps 1 Excelente G.722 50 Hz-7 khz 48, 56 ou 64 kbps 2 G.722.1 14 khz 24-32 kbps - G.722.2 50 Hz-7 khz 6.6-23.85 kbps - Boa G.723.1 300 Hz-3.4 khz 5.3 ou 6.3 kbps 25 Razoável a boa G.726 300 Hz-3.4 khz 16,24,32,40 kbps - Boa a razoável G.728 300 Hz-3.4 khz 16 kbps 2 Boa G.729 300 Hz-3.4 khz 8 kbps 15 Boa Nyquist: taxa amostragem o dobro ou maior do que a maior freqüência...
Atraso na compressão de vídeo Vídeo possui redundância temporal, espacial, psicovisual, etc.
Atraso na codificação Codecs G.711 e H.264 (transmissão em SD) 1ms de atraso no G.711 (rápido) H.264 SD vai depender da complexidade do H.264 (número de opções ativas), bem como máquina e consumo de CPU dos outros processos para saber atraso da codificação em software. 22
Atraso no empacotamento Já contando com cabeçalhos IP, UDP, RTP Calcule atraso para: G.729 = 8 kbit/s G.711 = 64 kbit/s a) considerando tamanho do pacote = 1000 bytes R = b) considerando tamanho do pacote = 100 bytes R = Debate sobre as conclusões Qual o melhor codec? 23
Atraso no meio físico 400 km de distância Meio de transmissão é fibra ótica no backbone, e par trançado na rede local Atraso na fibra ótica? Atraso no par trançado? Atraso total = Conclusões 24
Qual atraso se fosse satélite? 25
Calcule o atraso se fosse satélite 400 km de distância (quase indiferente) Satélite GEO fica a 36.000km de altitude Velocidade das ondas eletromagnéticas no vácuo e no ar? Atraso = Conclusões 26
Atraso nos eqtos intermediários Switches: pode ser cut-through, store and forward ou adaptive Roteadores: store and forward Calcular custo para 3 roteadores store and forward numa rede de 2Mbit/s. Tamanho do pacote = 125 bytes R = Debate sobre as conclusões Compartilhado Compartilhado Ti1 Td1 Ti2 Td1 Ti3 Td3 R R R 27
Atraso devido ao tempo de inserção Calcular inserção de um pacote de 125 bytes para 13 kbit/s, 2Mbit/s e 100Mbit/s Tempo de inserção ou desinserção = L/T (L=tamanho do quadro em bits; T=taxa em bits/s) 13 kbit/s: R = 2Mbit/s: R = 100Mbit/s: R = 28
Atraso nas filas dos roteadores O custo de cada pacote na fila, durante um congestionamento, é igual ao custo de uma desinserção de pacote Ou seja, a rapidez para sair da fila vai depender da velocidade do link 29
Atraso devido ao Jitter Como o sistema de transmissão multimídia se adapta ao Jitter? 30
Atraso devido ao Jitter Como o sistema de transmissão multimídia se adapta ao Jitter? Através da criação de um buffer no receptor, que amortece a variação na chegada dos pacotes. Quanto maior o jitter, mais atraso o sistema gera. 31
Atraso devido ao reordenamento de pacotes Como os roteadores fazem balanceamento de carga? 32
Atraso devido ao reordenamento de pacotes Como os roteadores fazem balanceamento de carga? a) por fluxo b) por pacote 33
Atraso devido ao reordenamento de pacotes Balanceamento de carga por fluxo Todo tráfego com um mesmo IP origem e IP destino é encaminhado pelo mesmo link 3x34Mbit/s 34
Atraso devido ao reordenamento de pacotes Balanceamento de carga por pacote Pacotes são enviados de forma round robin através dos diferentes enlaces 3x34Mbit/s 35
Atraso devido ao reordenamento de pacotes Como o receptor se adapta a isso? R. buffer e reordenamento de pacotes interno ao sistema, o que gera mais atraso. 36
Visão no receptor 37
Resumo dos atrasos Time-sharing de processos na máquina Transmissão física Codificação de áudio e vídeo Empacotamento Equipamentos intermediários (store and forward) Fila dos roteadores Inserção e desinserção Adaptação ao jitter Adaptação ao skew Adaptação a pacotes fora de ordem 38
Medida de carga de uma rede Quais as diferenças? Rede local de empresa pequena Backbone 39
Medida de carga de uma rede Rede local de empresa pequena 40
Medida de carga de uma rede Backbone: Acessar http://www.rnp.br/ceo/trafego/panorama.php 41