Qualidade de Serviço (QoS) II: Desempenho de Tráfego Este tutorial apresenta o conceito de Desempenho de Tráfego. Os indicadores de desempenho de tráfego apresentados são usados para o dimensionamento de recursos e também para a estimativa, por meio de medidas, da carga máxima de uma central telefônica ou servidor IP. Jorge Moreira de Souza Doutor em Informática (81) pelo Instituto Nacional Politécnico de Toulouse, França, Mestre (75) e Bacharel (71) em Engenharia Elétrica na PUC-RIO. As principais áreas de interesse são Engenharia de Tráfego e Análise de Confiabilidade de Sistemas. Trabalha atualmente na FITec onde desenvolve trabalhos de análise/avaliação e revisões de projeto. Participou com membro da Comissão do I Concurso Teleco de Trabalhos de Conclusão de Curso (TCC), realizado em 2005, e do II Concurso Teleco de Trabalhos de Conclusão de Curso (TCC), realizado em 2006. Email: [email protected] Categoria: Banda Larga Nível: Introdutório Enfoque: Técnico Duração: 20 minutos Publicado em: 09/01/2006 1 QoS II: Introdução No tutorial anterior sobre Dependabilidade foi apresentada a estrutura de QoS do ITU [ITU www] onde a medida da capacidade operacional do serviço (servibilidade) também depende do Desempenho de Tráfego. O Desempenho de Tráfego traduz a capacidade de escoamento de tráfego de um equipamento ou de uma rede de telecomunicações. Esse conjunto de indicadores é geralmente dividido em indicadores de Grau de Serviço (GoS), de Sobrecarga de tráfego (supõem a rede sem falhas) e de Degradação (supõe a rede com falhas em um ou mais de seus elementos). Grau de Serviço (GoS) [E600 93] define um conjunto de indicadores que avaliam a capacidade de um recurso ou grupo de recursos (canais, processamento, etc.) em prover um determinado serviço de acordo com o especificado. Exemplos de indicadores são: bloqueio, atraso, capacidade de processamento, etc. O conceito de GoS está muito ligado aos serviços telefônicos tradicionais. Nos serviços baseados em redes IP e na Internet os indicadores de desempenho estão no contexto da engenharia de tráfego (traffic engineering) [RFC 3272]. A engenharia de tráfego é definida como a parte da engenharia de rede que se preocupa com a avaliação e a otimização do desempenho de redes IP. A avaliação da capacidade de um recurso ou grupo de recursos (largura de banda, processamento, etc.) está no contexto de otimização do desempenho. Os indicadores são, por exemplo, atraso, congestionamento, capacidade de processamento, etc. Desta forma, a avaliação da capacidade dos recursos de rede para suportar um determinado tráfego é um ponto importante na análise de desempenho de tráfego. Este tutorial tratará da análise de 2 (dois) recursos: Canal / largura de banda: o indicador de capacidade geralmente utilizado é o bloqueio; e Capacidade de processamento: o indicador de capacidade é o índice de ocupação do processador. 2 QoS II: Tráfego e Bloqueio O tráfego é a medida de ocupação de um recurso. Se durante um período de observação T, um recurso é ocupado continuamente ou não durante um período de tempo t, o tráfego cursado pelo recurso é de t/T Erlangs (Erl). Um recurso pode, no máximo, cursar 1 Erl. Assim se no período de tempo T o recurso foi ocupado N vezes e t é igual a soma dos tempos de retenção do recurso, podemos escrever: Tráfego = t/T = (N/T) * (t/N) = (l)* (tr) (1) onde, l = taxa de tentativas de ocupação do recurso no intervalo de tempo T tr = tempo médio de retenção do recurso Ou seja, o tráfego (ou intensidade de tráfego) cursado por um recurso é o produto da taxa de tentativas de ocupação pelo tempo médio de retenção. Assim para caracterizar o tráfego gerado por uma fonte é necessário conhecer a taxa de tentativas (a taxa com que é ativada) e o tempo médio de retenção (tempo médio em que permanece ativa). Considerando M fontes (por exemplo, assinantes telefônicos, usuários Internet, etc.) que disputam N recursos necessários à realização da tentativa de chamada/conexão: Se M <= N todas as tentativas são atendidas; Se M > N, as tentativas que chegam quando os N recursos estão ocupados são bloqueadas. Conforme a ação no caso de bloqueio, pode-se ter 3 (três) tipos de sistemas de alocação de recursos: Sistema de espera: as tentativas bloqueadas esperam pelo recurso (espera infinita); Sistema de perda: as tentativas bloqueadas são perdidas (rejeitadas); Sistema misto: as tentativas bloqueadas esperam pelo recurso um tempo limitado após o qual elas são rejeitadas. Conhecido o tráfego, a probabilidade de bloqueio no sistema de perda pode ser calculada usando a fórmula B de Erlang (ver tutorial [Tude 03]). Uma discussão mais detalhada pode ser encontrada em [Cisco 02, Parkinson 02]. Aos que quiserem se aprofundar nesse tema, há o excelente trabalho do Prof. Iversen disponível na Internet [Iversen 05]. 3 QoS II: Recursos X Bloqueio O dimensionamento usando o sistema de perda, que será tratado apenas por bloqueio, é usado para o avaliar o número de recursos necessários em redes telefônicas convencionais (ou simplesmente, redes telefônicas). Que tipo de recursos? Canais na matriz de comutação; Canais nas rotas. Na telefonia convencional os recursos são os canais de voz alocados para a conversação. Não há compartilhamento dos canais, o canal permanecendo alocado durante todo o período de conversação. O bloqueio pode ocorrer apenas no momento do estabelecimento da chamada devido à falta de canal (ou outro recurso necessário ao estabelecimento da chamada). Ou seja, o sistema detecta se há recurso para completar a chamada. Uma vez estabelecida a chamada não há perda a não ser por falha na rede, o que garante alta qualidade de voz. As características do serviço de VoIP (Voz sobre IP) são diferentes porque a largura de banda é compartilhada entre vários serviços. Na rede VoIP não há bloqueio na fase de estabelecimento, o sistema não detecta uma eventual falta de recurso que comprometa a QoS. No entanto, depois da conexão, o canal de conversação (na verdade a largura de banda) é compartilhado podendo ocasionar atrasos e até perda de pacotes relativos à conversação causando a deterioração da qualidade de voz. Embora o uso de recursos seja diferente nas duas redes (TDM / comutação por circuito e IP / comutação por pacotes) o bloqueio, usado no dimensionamento das redes telefônicas, pode ser usado também nas redes VoIP para o dimensionamento da largura de banda. Nas redes telefônicas o dimensionamento usando o tráfego medido na HMM (Hora de Maior Movimento, Busy Hour) e o bloqueio de 1%, por exemplo, indica que o estabelecimento da chamada se efetua com sucesso em 99% das tentativas. No caso de redes VoIP o índice de bloqueio é escolhido para se estimar a largura de banda necessária ao tráfego de voz. O desafio em redes VoIP é que essas redes provêm outros tipos de serviço além do de voz e o dimensionamento do conjunto de serviços garantindo QoS se torna complexo e foge ao escopo desse tutorial. Exemplo 1: Número de troncos PCM entre duas centrais Quantos canais são necessários para cursar o tráfego de 30 Erl com bloqueio menor ou igual a 1%? Nesse caso podemos proceder por tentativas no calculador disponível no portal Teleco (Calculadores) ou achar um calculador com essa possibilidade, por exemplo [ErlangB 98]. São necessários 42 canais. Como cada tronco PCM tem modularidade de 30 canais, são necessários dois troncos PCM. Exemplo 2: Largura de banda para tráfego VoIP entre duas centrais 4 Que largura de banda é necessária para cursar o tráfego de 30 Erl com bloqueio menor ou igual a 1%? Como já calculado no exemplo 1, são necessários 42 canais. Para se determinar a largura de banda leva-se também em consideração as opções de configuração VoIP: Tipo de CODEC: G.711, G.729, G.726, etc., Número de amostras de voz enviadas por pacote, Ativação do detector de silêncio (VAD, Voice Activity Detection), Compressor de cabeçalho RTP, Cabeçalho da camada 2. Em [Cisco 02] essas opções são discutidas em detalhe e a largura de banda é calculada para diversas opções. Neste exemplo será considerado o uso do CODEC G.729. Abaixo o trecho correspondente da tabela apresentada em [Cisco 02]. Tabela 1: Largura de banda para o CODEC G.729. Voice Frame Packets IP/UDP/RTP CRTP Payload CODEC BW Size per Header Header L2 (bytes) (Kb/s) (bytes) Second (bytes) (bytes) Total Bandwith Layer Total (Kb/s) 2 Bandwith With Header (Kb/s) VAD (bytes) No VAD efficiency 50% G.729 8 10 20 50 40 - Ether 14 29.6 14.8 G.729 8 10 20 50 - 2 Ether 14 14.4 7.2 G.729 8 10 20 50 40 - PPP 6 26.4 13.2 G.729 8 10 20 50 - 2 PPP 6 11.2 5.6 G.729 8 10 20 50 40 - FR 4 25.6 12.8 G.729 8 10 20 50 - 2 FR 4 10.4 5.2 G.729 8 10 30 33 40 - Ether 14 22.4 11.2 G.729 8 10 30 33 - 2 Ether 14 12.3 6.1 G.729 8 10 30 33 40 - PPP 6 20.3 10.1 G.729 8 10 30 33 - 2 PPP 6 10.1 5.1 G.729 8 10 30 33 40 - FR 4 19.7 9.9 G.729 8 10 30 33 - 2 FR 4 9.6 4.8 Será considerada a opção da primeira linha com VAD desativado. A largura de banda por canal de voz é de 29,6 kbit/s. Como são necessários 42 canais de voz para suportar o tráfego de 30 Erl com 1% de bloqueio, a largura de banda necessária entre as centrais é: 5 Largura de banda VoIP entre as centrais = 42 * 29,6 kbit/s = 1,24 Mbit/s. 6 QoS II: Capacidade de Processamento Centrais telefônicas e servidores IP são controlados por um ou mais processadores que tem uma capacidade limitada de tratamento de chamadas / conexões. Antes de tratar do dimensionamento da capacidade de processamento, é preciso caracterizar a carga a qual o processador será submetido. Carga de uma central telefônica A carga de uma central telefônica é medida em BHCA (Busy Hour Call Attemps), ou seja, o número de tentativas de chamada na HMM. Uma tentativa de chamada pode ser bem ou mal sucedida, mas nos 2 (dois) casos parte da capacidade de processamento é utilizada para realizar a tentativa. Uma chamada bem sucedida dura em média de 120 a 180 segundos, já a mal sucedida dura alguns segundos de processamento. A média total é baixa e da ordem de 40 segundos. A expressão que relaciona o tráfego na HMM com o BHCA é obtida da equação (1) da seção anterior. Tráfego na HMM = (BHCA / 3600) * Duração média de todas as chamadas (em segundos). Desta forma, uma central com capacidade de processamento de um milhão de BHCA tem capacidade de tráfego de ~11000 Erl. Carga de um servidor IP A carga de um servidor de pacotes é medida em PPS (Packets Per Second) [Oppenheimer 99]. Por exemplo, um enlace Ethernet de 10 Mbit/s pode suportar teoricamente uma carga de pacotes de 64 bytes de 14880 PPS (cabeçalho de 20 bytes). Um servidor com N portas Ethernet poderia suportar N * (capacidade do enlace em PPS). Dimensionamento da capacidade A proposta de medida de capacidade é baseada na recomendação Q.543 do ITU [Q.543 93]. A curva que representa o aumento da capacidade de processamento em função do aumento da carga apresenta tres regiões: Carga fixa: considera a execução de tarefas obrigatórias e repetitivas associadas à supervisão e SO (Sistema Operacional). Pode ser medida pela ocupação do sistema em operação, mas sem carga. Região linear: considera que o sistema opera em suas condições nominais de carga ou sobrecarga controlada (dentro de limites estabelecidos na especificação). A linearidade se explica porque as filas internas estão praticamente vazias e as esperas por recurso são praticamente nulas. Região não linear: a partir de um determinado nível de processamento alguns recursos podem ficar sobrecarregados causando espera, estouro de filas, etc., e provocando um crescimento exponencial do processamento com a carga. 7 Figura 1: Curva da capacidade de processamento versus Carga. Sugere-se que o comportamento linear é adequado para um processamento que ocupe, em média, menos que 85% da capacidade total. Isso depende do sistema e o valor limite é geralmente negociado com o fornecedor. Todos os sistemas processados dispõem ou podem dispor da funcionalidade que mede o grau de ocupação do processamento. De outra forma, o processamento pode ter picos de 100% de ocupação, mas a ocupação média num período de observação deve ser inferior a 85%. É chegado o momento de determinar a capacidade do sistema. A região linear facilita a estimativa. Se você dispõe de um simulador de carga que chegue no limite especificado de carga do equipamento, basta simular a carga e medir o comportamento. Infelizmente esse não é geralmente o caso. A capacidade do equipamento é geralmente bem maior que a capacidade de geração de carga. Exemplo 3: Medindo a carga de um sistema A tabela II mostra um conjunto de medidas de carga versus percentagem de ocupação do processamento. A carga pode ser BHCA ou kPPS, não importa para o objetivo do exemplo. Tabela 2: Dados para o exemplo 3. Carga % Ocupação 5.000 7 10.000 9,5 15.000 10 20.000 13 O gráfico da figura 2 mostra os pontos medidos, a reta que melhor representa os pontos obtidos e a equação da reta. 8 Figura 2: Dados obtidos do exemplo 3. A obtenção da reta que melhor representa os pontos pode ser feita com um aplicativo do tipo Excel. Para tanto, basta selecionar o gráfico obtido (o formato acima é do tipo Dispersão XY), e seguir o seguinte caminho: Em português: Menu Gráfico -> Adicionar linha de tendência, na aba Tipo selecione Linear, e na aba Opções selecione Mostrar equação no gráfico. Em inglês: Menu Chart -> AddTrendline, na aba Type selecione Linear, e na aba Options selecione Display equation on chart. Os dados medidos sugerem: A carga fixa ocupa 5,25 % do processamento. Esse valor pode ser verificado por medida com carga nula. Na expressão da reta, calculando X para Y = 85%, obtém-se a carga máxima desse sistema, que é de ~199.000 unidades de carga. 9 QoS II: Considerações Finais O conceito de Qualidade de Serviço, QoS, se traduz numa série de indicadores perceptíveis para o usuário que exigem a avaliação durante o planejamento de uma rede ou desenvolvimento de um equipamento. Nesse contexto os indicadores de desempenho de tráfego apresentados nesse tutorial são usados para o dimensionamento de recursos e de estimativa, por meio de medidas, da carga máxima de uma central telefônica ou servidor IP. O objetivo é o de mostrar que formas simples podem ser usadas para medir o desempenho de tráfego de equipamentos. Referências [Cisco 02] Traffic Analysis for Voice over IP. http://www.cisco.com/univercd/cc/td/doc/cisintwk/intsolns/voipsol/ta_isd.htm [E600 93] E 600, Terms and Definitions of Traffic Engineering, ITU-TS, Mar. 93. [ErlangB 98] http://www.et.hs-wismar.de/~lochmann/Documente/Shareware/ErlangB.html [Iversen 05] Iversen V.B., Teletraffic Engineering, http://www.tele.dtu.dk/teletraffic/ [Moreira 05] Moreira de Souza, J, Qualidade de Serviço (QoS) em Telecomunicações I: Dependabilidade , Dez 05, www.teleco.com.br. [Oppenheimer 99] Oppenheimer P., Top-Down Network Design, Cisco Press, 1999. [Parkinson 02], Parkinson R., Traffic Engineering Techniques in Telecommunications, Webtorials http://www.webtorials.com/main/resource/papers/zielke/paper1.htm . [Q543 93] Q.543, Digital Exchange Performance Design Objectives, ITU-TS, Mar 93. [RFC3272] Overview and Principles of Internet Traffic Engineering, RFC 3272, May 2002. [Tude 03] Tude E., Tráfego Telefônico, www.teleco.com.br, [UIT www] http://www.itu.int/home/index.html 10 QoS II: Teste seu Entendimento 1. Para os dados da questão 1, qual a taxa, por minuto, de tentativas de ocupação? 0,13/min. 0,28/min. 0,083/min. 0,055/min. 2. Avalie o número de recursos necessários para cursar 40Erl com bloqueio inferior a 5%: 40. 43. 48. 46. 3. Avalie a largura de banda necessária para VoIP usando o CODEC G.729 configurado para payload de 30 bytes, sem compressão de cabeçalho, VAD desativado e enlace Ethernet: ~ 1,0 Mbit/s. ~ 900 kbit/s. ~ 1,5 Mbit/s. ~ 2,4 Mbit/s. 4. Na avaliação da carga máxima de um sistema, apenas duas medidas estavam disponíveis: (1ª) sem carga, ocupação média de 10% da capacidade, (2ª) com carga de 10000 unidades e ocupação média de 50%. Não é o caso ideal devido ao reduzido número de medidas. Mas que primeira estimativa da carga máxima poderia ser feita para ocupação média inferior a 85%? 30.000 unidades. 19.000 unidades. 25.000 unidades. Não é possível estimar. 11