Qualidade de Serviço (QoS) em Redes de Dados: Conceitos e Importância

Qualidade de Serviço (QoS), refere-se a um conjunto de técnicas e políticas utilizadas para gerenciar o tráfego em uma rede de dados de forma a garantir um desempenho satisfatório para os diferentes tipos de aplicações e serviços.

A importância do QoS é evidente em ambientes onde vários tipos de tráfego compartilham a mesma infraestrutura de rede, como em redes corporativas, provedores de serviços de Internet (ISPs) e ambientes de nuvem. Sem um mecanismo de QoS adequado, os dados podem ser tratados de forma igual, o que pode levar a problemas de desempenho e latência para serviços que exigem uma entrega rápida e consistente.

A função principal do QoS em uma rede de campus é gerenciar a perda de pacotes.

Alguns dos principais conceitos do QoS são:

  1. Classificação de Tráfego:
    • A primeira etapa é classificar o tráfego em diferentes categorias com base em critérios como tipo de aplicação, protocolo, portas, endereços IP, etc. Por exemplo, o tráfego de voz sobre IP (VoIP) pode ser classificado de forma diferente do tráfego de navegação web.
  2. Marcação de Pacotes:
    • Após a classificação, os pacotes são marcados com informações que indicam sua prioridade. Isso é feito através de campos nos cabeçalhos dos pacotes, como o campo DiffServ em pacotes IP.
  3. Políticas de Filtragem e Marcação:
    • As políticas de QoS definem como os roteadores e switches devem tratar os pacotes marcados. Isso pode incluir a definição de prioridades, largura de banda mínima garantida, limites de taxa máxima, entre outros.
  4. Gerenciamento de Largura de Banda:
    • O QoS permite a alocação de largura de banda com base nas necessidades das aplicações. Por exemplo, aplicações críticas como VoIP podem receber uma alocação de largura de banda prioritária para garantir uma comunicação sem interrupções.
  5. Buffering e Escalonamento de Pacotes:
    • Os dispositivos de rede podem usar técnicas como filas de prioridade e escalonamento de pacotes para dar tratamento diferenciado aos pacotes de acordo com suas marcações de QoS.
  6. Monitoramento e Medição:
    • É importante monitorar o desempenho da rede para garantir que as políticas de QoS estejam sendo efetivamente aplicadas e que os níveis de serviço estejam sendo atendidos.
  7. Resiliência e Redundância:
    • Em ambientes críticos, podem ser implementadas estratégias de redundância para garantir a continuidade do serviço mesmo em caso de falhas na rede.
  8. Priorização de Aplicações:
    • As aplicações são priorizadas com base em sua importância para o negócio. Por exemplo, tráfego de VoIP pode ter prioridade sobre tráfego de download de arquivos não essenciais.
  9. Controle de Congestionamento:
    • O QoS pode ser usado para controlar a forma como a rede responde a situações de congestionamento, evitando perdas de pacotes críticos.

Oversubscription em rede de dados

Oversubscription em uma rede de dados é uma prática comum na engenharia de redes e data centers onde a largura de banda disponível para um determinado segmento da rede é maior do que a capacidade de saída agregada dessa rede. Em outras palavras, oversubscription ocorre quando a demanda potencial de largura de banda dos dispositivos conectados excede a capacidade total de transmissão da rede.

Exemplo de oversubscription em um rede de dados

Como Funciona o Oversubscription

Imagine um cenário simples: em um switch de rede, vários dispositivos estão conectados a ele. Cada dispositivo pode ter uma conexão de 1 Gbps ao switch, mas o link do switch para o roteador central pode ser de apenas 10 Gbps. Se 20 dispositivos estiverem conectados a esse switch, a demanda potencial total seria de 20 Gbps, mas o link de saída suporta apenas 10 Gbps. Assim, a razão de oversubscription seria 2:1 (20 Gbps de demanda potencial para 10 Gbps de capacidade).

Por Que Oversubscription é Utilizado

1. Custo-Efetividade: Prover a capacidade total para cada dispositivo é frequentemente caro e desnecessário, pois os dispositivos nem sempre utilizam a capacidade total simultaneamente.

    2. Planejamento de Capacidade: As redes são planejadas com base no comportamento típico dos usuários e aplicativos, onde a demanda máxima simultânea raramente ocorre.

    3. Eficiência de Recursos: Oversubscription permite um uso mais eficiente dos recursos de rede, já que a capacidade ociosa é minimizada.

    Implicações e Desafios

    1. Desempenho: Durante picos de utilização, a oversubscription pode causar congestionamento e degradação de desempenho, já que a capacidade disponível pode não ser suficiente para atender a todos os dispositivos simultaneamente.

    2. Qualidade de Serviço (QoS): Para mitigar os impactos negativos, técnicas de QoS são implementadas para priorizar tráfego crítico e garantir que serviços importantes mantenham desempenho aceitável.

    3. Monitoramento e Ajustes: É essencial monitorar a utilização da rede e ajustar a oversubscription conforme necessário para balancear custo e desempenho.

    Determinando a relevância do Negócio

    O primeiro passo antes de aplicarmos políticas de QoS inicia-se identificando os objetivos do negócio, como por exemplo:

    • Garantir a qualidade das ligações (VoIP);
    • Garantir uma alta qualidade de experiência para aplicações que utilizam vídeo;
    • Melhorar a produtividade minimizando os tempos de respostas da rede;
    • Gerenciar as aplicações do negócio;
    • Identificar e NÃO priorizar aplicações que não fazem parte do negócio da empresa;

    Para atingir todos esses pontos, podemos classificar as aplicações em basicamente três tipos sendo elas:

    • Relevante: RFC 4594
      • Estas aplicações atendem diretamente aos negócios da empresa;
      • As aplicações devem ser classificadas, marcadas e tratadas de acordo com os padrões de melhores práticas recomendadas.
    • Default: RFC 2474
      • Estas aplicações devem ou não atender aos negócios da empresa (ex: HTTP/ HTTPS/ SSL)
      • Aplicações deste tipo devem ser tratadas com a classe default de encaminhamento.
    • Irrelevante: RFC 3662
      • Estas aplicações não suportam aos objetivos da empresa.
      • Essas aplicações devem ser tratadas com a classe de menor importância.

    PHB, DSCP e CoS

    PHB (Per-Hop Behavior):

    O PHB define o comportamento que um roteador deve aplicar a um pacote com base na marcação DSCP. Em outras palavras, é a forma como um roteador trata um pacote com um determinado valor DSCP. Existem quatro classes de PHBs definidas na RFC 4594:

    1. Expedited Forwarding (EF): É usado para tráfego de alta prioridade, geralmente associado a aplicações sensíveis à latência, como VoIP.
    2. Assured Forwarding (AF): Oferece uma garantia de encaminhamento com algumas opções de queda. É dividido em quatro subgrupos (AF1, AF2, AF3, AF4) com diferentes níveis de prioridade.
    3. Best Effort (BE): É o comportamento padrão para tráfego que não possui marcação DSCP específica. Recebe tratamento padrão, sem garantias de prioridade.
    4. Class Selector (CS): Inclui as classes CS1, CS2, CS3, CS4, CS5 e CS6. Cada uma delas é uma categoria geral que pode ser usada para definir classes de serviço específicas.

    DSCP (Differentiated Services Code Point):

    O DSCP (Differentiated Services Code Point) e o CoS (Class of Service) são dois mecanismos distintos, mas relacionados, usados para implementar a Qualidade de Serviço (QoS) em redes de dados. Ambos são métodos para classificar e priorizar o tráfego em uma rede, mas são utilizados em diferentes camadas e tecnologias.

    DSCP (Differentiated Services Code Point):

    • Camada de Operação: O DSCP opera na camada 3 do modelo OSI (Camada de Rede). É uma marcação no cabeçalho IP dos pacotes, onde são especificados os níveis de serviço que o pacote deve receber.
    • Campo de Marcação: O DSCP é um campo de 6 bits no cabeçalho IP, localizado na parte de ToS (Type of Service) ou DS (Differentiated Services).
    • Valores DSCP: Existem 64 valores DSCP possíveis, variando de 0 a 63. Esses valores são agrupados em diferentes classes, que indicam diferentes níveis de prioridade para o tráfego.
    • Tratamento de Pacotes: Roteadores e switches podem usar a marcação DSCP para tomar decisões sobre o tratamento e a priorização dos pacotes.

    CoS (Class of Service):

    • Camada de Operação: O CoS opera na camada 2 do modelo OSI (Camada de Enlace). Ele é mais frequentemente associado ao protocolo IEEE 802.1Q, que é usado para marcação de tráfego em redes Ethernet.
    • Campo de Marcação: O CoS é um campo de 3 bits dentro do cabeçalho Ethernet, conhecido como campo “Priority Code Point” (PCP).
    • Valores CoS: Existem 8 valores CoS possíveis, variando de 0 a 7. Assim como o DSCP, esses valores indicam diferentes níveis de prioridade para o tráfego.
    • Tratamento de Pacotes: Dispositivos como switches Ethernet utilizam o CoS para decidir como tratar os pacotes em uma rede local.

    Relação entre PHB, DSCP e CoS: A relação entre PHB, DSCP e CoS é estabelecida através de um mapeamento. Em muitos cenários, quando o tráfego passa de uma rede IP para uma rede Ethernet, o DSCP é mapeado no CoS. Isso é importante para garantir que as políticas de QoS sejam mantidas em toda a rede.

    Tabela de Mapeamento – Exemplo:

    PHBDSCP RangeCoS Value
    Expedited Forwarding465
    Assured Forwarding10-132
    Best Effort00
    Class Selector (CS1)81
    Class Selector (CS2)162
    Class Selector (CS3)243
    Class Selector (CS4)324
    Class Selector (CS5)405
    Class Selector (CS6)486

    Parâmetros Bandwidth e Priority

    Dentro de uma política de QoS podemos trabalhar com dois parâmetros, bandwidth e priority. Eles são usados para controlar o tráfego em uma rede e garantir a entrega de serviços com diferentes requisitos de performance. No entanto, eles têm propósitos e comportamentos distintos:

    Bandwidth (Largura de Banda):

    1. Definição:
      • O parâmetro de largura de banda em uma política de QoS especifica a quantidade mínima de largura de banda que uma classe de tráfego deve receber. Ou seja, ele reserva uma parte da largura de banda total disponível para garantir que certos tipos de tráfego tenham uma alocação mínima.
    2. Comportamento:
      • Se a largura de banda disponível não estiver sendo totalmente utilizada, a classe com a configuração de largura de banda garantida poderá usar o excesso de largura de banda. No entanto, se a largura de banda estiver congestionada, a classe garantida terá a sua alocação protegida, e outras classes podem sofrer redução de largura de banda.
    3. Exemplo de Uso:
      • Alocar uma largura de banda mínima para tráfego de Voz sobre IP (VoIP) para garantir que as chamadas de voz tenham uma qualidade aceitável, mesmo em momentos de congestionamento de rede.

    Priority (Prioridade):

    1. Definição:
      • A configuração de prioridade em uma política de QoS indica que uma determinada classe de tráfego tem prioridade sobre todas as outras classes. Pacotes nesta classe serão processados antes de qualquer outra, independentemente da situação de congestionamento.
    2. Comportamento:
      • Quando a configuração de prioridade está em vigor, os pacotes da classe priorizada serão enviados imediatamente, sem serem adiados por outros pacotes. Isso significa que, em momentos de congestionamento, a classe priorizada pode consumir toda a largura de banda disponível.
    3. Importante Considerar:
      • Ao configurar prioridade, é crucial ter em mente que, se uma classe de tráfego com prioridade estiver usando toda a largura de banda disponível, outras classes podem experimentar atrasos significativos ou até mesmo perda de pacotes.

    Diferença Chave:

    • Bandwidth: Garante uma alocação mínima de largura de banda para uma classe de tráfego, mas permite que a largura de banda não utilizada seja usada por outras classes.
    • Priority: Dá prioridade absoluta a uma classe de tráfego sobre todas as outras, o que significa que ela sempre será tratada primeiro, independentemente da situação de congestionamento. Isso pode potencialmente afetar outras classes de tráfego.

    Classificação e Marcação do Tráfego

    A partir das definições do modelo de negócio, temos a identificação dos seguintes tipos de tráfego a serem classificados e marcados.

    Campus Qos Design Melhores Práticas

    • Sempre execute QoS em hardware em vez de software quando houver escolha;
    • Classifique e marque aplicações tão próximos de suas fontes quanto tecnicamente e administrativamente possível;
      • Aplique políticas para o tráfego indesejado o mais próximo possível de suas fontes;
      • Habilite políticas de enfileiramento em todos os nós onde existe potencial de congestionamento.

    Breve exemplo de Plano de QoS para ambientes com utilização de VoIP

    Em ambientes que utilizam VoIP é importante que a classificação e marcação dos pacotes seja realizada nos equipamentos de camada 2 e 3. Nos equipamentos de camada 2, o telefone IP marca o CoS para Voz e Sinalização, já o switch de rede fica responsável por fazer o mapeamento de CoS para DSCP.

    Marcação de CoS (Layer 2):

    O CoS é marcado no nível Layer 2 usando o campo PCP (Priority Code Point) no cabeçalho Ethernet. Para configurar isso, você pode utilizar o comando mls qos

    ! configure terminal
    mls qos

    mls qos map cos-dscp 0 8 16 24 32 46 48 56
    !
    interface GigabitEthernet0/1
    mls qos trust cos

    Marcação de DSCP (Layer 3):

    • Agora, vamos configurar a marcação de DSCP. O DSCP é aplicado no cabeçalho IP dos pacotes. Para marcar os pacotes VoIP com DSCP EF (Expedited Forwarding), por exemplo:
    configure terminal
    class-map match-any VOIP
    match access-group name VOIP_ACL

    !
    policy-map MARK_DSCP
    class VOIP
    set dscp ef

    Crie uma Access Control List (ACL) para identificar o tráfego VoIP:

    ip access-list extended VOIP_ACL
    permit udp any any range 16384 32767

    Em seguida, aplique o policy-map nas interfaces relevantes (onde o tráfego VoIP ingressa na rede):

    interface GigabitEthernet0/0
    service-policy input MARK_DSCP

    Conclusão

    QoS é uma ferramenta essencial no design de redes de dados modernas, permitindo que os administradores de rede priorizem tráfego, garantam desempenho e otimizem a utilização de recursos para suportar uma variedade de aplicações e serviços críticos.

    Deixe um comentário