Arquitetura VOQ em Switches: Funcionamento e Priorização de Tráfego

O VOQ (Virtual Output Queuing) é um mecanismo avançado de gerenciamento de filas em switches e roteadores, projetado para eliminar o problema de head-of-line blocking (HOL blocking) – um gargalo comum em arquiteturas de rede tradicionais.

Como Funciona?

  1. Filas Dedicadas por Porta de Saída

Em switches convencionais, os pacotes são armazenados em uma única fila compartilhada, podendo causar congestionamento se um pacote à frente estiver esperando por uma porta ocupada.

No VOQ, cada porta de saída tem sua própria fila virtual no buffer de entrada. Assim, pacotes destinados a portas diferentes não competem pelo mesmo espaço.

  1. Eliminação do HOL Blocking

Se um pacote não pode ser encaminhado imediatamente (por exemplo, se a porta de destino está ocupada), somente essa fila específica é bloqueada, enquanto pacotes para outras portas continuam fluindo.

  1. Alocação Dinâmica de Largura de Banda

O VOQ permite agendamento inteligente (usando algoritmos como Round Robin ou Weighted Fair Queuing) para priorizar tráfego crítico e otimizar a utilização do switch.

Vantagens do VOQ

Permite maior eficiência na comutação (evita desperdício de largura de banda devido a bloqueios), permite baixa latência (pacotes não ficam presos atrás de outros em filas compartilhadas), oferece justiça no tráfego (prevê starvation, onde alguns fluxos monopolizam a banda) e escalabilidade (essencial para data centers e redes de alta capacidade)

Aplicações Típicas

  • Data Centers (evita congestionamento em switches spine-leaf)
  • Redes Corporativas (melhora desempenho em cenários com múltiplos serviços, como VoIP e vídeo)
  • Switches Programáveis (usado em ASICs modernos)

Comparação com Arquiteturas Tradicionais

Modelo TradicionalVOQ
Uma fila compartilhada por entradaMúltiplas filas virtuais (uma por porta de saída)
Risco alto de HOL blockingElimina HOL blocking
Ineficiência em tráfego assimétricoAlta eficiência mesmo com cargas desbalanceadas

Imaginando que o switch é um grande organizador de tráfego de dados, e o VOQ (Virtual Output Queuing) é seu sistema de filas inteligentes. Em vez de uma única fila “desorganizada”, ele cria filas separadas e organizadas para cada destino, evitando congestionamentos no encaminhamento do tráfego.

O tráfego é dividido em dois tipos Unicast e Flood.

No final, o switch usa um sistema de pesos para decidir quanto de cada tipo de tráfego envia – mantendo tudo equilibrado, sem deixar ninguém esperando demais.

Geralmente, para o tráfego unicast, cada módulo de entrada contém oito VOQs por porta de destino (uma para cada nível de prioridade). O perfil da fila define qual VOQ armazena cada pacote, enquanto o perfil de agendamento determina a ordem de transmissão. Os pacotes aguardam nas VOQs até serem selecionados pelo scheduler para cruzar o fabric do switch, sendo temporariamente armazenados em uma fila de transmissão reduzida na porta de saída. Já o tráfego flood (broadcast, multicast e unknown-unicast) segue um caminho separado, com oito VOQs por módulo de destino, onde cópias dos pacotes são replicadas para cada módulo alvo antes da transmissão.

O agendamento final combina ambas as filas (unicast e flood) usando um algoritmo Weighted Fair Queuing (WFQ). Esse scheduler atribui um peso fixo, como por exemplo, de 4 para tráfego unicast e 1 para flood, assegurando que pacotes replicados representem cerca de 20% do tráfego total quando ambas as filas estão ativas. Essa abordagem equilibra eficiência e justiça, priorizando tráfego direcionado sem negligenciar a entrega multidestino (flood).

Referências

https://arubanetworking.hpe.com/techdocs/AOS-CX/10.07/HTML/5200-7881/Content/Chp_Overview/vir-out-que-10.htm

Leave a comment