La Class of Service (CoS), ou classe de service, est, dans les réseaux informatiques et les télécommunications, un mécanisme de différenciation du trafic consistant à regrouper des flux dans des classes de traitement. Ces classes permettent d'appliquer des priorités ou des politiques distinctes selon les exigences des applications, par exemple en matière de latence, de gigue, de perte de paquets ou de bande passante.

Le terme est utilisé de manière variable selon les contextes. Dans un sens large, il renvoie à la classification du trafic et à son traitement différencié dans le cadre de la qualité de service (QoS). Dans un sens plus restreint, notamment dans les réseaux Ethernet, il désigne souvent le marquage de priorité de couche 2 associé au champ Priority Code Point (PCP) de la norme IEEE 802.1Q.. Dans les réseaux IP modernes, la notion est généralement articulée avec l'architecture DiffServ, qui repose sur le marquage des paquets et leur traitement par classes de service..

Définition et terminologie Une classe de service regroupe des flux réseau présentant des caractéristiques ou des exigences similaires. Les flux de voix sur IP, de visioconférence, de signalisation réseau, de transfert de fichiers ou de sauvegarde ne réagissent pas de la même manière à la congestion : certains sont sensibles au délai et à la gigue, tandis que d'autres tolèrent un délai plus élevé mais nécessitent un débit important. La CoS permet donc d'identifier ces flux et de leur associer un traitement adapté.

La qualité de service est l'ensemble des mécanismes permettant de gérer la performance d'un réseau : classification, marquage, mise en file d'attente, ordonnancement, lissage, limitation de débit ou évitement de congestion. La CoS est souvent considérée comme l'une des composantes de cette QoS, centrée sur le regroupement du trafic en classes et, selon les cas, sur le marquage associé...

La définit une classe de service comme un ensemble de trafic nécessitant des caractéristiques déterminées de délai, de perte et de gigue. Elle précise également qu'un réseau n'implémente généralement qu'un nombre limité de classes réellement utiles, plutôt que toutes les valeurs théoriquement disponibles dans les champs de marquage..

Principes généraux Le fonctionnement de la CoS repose sur trois étapes principales : la classification, le marquage et le traitement différencié.

La classification consiste à identifier un flux selon des critères comme l'adresse IP source ou destination, le port de transport, le protocole, l'application, l'interface d'entrée ou une marque déjà présente dans l'en-tête. Le marquage consiste ensuite à inscrire une valeur dans un champ prévu à cet effet, par exemple le PCP en Ethernet, le DSCP en IP ou le champ Traffic Class en MPLS. Enfin, le traitement différencié applique à chaque classe une politique particulière : priorité plus élevée, file dédiée, limitation de débit, rejet préférentiel ou protection contre la congestion.

La CoS ne crée pas de capacité réseau supplémentaire. Elle permet seulement de répartir différemment les ressources disponibles. Son efficacité dépend donc de la capacité du réseau, de la cohérence du marquage et de la configuration des équipements traversés.

Mécanismes de marquage

Couche 2 : IEEE 802.1Q et 802.1p Dans les réseaux Ethernet, la priorité de couche 2 est portée par le champ Priority Code Point (PCP) de l'étiquette IEEE 802.1Q. vignette|alt=Schéma montrant l'insertion de l'étiquette IEEE 802.1Q dans une trame Ethernet et la position du champ PCP dans le TCI.|Structure d'une trame Ethernet avec étiquette IEEE 802.1Q. Le champ PCP, codé sur 3 bits dans le TCI, indique une priorité de couche 2 utilisée dans les mécanismes de classe de service. Ce champ occupe 3 bits et permet donc de représenter 8 valeurs de priorité, numérotées de 0 à 7.

Le terme IEEE 802.1p est couramment utilisé pour désigner ce mécanisme de priorité, bien qu'il ne corresponde plus, dans les documents modernes, à une norme autonome séparée. Il est intégré à la norme IEEE 802.1Q relative aux réseaux locaux virtuels (VLAN).

Les valeurs PCP sont souvent associées aux usages suivants, même si leur interprétation exacte peut varier selon les constructeurs et les politiques d'administration du réseau :

+ Valeurs courantes du champ PCP IEEE 802.1Q Valeur PCP Usage courant 0 Best effort ; trafic par défaut 1 Trafic de fond ou de faible priorité 2 Trafic avec effort supérieur au trafic de fond 3 Applications critiques 4 Vidéo ou trafic interactif sensible au délai 5 Voix ou trafic temps réel 6 Contrôle interréseau 7 Contrôle réseau

Ce marquage est limité au domaine de couche 2 dans lequel les trames Ethernet conservent leur étiquette VLAN. Lorsqu'un paquet traverse un routeur ou sort du domaine Ethernet marqué, l'information PCP peut être perdue si elle n'est pas explicitement traduite vers un marquage de couche 3, comme le DSCP.

Couche 3 : DSCP et IP Precedence Dans les réseaux IP, le principal mécanisme de marquage est le Differentiated Services Code Point (DSCP), défini par la . Le DSCP occupe les 6 premiers bits du champ DS de l'en-tête IPv4 ou du champ Traffic Class de l'en-tête IPv6.. Les 2 bits restants sont utilisés pour l'Explicit Congestion Notification (ECN), défini par la ..

Le DSCP permet 64 valeurs possibles. Les principales familles de comportements sont : Default Forwarding : traitement par défaut, généralement associé au trafic best effort ; Class Selector (CS0 à CS7) : valeurs assurant une compatibilité avec l'ancien champ IP Precedence ; Assured Forwarding (AF) : ensemble de classes définies par la , combinant plusieurs classes de service avec plusieurs niveaux de priorité de rejet. ; Expedited Forwarding (EF) : comportement destiné aux flux nécessitant un délai, une gigue et une perte faibles, défini par la . ; Voice-Admit : codepoint destiné au trafic voix admis par contrôle de capacité, défini par la . ; Lower-Effort (LE) : comportement de priorité inférieure au best effort, défini par la ..

Le champ DSCP est plus adapté que le PCP pour le transport de l'information de classe entre routeurs IP, car il est présent dans l'en-tête IP et peut donc être conservé au-delà d'un simple domaine Ethernet.

MPLS Traffic Class Dans les réseaux MPLS, la différenciation de service peut être portée par le champ de 3 bits situé dans l'entrée de pile d'étiquettes MPLS. Ce champ était historiquement appelé EXP. La a renommé ce champ en Traffic Class (TC), afin d'éviter l'idée erronée d'un champ expérimental..

La définit la prise en charge de DiffServ dans les réseaux MPLS. Elle décrit notamment la manière dont les comportements DiffServ peuvent être transportés dans un domaine MPLS, soit au moyen du champ TC, soit par l'association entre l'étiquette MPLS et une classe de service..

Comme le champ TC ne comporte que 3 bits, il ne peut représenter que 8 valeurs. Les correspondances entre DSCP, PCP et MPLS TC doivent donc être définies par des politiques de mappage aux frontières du domaine MPLS.

Mise en correspondance entre couches Un même flux peut traverser plusieurs domaines utilisant des mécanismes de marquage différents. Par exemple, un paquet peut être marqué en PCP dans un réseau Ethernet, en DSCP dans un réseau IP, puis en TC dans un réseau MPLS. Les équipements réseau effectuent alors des opérations de mappage entre ces valeurs.

Un exemple courant consiste à traduire une priorité PCP de couche 2 en valeur DSCP lorsqu'un paquet entre dans un domaine IP, puis à traduire ce DSCP en valeur MPLS TC lorsqu'il entre dans un cœur MPLS. En sortie du domaine, l'opération inverse peut être réalisée afin de préserver une cohérence de traitement.

Ces correspondances ne sont pas universelles. Elles dépendent des politiques de l'opérateur, de l'entreprise ou du domaine administratif concerné. La rappelle que les valeurs DSCP peuvent être modifiées, effacées ou remappées à la frontière des domaines réseau, ce qui limite la portée d'un marquage supposé de bout en bout..

Traitement différencié Une fois le trafic classifié et marqué, les équipements réseau peuvent appliquer plusieurs mécanismes complémentaires.

La mise en file d'attente consiste à placer les paquets dans des files différentes selon leur classe. Certaines files peuvent être servies en priorité stricte, tandis que d'autres reçoivent une part pondérée de la capacité disponible. Des mécanismes comme le Weighted Fair Queuing (WFQ), le Weighted Round Robin (WRR), le Class-Based Weighted Fair Queuing (CBWFQ) ou le Low Latency Queuing (LLQ) sont utilisés dans de nombreux équipements réseau.

Le lissage du trafic, ou shaping, consiste à retarder certains paquets afin de maintenir le trafic sous un débit cible. Le contrôle de débit, ou policing, consiste au contraire à rejeter ou remarquer les paquets qui dépassent un profil défini. Les mécanismes d'évitement de congestion, comme RED ou WRED, peuvent supprimer certains paquets avant la saturation complète d'une file afin de limiter la congestion.

La propose un modèle fonctionnel des routeurs DiffServ, comprenant notamment les classifieurs, compteurs, marqueurs, files, ordonnanceurs et mécanismes de suppression de paquets..

Architectures de qualité de service

Services intégrés Le modèle des services intégrés (IntServ) est défini par la . Il repose sur l'idée de réserver explicitement des ressources pour des flux déterminés, notamment au moyen du protocole RSVP, défini par la ...

Ce modèle permet des garanties plus strictes, mais il nécessite de maintenir un état par flux dans les équipements réseau. Cette contrainte limite son passage à l'échelle dans les grands réseaux IP..

Services différenciés Le modèle des services différenciés (DiffServ) est défini par la . Contrairement à IntServ, il ne maintient pas un état pour chaque flux dans le cœur du réseau. Les paquets sont marqués à l'entrée d'un domaine, puis traités à chaque saut selon un comportement appelé Per-Hop Behavior (PHB).

DiffServ est devenu le modèle dominant pour la QoS dans les réseaux IP d'entreprise et d'opérateur, car il agrège les flux en classes plutôt que de gérer chaque flux individuellement. Cette approche est plus simple à faire évoluer dans les grands réseaux.

Cas d'usage La Class of Service est utilisée dans de nombreux environnements où plusieurs types de trafic partagent une même infrastructure.

La voix sur IP est l'un des cas les plus classiques. Elle nécessite un délai faible, une gigue limitée et un faible taux de perte. Elle est donc souvent associée à des classes de priorité élevée, comme EF ou Voice-Admit dans les environnements DiffServ.

La visioconférence, le streaming interactif et certains flux multimédias peuvent également bénéficier d'un traitement différencié, en particulier lorsque la congestion réseau risque d'entraîner des interruptions visibles ou audibles. Les applications transactionnelles critiques, les systèmes de supervision, les flux de contrôle réseau ou les applications industrielles peuvent aussi recevoir des classes spécifiques.

Dans les réseaux d'opérateurs, la CoS permet de mutualiser une infrastructure tout en proposant plusieurs niveaux de service. Elle est notamment utilisée dans les réseaux MPLS, les VPN d'entreprise, les réseaux de transport Ethernet, les architectures SD-WAN et certains environnements SASE.

Limites et enjeux de déploiement La CoS ne garantit pas automatiquement une qualité de service de bout en bout. Un marquage n'a de valeur que si les équipements traversés le reconnaissent et appliquent une politique cohérente. Lorsqu'un paquet passe d'un domaine administratif à un autre, son marquage peut être conservé, modifié ou supprimé.