QoS, files et priorités
Définition
La QoS (Quality of Service) regroupe les mécanismes qui donnent un traitement différencié à certains trafics dans un routeur ou un switch : classifier le paquet, le marquer, le placer dans une file, et gérer la congestion en ignorant les paquets les moins importants. Le CCNA attend la compréhension du comportement par saut (PHB : per-hop behavior), pas la maîtrise de MPQ/WFQ sur chaque plateforme.
Contexte
Topic 4.7 du blueprint 200-301 : expliquer le PHB QoS (classification, marking, queuing, congestion avoidance, policing, shaping). L'examen aime les paires : policing contre shaping, classification contre marking, les trois PHB diffserv (EF, AF, best effort), et la lecture de show policy-map.
Détails techniques
La chaîne de traitement
Un routeur applique la QoS dans cet ordre sur chaque paquet entrant/sortant :
- Classification : identifier le trafic (ACL, NBAR, DSCP existant, port applicatif).
- Marking : écrire une marque dans l'en-tête (DSCP dans les 6 bits IPv4 TOS, 802.1p CoS sur Ethernet, exp sur MPLS).
- Queuing : placer dans une file prioritaire à la sortie.
- Congestion avoidance : décider quoi jeter avant saturation (WRED).
- Policing / Shaping : limiter le débit, respectivement par rejet ou par mise en buffer.
Classification contre marking
Un routeur frontière marque (il connaît le contexte applicatif), un routeur cœur se contente de lire les marques et applique le PHB. Un switch de bureau peut refaire le marking de confiance : mls qos trust cos ou mls qos trust dscp. Le marking traverse les frontières sous forme DSCP, puis en CoS sur la trame Ethernet (bits 802.1Q).
Les trois PHB diffserv
| PHB | DSCP | Binaire | Comportement | Traffic type |
|---|---|---|---|---|
| EF | 46 | 101110 | File à service strict ; servi en premier, police au-delà du plafond | Voix |
| AF41 à AF44 | 34, 36, 38, 40 | 1000xx | Classe AF4, priorité de drop 1 à 4 | Vidéo |
| AF31 à AF33 | 26, 28, 30 | 0110xx | Classe AF3 | Mission critique |
| Best effort | 0 | 000000 | Sortie sans garantie | Tout le reste |
AFxx : la première paire est la classe (AF1 à AF4), la seconde la "drop precedence" : à l'intérieur d'une même classe, AF44 se fait jeter avant AF41. EF a besoin d'un policer pour ne pas cannibaliser les files (la voix qui sort sans limitation s'accapare le lien).
Policing contre shaping
| Critère | Policing | Shaping |
|---|---|---|
| Action au-dessus du débit | Rejette ou re-marque | Met en buffer, retarde |
| Effet sur le TCP | Perte, donc ralentissement | Delai, donc slowdown progressif |
| CPU | Faible | Plus élevé |
| Position typique | Entrée, edge | Sortie |
Configuration IOS en MQC (Modular QoS CLI), les trois blocs classiques : class-map, policy-map, service-policy :
R1(config)# class-map VOIX
R1(config-cmap)# match ip dscp ef
R1(config-cmap)# exit
R1(config)# policy-map SORTIE-G0
R1(pmap)# class VOIX
R1(pmap-class)# priority percent 20
R1(pmap-class)# exit
R1(pmap)# class class-default
R1(pmap-class)# fair-queue
R1(pmap)# exit
R1(config)# interface GigabitEthernet0/1
R1(config-if)# service-policy output SORTIE-G0
priority percent 20 réserve 20 % du bandwidth de l'interface à EF (LLQ, Low Latency Queuing) et polices le reste de la classe. class class-default avec fair-queue absorbe tout le reste en pratique équitable.
WRED et congestion avoidance
WRED (Weighted Random Early Detection) commence à jeter aléatoirement avant la saturation totale : seuils bas et haut par file, probabilité de drop croissante. Mieux : avec DSCP, les paquets AF44 tombent avant AF41. L'intérêt est de ne pas attendre le tail drop (qui frappe tous les flux simultanément) pour ralentir le TCP, et de préserver la bande pour EF.
Exemple concret
Une succursale avec un lien 10 Mbps vers le siège. Voix (EF) mesurée à 87 kbps par appel G.711 avec les overheads IP/UDP/RTP/Ethernet, 8 appels simultanés : environ 0,7 Mbps. Politique : priority percent 20 sur l'interface sortante (2 Mbps pour EF) ; la marge absorbe le signaling et les rafales. Sauvegardes en AF21. Un vendredi soir, la sauvegarde de 22h00 sature l'uplink : sans QoS, la voix du matin suivant hache la conversation, le MOS tombe à 2,3 (les gens disent "c'est inintelligible"). Avec LLQ en place, le trafic EF passe toujours dans sa file prioritaire, la sauvegarde récupère les 90 % restants, et le MOS reste à 4,1. La QoS n'a pas augmenté le lien : elle a réparti la frustration.
Pièges fréquents
- Marquer en cœur de réseau : chaque saut recalcule, les marques se perdent ; on marque en bordure, on respecte en cœur.
- Confondre ingress policing et egress shaping sur le même contrat de débit : la facturation ISP dépend de la sortie (egress).
priority percent 20sans class d'intérêt ailleurs : les 20 % sont gaspillés si EF reste vide.- Appliquer la politique côté output : un routeur ne met pas en file ce qu'il ne transmet pas ; un service-policy input se limite au policing/marking en général.