Quand je l'ai découvert, cela m'a VRAIMENT soufflé. Linux 2.2 contient toutes les fonctionnalités pour la gestion de la bande passante, de manière comparable à un système dédié de haut niveau.
Linux dépasse même ce que l'ATM et le Frame peuvent fournir.
Afin d'éviter toute confusion, voici les règles utilisées par tc pour la spécification de la bande passante :
mbps = 1024 kbps = 1024 * 1024 bps => byte/s (octets/s) mbit = 1024 kbit => kilo bit/s. mb = 1024 kb = 1024 * 1024 b => byte (octet) mbit = 1024 kbit => kilo bit.
En interne, les nombres sont stockés en bps (octet/s) et b (octet).
Mais tc utilise l'unité suivante lors de l'affichage des débits :
1Mbit = 1024 Kbit = 1024 * 1024 bps => octets/s
Avec la mise en file d'attente, nous déterminons la manière dont les données sont ENVOYEES. Il est important de comprendre que nous ne pouvons mettre en forme que les données que nous transmettons.
Avec la manière dont Internet travaille, nous n'avons pas de contrôle direct sur ce que les personnes nous envoient. C'est un peu comme votre boîte aux lettres (physique !) chez vous. Il n'y a pas de façon d'influencer le nombre de lettres que vous recevez, à moins de contacter tout le monde.
Cependant, l'Internet est principalement basé sur TCP/IP qui possède quelques fonctionnalités qui vont pouvoir nous aider. TCP/IP n'a pas d'aptitude à connaître les performances d'un réseau entre deux hôtes. Il envoie donc simplement des paquets de plus en plus rapidement (« slow start ») et quand des paquets commencent à se perdre, il ralentit car il n'a plus la possibilité de les envoyer. En fait, c'est un peu plus élégant que cela, mais nous en dirons plus par la suite.
C'est comme si vous ne lisiez que la moitié de votre courrier en espérant que vos correspondants arrêteront de vous en envoyer. À la différence que ça marche sur Internet :-)
Si vous avez un routeur et que vous souhaitez éviter que certains hôtes de votre réseau aient des vitesses de téléchargement trop grandes, vous aurez besoin de mettre en place de la mise en forme de trafic sur l'interface INTERNE de votre routeur, celle qui envoie les données vers vos propres ordinateurs.
Vous devez également être sûr que vous contrôlez le goulot d'étranglement de la liaison. Si vous avez une carte réseau à 100Mbit et un routeur avec un lien à 256kbit, vous devez vous assurer que vous n'envoyez pas plus de données que ce que le routeur peut manipuler. Autrement, ce sera le routeur qui contrôlera le lien et qui mettra en forme la bande passante disponible. Nous devons pour ainsi dire « être le propriétaire de la file d'attente » et être le lien le plus lent de la chaîne. Heureusement, c'est facilement réalisable.