Aller au contenu principal

1. Introduction

Les services différenciés (Differentiated Services) visent à fournir un cadre et des blocs de construction pour permettre le déploiement d'une discrimination de service évolutive dans Internet. L'approche des services différenciés vise à accélérer le déploiement en séparant l'architecture en deux composants principaux, dont l'un est assez bien compris et l'autre commence tout juste à être compris. En cela, nous sommes guidés par la conception originale d'Internet où la décision a été prise de séparer les composants de transmission et de routage. La transmission de paquets est la tâche relativement simple qui doit être effectuée sur une base par paquet aussi rapidement que possible. La transmission utilise l'en-tête du paquet pour trouver une entrée dans une table de routage qui détermine l'interface de sortie du paquet. Le routage définit les entrées de cette table et peut avoir besoin de refléter une gamme de politiques de transit et autres ainsi que de suivre les défaillances de route. Les tables de routage sont maintenues en tant que processus d'arrière-plan de la tâche de transmission. De plus, le routage est la tâche la plus complexe et il a continué à évoluer au cours des 20 dernières années.

De manière analogue, l'architecture des services différenciés contient deux composants principaux. L'un est le comportement assez bien compris dans le chemin de transmission et l'autre est le composant de politique et d'allocation d'arrière-plan plus complexe et encore émergent qui configure les paramètres utilisés dans le chemin de transmission. Les comportements du chemin de transmission incluent le traitement différentiel qu'un paquet individuel reçoit, tel qu'implémenté par des disciplines de service de file d'attente et/ou des disciplines de gestion de file d'attente. Ces comportements par saut (Per-Hop Behaviors, PHB) sont utiles et requis dans les nœuds réseau pour fournir un traitement différencié des paquets, quelle que soit la manière dont nous construisons les services de bout en bout ou intra-domaine. Notre attention se porte sur la sémantique générale des comportements plutôt que sur les mécanismes spécifiques utilisés pour les implémenter, car ces comportements évolueront moins rapidement que les mécanismes.

Les comportements par saut et les mécanismes pour les sélectionner sur une base par paquet peuvent être déployés dans les nœuds réseau aujourd'hui et c'est cet aspect de l'architecture des services différenciés qui est abordé en premier. De plus, le chemin de transmission peut nécessiter qu'une certaine surveillance, un certain contrôle et une certaine mise en forme soient effectués sur le trafic réseau désigné pour un traitement « spécial » afin d'appliquer les exigences associées à la fourniture du traitement spécial. Les mécanismes pour ce type de conditionnement de trafic (Traffic Conditioning) sont également assez bien compris. Le déploiement généralisé de tels conditionneurs de trafic est également important pour permettre la construction de services, bien que leur utilisation réelle dans la construction de services puisse évoluer avec le temps.

La configuration des éléments réseau en ce qui concerne les paquets qui reçoivent un traitement spécial et les types de règles à appliquer à l'utilisation des ressources est beaucoup moins bien comprise. Néanmoins, il est possible de déployer des services différenciés utiles dans les réseaux en utilisant des politiques simples et des configurations statiques. Comme décrit dans [ARCH], il existe plusieurs façons de composer des comportements par saut et des conditionneurs de trafic pour créer des services. Dans le processus, une expérience supplémentaire est acquise qui guidera des politiques et des allocations plus complexes. Les comportements de base dans le chemin de transmission peuvent rester les mêmes pendant que ce composant de l'architecture évolue. Les expériences avec la construction de tels services se poursuivront pendant un certain temps, nous évitons donc de normaliser cette construction car elle est prématurée. De plus, une grande partie des détails de la construction de services est couverte par des accords juridiques entre différentes entités commerciales et nous évitons cela car c'est très en dehors du champ d'application de l'IETF.

Ce document se concentre sur le composant du chemin de transmission. Dans le chemin de transmission de paquets, les services différenciés sont réalisés en mappant le point de code (Codepoint) contenu dans un champ de l'en-tête de paquet IP à un traitement de transmission particulier, ou comportement par saut (PHB), à chaque nœud réseau le long de son chemin. Les points de code peuvent être choisis parmi un ensemble de valeurs obligatoires définies plus tard dans ce document, parmi un ensemble de valeurs recommandées à définir dans de futurs documents, ou peuvent avoir une signification purement locale. Les PHB devraient être implémentés en utilisant une gamme de disciplines de service de file d'attente et/ou de gestion de file d'attente sur la file d'attente d'interface de sortie d'un nœud réseau : par exemple, le service de file d'attente en tourniquet pondéré (WRR, Weighted Round-Robin) ou la gestion de file d'attente avec préférence de rejet.

Le marquage est effectué par des conditionneurs de trafic aux limites du réseau, y compris les bords du réseau (routeur de premier saut ou hôte source) et les limites administratives. Les conditionneurs de trafic peuvent inclure les primitives de marquage, de mesure, de contrôle et de mise en forme (ces mécanismes sont décrits dans [ARCH]). Les services sont réalisés par l'utilisation de mécanismes particuliers de classification de paquets et de conditionnement de trafic aux limites couplés avec la concaténation de comportements par saut le long du chemin de transit du trafic. Un objectif de l'architecture des services différenciés est de spécifier ces blocs de construction pour une extensibilité future, à la fois du nombre et du type de blocs de construction et des services construits à partir d'eux.

La terminologie utilisée dans ce mémo est définie dans la Sec. 2. La définition du champ de services différenciés (champ DS) est donnée dans la Sec. 3. Dans la Sec. 4, nous discutons du désir de compatibilité ascendante partielle avec l'utilisation actuelle du champ de priorité IPv4 (Precedence). Comme solution, nous introduisons les points de code de sélecteur de classe (Class Selector Codepoints) et les PHB conformes au sélecteur de classe (Class Selector Compliant PHBs). La Sec. 5 présente les directives pour la normalisation des comportements par saut. La Sec. 6 discute des directives pour l'allocation des points de code. La Sec. 7 couvre les considérations de sécurité.

Ce document est une description concise du champ DS et de ses utilisations. Il est destiné à être lu avec l'architecture des services différenciés [ARCH].

Les mots-clés « doit (MUST) », « ne doit pas (MUST NOT) », « requis (REQUIRED) », « doit (SHALL) », « ne doit pas (SHALL NOT) », « devrait (SHOULD) », « ne devrait pas (SHOULD NOT) », « recommandé (RECOMMENDED) », « peut (MAY) » et « optionnel (OPTIONAL) » dans ce document doivent être interprétés comme décrit dans [RFC2119].