Retour au cours

qos avance avec tc

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

  1. Quelle discipline vise à réduire la bufferbloat automatiquement ?
  • a) fq_codel
  • b) pfifo_fast
  • c) prio

ressources

Sujets abordés