Ignorer les liens de navigation | |
Quitter l'aperu | |
![]() |
Gestion d'IPQoS (IP Quality of Service) dans Oracle Solaris 11.1 Oracle Solaris 11.1 Information Library (Français) |
1. Présentation d'IPQoS (généralités)
2. Planification d'un réseau IPQoS (tâches)
3. Création du fichier de configuration IPQoS (tâches)
4. Démarrage et maintenance d'IPQoS (tâches)
5. Utilisation de la comptabilisation des flux et de la collecte statistique (tâches)
6. IPQoS en détails (référence)
Architecture IPQoS et modèle Diffserv
Configuration du tokenmt en tant que compteur à débit simple
Configuration du tokenmt en tant que compteur à débit double
Configuration du module tokenmt en mode de reconnaissance des couleurs
Utilisation du marqueur dscpmk pour la transmission des paquets
PHB Expedited Forwarding (EF) (traitement accéléré)
PHB Assured Forwarding (AF) (traitement assuré)
Fourniture d'un DSCP au marqueur
Utilisation du marqueur dlcosmk avec les périphériques VLAN
Configuration IPQoS pour les systèmes comportant des périphériques VLAN
Fichier de configuration IPQoS
Cette section décrit l'architecture IPQoS et la manière dont IPQoS implémente le modèle de services différenciés (Diffserv) défini par le document RFC 2475, An Architecture for Differentiated Services (en anglais). Les éléments suivants du modèle Diffserv sont inclus dans IPQoS :
Classificateur
Compteur
Marqueur
Par ailleurs, IPQoS inclut le module de comptabilisation des flux et le marqueur dlcosmk utilisé avec les périphériques VLAN (réseau local virtuel).
Dans le modèle Diffserv, le classificateur est chargé d'organiser les flux de trafic sélectionnés en groupes auxquels s'appliquent différents niveaux de service. Les classificateurs définis dans le document RFC 2475 ont été initialement conçus pour les routeurs de bordure. En revanche, le classificateur IPQoS ipgpc est destiné à traiter les flux de trafic pour les hôtes internes au réseau local. En conséquence, un réseau doté de systèmes IPQoS et d'un routeur Diffserv peut fournir un niveau supérieur de services différenciés. Pour obtenir une description technique du classificateur ipgpc, reportez-vous à la page de manuel ipgpc (7ipp).
Le classificateur ipgpc effectue les opérations suivantes :
Sélection des flux de trafic répondant aux critères spécifiés dans le fichier de configuration IPQoS sur le système IPQoS
La stratégie QoS définit les différents critères obligatoirement présents dans les en-têtes de paquets. Ces critères sont appelés sélecteurs. Le classificateur ipgpc compare ces sélecteurs aux en-têtes de paquets reçus par le système IPQoS. ipgpc sélectionne ensuite tous les paquets correspondants.
Séparation des flux de paquets en classes : trafic réseau dont les caractéristiques sont identiques comme indiqué dans le fichier de configuration IPQoS
Examen de la valeur du champ de services différenciés (DS) du paquet grâce à la présence d'un point de code de services différenciés ou DSCP
La présence du DSCP indique si l'expéditeur a prévu un comportement de transmission pour le trafic entrant.
Définition de l'action supplémentaire spécifiée dans le fichier de configuration IPQoS pour les paquets d'une classe particulière
Transmission des paquets au module IPQoS suivant indiqué dans le fichier de configuration IPQoS ou renvoi des paquets dans le trafic réseau
Pour obtenir des informations générales sur le classificateur, reportez-vous à la section Présentation du classificateur (ipgpc). Pour plus d'informations sur l'appel du classificateur dans le fichier de configuration IPQoS, reportez-vous à la section Fichier de configuration IPQoS.
Le classificateur ipgpc prend en charge un grand nombre de sélecteurs que vous pouvez utiliser dans la clause filter du fichier de configuration IPQoS. Lorsque vous définissez un filtre, veillez à n'utiliser que le minimum de sélecteurs nécessaire à la récupération du trafic d'une classe particulière. Le nombre de filtres défini peut avoir des conséquences sur les performances du protocole IPQoS.
Le tableau suivant dresse la liste des sélecteurs disponibles pour ipgpc.
Tableau 6-1 Sélecteurs de filtre pour le classificateur IPQoS
|
Le compteur permet de suivre le taux de transmission des flux exprimé en nombre de paquets. Le compteur détermine si le paquet est conforme aux paramètres configurés. Le module de mesure détermine l'action suivante à entreprendre pour un paquet provenant d'un jeu d'actions en fonction de la taille du paquet, des paramètres configurés et du débit du flux.
Le compteur comprend deux modules de mesure, tokenmt et tswtclmt, que vous définissez dans le fichier de configuration IPQoS. Vous pouvez configurer l'un des deux modules ou les deux modules pour une classe donnée.
Lorsque vous configurez un module de mesure, vous pouvez définir deux paramètres pour une même vitesse de tranfert :
committed-rate : définit le taux de transmission acceptable en bits par seconde pour les paquets d'une classe particulière.
peak-rate : définit le taux de transmission maximal en bits par seconde autorisé pour les paquets d'une classe particulière.
Une action de mesure d'un paquet peut aboutir à l'un des trois résultats suivants :
green : le paquet contraint le flux à rester dans les limites du débit garanti.
yellow : le paquet contraint le flux à dépasser le débit garanti, mais pas le débit de pointe.
red : le paquet contraint le flux à dépasser le débit de pointe.
Vous pouvez associer chaque résultat à différentes actions dans le fichier de configuration IPQoS. Le débit garanti et le débit de pointe sont traités à la section suivante.
Le module tokenmt fait appel à des seaux de jetons pour mesurer le taux de transmission d'un flux. Vous pouvez configurer tokenmt pour fonctionner comme un compteur à débit simple ou à débit double. Une instance d'action tokenmt gère deux seaux de jetons qui déterminent si le flux de trafic est conforme aux paramètres configurés.
La page de manuel tokenmt(7ipp) explique comment IPQoS implémente le paradigme du contrôle de jetons. Pour obtenir des informations générales sur les seaux de jetons, reportez-vous à la documentation Services différenciés pour Internet de Kalevi Kilkki et à différents sites Web.
Les paramètres de configuration de tokenmt sont les suivants :
committed_rate : spécifie le débit garanti du flux en bits par seconde.
committed_burst : spécifie la taille maximale de rafale garantie en bits. Le paramètre committed_burst définit le nombre de paquets sortants d'une classe spécifique pouvant arriver sur le réseau à un débit garanti.
peak_rate : spécifie le débit de pointe en bits par seconde.
peak_burst : spécifie la taille maximale de rafale ou de pointe en bits. Le paramètre peak_burst accorde à une classe de trafic une taille peak-burst qui dépasse le débit garanti.
color_aware : active le mode de compatibilité pour tokenmt.
color_map : définit un tableau d'entiers faisant correspondre les valeurs DSCP au vert, à l'orange et au rouge.
Pour configurer tokenmt en tant que compteur à débit simple, ne spécifiez pas le paramètre peak_rate pour tokenmt dans le fichier de configuration IPQoS. Pour configurer une instance tokenmt à débit simple afin d'obtenir un résultat rouge, vert ou orange, vous devez spécifier le paramètre peak_burst . Si vous n'utilisez pas le paramètre peak_burst, vous pouvez configurer tokenmt de sorte qu'il aboutisse seulement à un résultat rouge ou vert. Pour consulter un exemple de tokenmt à débit simple donnant lieu à deux résultats, reportez-vous à l'Exemple 3-3.
Lorsque tokenmt fonctionne comme un compteur à débit simple, le paramètre peak_burst définit, en fait, la taille de rafale excessive. Les paramètres committed_rate et committed_burst ou peak_burst doivent désigner des entiers positifs non nuls.
Pour configurer tokenmt en tant que compteur à débit double, spécifiez le paramètre peak_rate pour l'action tokenmt dans le fichier de configuration IPQoS. Un module tokenmt à débit double a toujours trois résultats : vert, rouge et orange. Les paramètres committed_rate , committed_burst et peak_burst doivent désigner des entiers positifs non nuls.
Pour configurer un module tokenmt à débit double en mode de reconnaissance des couleurs, vous devez prévoir des paramètres supplémentaires pour ajouter la fonction d'interprétation des couleurs. L'instruction suivante montre comment configurer le mode de reconnaissance des couleurs pour tokenmt.
Exemple 6-1 Action tokenmt de prise en compte des couleurs dans le fichier de configuration IPQoS
action { module tokenmt name meter1 params { committed_rate 4000000 peak_rate 8000000 committed_burst 4000000 peak_burst 8000000 global_stats true red_action_name continue yellow_action_name continue green_action_name continue color_aware true color_map {0-20,22:GREEN;21,23-42:RED;43-63:YELLOW} } }
Vous pouvez activer la fonction de reconnaissance des couleurs en définissant le paramètre color_aware sur true. En tant que module d'interprétation des couleurs, tokenmt suppose que le paquet est déjà marqué en rouge, orange ou vert par une action tokenmt précédente. Le module d'interprétation des couleurs tokenmt évalue un paquet à l'aide du DSCP figurant dans l'en-tête du paquet en plus des paramètres de compteur à débit double.
Le paramètre color_map contient un tableau auquel le DSCP de l'en-tête du paquet est lié. Considérez le tableau color_map suivant :
color_map {0-20,22:GREEN;21,23-42:RED;43-63:YELLOW}
Les paquets avec un DSCP compris entre 0 et 20 ou équivalent à 22 correspondent au vert. Les paquets avec un DSCP équivalent à 21 ou compris entre 23 et 42 correspondent au rouge. Les paquets avec un DSCP compris entre 43 et 63 sont associés à l'orange. Par défaut, tokenmt conserve une table de correspondance de couleurs. Cependant, il est possible de modifier au besoin les valeurs par défaut à l'aide des paramètres color_map.
Pour les paramètres couleur_action_name, vous pouvez spécifier continue de manière à terminer le traitement du paquet. Vous pouvez aussi ajouter un argument pour soumettre le paquet à une action de marquage, par exemple, yellow_action_name mark22.
Le module tswtclmt évalue la bande passante moyenne pour une classe de trafic en procédant à l'estimation du débit en fonction du temps. tswtclmt fonctionne toujours comme un contrôle à trois résultats. La fonction d'estimation du débit fournit une indication du taux d'arrivée du flux. Ce taux doit correspondre à la bande passante moyenne applicable à un flux de trafic sur une période de temps donnée appelée fenêtre. L'algorithme d'estimation du débit provient de la spécification RFC 2859 A Time Sliding Window Three Colour Marker.
Servez-vous des paramètres suivants pour configurer tswtclmt :
committed_rate : spécifie le taux garanti en bits par seconde.
peak_rate : spécifie le débit de pointe en bits par seconde.
window : définit la fenêtre de temps, exprimée en millisecondes pendant laquelle la bande passante moyenne est maintenue.
Pour des informations techniques sur tswtclmt, reportez-vous à la page de manuel tswtclmt(7ipp). Pour des informations générales sur les lisseurs de débits semblables à tswtclmt, reportez-vous au document RFC 2963, A Rate Adaptive Shaper for Differentiated Services (en anglais).
IPQoS comprend deux modules de marquage, dscpmk et dlcosmk. Cette section contient des informations sur l'utilisation des deux marqueurs. En théorie, vous devez utiliser dscpmk, car dlcosmk n'est disponible que pour les systèmes IPQoS et les périphériques VLAN.
Pour obtenir des informations techniques sur dscpmk, reportez-vous à la page de manuel dscpmk(7ipp). Pour des informations techniques sur dlcosmk, reportez-vous à la page de manuel dlcosmk(7ipp).
Le marqueur reçoit les flux de trafic après leur traitement par les modules de classification ou de mesure. Le marqueur associe un comportement de transmission au trafic. Ce comportement indique l'action à appliquer aux flux lorsque ces flux quittent le système IPQoS. Le comportement de transmission d'une classe de trafic est défini par le comportement par saut ou PHB. Le PHB affecte une priorité à une classe de trafic précisant les flux prioritaires de cette classe par rapport aux autres classes de trafic. Les PHB régissent uniquement les comportements de transmission sur le réseau contigu du système IPQoS. Pour plus d'informations sur les PHB, reportez-vous à la section PHB (Per-Hop Behaviors).
La transmission de paquet est le processus consistant à envoyer le trafic d'une classe particulière vers sa prochaine destination sur un réseau. Pour un hôte tel qu'un système IPQoS, un paquet est transmis de l'hôte vers le flux de réseau local. Lorsqu'il s'agit d'un routeur Diffserv, un paquet est transmis du réseau local vers le saut suivant du routeur.
Le marqueur signale dans le champ DS de l'en-tête du paquet un comportement défini dans le fichier de configuration IPQoS. Par la suite, le système IPQoS et les systèmes Diffserv suivants transmettent le trafic comme indiqué dans le champ DS jusqu'à ce que le marquage change. Pour attribuer un PHB, le système IPQoS inscrit une valeur dans le champ DS de l'en-tête du paquet. Cette valeur est appelée le point de code de services différenciés (DSCP). L'architecture Diffserv définit deux types de comportement de transmission, EF et AF, utilisant des DSCP différents. Pour plus d'informations sur les DSCP, reportez-vous à la section Point de code DS.
Le système IPQoS lit le DSCP et évalue le niveau de priorité par rapport à d'autres flux de trafic sortants. Le système IPQoS établit la priorité des flux de trafic simultanés et libère chaque flux sur le réseau en fonction de sa priorité.
Le routeur Diffserv reçoit les flux de trafic sortants et lit le champ DS dans les en-têtes de paquets. Le DSCP permet au routeur de classifier et d'ordonnancer les flux de trafic simultanés. Le routeur transmet chaque flux en fonction de la priorité indiquée par le PHB. Notez que le PHB ne peut pas être appliqué au-delà de la limite du routeur du réseau à moins que les systèmes Diffserv des pas suivants reconnaissent le même PHB.
Expedited Forwarding (EF) garantit que les paquets dotés du point de code recommandé 46 EF (101110) bénéficient du meilleur traitement disponible sur le réseau. Le service Expedited Forwarding est souvent comparé à une ligne spécialisée. Les routeurs Diffserv garantissent un traitement préférentiel aux paquets accompagnés du point de code 46 (101110) pour l'acheminement vers leur destination. Pour obtenir des informations techniques sur le service EF, reportez-vous au document RFC 2598, An Expedited Forwarding PHB.
Assured forwarding (AF) offre quatre classes de comportements de transmission applicables au marqueur. Le tableau suivant présente les classes, les trois "drop precedences" (niveaux de priorité) de chaque classe et les DSCP recommandés associés à chaque priorité. Chaque DSCP est représenté par sa valeur AF, sa valeur en notation décimale et en notation binaire.
Tableau 6-2 Points de code Assured Forwarding
|
Tout système Diffserv peut faire appel au point de code AF afin de l'utiliser en tant que guide lors de la fourniture de services différenciés à différentes classes de trafic.
Lorsque ces paquets atteignent un routeur Diffserv, le routeur évalue les points de code des paquets ainsi que les DSCP d'autres flux de trafic placés dans la file d'attente. Le routeur transmet ou rejette les paquets, selon la bande passante disponible et les priorités définies par les DSCP des paquets. Notez que l'accès à la bande passante est garanti en priorité aux paquets marqués par un PHB EF par rapport aux paquets marqués par un PHB AF (quelle que soit leur classe).
Coordonnez le marquage des paquets entre les différents systèmes IPQoS de votre réseau et le routeur Diffserv pour veiller à ce que les paquets soient transmis comme prévu. Par exemple, supposons que les systèmes IPQoS de votre réseau marquent les paquets à l'aide des points de code AF21 (010010), AF13 (001110), AF43 (100110) et EF (101110). Vous devez ensuite ajouter les DSCP AF21, AF13, AF43 et EF au fichier approprié sur le routeur Diffserv.
Vous trouverez des informations techniques sur le tableau de points de code AF dans le document RFC 2597. Vous trouverez des informations détaillées concernant la configuration du PHB AF sur le site Web des fabricants de routeurs Cisco Systems et Juniper Networks. Servez-vous de ces informations pour définir les PHB AF des systèmes IPQoS ainsi que les routeurs. Par ailleurs, la documentation des fabricants de routeurs contient des instructions pour la définition des points de code DS sur leur matériel.
Le DSCP a une longueur de 6 bits. Le champ DS a une longueur d'1 octet. Lorsque vous définissez un DSCP, le marquer marque les 6 premiers bits significatifs de l'en-tête du paquet avec le code de point DS. Les deux bits restants (les moins significatifs) ne sont pas utilisés.
Pour définir un DSCP, servez-vous du paramètre suivant au sein d'une instruction d'action du marqueur :
dscp_map{0-63:DS_codepoint}
Le paramètre dscp_map est un tableau à 64 éléments que vous remplissez à l'aide de la valeur (DSCP). Le paramètre dscp_map sert à faire correspondre les DSCP entrants aux DSCP sortants appliqués par le marqueur dscpmk.
Vous devez spécifier la valeur DSCP pour le paramètre dscp_map en notation décimale. Par exemple, vous devez traduire le point de code EF de 101110 en valeur décimale 46, ce qui équivaut à dscp_map{0-63:46}. Pour les points de code AF, vous devez exprimer les différents points de code présentés dans le Tableau 6-2 en notation décimale spécialement pour le paramètre dscp_map.
Le module de marquage dlcosmk inscrit le comportement de transmission dans l'en-tête MAC d'un datagramme. Vous ne pouvez utiliser le paramètre dlcosmk que dans un système IPQoS avec une interface VLAN.
dlcosmk ajoute quatre octets, désignés sous l'appellation d'étiquette VLAN, à l'en-tête MAC. L'étiquette VLAN inclut une valeur de priorité utilisateur de 3 bits, définie par la norme IEEE 801.D. Les commutateurs Diffserv en mesure de reconnaître VLAN peuvent lire le champ de priorité utilisateur dans un datagramme. Les valeurs de priorité utilisateur 801.D implémentent les marques de classe de service (CoS), connues et comprises par les commutateurs du marché.
Vous pouvez utiliser les valeurs de priorité utilisateur dans l'action du marqueur dlcosmk en définissant les indices de classes de service répertoriés dans le tableau suivant.
Tableau 6-3 Valeurs de priorité utilisateur 801.D
|
Pour plus d'informations sur dlcosmk, reportez-vous à la page de manuel dlcosmk(7ipp).
Cette section illustre un scénario de réseau simple montrant comment implémenter IPQoS sur les systèmes avec des périphériques VLAN. Le scénario prend en compte deux systèmes IPQoS, ordinateur1 et ordinateur2, reliés par un commutateur. Le périphérique VLAN sur l'ordinateur1 a l'adresse IP 10.10.8.1. Le périphérique VLAN sur l'ordinateur2 a l'adresse IP 10.10.8.3.
Le fichier de configuration IPQoS suivant de l'ordinateur1 décrit une solution simple pour marquer le trafic allant du commutateur à l'ordinateur2.
Exemple 6-2 Fichier de configuration IPQoS pour un système avec un périphérique VLAN
fmt_version 1.0 action { module ipgpc name ipgpc.classify filter { name myfilter2 daddr 10.10.8.3 class myclass } class { name myclass next_action mark4 } } action { name mark4 module dlcosmk params { cos 4 next_action continue global_stats true } }
Dans cette configuration, tout le trafic de l'ordinateur1 destiné au périphérique VLAN sur l'ordinateur2 est transmis sur le marqueur dlcosmk. L'action de marqueur marque4 indique à dlcosmk d'ajouter une marque VLAN aux datagrammes de la classe maclasse possédant une classe de service de 4. La valeur de priorité utilisateur 4 indique que le commutateur reliant les deux machines doit donner la transmission de charge contrôlée aux flux de trafic maclasse de l'ordinateur1.
Le module flowacct d'IPQoS enregistre les informations sur les flux de trafic, un processus connu sous le nom de comptabilisation des flux. La comptabilisation des flux produit des données qui peuvent servir à la facturation des clients ou à l'évaluation du trafic d'une classe particulière.
La comptabilisation des flux est facultative. Le module flowacct est généralement le dernier module par lequel passent les flux de trafic mesurés ou marqués avant d'être libérés sur le réseau. Pour voir la position de flowacct dans le modèle Diffserv, reportez-vous à la Figure 1-1. Pour obtenir des informations techniques sur flowacct, reportez-vous à la page de manuel flowacct(7ipp).
Pour activer la comptabilisation de flux, vous devez utiliser la fonction de comptabilisation exacct d'Oracle Solaris avec les commandes acctadm et flowacct. Pour connaître les étapes générales de la configuration de la comptabilisation, reportez-vous à la section Configuration de la comptabilisation des flux (liste des tâches).
Le module flowacct rassemble des informations sur les flux dans une table des flux composée d'enregistrements de flux. Chaque entrée de la table contient un enregistrement de flux. Vous ne pouvez pas afficher une table des flux.
Dans le fichier de configuration IPQoS, vous définissez les paramètres flowacct suivants pour mesurer les enregistrements de flux et consigner les enregistrements dans la table :
timer : définit un intervalle, en millisecondes, lorsque les flux dont le délai a expiré sont supprimés de la table des flux et consignés dans le fichier créé par acctadm.
timeout : définit un intervalle, en millisecondes, spécifiant la durée d'inactivité d'un flux de paquet avant que ce dernier ne soit considéré comme ayant expiré.
Remarque - Vous pouvez configurer timer et timeout de sorte qu'ils aient des valeurs différentes.
max_limit : définit la limite supérieure du nombre d'enregistrements de flux pouvant être stockés dans la table des flux.
Pour obtenir un exemple d'utilisation des paramètres flowacct dans le fichier de configuration IPQoS, reportez-vous à la section Configuration du contrôle de flux dans le fichier de configuration IPQoS.
Le module flowacct gère une table des flux dans laquelle sont enregistrés tous les flux de paquets rencontrés par une instance de flowacct.
Un flux est identifié par les paramètres suivants qui incluent l'uplet à 8 attributs de flowacct :
Adresse source
Adresse de destination
Port source
Port de destination
DSCP
ID d'utilisateur
ID du projet
Numéro du protocole
Si tous les paramètres de l'uplet à 8 attributs concernant un même flux sont identiques, la table des flux ne contient qu'une seule entrée. Le paramètre max_limit détermine le nombre d'entrées que peut inclure une table des flux.
La table des flux est numérisée à l'intervalle spécifié dans le fichier de configuration IPQoS grâce au paramètre timer. Le paramètre par défaut est de 15 secondes. Un flux "arrive à expiration" lorsque ses paquets ne sont pas visibles par le système IPQoS à la fin du délai d'attente (au moins) indiqué dans le fichier de configuration IPQoS. Le délai d'attente par défaut est de 60 secondes. Les entrées dont le délai d'attente a été dépassé sont ensuite enregistrées dans le fichier de comptabilisation créé par la commande acctadm.
Un enregistrement flowacct inclut les attributs décrits dans le tableau suivant.
Tableau 6-4 Attributs d'un enregistrement flowacct
|
Vous utilisez la commande acctadm pour créer un fichier réservé aux enregistrements de flux générés par flowacct. acctadm s'utilise en parallèle avec la fonction de comptabilisation étendue. Pour plus d'informations techniques sur acctadm, reportez-vous à la page de manuel acctadm(1M).
Le module flowacct observe les flux et inscrit les enregistrements de flux dans la table des flux. flowacct évalue ensuite ses paramètres et attributs dans l'intervalle spécifié par timer. Un paquet expire s'il n'est pas visible pendant la durée équivalent aux valeurs last_seen et timeout. Toutes les entrées ayant dépassé le délai d'expiration sont supprimées de la table des flux. Elles sont alors consignées dans le fichier de comptabilisation à l'issue de l'intervalle spécifié par le paramètre timer.
Pour appliquer acctadm au module flowacct, respectez la syntaxe suivante :
acctadm -e file-type -f filename flow
Appelle la commande acctadm assortie de l'option -e. La valeur -e indique la présence d'une liste de ressources.
Spécifie les attributs à collecter. file-type doit être remplacé par la valeur basic ou extended. Pour connaître la liste des attributs de chaque type de fichier, reportez-vous au Tableau 6-4.
Crée le fichier filename dans lequel sont consignés les enregistrements de flux.
Implique l'exécution de la commande acctadm avec IPQoS.