Parte 3: Priorização de Tráfego do Socket e QoS

Este artigo explica como o mecanismo de QoS do Cato funciona e ajuda significativamente a melhorar a utilização da largura de banda da rede e otimizar o desempenho da rede.

Gerenciando Largura de Banda com QoS da Cato

Na Aplicação de Gerenciamento Cato, use perfis de gerenciamento de BW para configurar as prioridades de QoS para os diferentes tipos de tráfego. Cada perfil contém tanto a prioridade de QoS quanto os limites de largura de banda do tráfego. Você pode então atribuir o perfil de gerenciamento de BW a uma regra de rede e priorizar o tipo específico de tráfego.

Você pode definir valores de prioridade entre 2 a 255 onde 0 e 1 são reservados para tráfego administrativo da Cato e 255 é reservado como a menor prioridade. Se você configurar o perfil de largura de banda com prioridade P10, o tráfego correspondente terá prioridade maior sobre o tráfego com prioridade P20. Você pode fornecer uma prioridade diferente para diferentes aplicações e alcançar o desempenho necessário para este tipo de tráfego. Recomendamos que você atribua um valor de prioridade menor a um tipo de tráfego mais significativo. Por exemplo, se o tráfego VoIP é mais importante para sua conta do que RDP, atribua regras de rede VoIP com prioridade maior do que regras RDP.

Nota: Se você configurar um Remote Port Forwarding (RPF) para sua conta, o tráfego RPF é automaticamente atribuído com a menor prioridade de 255. Para mais detalhes sobre RPF, consulte Configuração de Encaminhamento de Porta Remota para a Conta.

Como a Cato Envia Tráfego com Base na Política de Gerenciamento de BW

Cato Networks usa uma técnica padrão de modelagem de tráfego para otimizar o desempenho da rede controlando a taxa média de Upload e Download.

O diagrama abaixo mostra como o mecanismo de QoS atribui prioridade a diferentes tipos de tráfego.

mceclip0.png

Implementando o Algoritmo de Gerenciamento de BW

Cato usa o algoritmo Leaky Bucket para medir os limites de largura de banda e explosão. Implementar Leaky Bucket como modelador de tráfego significa que quando a taxa de pacotes de entrada é maior que a taxa de saída, como em congestão de rede, pacotes entram na fila e são descartados quando a fila está cheia. Quando pacotes são transmitidos, eles são removidos da fila, primeiro a entrar, primeiro a sair (FIFO), e novos pacotes podem então entrar na fila.

Sob o Capô - Como o Tráfego É Enviado de Acordo com as Prioridades

O algoritmo Leaky Bucket mede a taxa de tráfego e identifica quando o balde está cheio. Ele usa essas métricas para enviar o tráfego priorizado usando o exemplo de enchimento de um balde com água:

  • Taxa média - o limite real de BW. A taxa de água que vaza do balde em cada tique do relógio.

  • Capacidade de explosão - o tamanho do balde. A quantidade total de água que o balde pode transportar antes de começar a descartar pacotes.

  • Taxa de explosão – durante uma explosão de tráfego, a taxa que a água é permitida no balde. A taxa de explosão não é limitada, e qualquer explosão pode entrar no balde.

Se o balde não estiver cheio, todos os pacotes são enviados. No entanto, quando a prioridade para um balde está cheia, novos pacotes para essa prioridade são enfileirados e possivelmente descartados. Cada prioridade tem uma fila diferente, e pacotes são enviados por ordem (FIFO) de acordo com as prioridades. Quando todas as filas estão cheias, então todos os pacotes são descartados independentemente da prioridade.

No entanto, a Cato implementa a Detecção Aleatória Antecipada Ponderada (WRED) para evitar descartar um grande número de pacotes. Para o tráfego TCP, a Cato descarta os pacotes de dados e não os pacotes ACK para acionar o algoritmo de congestão do remetente. Em resposta, o remetente reduz a taxa na qual envia os pacotes.

Como o Tráfego É Enviado das Filas de Prioridade

O Socket envia os pacotes das filas de prioridade em duas iterações: iteração de limite rígido e a iteração de melhor esforço. O modelador de tráfego primeiro envia os pacotes de acordo com os limites de BW configurados e então faz o melhor esforço para enviar os pacotes restantes. Durante cada tique de 1ms, ele realiza ambas iterações:

  1. Iteração de Limites Rígidos – nesta iteração a sequência é avaliar cada fila, começando da prioridade mais alta até a prioridade mais baixa. Para cada fila de prioridade, o Socket envia os pacotes de acordo com seus limites de QoS configurados. Durante esta iteração, se o limite total de BW do link for excedido, o Socket para de enviar pacotes.

  2. Iteração de Melhor Esforço – se os pacotes transmitidos na Iteração de Limites Rígidos não excederem o limite total de largura de banda, então nesta iteração o Socket avalia cada fila novamente. Começando da prioridade mais alta até a prioridade mais baixa, ele envia os pacotes restantes. A motivação é utilizar toda a largura de banda do link sem exceder o limite total de BW.

Exemplo de Iterações do Modelador de Tráfego

Esta seção mostra um exemplo de como o mecanismo de QoS da Cato prioriza pacotes nas filas de tráfego.

Cinco Filas de Prioridade com Pacotes

qos_queues.png

O diagrama acima mostra os pacotes em 5 filas de prioridade antes que o Socket inicie as iterações.

QoS – Iteração de Limites Rígidos

QoS_hard_limits.png

Este diagrama mostra a primeira iteração, que é a Iteração de Limites Rígidos. Começando de P10, P20, P30, P40 e por último P255. A largura de banda disponível para cada fila é: dois pacotes da fila P10, um pacote da P20, um pacote da P30, dois pacotes da P40 e um pacote da fila P255.

QoS – Iteração de Melhor Esforço

qos_best_effort.png

Este diagrama mostra a segunda iteração, que é a Iteração de Melhor Esforço. Nesta iteração, foram enviados três pacotes de P10 , e um de cada de P20, P30, P40 e por último P255. Neste caso, toda a largura de banda disponível é usada e um pacote na fila P255 permanece para o próximo tique. Então, novos pacotes chegam às filas e o algoritmo executa as duas iterações novamente e envia o pacote restante.

Esse artigo foi útil?

Usuários que acharam isso útil: 9 de 10

0 comentário