Apprenez à réduire la latence sous charge avec des disciplines modernes.
objectifs d’apprentissage
- Configurer qdisc.
- Limiter un débit.
- Observer stats.
prérequis
- Accès root.
- ifb pour ingress (optionnel).
notions clés
- fq_codel.
- cake.
- HTB.
démonstration guidée
étape 1
Appliquer cake sur egress et fixer un plafond.
# sudo tc qdisc replace dev eth0 root cake bandwidth 100mbit besteffort
# tc -s qdisc show dev eth0
étape 2
Shaper l’ingress via ifb.
# sudo modprobe ifb
# sudo ip link add ifb0 type ifb
# sudo ip link set ifb0 up
# sudo tc qdisc add dev eth0 ingress
# sudo tc filter add dev eth0 parent ffff: protocol ip u32 match u32 0 0 action mirred egress redirect dev ifb0
# sudo tc qdisc replace dev ifb0 root cake bandwidth 80mbit
exercice
Créez une classe prioritaire pour 22/tcp et mesurez l’effet.
correction
Exemple HTB+SFQ (concept).
# sudo tc qdisc add dev eth0 root handle 1: htb default 10
# sudo tc class add dev eth0 parent 1:1 classid 1:10 htb rate 90mbit
# sudo tc class add dev eth0 parent 1:1 classid 1:20 htb rate 10mbit prio 0
# sudo tc filter add dev eth0 protocol ip parent 1: prio 1 u32 match ip dport 22 0xffff flowid 1:20
quiz éclair
- Quelle discipline vise à réduire la bufferbloat automatiquement ?
- a) fq_codel
- b) pfifo_fast
- c) prio