Introdução/Resumo Executivo O aumento de disponibilidade de banda-larga tem proporcionado um aumento na utilização de aplicações com requisitos de tempo-real, tais como a Voz sobre IP (VoIP) ou Streaming de vídeo e áudio. Este tipo de aplicações na Internet tem proporcionado novos modelos de negócio aos operadores tradicionais e entrantes, ofertas de novos serviços tais como a Voz sobre IP, IPTV, Video-on-demand, Push-to-talk, entre outros. Este tipo de serviços é normalmente disponibilizado directamente ao terminal do utilizador, via canal descendente. No caso das aplicações com requisitos de tempo real, o desafio está nas características e capacidade que o canal de downstream oferece. Nomeadamente, a capacidade de fornecer débitos elevados, perdas de pacotes reduzidas, e baixos valores de atraso e jitter são factores fundamentais para o correcto funcionamento de aplicações desta natureza. No caso concreto das aplicações de streaming de vídeo e áudio, são toleradas perdas de pacotes, mas são sensíveis ao atraso, e sobretudo à sua variação jitter. A perda esporádica de algumas frames de vídeo ou áudio, pode não degradar a experiência de utilização do cliente, mas um valor de atraso ou jitter demasiado altos podem dificultar a sincronização do vídeo e áudio, causar paragens constantes na transmissão, ou incapacitar a correcta construção de uma imagem completa, causando o aparecimento de artefactos visuais. A rede de acesso em análise é uma rede de terceira geração 3G CDMA 450 com acesso a Internet Móvel de banda larga, da operadora Radiomóvel Zapp. O objectivo deste relatório é apresentar resultados de testes efectuados, que visam concluir acerca da viabilidade de utilização de um sistema de streaming audio e vídeo com requisitos de tempo real, no sentido descendente. Os testes efectuados visam medir o desempenho da rede de acesso em termos de largura de banda disponível, atraso, variações de atraso, e perdas de pacotes em ambiente heterogéneo. Foram realizados entre Maio e Agosto de 2008, em diversos períodos do dia (manhã, tarde, noite), em regime estacionário. Os locais de teste foram as instalações da operadora Radiomóvel em Sintra e o campus do IST no TagusPark. São apresentados ao longo deste relatório os tipos de testes efectuados e respectivos
objectivos, a metodologia seguida, os principais resultados obtidos e elaboram-se conclusões. Em anexo remetem-se os dados recolhidos pelas ferramentas de teste, que foram alvo de análise neste estudo. Ambiente de Teste O ambiente de teste utilizado é demonstrado na figura seguinte: O Servidor de Streaming utilizado é o Darwin Streaming Server, instalado no core da rede Zapp, com o endereço público 84.39.2.82. O cliente móvel utiliza um modem Zapp CDMA2000 modelo z010, a correr no sistema operativo Ubuntu 8.04, com o endereço público 84.39.4.203 ou 84.39.4.201. Os testes foram realizados utilizando ambos os modos 1x-RTT e EV-DO, alternadamente, e nunca no modo híbrido. Foram efectuados testes indoor nas instalações da Zapp em Sintra e no campus IST-Taguspark, ambos em horário de expediente. Em todas as situações o cliente encontra-se fixo.
Metodologia de Teste Tipos de Teste Foram efectuados os seguintes testes: Latência Jitter Largura de Banda em Downstream Qualidade Subjectiva de Vídeo/Aúdio Perdas de Pacotes Teste de Longa Duração Para caracterizar um serviço de video streaming é necessário ter em conta vários aspectos a nível da rede de acesso, que influenciam a qualidade perceptível ao utilizador. A latência é o atraso verificado entre um dado pedido é o ínicio da resposta a esse pedido, sendo um parametro fundamental num sistema de streaming, devido aos requisitos de tempo real de uma aplicação de vídeo e aúdio. Como tal, foram efectuados testes para medir este parametro sob várias condições. Para que o vídeo e aúdio sejam apresentados em tempo-real e sem degradação da qualidade perceptível no cliente, é necessário que os buffers dos descodificadores estejam constantemente preenchidos com os dados de aúdio e vídeo. Como tal o jitter é um parametro a avaliar, sendo que optimamente este deveria ser o mais baixo possível. Igualmente a perda de pacotes é um factor crítico para a descodificação de vídeo no cliente, pois a perda de pacotes RTP pode levar à perda de tramas de vídeo e aúdio fundamentais à correcta construcção da imagem, degradando a qualidade. A largura de banda requerida por aplicações multimédia é geralmente alta, por longos períodos de tempo. Quanto maior for a largura de banda disponível, maior é o nível de qualidade que se consegue oferecer ao cliente, tirando partido de uma menor ou maior compressão por parte do codificador. Ferramentas Para cada tipo de teste, foram utilizadas as seguintes ferramentas: Latência: Ferramenta ping do sistema operativo Jitter: Ferramenta ping do sistema operativo Largura de banda: Iperf 2.0.2 Qualidade perceptível: Quicktime Pro 7.4.1 e VLC Media Player 0.8.0.6e Perdas de pacotes: Wireshark 0.99.7, Iperf 2.0.2.
O sistema operativo utilizado foi o Ubuntu 8.04. O servidor de Streaming utilizado foi o Darwin Streaming Server 5.5.5. Procedimentos Teste de Latência De modo a simular as condições de transporte dos pacotes de RTP de vídeo e aúdio, realizou-se o teste de ping a partir do cliente com os seguintes parametros: Pacotes de 128 bytes (120 payload + 8 header ICMP) Cadência: 100 ms # ping s 120 i 0.1 <IP interno> <IP interno> é um IP público da rede Zapp. A duração de cada teste foi de 10 minutos, entre as 15 e as 17h. Teste de Largura de Banda e Jitter Para testar a largura de banda em downstream, é gerado tráfego numa máquina no core da rede para um cliente com acesso rádio. O iperf permite igualmente medir o valor do jitter. Para tal, correu-se a ferramenta iperf em modo cliente no core e em modo servidor no dispositivo móvel. O comando para correr o iperf em modo servidor no cliente zapp é: # iperf s u i 0.5 p 6970 O comando a executado na máquina do core é: # iperf c 84.39.4.20x u t 600 i 0.5 b 2.4M p 6970 Este teste tem a duração de 600 segundos (10 minutos), transporte em UDP no porto 6970 com envio à saída do core de 2.4 Mbit/s. O output é gerado com granularidade de 500 ms. O teste foi realizado entre as 15 e as 17h. Teste de Perdas de Pacotes Para este teste efectuaram-se capturas de pacotes de streaming de vídeo (RTP), utilizando o Wireshark no cliente Zapp. A duração de cada teste foi de 10 minutos, entre as 15 e as 17h. Após a captura foram analisados os números de sequência dos pacotes recebidos, contando para tal
pacotes fora de ordem e perdidos. Teste de Qualidade Perceptível - QoE Neste teste utilizou-se o servidor Darwin para streaming de vídeo com parâmetros de codificação distintos (bitrate e framerate) com o codec MPEG4 - AVC (H264). A duração de cada teste foi de 15 minutos, em horários distintos. Através de um cliente Quicktime ou VLC Media Player, analisou-se a qualidade visual subjectiva e atribuíram-se pontos considerando diversos factores: Presença de artefactos visuais Falhas na imagem e/ou som Dessincronização entre aúdio e vídeo Pausas a meio da sessão Quebra total da sessão, etc Seguem-se alguns exemplos para ilustrar o método de classificação: Mau, Razoável, Bom/Muito Bom Níveis de classificação atribuídos: Mau: Imagem e som imperceptíveis. Impossibilidade de acompanhar a transmissão. Razoável: Imagem e som perceptíveis mas com falhas. Artefactos visuais e auditivos esporádicos que degradam a experiência de utilização. Pausas frequentes na visualização. Bom: Imagem e som bastante perceptíveis, com reduzidas falhas e artefactos visuais. Muito Bom: Total ausência de falhas ou artefactos. Qualidade óptima. Resultados Os resultados obtidos para cada tipo de teste efectuado são apresentados seguidamente. Teste de Latência Sistema EV-DO
Payload size RTT médio RTT mínimo RTT máximo Desvio Padrão 128 309.11 187 3228 132.32 256 394.64 235 2660 116.41 512 516.47 266 2822 130.70 1024 670.03 291 4124 205.65 Sistema 1xRTT
Payload size RTT médio RTT mínimo RTT máximo Desvio Padrão 128 552.10 318 4143 192.47 256 798.28 471 3822 164.36 512 927.45 214 4911 406.08 1024 534.30 270 3854 242.00
Teste de Largura de Banda Sistema Analisado Débito Médio Goodput (Kbps) Débito máximo (Kbps) Débito mínimo (Kbps) Desvio Padrão (Kbps) 1xRTT 132 188 47 20.29 EV-DO 1320 1620 23.5 456.12 Sistema 1xRTT Sistema EV-DO
Teste de Jitter Sistema Analisado Jitter médio Jitter máximo Jitter mínimo Desvio Padrão 1xRTT 25.52 103.556 1.52 12.46 EV-DO 11.82 67.11 6.92 6.06
Teste de Qualidade Perceptível QoE O teste foi efectuado com streaming a três níveis de qualidade distintos, correspondendo a bitrates de 50, 100 e 300 kbit/s. Foram efectuados testes nos dois modos de ligação do cliente, 1xRTT e EV-DO. Modo de Ligação Cliente Stream bitrate (kbit/s) Qualidade Observada (*) 1xRTT 50 Muito Bom 100 Razoável / Bom 300 n.a. EV-DO 50 Muito Bom 100 Muito Bom 300 Razoável / Bom (*) Os resultados observados são indicativos médios e variam consoante a localização, hora, indoor/outdoor
Teste de Perdas de Pacotes As perdas de pacotes correspondem a pacotes RTP de aúdio e vídeo transmitidos que não foram entregues ao cliente, ou que chegam fora de ordem sendo descartados pelo descodificador. O teste foi efectuado com streaming a três níveis de qualidade distintos, correspondendo a bitrates de 50, 100 e 300 kbit/s. Foram efectuados testes nos dois modos de ligação do cliente, 1xRTT e EV-DO. Modo de Ligação Cliente 1xRTT EV-DO Stream bitrate (kbit/s) Pacotes Enviados Pacotes Perdidos Pacotes Perdidos (%) 50 2859 0 0.00 100 6532 0 0.00 150 4051 6 0.15 50 3828 8 0.21 100 5103 12 0.24 300 22961 140 0.61 O teste de perda de pacotes foi efectuado através da ferramenta ping, de modo a testar diversos valores de payload. Novamente, foram efectuados testes nos dois modos de ligação do cliente. Modo de Ligação Cliente 1xRTT EV-DO Payload (bytes) Pacotes Enviados Pacotes Perdidos Pacotes Perdidos (%) 128 1512 2 0.13 256 1877 3 0.16 512 1745 3 0.17 1024 1738 5 0.29 128 1799 3 0.17 256 1941 8 0.41 512 1910 11 0.58 1024 2110 9 0.43
Teste de Longa Duração O teste de longa duração visou testar o comportamento do sistema numa transmissão streaming longa, por exemplo, para um utilizador que visualiza um filme completo em ambiente estacionário, e durante 60 minutos. As condições que simulam esta situação são um bitrate médio de 500kbit/s, payload de 1470 bytes (aproximado ao MTU de 1500 bytes) em modo EV-DO, ou bitrate médio de 150kbit/s, payload de 1470 bytes (aproximado ao MTU de 1500 bytes) em modo 1xRTT. Modo de Ligação Cliente Payload aproximado (bytes) Pacotes Enviados Pacotes Perdidos Pacotes Perdidos (%) Ritmo binário médio (receptor) Jitter médio Dados Transmitidos (Mbyte) EV-DO 1470 149883 15747 11 438 Kbit/s 7.239 188 1xRTT 1470 45920 5813 13 130 Kbit/s 28.548 52 Conclusões Referências Anexos