Différences entre versions de « QoS »
imported>SylvainBeucler m |
imported>SylvainBeucler m (→Gérer le TOS) |
||
Ligne 25 : | Ligne 25 : | ||
tc qdisc add dev eth-inet parent 10:3 sfq perturb 10 | tc qdisc add dev eth-inet parent 10:3 sfq perturb 10 | ||
</pre> | </pre> | ||
+ | |||
+ | * La première action est de limiter le traffic pour créer le goulot d'étranglement à notre niveau. On utilise un HTB plutôt qu'un TBF car le HTB peut contenir des classes, donc on a besoin pour continuer le traitement. | ||
+ | * La classe en question contient la file d'attente PRIO qui gère le TOS. À nouveau, on utilise PRIO plutôt que pfifo_fast car PRIO peut contenir des classes. | ||
+ | * PRIO contient 3 classes en fonction du TOS. Pour chacune, on configure une discipline SFQ. La documentation recommande de changer la méthode de ''hashing'' des sessions TCP-UDP/IP toutes les 10 secondes. | ||
== Liens == | == Liens == |
Version du 6 octobre 2009 à 16:45
Principe général
On travaille principalement sur les données émises, par sur les données reçues (dont on ne peut pas contrôler l'ordre d'arrivée).
Gérer le TOS
Pour gérer les TOS (type of service), et donner priorité aux connexions intéractives telles que les sessions SSH, il faut créer un goulot d'étranglement au niveau de notre routeur. On peut ainsi gérer les files d'attente des paquets IP à notre niveau plutôt que de laisser le FAI (mal) le faire.
La première étape est de mesurer le débit ascendant. Ensuite on peut créer le goulot d'étranglement légèrement en dessous et appliquer des règles de priorités qui gèrent le TOS:
# Nettoyage tc qdisc del dev eth-inet root # Limitation à 120 kbit/s tc qdisc add dev eth-inet root handle 1: htb default 1 tc class add dev eth-inet parent 1: classid 1:1 htb rate 120kbit # Utilisation de la règle d'attente PRIO qui gère le TOS tc qdisc add dev eth-inet parent 1:1 handle 10: prio
On peut également utiliser des files d'attente SFQ (stochastic fairness queuing, mise en file d'attente stochastiquement équitable) pour éviter qu'une connexion gourmande puisse prendre l'ascendant sur les autres:
tc qdisc add dev eth-inet parent 10:1 sfq perturb 10 tc qdisc add dev eth-inet parent 10:2 sfq perturb 10 tc qdisc add dev eth-inet parent 10:3 sfq perturb 10
- La première action est de limiter le traffic pour créer le goulot d'étranglement à notre niveau. On utilise un HTB plutôt qu'un TBF car le HTB peut contenir des classes, donc on a besoin pour continuer le traitement.
- La classe en question contient la file d'attente PRIO qui gère le TOS. À nouveau, on utilise PRIO plutôt que pfifo_fast car PRIO peut contenir des classes.
- PRIO contient 3 classes en fonction du TOS. Pour chacune, on configure une discipline SFQ. La documentation recommande de changer la méthode de hashing des sessions TCP-UDP/IP toutes les 10 secondes.
Liens
- Queueing Disciplines for Bandwidth Management dans le Linux Advanced Routing & Traffic Control HOWTO
- Routage avancé et contrôle du trafic sous Linux (Guide pratique): même chose en français
- Wonder Shaper: script pour optimiser la réactivité d'une connexion ADSL