Configuração de filas de tráfego: guia prático para provedores
Configuração de filas de tráfego: é definir como o concentrador segura a velocidade de cada assinante no limite do plano e o que faz com os pacotes que passam desse limite. Com o tipo certo de fila, jogo e chamada de vídeo seguem estáveis mesmo quando alguém baixa um arquivo pesado na mesma conexão.
Resumo
- O plano define a velocidade, mas é o tipo de fila que decide se a latência dispara quando a conexão enche.
- [object Object]
- Gestão ativa de fila, como FQ-CoDel ou CAKE, separa os fluxos e mantém a latência baixa sob carga.
- Fila de cliente não resolve uplink cheio; quando todos ficam lentos juntos, o gargalo está antes do concentrador.
Como funciona a configuração de filas de tráfego?
Todo plano tem um limite, e o pacote que chega acima dele precisa esperar numa fila ou ser descartado. A configuração escolhe o tamanho dessa espera, a ordem de saída e quem perde pacote primeiro.
Quando o assinante baixa um arquivo grande, a conexão dele enche até o limite do plano. A partir daí, cada pacote novo, inclusive o do jogo ou da chamada, entra na mesma fila e espera a vez de sair.
A fila de cada cliente fica no concentrador, tema do BNG para provedores. Escolher o tipo certo de fila muda a experiência do assinante sem mudar a velocidade vendida no plano.
| Tipo de fila | Como funciona | Efeito |
|---|---|---|
| FIFO simples | Primeiro que chega, primeiro que sai | Latência alta com download pesado |
| PCQ | Divide a banda entre endereços | Justa entre clientes, sem cuidar da latência |
| FQ-CoDel | Separa os fluxos e controla o tempo na fila | Latência baixa com a conexão cheia |
| CAKE | FQ-CoDel com limitação embutida | Bom resultado com pouca configuração |
Por que fila grande aumenta a latência
Uma fila grande demais segura os pacotes por muito tempo antes de descartar algum. O TCP só reduz o ritmo quando percebe perda, então a fila fica cheia e cada pacote novo espera atrás dela.
O resultado tem nome: bufferbloat. O teste de velocidade mostra o plano inteiro, mas o ping sobe de dezenas para centenas de milissegundos enquanto o download roda [CONFIRMAR com medição na rede].
Onde a fila de cada cliente fica
O lugar natural é o concentrador, porque é ali que a sessão de cada assinante termina e o plano é conhecido. Na sessão PPPoE, o concentrador sabe a velocidade contratada assim que o login é aprovado.
Num BNG, as filas por plano rodam em hardware e podem ser hierárquicas: a fila do assinante fica dentro da fila da OLT ou da porta. Em concentradores em software, cada fila consome processador.
Policer ou shaper: como escolher o limitador?
O policer descarta tudo que passa do limite, sem fila, e o shaper guarda o excesso numa fila e solta no ritmo do plano. Para acesso residencial, o shaper com gestão ativa de fila costuma dar a experiência mais estável.
Os dois limitam a velocidade, mas o assinante sente a diferença. A tabela compara os três arranjos mais comuns em concentradores de provedor regional.
| Limitador | Como trata o excesso | O que o assinante sente |
|---|---|---|
| Policer | Descarta na hora | Velocidade em serra, download que não estabiliza |
| Shaper com FIFO | Guarda numa fila sem controle | Velocidade estável e latência alta sob carga |
| Shaper com FQ-CoDel ou CAKE | Guarda e descarta cedo por fluxo | Velocidade estável e latência baixa |
O policer ainda tem lugar como proteção, por exemplo num link de entrega a um cliente corporativo. Para o plano residencial, ele tende a gerar reclamação de velocidade que oscila no teste.
FQ-CoDel ou CAKE?
O FQ-CoDel separa os fluxos em filas pequenas e descarta cedo os pacotes que ficaram tempo demais esperando. Pela RFC 8290, os valores padrão são 5 ms de alvo e 100 ms de intervalo, e raramente precisam de ajuste.
O CAKE junta o limitador, a separação por fluxo e por endereço numa só configuração. Ele simplifica a configuração em Linux, mas pesa mais no processador em bases grandes [CONFIRMAR com teste de carga].
Configuração de filas de tráfego passo a passo
A configuração de filas de tráfego exige primeiro decidir onde a fila fica e qual o tipo dela, e só depois ajustar velocidades. O tipo de fila importa mais do que pequenos ajustes de limite.
- Lugar da fila: no concentrador, por cliente, onde fica o limite do plano.
- Tipo de fila: FQ-CoDel ou CAKE no lugar da FIFO padrão.
- Velocidade pelo RADIUS: o plano muda sem editar o concentrador.
- Folga no uplink: confirme que o gargalo não está antes da fila.
- Medição sob carga: compare a latência com e sem download pesado.
O exemplo cria um tipo de fila FQ-CoDel e aplica num cliente com plano de 300 Mbps de descida e 100 Mbps de subida. O endereço 100.64.10.25 é da faixa compartilhada que segue depois para o CGNAT.
/queue type
add name=fq-codel-clientes kind=fq-codel
/queue simple
add name=cliente-1234 target=100.64.10.25/32 \
max-limit=100M/300M \
queue=fq-codel-clientes/fq-codel-clientesEm max-limit, o primeiro valor é a subida e o segundo é a descida. Inverter os dois é um dos erros mais comuns, porque o cliente passa a ter 100 Mbps de descida e 300 Mbps de subida sem ninguém notar até a reclamação.
Em Linux
Concentradores em Linux usam tc com cake ou fq_codel. O CAKE já inclui o limitador e separa os fluxos por endereço, o que simplifica a configuração.
Filas pesando no concentrador a cada mês?
No projeto de BNG, um Especialista leva as filas por plano para hardware, hierárquicas e trocadas pelo RADIUS, com o pico medido antes e depois.
Velocidade entregue pelo RADIUS
Com PPPoE e RADIUS, o atributo de velocidade cria a fila do cliente sozinho no momento do login. O tipo de fila padrão do perfil define se ela será FQ-CoDel ou FIFO.
Assim, trocar o plano no sistema de gestão muda a fila na próxima conexão, sem ninguém editar o concentrador. Revise o perfil uma vez e todos os clientes novos já entram com a fila certa.
A fila precisa cobrir o IPv6 do cliente
Uma fila presa a um único IPv4, como a do exemplo, não limita o tráfego IPv6 do mesmo assinante. Em dual stack, o cliente pode passar do plano por esse caminho.
A fila criada pela sessão PPPoE costuma ter como alvo a interface da sessão, o que cobre os dois protocolos [CONFIRMAR no manual do RouterOS]. Em filas manuais, inclua o prefixo IPv6 do cliente no alvo.
Quando o problema não é a fila?
Se todos os clientes ficam lentos no mesmo horário, a fila de cada um não é a causa. O gargalo está no uplink, no trânsito ou no próprio processador do concentrador.
A fila de cliente só trabalha dentro do plano dele. Quando o link de trânsito enche, os pacotes esperam numa fila que fica fora do alcance das filas por assinante, e todo mundo sente junto.
Veja internet lenta no horário de pico para separar esse caso, e o guia de link de trânsito saturado para o que fazer quando a borda é o gargalo. A implantação de IPFIX mostra quem está usando a banda.
Peso das filas no processador
Em concentradores em software, cada fila consome processador, e o peso cresce com planos maiores e mais assinantes. No pico, a CPU no limite atrasa pacotes de todos, mesmo com as filas bem configuradas.
O guia sobre concentrador PPPoE com CPU em 100% mostra como medir esse peso. Dimensione o concentrador com as filas ativas, e não só pelo número de sessões.
Erros comuns nas filas do concentrador
Os erros mais comuns deixam o cliente com a velocidade certa no teste e a experiência ruim no uso. Por isso eles passam despercebidos até a reclamação de jogo ou de chamada.
Evite
- Fila FIFO com tamanho padrão em todos os clientes.
- Limite aplicado em equipamento depois do gargalo.
- Subida e descida invertidas no max-limit.
- Tentar resolver uplink cheio com filas de cliente.
- Medir só velocidade, sem latência sob carga.
- Fila presa ao IPv4 em cliente dual stack.
O limite aplicado depois do gargalo é o mais difícil de enxergar. Se o tráfego já se acumulou num switch ou num rádio antes de chegar ao concentrador, a fila dele não tem mais o que controlar.
Rajada configurada sem critério
Muitos concentradores permitem uma rajada acima do plano nos primeiros segundos. Bem usada, ela deixa a página abrir mais rápido; mal usada, faz o teste mostrar um número que o plano não sustenta.
Se usar rajada, documente o valor por plano e explique ao atendimento. Assim o N1 não estranha um teste de velocidade acima do contratado nos primeiros segundos.
Checklist de validação das filas
Valide com um cliente piloto e a conexão cheia, medindo latência ao mesmo tempo que a velocidade. Sem carga, toda fila parece boa.
Confira num cliente piloto com download pesado rodando
- O teste de velocidade bate com o plano, na subida e na descida.
- A latência sobe pouco durante o download pesado.
- O jogo e a chamada de vídeo seguem estáveis com download na mesma conexão.
- Uma troca de plano no RADIUS muda a fila sem intervenção manual.
- O tráfego IPv6 do cliente respeita o mesmo limite do IPv4.
- A CPU do concentrador segue com folga no pico com as filas ativas.
Se a latência dobrar sob carga, a fila ainda está grande demais ou o gargalo está em outro ponto. Corrija antes de aplicar o perfil a toda a base.
A Táquion Tech configura as filas por plano no concentrador ou no BNG, mede a latência sob carga num cliente piloto e só então leva o perfil para os demais.
Na prática: jogo travando num plano de 300 Mbps
Um caso típico mostra como a fila aparece no atendimento. O assinante reclama que o jogo trava à noite, mas o teste de velocidade sempre mostra o plano inteiro.
- Atendimento: o N1 confirma que o teste bate com o plano e que o roteador está atualizado, e passa o caso adiante.
- Medição: com um download rodando em outro aparelho da casa, o ping do jogo sobe muito acima do valor com a conexão ociosa.
- Causa: a fila do cliente no concentrador é FIFO com tamanho padrão, e o download ocupa a fila inteira.
- Ajuste: o perfil do plano passa a usar FQ-CoDel, e a próxima conexão do cliente já entra com a fila nova.
- Conferência: o mesmo teste com download pesado mostra a latência quase igual à da conexão ociosa.
Se o mesmo teste falhar em vários clientes ao mesmo tempo, o problema deixa de ser fila de assinante. Aí vale olhar o uplink e o trânsito antes de mexer em mais perfis.
Perguntas frequentes sobre configuração de filas de tráfego
FQ-CoDel deixa a internet mais lenta?
Não. A velocidade é a mesma; o que muda é a latência quando a conexão está cheia.
Ainda vale usar PCQ no provedor?
O PCQ divide a banda de forma justa entre endereços, mas não cuida da latência. Fila por cliente com FQ-CoDel faz a divisão e também controla a espera de cada pacote.
As filas pesam no processador do concentrador?
Pesam, principalmente com muitos clientes e planos altos. Dimensione o concentrador com as filas ativas, ou leve as filas para um BNG em hardware.
O que é bufferbloat na prática?
É a latência alta causada por filas grandes demais, que aparece quando a conexão está cheia. Filas com gestão ativa resolvem a maior parte dos casos.
Como medir latência sob carga num cliente?
Rode um download pesado e, ao mesmo tempo, um ping contínuo para um destino estável. Compare com o ping da conexão ociosa: se a diferença for grande, a fila precisa de ajuste.
Serviços ligados a este guia
- Projeto de rede 5G privativa para provedores Rádio e wireless
- Redução de latência para provedores BGP e roteamento
- Migração de GPON para XGS-PON para provedores OLT e rede de acesso
- Implantação de acesso fixo sem fio para provedores Rádio e wireless
- Implantação de SD-WAN para empresas Redes corporativas
- Implantação de VoIP para provedores Sistemas para provedores
Fontes
- RFC 8290, The Flow Queue CoDel Packet Scheduler and Active Queue Management Algorithm: especificação do FQ-CoDel.
- RFC 7567, IETF Recommendations Regarding Active Queue Management: recomendação de gestão ativa de fila.