J'ai un routeur Linux qui a une interface de 10 Go à l'extérieur et des interfaces Ethernet Gigabit liées à l'intérieur.
Nous avons actuellement un budget de 2 Go / s. Si nous dépassons ce taux de plus de 5% en moyenne pendant un mois, nous serons facturés pour toute la capacité de 10 Gbit / s. Un pas en avant en termes de dollars.
Donc, je veux limiter cela à 2 Go / s sur l'interface 10 Go.
Le filtre TBF pourrait être idéal, mais ce commentaire est préoccupant.
Sur toutes les plates-formes, à l'exception d'Alpha, il est capable de façonner jusqu'à 1 Mo / s de trafic normal avec une rafale minimale idéale, en envoyant des données exactement aux taux configurés.
Dois-je utiliser TBF ou un autre filtre pour appliquer ce taux à l'interface et comment dois-je le faire. Je ne comprends pas l'exemple donné ici: Traffic Control HOWTO
En particulier "Exemple 9. Création d'un TBF 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
Comment est calculé le débit 256K bit / s? Dans cet exemple, 32000bps = 32k octets par seconde. Puisque tc utilise bps = octets par seconde. Je suppose que l'éclatement et la limite entrent en jeu, mais comment choisiriez-vous des nombres sensibles pour atteindre le taux souhaité?
Ce n'est pas une erreur. J'ai testé ceci et cela a donné un taux proche de 256K mais pas exactement ça.
ÉDITER
Après avoir fait beaucoup de lecture et de test, je suis arrivé à la conclusion que TBF est inapproprié en raison de la bande passante impliquée. Quels que soient les paramètres que j'ai essayés, je n'ai pas pu obtenir de TBF pour fournir une bande passante> ~ 50Mbit / s. Selon lartc.org/lartc.pdf, la méthode RED est meilleure pour façonner la bande passante> 100Mbit / s, donc j'essaierai de l'utiliser.
Cependant, choisir une valeur pour min (c.-à-d. Taille moyenne de la file d'attente à laquelle le marquage devient une possibilité). L'exemple donné est le suivant:
Vous devez définir le min en calculant la latence de mise en file d'attente de base acceptable la plus élevée que vous souhaitez, et en la multipliant par votre bande passante. Par exemple, sur ma liaison RNIS à 64 kbit / s, je voudrais peut-être une latence de mise en file d'attente de base de 200 ms, j'ai donc défini min à 1600 octets.
comment choisiriez-vous la latence de mise en file d'attente de base acceptable la plus élevée? L'exemple est pour 64 kbit / s.
Qu'est-ce qui serait acceptable pour 2 Gbit / s?
D'après mon expérience, qdisc TBF est facilement en mesure de limiter la bande passante à 1 Gbps, donc je suppose qu'il évoluera également à 2 Gbps. Cependant, vous aurez probablement besoin d'un vrai processeur pour le travail au lieu d'un routeur de bord bas de gamme. Quelque chose comme 4 GHz i3 sera sûrement suffisant.
Essayez quelque chose comme
où
Notez que pour utiliser TBF à faible latence, vous devrez peut-être exécuter le noyau PREEMPT (par exemple, le
linux-lowlatency-hwe-*
package Ubuntu ) ou le système peut ne pas gérer tous ces packages.Voir également: https://networkengineering.stackexchange.com/a/54404/36597
la source