3. ANÁLISIS EXTERNO
3.2 Microentorno
3.2.2 Competencia
As técnicas de marcação de pacotes consistem em definir o tráfego para sua determinada classe, relacionando-a com precisão a fim de atender a aplicação. E também definem as Políticas de QoS para cada classe. As políticas definem a ação dos pacotes dentro da classe de serviço.
2.5.1 CLASS MAP
Class-map são regras de correspondência que segundo NOGUEIRA (2008, p. 29) “define uma classe de tráfego onde os bits de precedência são usados para classificar os pacotes IP em uma class-map”.
2.5.2 POLICY MAP
De acordo com NOGUEIRA (2008, p. 30) “Policy map define uma politica que contem ações de QoS aplicáveis em algumas classes de trafego. Tipicamente, faz referencia as classes definidas pelo comando class-map”.
2.5.3 COMMITTED ACCESS RATE (TAXA DE ACESSO GARANTIDA)
Taxa de acesso garantida (CAR) é uma técnica mais antiga que envolve a taxa de limitação ou de policiamento de tráfego que corresponde a determinados critérios para um limite superior. CAR suporta a maioria dos mecanismos de correspondência e permite IP precedence ou DSCP bits a ser definido de modo diferente, dependendo se os pacotes estão em conformidade ou superior a uma taxa especificada.
Em geral, o CAR é mais útil para os pacotes de dados do que para os pacotes de voz. Por exemplo, todo o tráfego de dados vindo de uma interface Ethernet com menos de 1 Mbps pode ser colocado em IP precedence classe 3, e todo o tráfego superior a taxa de 1
Mbps pode entrar em Classe 1 ou ser abandonado. Outros nós na rede podem tratar ou não o tráfego excedente conforme ele seja marcado com menor IP precedence. Todo o tráfego de voz deve estar de acordo com a taxa especificada se ele tiver sido configurado corretamente.
Quadro 07 - Classificação e Marcação Usando CAR
Exemplo de Configuração: Classificação e Marcação Usando CAR access-list 100 permit udp any any range 16384 32767
access-list 100 permit tcp any any eq 1720 !
interface Ethernet0/0
ip address 10.10.10.1 255.255.255.0 rate-limit input
access-group 100 1000000 8000 8000 conform-action set-prec-continue 5 exceed-action set-prec-continue 5
Neste exemplo, todo o tráfego que corresponde a access-list 100 será configurado com IP Precedence 5 o que significa que os três bits mais significativos do campo ToS será definido para 101. Acess list de 100 neste caso, coincide com as portas UDP comuns usadas pelo RTP e o tráfego H.323 sinalização na porta TCP 1720.
Fonte: Elaborada pelo autor, 2013.
2.5.4 POLICY-BASED ROUTING
Roteamento baseado em políticas (PBR) é outra característica mais velha que permite o tráfego a ser encaminhado com base na porta de origem ou lista de acesso. Ele também pode ser usado para classificar e marcar pacotes.
Quadro 08 - Classificação e Marcação Usando PBR
access-list 100 permit udp any any range 16384 32767 access-list 100 permit tcp any any eq 1720
! route-map classify_mark match ip address 100 set ip precedence 5 ! interface Ethernet0/0 ip address 10.10.10.1 255.255.255.0 ip policy route-map classify_mark
Neste exemplo, todo o tráfego que corresponde lista de acesso 100 será configurado com IP Precedence 5 o que significa que os três bits mais significativos do campo ToS será definido para 101. access-list 100 coincide com as portas UDP comuns usados pelo RTP e H.323 sinalização de tráfego na porta TCP 1720.
Fonte: Elaborada pelo autor, 2013.
2.5.5 MODULAR QoS -COMMAND LINE INTERFACE
A classificação recomendada como método de marcação é o Modular QoS interface de linha de comando (MQC), é um método de configuração baseado em um modelo que separa a classificação da política, permitindo que vários recursos de QoS possam ser configurados em conjunto por várias classes. Pode se utilizar um mapa de classe para classificar o tráfego com base em vários critérios de correspondência e um mapa de políticas para determinar o que deve acontecer a cada classe. Então se aplica a política para o tráfego de entrada ou saída em uma interface usando o service-policy comando de configuração de interface.
Quadro 09 - Classificação e Marcação Usando MQC
access-list 100 permit udp any any range 16384 32767 access-list 100 permit tcp any any eq 1720
! class-map voip match access-group 100 ! policy-map mqc class voip set ip precedence 5
<<#various other QoS commands>> class class-default
set ip precedence 0
<<#various other QoS commands>> !
interface Ethernet0/0 service-policy input mqc
Neste exemplo, todo o tráfego que corresponde a access-list 100 será classificado como classe voip e configurarado com IP Precedence 5 significa que os três bits mais significativos do campo ToS será definido para 101. access-list 100 coincide com as portas UDP comuns usados por RTP e H.323 sinalização de tráfego na porta TCP 1720. Todo o tráfego é definido com IP Precedence 0. A política é chamada MQC e é aplicado ao tráfego de entrada na interface Ethernet 0/0.
Fonte: Elaborada pelo autor, 2013.
O congestionamento se dá ao fato que diversos pacotes, ao mesmo tempo, tentam acessar o meio que possui limitações como de largura de banda e processamento. Antes que este tráfego chegue ao roteador, os pacotes são alocados em classes, esta alocação faz parte do processo do QoS (Quality of Service), sendo que cada classe é pertencente a um tipo de fluxo, onde os pacotes são marcados de acordo com sua prioridade. Cada classe precisa de alguns requisitos para obter o desempenho desejado, é através do controle de congestionamento que é dado garantias a cada tipo de fluxo que possuem diversos tipos de aplicações, sejam elas críticas como Voz sobre IP (VoIP), ou Protocolo de Transmissão de Hipertexto (HTTP). A Figura 15 demostra o fluxo de várias aplicações no mesmo meio.
Figura 15 - Diferentes aplicações compartilhando o mesmo meio.
Fonte: Adaptada de (www.ipx.pt/servicos_rede_lan.html), 2013.
Na Figura 15, observa-se que há quatrostipos de componentes ativos na rede enviando quatro tipos de aplicações ao mesmo tempo. Segundo FOROUZAN (2008 p. 563) “O
controle de congestionamento trata das técnicas e mecanismos de prevenção {antes que aconteçam} e contenção {após terem acontecido} de congestionamento”. Portanto a utilização de mecanismos são extremamente importantes na prevenção e controle do congestionamento, com a finalidade que diferentes aplicações possam utilizar o meio sem afetar o desempenho. O ideal certamente é que não houvesse congestionamento, muito menos descartes de pacotes. Esses problemas geram outros adicionais como a retransmissão dos pacotes descartados de acordo com cada aplicação, pois em uma transmissão de voz, por exemplo, não é aceito a retransmissão do pacote descartado ocasionado cortes do áudio real, também proporcionando um atraso na transmissão, sendo assim aumentando ainda mais o congestionamento, ou seja, um ciclo que precisa ser controlado para que todos tenham recursos para utilizar.
Existem diversos tipos de mecanismos que podem ser utilizados para o controle de congestionamento como: FIFO, WFQ, CQ, PQ, CBWFQ, PQ-CBWFQ E LLQ. No entanto, nas aplicações criticas são mais utilizados o WFQ, CBWFQ e LLQ.
2.6.1 WFQ
WFQ (Weighted Fair Queuing), que significa enfileiramento justo ponderado de acordo com SHUNN (2009, p.29) “é um algoritmo FQ melhorado, onde é possível estabelecer pesos para determinados tipos de fluxo”, ou seja, é um mecanismo que utiliza o algoritmo chamado FQ (Fair Queuing) que realiza a distribuição de pesos entre os tráfegos, se um determinado fluxo é prioritário, esse algoritmo faz com que o mesmo seja servido primeiro levando em consideração os pesos que são definidos no IP Precedente ou DSCP, com o fluxo prioritário sendo atendido de forma a estar sempre que possível, na frente da fila. Em consequência é possivél obter um menor tempo de resposta, oferecendo de forma justa uma largura de banda para todos os tráfegos.
O mesmo é bastante comum em links de até 2 Mbps, trabalhando de forma dinâmica, ao longo do funcionamento há diversas mudanças no tráfego, onde ele se adequa automaticamente, em roteadores cisco esse mecanismo já vem pré-configurados nas interfaces serias, oferecendo de forma justa largura de banda para todos os tráfegos.
As filas são baseadas em pesos, pode ter pesos altos ou baixos, o baixo possui maior prioridade e o alto menor prioridade, por exemplo: Se um fluxo de Voz sobre IP (VoIP) é
alocado numa fila de baixo peso, essa fila vai ter prioridade em relação as outras filas que tem peso alto, fila FTP, como observa-se na figura 10. Apesar de ter prioridade distintas, os dois fluxos iram ter largura de bandas iguais, supondo que a fila 1 é a de VoIP e a fila 2 é de FTP, a transmissão dos pacotes irá ser feita da seguinte forma: Fila 1 os pacotes tem tamanho de 150 bytes e a fila 2 de 75 bytes, o algoritmo transmitirá 2 pacote da fila 2 e 1 pacote da fila 1, fazendo justiça ao enfileiramento justo e ponderado e dando prioridade ao tráfego de multimídia interativa, obtendo um menor tempo de resposta, conforme Figura 16.
Figura 16 - Demonstração da utilização do meio pelo mecanismo WFQ
Fonte: Adaptada de (josegalialiwqf.blogspot.com.br/2012/09/wfq-colas-equitativas-ponderadas.html), 2013. 2.6.2 CBWFQ
CBWFQ (Class-Based Weighted Fair Queuing) que significa enfileiramento da base de dados justo ponderado que de acordo com Gimenes (2003, p.25) “Neste tipo de fila o administrador da rede determina quanto da banda (em percentual ou em valores absolutos) será destinado para cada classe de tráfego”. Então o modo em que o CBWFQ opera é um pouco distinto ao do WFQ. O CBWFQ é composto pelo algoritmo WFQ, que realiza a criação de filas e seleciona os fluxos.
O CBWFQ realiza a criação de classes em seu tráfego, obtendo uma melhor otimização. As classes podem ser criadas através de: ACL (Lista de Acessos), entrada de interfaces ou IP Precedente. Após realizar a classificação do tráfego os pacotes são
direcionados para sua fila adequada, permitindo que cada classe seja alocado a uma fila que tem uma porcentagem da banda reservada ou pode seguir para uma fila sem qualquer tipo de reserva. Igualmente ao WFQ o CBWFQ distingue os pacotes de acordo com seu peso oferecendo a largura de banda que foi designado.
Outro mecanismo que é incluído no CBWFQ, é o WRED, que é um mecanismo que funciona em toda rede tentando evitar congestionamento, de modo que o mesmo define regras para o descarte de pacotes, tentando manter a fila disponível para fluxos de pacotes prioritários.
O seu funcionamento é mais flexível do que mecanismo WFQ, pois o CBWFQ pode operar em interfaces de alta velocidade como de T3 (Link de até 45 Mbps), tendo um limite na criação de classes e a determinação da quantidade de banda para cada classe que são de 64 classes possíveis em sua estrutura, podendo ser modificados a qualquer momento para obter melhor desempenho. O uso da largura de banda definida pelo mecanismo CBWFQ não é exclusivo para o uso de cada classe, mas só é utilizada apenas nas ocasiões que ocorrerem congestionamento. Durante o tempo de inatividade a largura de banda definida pelo mecanismo CBWFQ para uma classe pode ser utilizada por outra classe, e o mesmo pode acontecer se outra classe necessitar de mais largura de banda. A Figura 17 demostra o funcionamento do CBWFQ:
Fonte: Adaptada de (www.h3c.com/portal/Products___Solutions/Products/Other_Products/Routers/ Quidway_AR183X_Series_Routers/White_Paper/200701/194251_57_0.html), 2013.
2.6.3 LLQ
LLQ (Low Latency Queuing) que significa baixa latência ponderada é uma extensão do CBWFQ, porém melhorada. A principal diferença é que não se aplica ao modelo justo ponderado, mas ao tráfego que é mais sensível ao atraso, como por exemplo: VoIP (Voz sobre IP), para que o tráfego sensível seja encaminhado primeiro em meio a um congestionamento, este mecanismo tem a função de criar filas de acordo com cada peso, que através destes pesos é designado o tráfego prioritário para que possa ser enviado primeiro até o limite máximo durante o congestionamento, atendendo os requisitos de largura de banda.
O LLQ usa um mecanismo chamado de MQC (Modular QoS Command Line Interface) que segundo Mendonça (2009, p.147) engloba os seguintes aspectos:
- Classificação dos pacotes usando Class Map;
- Definir a política de QoS para ser aplicada por classe, usando Policy Map; - Atribuir uma política de serviços de QoS por interface.
O mecanismo MQC permite criar classes de tráfego com o Class Map, essas classes criadas são vinculadas a cada ACL (Access Control List) que realiza o filtro dos vários tipos de fluxos existentes dentro da rede, então cada ACL está vinculada a uma classe. Cada classe tem sua Policy Map que realiza a distribuição da largura de banda entres as classes existentes, o total de banda de todas as classes só atingirá 75% de toda a banda disponível na interface, mas esse padrão pode ser alterado conforme as necessidades do administrador, atingindo a largura de banda máxima reservada. Após realizar todo o processo de classificação das classes a largura de banda é aplicada na interface de saída. Conforme Figura 18.
Figura 18 - Operação do LLQ
Fonte: Adaptada de (http://ciscoblog.ru/?ibsa=get_content&id=364), 2013.
Apesar de ter uma fila prioritária, não é suficiente em alguns casos de congestionamento enviar os fluxos prioritários, porém ao possuir uma única fila a diversas aplicações críticas, como tráfego de multimídia interativa, então as duas aplicações iram compartilhar o mesmo meio causando instabilidade.
Nas redes atuais é cada vez mais comum a utilização de voz e dados em uma mesma estrutura, porém não há garantia do funcionamento correto de cada aplicação, é facilmente perceptível pelo usuário falhas no funcionamento, as aplicações criticas são mais prejudicadas como Voz sobre IP (VoIP). É através do gerenciamento de congestionamento que se é possível obter um bom funcionamento das aplicações que compartilham o mesmo meio de saída.
O processo para obter um bom desempenho da aplicação durante seu trajeto em toda rede é iniciada pela marcação de classificação de pacotes, dando continuidade o
gerenciamento de congestionamento, realiza o processo de encaminhamento dos pacotes, no entanto deve ser designado um único mecanismo para realizar a função de controle do congestionamento se caso venha a acontecer.
Então o LLQ segundo Jonathan e Peters (2000, p. 143) “É o mecanismo de enfileiramento que foi desenvolvido para dar absoluta prioridade ao tráfego de voz sobre todos os outros tráfegos na interface”.
3. MÉTODO CIENTÍFICO
Escolheu-se como método a pesquisa qualitativa, com objetivo de compreender melhor todos os mecanismos envolvidos em uma comunicação multimídia do tipo interativa, visto que, este tipo de comunicação requisita mecanismos diferenciados, devido à sua alta sensibilidade ao atraso e latência de uma rede.
A observação dar-se-á através do comparativo entre dois cenários, onde no primeiro ambiente tem-se um controle de banda efetivo, com aplicação de técnicas de QoS e no
segundo não se faz nenhum tipo de gerenciamento do tráfego, onde a predominância do enfileiramento dos pacotes segue o método FIFO (first in first out), ou seja, o primeiro pacote que chega à interface do roteador é o primeiro a ser transmitido, não fazendo distinção alguma entre os pacotes.
4 CENÁRIO DE TESTES
O estudo de caso propõe-se a analisar o comportamento do tráfego de voz sobre IP utilizando-se dois cenários distintos, onde ambos utilizam a mesma infraestrutura, conforme apresentado na Figura 19. A diferença entre os dois cenários é a implementação de políticas de QoS, que fora realizada somente no primeiro caso.
Fonte: Elaborada pelo autor, 2013.
Os itens que serão comparados nos testes são: - Descarte de pacotes;
- Variação do atraso (Jitter); - Tentativas de discagem.
Os softwares utilizados no ambiente de testes são:
VIRTUAL BOX – Utilizado como base para virtualização dos sistemas operacionais;
SISTEMA OPERACIONAL WINDOWS XP – Utilizado para instalação dos softwares clientes, como o softphone e geradores de tráfego;
SISTEMA OPERACIONAL LINUX OPEN SUSE – Utilizado como base na instalação do software de monitoramento;
SISTEMA TRIXBOX – Appliance de software que já contempla o PBX-IP asterisk instalado;
EKIGA – Software cliente, que realiza as chamadas para o servidor asterisk; IPERF – Software gerador de tráfego;
GNS3 (Graphical Network Simulator) – Software de emulação para sistema operacional dos roteadores CISCO;
Wireshark – Software utilizado para realizar captura de pacotes.
Para realização dos testes, diversos perfis de tráfego serão gerados na rede, para que se consiga contar a quantidade de pacotes que que serão descartados pelas interfaces seriais dos roteadores R1 e R2. Estes perfis podem ser observador no quadro XXX, onde também constam a porta de serviço, protocolo de transporte, PHB e prioridade de descarte de cada perfil de tráfego.
Quadro 10 – Perfis de tráfego
Perfil de tráfego HTTP SSH TELNE T SNMP VOIP VOIP_SI G CORPORATIV O PADRÃ O Porta de serviço 80 22 23 161 10000- 20000 5060 8059 Demais portas Protocolo de transporte tcp tcp tcp tcp udp tcp tcp tcp/udp PHB Padrão AF31 AF31 AF31 EF EF AF21 Padrão Prioridad
e de descarte
Best-
Effort Baixa Baixa Baixa
Não sofre descarte Não sofre descarte Baixa Best- Effort
Fonte: Elaborada pelo autor, 2013.
4.1 MONITORAMENTO DAS INTERFACES SERIAIS DOS ROTEADORES, ANTES DA