Eu tenho um roteador linux que tem uma interface de 10GBe no lado de fora e interfaces de ethernet Gigabit ligadas no interior.
No momento, temos orçamento para 2GBit / s. Se excedermos essa taxa em mais de 5% da média por um mês, seremos cobrados pela capacidade total de 10Gbit / s. Um passo em frente em termos de dólares.
Então, quero limitar isso a 2GBit / s na interface de 10GBe.
O filtro TBF pode ser ideal, mas esse comentário é preocupante.
On all platforms except for Alpha, it is able to shape up to 1mbit/s of normal traffic with ideal minimal burstiness, sending out data exactly at the configured rates.
Devo estar usando o TBF ou algum outro filtro para aplicar essa taxa à interface e como eu faria isso? Eu não entendo o exemplo dado aqui: Traffic Control HOWTO
Em particular "Exemplo 9. Criando um TBF de 256kbit / s"
tc qdisc add dev eth0 handle 1:0 root dsmark indices 1 default_index 0
tc qdisc add dev eth0 handle 2:0 parent 1:0 tbf burst 20480 limit 20480 mtu 1514 rate 32000bps
Como é calculada a taxa de 256K bit / s? Neste exemplo, 32000bps = 32k bytes por segundo. Desde tc usa bps = bytes por segundo.
Eu acho que estouro e limite entram em jogo, mas como você escolheria números sensatos para atingir a taxa desejada?
Isso não é um erro. Eu testei isso e deu uma taxa próxima de 256K, mas não exatamente isso.
EDITAR
Depois de fazer muitas leituras e testes, cheguei à conclusão de que o TBF é inadequado por causa da largura de banda envolvida. Quaisquer que sejam as configurações que eu tentei, não consegui obter TBF para fornecer largura de banda > ~ 50Mbit / s. De acordo com lartc.org/lartc.pdf, o método RED é melhor para dar forma à largura de banda > 100Mbit / s, então tentarei usar isso.
No entanto, escolha o valor a min (ou seja, o tamanho médio da fila em que a marcação se torna uma possibilidade). O exemplo dado é isto:
You should set the min by calculating that highest acceptable base
queueing latency you wish, and multiply it by your bandwidth. For
instance, on my 64kbit/s ISDN link, I might want a base queueing
latency of 200ms so I set min to 1600 bytes.
-
como você escolheria a maior latência de enfileiramento de base aceitável? O exemplo é para 64kbit / s.
-
O que seria aceitável para 2Gbit / s?