Qualidade de Serviço em VoIP – Parte I

QoS - VoIPDesde sua origem, o protocolo IP foi desenvolvido e implementado como um protocolo de comunicação com controle de tráfego utilizando a regra do melhor esforço (Best-effort Service ou Lack of QoS), que não provê nenhum mecanismo de qualidade de serviços e, conseqüentemente, nenhuma garantia de alocação de recursos da rede. Na época, niguém imaginava que a Internet se tornaria a grande rede mundial que é atualmente. E, desse rápido crescimento da Internet, a tendência atual é a integração de voz (telefonia) e dados numa única infra-estrutura de redes de pacotes, a rede IP. Essa emergente e crescente demanda pelos serviços IP Telephony, como chamado pelo mercado, provocou uma corrida frenética dos fabricantes de equipamentos de redes para desenvolver protocolos que garantissem qualidade de serviços fim-a-fim. É sobre essa parafernália de protocolos, técnicas e mecanismos que falaremos a seguir.

Introdução
QoS - VoIPPara adicionar recursos de qualidade de serviços à pilha TCP/IP, dois modelos de classes de serviços para tráfego Internet estão sendo considerados e desenvolvidos pela IETF (Internet Engineering Task Force): o primeiro refere-se aos serviços diferenciados, denominado Differentiated Services [ DIFFSERV ] ou ainda de Soft QoS, que provê uma tratamento diferenciado, com preferência estatística, a determinados tipos de fluxo; e o segundo refere-se aos serviços integrados ou Integrated Services [ INTSERV ], também chamado de Hard QoS, que fornece uma garantia absoluta na alocação dos recursos da rede.

Abordamos neste artigo os mecanismos de controle e inibição de congestionamento, técnicas de controle de tráfego com classificação e priorização de fluxo. Além disso, são apresentadas algumas comparações entre as técnicas abordadas, mas tudo sem se prender às denominações e classificações dos dois modelos definidos pela IETF.

Tratamos especificamente, de mecanismos de garantia de qualidade de serviços fim-a-fim para voz sobre IP (VoIP) ou IP Telephony, mas que também podem servir para outros tipos de tráfego, como vídeo.

Todos os protocolos aqui apresentados já podem ser utilizados em projetos reais, estando todos disponíveis nos principais equipamentos Cisco. Alguns protocolos também estão presentes em plataformas de outros fabricantes como Nortel, Lucent, Motorola e 3Com.

O tema VoIP é muito vasto. Há diversos protocolos e funcionalidades envolvidas, como a arquitetura de interoperabilidade do protocolo H.323, por exemplo. Como o artigo não pode ser muito extenso, os protocolos e funcionalidades VoIP não são aqui abordados.

 

QOS – Modelo básico
Como mostra o modelo da figura 1 a seguir, o principal objetivo da QoS é priorizar o tráfego interativo sensível a retardo, em detrimento ao tráfego referente à transferência de arquivos, que não é sensível a retardo.

QoS - VoIP

Figura 1 – Modelo para QoS

A qualidade de serviço deve ser fim-a-fim, ou seja, considerando o modelo acima, o tráfego tem que ser tratado inicialmente na rede local (LAN) de origem, depois no próprio roteador (controle de descarte de pacotes, por exemplo), posteriormente nas conexões de longa distância (WAN) e roteadores intermediários, no roteador destino, e finalmente na rede local destino. Utilizaremos este modelo básico como referência nos itens a seguir.

 

Classe de serviços – Precedência IP
Para se obter as classes de serviços (Class of Service – CoS) no atual protocolo da Internet (IPv4), foram utilizados 3 bits do campo ToS (Type of Service) do cabeçalho IP, como ilustra a figura 2 abaixo. Este campo foi inicialmente definido e estava reservado para indicar os tipos de serviços; mas, de fato, nunca havia sido utilizado em nenhuma implementação. Com a classificação de pacotes, obtém-se, então, as funcionalidades para precedência IP ou IP Precedence.

QoS - VoIP

Figura 2 – Precedência IP no Campo ToS

Com os 3 bits para o campo Precedência IP têm-se as seguintes configruações e funções:

  • 0 – rotine: estabelece a precedência rotina;
  • 1- priority: estabelece a precedência prioridade;
  • 2 – immediate: estabelece a precedência prioridade;
  • 3 – flash: estabelece a precedência flash;
  • 4 – flash-override: estabelece a precedência flash-override;
  • 5 – critical: estabelece a precedência crítica;
  • 6 – internet: estabelece a precedência internetwork control;
  • 7 – network: estabelece a precedência controle de rede.

Quanto maior o nível de classificação do pacote, maior será a prioridade no tratamento e alocação de recursos da rede. Os níveis 6 e 7 são reservados para as aplicações de controle e gerência da rede, ou seja, não é possível habilitar um pacote com 6 ou 7 e nem modificar um pacote já marcado. Todos os pacotes são normalmente marcados com o nível zero.

Nos roteadores Cisco, o campo precedência IP pode ser modificado através de listas de acesso (access lists) ou mapas de rotas (route maps). Nos gateways VoIP, podem ser habilitados em cada interface lógica dial peer voip.

 

Controle e inibição de congestionamento
Há vários mecanismos de enfileiramento para controle e prevenção de congestionamento em interfaces de roteadores (Ethernet, seriais, Frame Relay, etc.) e switches nível 3, aplicáveis tanto em redes WAN como em LAN. As principais são apresentadas a seguir.

FIFO – FIRST IN FIRST OUT
Em geral, o controle de tráfego nas conexões seriais dos roteadores é implementado através de filas FIFO (o primeiro a entrar é o primeiro a sair). Uma fila FIFO é um mecanismo de armazenamento e repasse (store and forward) que não implementa nenhum tipo de classificação.

QoS - VoIP

Figura 3 – Operação da Fila FIFO

A ordem de chegada dos pacotes é que determina a alocação da banda, e o que chega primeiro é logo atendido. É o tratamento default da fila nos roteadores, já que não requer nenhuma configuração. O problema ocorre em tráfego de rajada, que pode causar longos atrasos em aplicações sensíveis ao tempo. Por isso, filas FIFO não servem para aplicações que requerem QoS.

ENFILEIRAMENTO FAIR QUEUEING
No algoritmo de Enfileiramento Fair Queueing (enfileiramento justo), as mensagens são ordenadas em sessões, e, para cada sesssão, é alocado um canal (figura 4). A ordem na fila é realizada através do último bit que atravessa o canal. Essa operação provê uma alocação mais justa da banda entre os fluxos de dados.

QoS - VoIP

Figura 4 – Filas Fair Queueing

O algoritmo WFQ – Weighted Fair Queueing é uma implementação Cisco na qual é possível ponderar determinados tipos de fluxo. O algoritmo escalona o tráfego prioritário (interativo) para a frente da fila, reduzindo o tempo de resposta. Ao mesmo tempo, compartilha o restante da banda com os outros tipos de fluxo de uma forma justa. O WFQ é dinâmico e se adapta automaticamente às mudanças das condições de tráfego, sendo bastante útil em conexões seriais de baixa velocidade até 2 Mbps.

QoS - VoIP

Figura 5 – Operação do Algoritmo WFQ

Por apresentar um desempenho superior à fila FIFO, a fila WFQ já vem pré-configurada nas interfaces seriais dos roteadores Cisco.

QoS - VoIP

Figura 6 – Filas WFQ

Como pode ser verificado na figura 6 acima, a classificação dos fluxos de dados pode ser realizada de diversas formas: por endereço fonte ou destino, por protocolo, pelo campo predência IP, pelo par porta/socket, etc. A quantidade de filas é configurável e a ponderação pode ser estabelecida por precedência IP, ou em conjunto com outros protocolos de QoS como o RSVP, ou ainda em tráfego Frame Relay, como VoFR (Voice over Frame Relay) por exemplo, através dos parâmetros FECN (Forward Explicit Congestion Notification), BECN (Backward Explicit Congestion Notification) e DE (Discard Eligible).

ENFILEIRAMENTO PRIORITY QUEUEING
Numa fila com Enfileiramento Priority Queueing – PQ (enfileiramento prioritário), o tráfego de entrada é classificado em quatro níveis de prioridade: alta, média, normal e baixa (high, medium, normal e low). Os pacotes não classificados são marcados, por default, como normal.

QoS - VoIP

Figura 7 – Operação do Enfileiramento Priority Queueuing

Durante a transmissão, o tráfego classificado e marcado como prioritário tem preferência absoluta. Por isso, este método deve ser utilizado com cuidado, para evitar longos atrasos e aumento de jitter nas aplicações de menor prioridade. Num caso extremo, o tráfego de menor prioridade pode até nunca ser transmitido, se o de maior prioridade tomar toda a banda. Isso pode acontecer em conexões de baixa velocidade. Além disso, a fila default sempre tem que ser habilitada. Caso contrário, todo fluxo não classificado (sem uma correspondente lista de prioridade) também poderá não ser enviado.

QoS - VoIP

Figura 8 – Filas Priority Queueing

Há várias opções de classificação de tráfego numa fila PQ. A classificação pode ser por protocolo (IP, IPX, DecNet, SNA, etc), por interface de entrada ou por lista de acesso. Este é um dos métodos que apresentam uma melhor qualidade de sinal de voz.

ENFILEIRAMENTO CUSTOM QUEUEING
O algoritmo da fila CQ (Custom Queueing) permite especificar uma percentagem da banda para uma determinada aplicação (alocação absoluta da banda). A banda reservada é compartilhada proporcionalmente, no percentual pré-definido, entre as aplicações e os usuários. O restante da banda é compartilhado entre os outros tipos de tráfego.

QoS - VoIP

Figura 9 – Operação do Enfileiramento Custom Queueing

O algoritmo CQ controla o tráfego alocando uma determinada parte da fila para cada fluxo classificado. As filas são ordenadas ciclicamente num esquema round-robin, onde, para cada fila, é enviado a quantidade de pacotes referente à parte da banda alocada antes de passar para a fila seguinte. Associado a cada fila, há um contador configurável que estabelece quantos bytes devem ser enviados antes da passar para a próxima fila.

QoS - VoIP

Figura 10 – Filas Custom Queueing

Até 17 filas podem ser definidas, mas a fila zero é reservada para mensagens do sistemas como sinalização, keep-alive, etc. A classificação CQ pode ser feita por endereço fonte ou destino, por protocolo (IP, IPX, Appletalk, SNA, DecNet, etc), por precedência IP, por interface de entrada e ainda por listas de acesso.

QoS - VoIP

Tabela 1 – Métodos de Enfileiramento

A tabela 1 acima apresenta um resumo dos três métodos de enfileiramento e a figura 11, a seguir, apresenta algumas considerações sobre a escolha de qual método utilizar. De fato, estas são as diretrizes básicas nas considerações iniciais de um projeto VoIP, mas, como todo projeto tem suas próprias pecualiaridades, na prática o que prevalecerá será o método e a configuração dos respectivos parâmetros que se enquandrem nas condições do projeto (disponibilidade de banda nas conexões WAN, topologia do backbone, roteamento estático ou dinâmico, etc.) e que produza uma boa qualidade subjetiva do sinal de voz.

QoS - VoIP

Figura 11 – Esquema para Seleção de Método de Enfileiramento

A DETECÇÃO RED
A detecção RED – Random Early Detection (detecção randômica antecipada ) é um mecanismo para prevenção e inibição de congestionamento ou congestion avoidance. O algoritmo monitora o tráfego antecipadamente utilizando as funções de controle de congestionamento TCP, descartando pacotes aleatoriamente e indicando para a fonte reduzir a taxa de de transmissão, evitando assim situações de congestionamento antes que ocorra picos de tráfego. Quando habilitado numa interface, o RED começa a descartar pacotes a uma taxa que pode ser previamente configurada.

WRED, ou Weighted RED, é uma implementação da Cisco que combina as funcionalidades do RED com a classificação de pacotes por precedência IP. Baseado nessa classificação, o WRED descarta pacotes seletivamente, descartando inicialmente os pacotes de menor prioridade, com diferentes pesos para cada classe.

QoS - VoIP

Figura 12 – O Funcionamento do WRED

É possível desabilitar a classificação precedência IP e habilitar o descarte com base apenas no tamanho do buffer da fila; ou ainda utilizar o WRED em conjunto com o RSVP para se obter um descarte mais seletivo. Nesse caso, antes que ocorra uma situação de congestionamento, os fluxos de menor prioridade nas sessões RSVP serão descartados antes dos outros de maior prioridade.

WRED é útil em qualquer interface na qual a possibilidade de congestionamento seja eminente. Entretanto, é geralmente utilizado em roteadores centrais de backbone (core routers), com a precedência IP habilitada pelos roteadores de acesso (edge routers).

Fonte: RNP – Rede Nacional de Ensino e Pesquisa

Anúncios

Tags:,

About Desmonta&CIA

Somos um blog que busca informar aos apaixonados por tecnologia tudo sobre o mundo de TI.

One response to “Qualidade de Serviço em VoIP – Parte I”

  1. Laercio says :

    Olá,
    Gostei do artigo, esse foi o assunto da primeira parte do meu tcc. A segunda parte será somente estudo de caso, agora estou travado procurando pelo programas para estudo de caso em redes ip especificamente QoS. Se alguém poder me ajudar agredeço.
    Att,
    Laércio

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: