As simple queues funcionam bem para limitar um punhado de clientes, mas não escalam bem e não conseguem expressar regras como "divida de forma justa o que sobrar de banda entre todos que estão baixando agora". A queue tree, combinada com mangle para marcar o tráfego, dá esse tipo de controle de banda compartilhado e priorizado — a configuração que os provedores realmente usam em links compartilhados.
Marque o tráfego que você quer moldar
a queue tree só consegue casar por marcas de pacote/conexão, não diretamente por IP, então o mangle precisa rodar primeiro:
/ip firewall mangle add chain=prerouting src-address=192.168.88.0/24 action=mark-connection new-connection-mark=lan-conn
/ip firewall mangle add chain=prerouting connection-mark=lan-conn action=mark-packet new-packet-mark=lan-traffic passthrough=noCrie uma queue pai para o link total
/queue tree add name=upload-total parent=ether1 max-limit=50MIsso limita todo o uplink para que ele nunca sature além do que sua conexão realmente aguenta.
Adicione um tipo de queue PCQ para divisão justa
o PCQ (Per Connection Queue) divide automaticamente a banda disponível de forma equilibrada por endereço de origem, sem um limite fixo por cliente:
/queue type add name=pcq-upload kind=pcq pcq-classifier=src-address pcq-rate=0Pendure uma queue filha usando esse tipo PCQ
/queue tree add name=upload-clients parent=upload-total packet-mark=lan-traffic queue=pcq-upload max-limit=50MRepita o mesmo padrão para download, marcando por dst-address em vez de src-address e pendurando em uma queue pai de download.
Observe sob carga real
com dois ou mais clientes baixando dados ao mesmo tempo, o /queue tree print stats ou a ferramenta Torch devem mostrar a banda dividida de forma bem equilibrada entre eles, se ajustando sozinha conforme clientes entram ou saem — isso é algo que uma simple queue fixa por cliente não consegue dar.
Por que fazer assim
uma simple queue separada por cliente obriga você a decidir um limite fixo para cada um de antemão, o que desperdiça banda quando poucos clientes estão ativos ou sufoca todo mundo assim que mais entram. O PCQ dentro de uma queue tree, em vez disso, divide o que realmente está disponível naquele momento, recalculando a parte justa conforme muda a quantidade de clientes ativos — mais parecido com como os provedores realmente querem vender "até X Mbps" em vez de um teto fixo por cliente.
Como o MoniTik ajuda
a queue tree e o PCQ gerenciam a banda; eles não avisam quando o limite do pai já ficou pequeno para o que a sua rede realmente precisa. Os gráficos de banda do MoniTik mostram o padrão real de uso ao longo do tempo, então você sabe se aquele limite de 50M no pai está confortavelmente abaixo da capacidade ou constantemente saturado antes de precisar aumentá-lo.