Project Oxygen & Ideo-LabIDEO LAB Dashboard 2026

🚦 QoS (Quality of Service) – Priorisation, Queuing & Policing

Guide complet IDEO-Lab sur la gestion de la congestion réseau et la priorisation du trafic.

1.1

Qu'est-ce que la QoS ?

Quality of Service. Gestion de la congestion réseau.

QoS Congestion
1.2

Le Problème (Métriques)

Latence, Gigue (Jitter), Perte (Loss), Bande Passante.

Latence Jitter Perte
1.3

Stratégie (CMMP)

Classifier -> Marquer -> Manager (Queuing/Policing).

Classification Marquage
2.1

Modèle 1 : Best-Effort

Pas de QoS (défaut). File FIFO. (Internet "normal").

Best-Effort FIFO
2.2

Modèle 2 : IntServ (Legacy)

Integrated Services. Réservation (RSVP). Non-scalable.

IntServ RSVP Legacy
2.3

Modèle 3 : DiffServ (Moderne)

Differentiated Services. Marquage (DSCP). Scalable.

DiffServ DSCP
3.1

Classification

Identifier le trafic (ACLs, NBAR / L7).

Classification ACL NBAR
3.2

Marquage : CoS vs DSCP

Couche 2 (802.1p) vs. Couche 3 (IP Precedence / DSCP).

CoS (L2) DSCP (L3)
3.3

Détail : DSCP & PHB

EF (Voix), AF (Data prioritaire), CS (Contrôle), BE (Défaut).

DSCP PHB EF
4.1

Queuing : FIFO

First-In, First-Out. File d'attente "simple" (Best-Effort).

FIFO Queuing
4.2

Queuing : WFQ & CBWFQ

Weighted Fair Queuing. Garantie de bande passante.

WFQ CBWFQ
4.3

Queuing : LLQ (Priorité)

Low Latency Queuing. File prioritaire (VoIP).

LLQ Priority Queue
5.1

Évitement : Tail Drop vs WRED

Rejet (Queue pleine) vs. Rejet Aléatoire (TCP Sync).

Tail Drop WRED
5.2

Conditioning : Policing

Token Bucket. Respect du débit (Drop / Re-mark).

Policing Token Bucket
5.3

Conditioning : Shaping

Mise en tampon (Buffer) pour lisser le débit (Jitter).

Shaping Buffering
6.1

Cas d'Usage : VoIP

EF (DSCP), LLQ (Queuing). Sensible Latence/Jitter.

VoIP EF LLQ
6.2

Cas d'Usage : Wi-Fi (WMM)

802.11e. (AC_VO, AC_VI, AC_BE, AC_BK).

WMM 802.11e
6.3

Cas d'Usage : MPLS

Mappage DSCP (L3) vers EXP (L2.5).

MPLS EXP
7.1

Outils : Cisco MQC

Modular QoS CLI (class-map, policy-map, service-policy).

MQC Cisco CLI
7.2

Cheat-sheet : DSCP

Valeurs EF, AF (11-33), CS.

DSCP PHB
7.3

Cheat-sheet : Pol/Shp

Policing (Drop) vs Shaping (Buffer).

Policing Shaping
1.1 Qu'est-ce que la QoS (Quality of Service) ?
La Gestion de la Priorité

La Qualité de Service (QoS) n'est pas un protocole unique, mais un ensemble de stratégies et de techniques réseau dont l'objectif est de gérer la congestion et de garantir un certain niveau de performance (bande passante, latence, gigue) pour des applications spécifiques.

Analogie : Un réseau sans QoS est une autoroute à une voie (Best-Effort). Un réseau avec QoS est une autoroute à 4 voies : 1 voie pour les ambulances (VoIP), 1 voie pour les VIP (Business App), 1 voie pour le trafic normal (Web), et 1 voie pour le trafic non-prioritaire (Email, Backups).

Le Problème : La Congestion

La QoS n'augmente pas la bande passante totale (elle ne crée pas de nouvelles routes), mais elle gère intelligemment la rareté de cette bande passante.

La congestion se produit lorsqu'un nœud réseau (ex: un routeur) reçoit plus de trafic qu'il ne peut en traiter ou en transmettre (goulot d'étranglement).

[ 1 Gbps LAN ]                       [ 100 Mbps WAN (FAI) ]
[ 1 Gbps LAN ] ──► [ ROUTEUR ] ──► [ Goulot d'étranglement ] ──► [Internet]
[ 1 Gbps LAN ]

Sans QoS, lorsque le lien WAN à 100 Mbps est saturé, le routeur traite les paquets en FIFO (First-In, First-Out). Un paquet VoIP (sensible) attendra derrière un gros téléchargement (non sensible).

1.2 Le Problème (Métriques de Performance)

La QoS vise à gérer ces 4 caractéristiques du réseau :

MétriqueDescriptionImpact (Exemple : VoIP)
Bande Passante (Bandwidth)La capacité (débit) du lien (ex: 100 Mbps).Pas assez : La voix est coupée (clipping).
Latence (Latency / Delay)Le temps (ms) pour qu'un paquet aille de A à B.Élevée : Décalage, on se parle dessus (> 150ms).
Gigue (Jitter)La variation de la latence (ex: Paquet 1=10ms, P2=50ms, P3=20ms).Élevée : La voix est "robotique" (les paquets arrivent dans le désordre).
Perte (Loss)Le pourcentage de paquets qui n'arrivent jamais (ex: rejetés par congestion).Élevée : Mots ou syllabes manquants.
1.3 Stratégie (Classifier, Marquer, Manager)

La mise en œuvre de la QoS (particulièrement le modèle DiffServ) suit un processus en 3 ou 4 étapes :

Étape 1 : CLASSIFICATION
(Identifier le trafic)
   │
   │ Ex: "Ce paquet est de la VoIP (UDP 5060)"
   │
   ▼
Étape 2 : MARQUAGE (Marking)
(Appliquer une "étiquette" de priorité)
   │
   │ Ex: "Marquer ce paquet comme EF (Priorité Haute)"
   │
   ▼
Étape 3 : GESTION DE FILE (Queuing)
(Gérer la congestion basée sur le marquage)
   │
   │ Ex: "Placer ce paquet EF dans la file prioritaire (LLQ)"
   │
   ▼
Étape 4 (Optionnelle) : CONDITIONNEMENT (Policing/Shaping)
(Forcer le respect des limites de débit)
   │
   │ Ex: "Laisser passer 10 Mbps de VoIP,
   │      dropper/buffer le reste."
2.1 Modèle 1 : Best-Effort (Défaut)

Le modèle Best-Effort est le modèle par défaut d'Internet. C'est l'absence de QoS.

  • Le réseau "fait de son mieux" (best effort) pour livrer les paquets.
  • Il n'y a aucune garantie de livraison, de latence, ou de gigue.
  • Tous les paquets sont traités de la même manière (importance égale).
  • La file d'attente (Queue) est FIFO (First-In, First-Out).

Ce modèle est parfait pour le trafic qui tolère le délai (Email, FTP, navigation web), mais inadapté au temps réel (VoIP).

2.2 Modèle 2 : IntServ (Integrated Services) (Legacy)

IntServ (Services Intégrés) est un modèle de QoS "Hard QoS" (garantie absolue).

Analogie : C'est comme réserver une voie d'autoroute entière pour votre ambulance, à l'avance.

Protocole : RSVP (Resource Reservation Protocol)

Avec IntServ, l'application (ex: un téléphone VoIP) doit demander (réserver) explicitement la bande passante dont elle a besoin à tous les routeurs sur le chemin.

1. [App VoIP] -> (RSVP) -> [R1, R2, R3] :
   "J'ai besoin de 128 Kbps en priorité."

2. [R1, R2, R3] (vérifient s'ils ont la capacité) -> [App VoIP] :
   "OK, 128 Kbps réservés pour vous."
Inconvénient (Non-Scalabilité)

Ce modèle a échoué car il n'est pas scalable. Chaque routeur doit maintenir un état (state) pour chaque flux individuel (chaque appel téléphonique). Sur Internet (des millions de flux), c'est impossible.

2.3 Modèle 3 : DiffServ (Differentiated Services) (Moderne)

DiffServ (Services Différenciés) est le modèle de QoS moderne et scalable. C'est un modèle "Soft QoS" (basé sur la confiance et la priorisation, pas la réservation).

Analogie : C'est le système de "voies réservées" (Ambulance, Bus, Covoiturage). Le trafic est "marqué" à l'entrée, et les routeurs sur le chemin "font confiance" à ce marquage.

Fonctionnement (PHB)

DiffServ est "stateless" (pour le routeur). Les routeurs ne suivent pas les flux, ils regardent juste l'étiquette (le marquage) de chaque paquet.

  • Le marquage (étiquette) est le champ DSCP (Differentiated Services Code Point) dans l'en-tête IP (voir 3.3).
  • Chaque routeur applique un PHB (Per-Hop Behavior) (un comportement) basé sur la valeur DSCP (ex: "DSCP 46 (EF) ? -> Mettre dans la file prioritaire").
3.1 Étape 1 : Classification

La Classification est le processus d'identification du trafic, généralement effectué par le premier routeur/switch (le "Trust Boundary") à l'entrée du réseau.

Classification L3/L4 (ACL)

La méthode la plus courante. On utilise des ACLs (Access Control Lists) pour identifier le trafic basé sur le 5-Tuple (IPs/Ports).

(Exemple Cisco MQC)
! On crée une "class-map" pour matcher le trafic

! Classifie la VoIP (SIP/RTP)
class-map match-any VOIP_TRAFFIC
  match protocol rtp
  match protocol sip

! Classifie le trafic Web
class-map match-any WEB_TRAFFIC
  match protocol tcp port 80
  match protocol tcp port 443
Classification L7 (NBAR)

Problème : Beaucoup d'applications (ex: BitTorrent, Skype) utilisent des ports aléatoires (ou le 443) pour échapper au filtrage L4.

Solution : NBAR (Network Based Application Recognition) (Cisco) ou DPI (Deep Packet Inspection).

Le routeur inspecte le payload (L7) du paquet pour identifier l'application par sa signature.

(Exemple Cisco MQC)
class-map match-any SKYPE_TRAFFIC
  match protocol skype

class-map match-any BITTORRENT_TRAFFIC
  match protocol bittorrent
3.2 Étape 2 : Marquage (CoS vs DSCP)

Une fois le trafic classifié, on doit le "marquer" (l'étiqueter). On le fait à la Couche 2 (CoS) ou à la Couche 3 (DSCP).

CritèreCoS (Class of Service)DSCP (Differentiated Services Code Point)
Couche OSICouche 2 (Liaison)Couche 3 (Réseau)
Où ?Dans le Tag 802.1Q (VLAN) (champ PCP).Dans l'En-tête IP (champ ToS/DiffServ).
Taille3 bits (0-7)6 bits (0-63)
PersistanceNon (Perdu). Le tag 802.1Q est retiré au passage d'un routeur.Oui (End-to-End). L'en-tête IP voyage de la source à la destination finale.
UsagePriorisation interne au LAN (entre switchs).Standard de QoS (WAN/Internet).

Bonne Pratique (Trust Boundary) : Le switch d'accès (L2) "fait confiance" au marquage CoS d'un téléphone IP, puis mappe (convertit) cette valeur CoS en une valeur DSCP (L3) avant de l'envoyer au routeur.

3.3 Détail : DSCP & PHB

DSCP (Differentiated Services Code Point) est le champ de 6 bits dans l'en-tête IP utilisé par le modèle DiffServ. (Il remplace l'ancien champ "IP Precedence" de 3 bits).

La valeur DSCP (0-63) indique au routeur quel PHB (Per-Hop Behavior) (comportement) appliquer au paquet.

PHB (Comportements) Communs
PHB (Nom)Valeur DSCPBinaireUsage
Best-Effort (BE)CS0 (0)000000Défaut. Trafic non prioritaire (Email, FTP).
Expedited Forwarding (EF)EF (46)101110Priorité Absolue. (VoIP). Faible latence, faible gigue, faible perte.
Assured Forwarding (AF)AFxy(xxyy10)Trafic prioritaire (mais pas temps réel). (ex: Vidéo, App Métier).
Class Selector (CS)CSx(xxx000)Rétrocompatibilité avec "IP Precedence".
Assured Forwarding (AF) en détail

AF (ex: AF31) combine une Classe (x) et une Priorité de "Drop" (y).

  • Classe 1 (AF1x) < Classe 2 (AF2x) < Classe 4 (AF4x) (Priorité de bande passante)
  • Drop 1 (y=1) < Drop 2 (y=2) < Drop 3 (y=3) (Agressivité du WRED)
4.1 Queuing : FIFO (First-In, First-Out)

Le Queuing (Gestion des files d'attente) est la Gestion de la Congestion. Quand un routeur ne peut pas envoyer un paquet immédiatement (lien WAN saturé), il le place dans une "queue" (buffer).

FIFO (First-In, First-Out)

C'est la file d'attente par défaut (associée au "Best-Effort"). Elle est "stupide".

Le premier paquet arrivé (In) est le premier paquet à sortir (Out). Il n'y a aucune priorisation.

File d'attente (Buffer) :
[ Pkt 1 (Email) ] [ Pkt 2 (Email) ] [ Pkt 3 (VoIP) ] [ Pkt 4 (FTP) ]
     ↑                                                       ↑
   Sortie                                                  Entrée
(Vers WAN)

Résultat : Le paquet VoIP (Pkt 3) est "bloqué" derrière
deux gros paquets Email. -> Latence + Jitter.
4.2 Queuing : WFQ & CBWFQ
WFQ (Weighted Fair Queuing)

File d'attente "équitable". Au lieu d'une seule file FIFO, le routeur crée une file (dynamique) par flux (flow) (par 5-Tuple).

Il sert ensuite ces files en mode "Round Robin" (tourniquet), en donnant plus de "poids" (Weight) aux flux ayant une priorité IP Precedence/DSCP plus élevée.

Avantage : Un gros flux (FTP) ne peut pas "affamer" (starve) un petit flux (SSH).

CBWFQ (Class-Based Weighted Fair Queuing)

C'est le standard moderne. Au lieu de se baser sur des *flux*, il se base sur des Classes (définies par l'admin, ex: "Classe WEB", "Classe FTP").

Vous pouvez garantir un certain pourcentage de la bande passante à chaque classe.

Lien WAN : 100 Mbps

Configuration CBWFQ :
- Classe A (Critique) : Garantie de 50% (50 Mbps)
- Classe B (Normal) : Garantie de 30% (30 Mbps)
- Classe C (Défaut) : Garantie de 20% (20 Mbps)
4.3 Queuing : LLQ (Low Latency Queuing)

Problème du CBWFQ : C'est "équitable" (Fair), mais la VoIP n'a pas besoin d'équité, elle a besoin de priorité absolue.

LLQ (CBWFQ + Priority Queue)

LLQ (Low Latency Queuing) est la solution. C'est du CBWFQ auquel on ajoute une Priority Queue (PQ) (File Prioritaire).

Fonctionnement

Le planificateur (Scheduler) du routeur suit cette règle :

"TOUJOURS servir la file prioritaire (PQ) en premier, jusqu'à ce qu'elle soit vide. Ensuite, s'il reste de la bande passante, la distribuer équitablement (CBWFQ) aux autres classes."

File 1 (PQ / LLQ) -> [ VoIP (EF) ] -> (Servi en 1er)
File 2 (CBWFQ)    -> [ Web (AF21) ]
File 3 (CBWFQ)    -> [ Email (BE) ]

Attention : On doit policer (limiter) la file PQ (ex: 10% de la bande passante), sinon la VoIP (si trop importante) pourrait "affamer" (starve) tout le reste du trafic.

5.1 Évitement : Tail Drop vs WRED
Le Problème : Tail Drop & TCP Global Sync

Tail Drop est le comportement par défaut de toutes les files (FIFO, CBWFQ...). Lorsque la file d'attente (buffer) est pleine, tous les nouveaux paquets sont rejetés (dropped).

Problème (TCP Global Sync) : Si la file est pleine, elle rejette les paquets de tous les flux TCP en même temps. Tous les flux TCP entrent alors en "TCP Slow Start" (ralentissement) simultanément. La file se vide, puis tous les flux TCP ré-accélèrent en même temps, remplissant la file à nouveau. Le débit oscille (pics et creux).

Solution : WRED (Weighted Random Early Detection)

WRED (Évitement de Congestion) est une technique qui anticipe la congestion.

Au lieu d'attendre que la file soit 100% pleine, WRED commence à rejeter aléatoirement quelques paquets avant qu'elle ne soit pleine (ex: quand elle atteint 70%).

Résultat : Seuls *quelques* flux TCP ralentissent (ceux dont les paquets ont été "choisis" pour être droppés). Les autres continuent. Cela évite la "Synchronisation Globale" et maintient un débit moyen plus stable.

"Weighted" (Pondéré) signifie qu'il rejette plus agressivement les paquets à faible priorité (ex: DSCP AF13) que les paquets à haute priorité (ex: DSCP AF11).

5.2 Conditioning : Policing

Le Policing (Contrôle) est une fonction qui force le respect d'un débit (limite). Il est souvent appliqué au trafic entrant (Inbound).

Analogie : Un péage. Si vous arrivez trop vite (dépassement du débit), le policier vous arrête (Drop) ou vous donne une amende (Re-mark).

Token Bucket (Seau à Jetons)

Utilise un "Token Bucket" : la "rafale" (Burst) est autorisée tant qu'il y a des "jetons" dans le seau. Si le seau est vide, le trafic est "non-conforme".

Action (Violation)

Quand le trafic dépasse le débit autorisé (CIR - Committed Information Rate) :

  • Drop (Rejeter) : (Le plus courant) Le paquet est jeté.
  • Re-Mark (Re-marquer) : Le paquet n'est pas jeté, mais sa priorité est dégradée (ex: Marqué AF11 -> Re-marqué BE).
5.3 Conditioning : Shaping

Le Shaping (Façonnage) est une fonction qui lisse le trafic pour respecter un débit. Il est appliqué au trafic sortant (Outbound).

Analogie : Un entonnoir. Si vous versez l'eau (trafic) trop vite, l'entonnoir (Shaper) ne la jette pas (Drop) ; il la stocke (Buffer) et la laisse s'écouler au débit maximum (CIR).

Action (Violation)

Quand le trafic dépasse le débit autorisé (CIR) :

  • Buffer (Mettre en file d'attente) : Le paquet est mis en attente (dans une queue) et sera envoyé dès que la bande passante sera disponible.

Inconvénient : Le Shaping introduit de la Latence et de la Gigue (Jitter), car les paquets sont retardés. (À ne pas utiliser sur la VoIP, mais utile pour lisser les gros transferts FTP).

6.1 Cas d'Usage : QoS pour la VoIP

La VoIP (Voix sur IP) est le trafic le plus sensible. Il ne tolère aucune perte, peu de latence (< 150ms) et très peu de gigue (< 30ms).

Configuration QoS (Stratégie complète)
  1. Classification (Entrée LAN) : Identifier le trafic VoIP.
    • (Méthode 1) Faire confiance au CoS 5 (802.1p) venant du Téléphone IP (Voice VLAN).
    • (Méthode 2) Utiliser une ACL (match udp port 5060 pour SIP, match rtp 16384-32767 pour la Voix).
  2. Marquage (Entrée LAN) :
    • Marquer ce trafic avec DSCP EF (46).
  3. Queuing (Sortie WAN) :
    • Configurer LLQ (Low Latency Queuing).
    • Mettre la classe "DSCP EF" dans la File Prioritaire (Priority Queue).
  4. Policing (LLQ) :
    • Limiter (Police) la file PQ à 20% de la bande passante WAN (pour éviter le "starvation").
6.2 Cas d'Usage : Wi-Fi (WMM / 802.11e)

Le Wi-Fi (média partagé, CSMA/CA) a son propre mécanisme de QoS, appelé WMM (Wi-Fi Multimedia) ou IEEE 802.11e.

Il ne garantit rien, mais il "triche" au CSMA/CA (voir guide WLAN) pour donner la priorité à certains types de trafic.

Les 4 Catégories d'Accès (AC)

WMM divise le trafic en 4 files (AC), par ordre de priorité décroissante. Le trafic de haute priorité (Voix) utilise des timers d'attente plus courts (il "parle" en premier).

PrioritéAC (Nom)UsageMappage DSCP
1 (Max)AC_VO (Voice)VoIPEF (46)
2AC_VI (Video)VisioconférenceAF41
3 (Défaut)AC_BE (Best Effort)Trafic normal (Web, Email)CS0 (0)
4 (Min)AC_BK (Background)Backups, TéléchargementsCS1
6.3 Cas d'Usage : QoS sur MPLS

La QoS est un argument de vente majeur du MPLS (WAN Entreprise).

DSCP (L3) -> EXP (L2.5)

Quand un paquet IP (Couche 3) entre dans le réseau MPLS, il est encapsulé dans une trame MPLS (Couche 2.5). L'en-tête IP (et le marquage DSCP) n'est plus visible par les routeurs MPLS.

Pour préserver la QoS, le routeur d'entrée (Provider Edge) mappe (copie) la valeur DSCP (L3) dans le champ EXP (Experimental) (3 bits) de l'en-tête MPLS.

[ Paquet IP (DSCP: 46) ]
    │
    ▼
[ Routeur Entrée MPLS ]
(Mappe 46 -> 5)
    │
    ▼
[ Trame MPLS (EXP: 5) | Paquet IP (DSCP: 46) ] -> (Réseau FAI)

Les routeurs du FAI utilisent alors le champ EXP (3 bits, 0-7) pour appliquer la QoS (similaire au CoS).

7.1 Outils : Cisco MQC (Modular QoS CLI)

Le MQC est le framework de configuration de la QoS sur les routeurs/switchs Cisco (IOS).

Il se fait en 3 étapes :

1. class-map (Classifier)

Définir le trafic.

class-map VOIP
  match ip dscp ef
class-map WEB
  match protocol http
  match protocol https
2. policy-map (Manager)

Définir les actions (Queuing, Policing) pour chaque classe.

policy-map QOS-SORTIE-WAN
  ! Classe LLQ
  class VOIP
    priority percent 20  (File prioritaire, max 20%)
  
  ! Classe CBWFQ
  class WEB
    bandwidth percent 30  (Garantie de 30%)
    
  ! Classe par défaut (FIFO)
  class class-default
    fair-queue
3. service-policy (Appliquer)

Attacher la politique à une interface.

interface GigabitEthernet0/1 (Vers le FAI)
  service-policy output QOS-SORTIE-WAN
7.2 Cheat-sheet : Valeurs DSCP & PHB

Mapping des valeurs DSCP (Differentiated Services Code Point) et des PHB (Per-Hop Behaviors).

PHB (Comportement)Nom DSCPValeur (Dec)Usage Recommandé
Expedited Forwarding (Priorité Absolue)EF46VoIP (RTP)
Assured Forwarding 4AF41, AF42, AF4334, 36, 38Visioconférence (Streaming)
Assured Forwarding 3AF31, AF32, AF3326, 28, 30Applications Métier (Critique)
Assured Forwarding 2AF21, AF22, AF2318, 20, 22Applications Métier (Normal)
Assured Forwarding 1AF11, AF12, AF1310, 12, 14Trafic "haute priorité" (ex: Web)
Best EffortBE (CS0)0Défaut (Email, FTP, tout le reste)
Class Selector 1CS1 (Scavenger)8Trafic "poubelle" (ex: BitTorrent, Mises à jour Windows)
Class Selector (Contrôle)CS6, CS748, 56Trafic de routage (OSPF, BGP) (Très haute priorité)
7.3 Cheat-sheet : Policing vs. Shaping
CritèrePolicing (Contrôle)Shaping (Façonnage)
ObjectifLimiter (Faire respecter)Lisser (Retarder)
Action (si dépassement)Drop (Rejette) ou Re-mark (Dégrade)Buffer (Met en file d'attente)
ImpactPerte (Loss)Latence & Gigue (Jitter)
OutilSeau à jetons (Token Bucket)Seau à jetons (Token Bucket) + Buffer
Direction typiqueEntrant (Inbound)Sortant (Outbound)
AnalogiePéage (Stop ou Amende)Entonnoir (Stocke et lisse)