SUR CETTE PAGE
Exemple : configuration et application d’un classificateur de comportement DSCP par défaut
Un classificateur Junos OS identifie et sépare les flux de trafic et fournit les moyens de hiérarchiser le trafic ultérieurement dans le processus de classe de service (CoS).
Un classificateur d’agrégation de comportement (BA) exécute cette fonction en associant des valeurs CoS bien connues aux classes de transfert et aux priorités de perte. Pour activer un classificateur par défaut, il vous suffit de l’appliquer aux interfaces de votre équipement. Si un classificateur par défaut n’est pas appliqué à une interface, il ne prend pas effet.
Junos OS fournit plusieurs types de classificateur BA par défaut, que vous pouvez combiner et compléter avec des classificateurs BA personnalisés selon les besoins pour atteindre vos objectifs généraux de classification du trafic. Cet exemple montre comment appliquer le classificateur de point de code DiffServ (DSCP) par défaut (BA) et vérifier ses fonctionnalités.
Exigences
Pour vérifier cette procédure, cet exemple utilise un générateur de trafic. Le générateur de trafic peut être basé sur du matériel ou un logiciel s’exécutant sur un serveur ou une machine hôte. Si vous n’avez pas accès à un générateur de trafic, vous pouvez utiliser le ping étendu pour la vérification. Cette approche est également montrée.
La fonctionnalité de cette procédure est largement prise en charge sur les équipements qui exécutent Junos OS. L’exemple illustré ici a été testé et vérifié sur les routeurs MX Series exécutant Junos OS Version 10.4.
Aperçu
Junos OS CoS repose sur la différenciation du trafic. L’attribution de trafic à différentes classes de services permet de faire la différence nécessaire. Du point de vue d’un routeur, la classe de service attribuée à un paquet définit son comportement vis-à-vis du paquet. Le concept de différenciation du trafic est présent dans chaque outil CoS, et par conséquent, les classes de service sont présentes sur l’ensemble de la conception CoS. Un classificateur a une entrée, le paquet entrant, et il a N sorties possibles, où N est le nombre de classes de service possibles dans lesquelles le paquet peut être classé.
La classification BA est utilisée lorsque le trafic entrant dans votre équipement a déjà des valeurs CoS de confiance dans l’en-tête du paquet. Par exemple, le classificateur BA DSCP par défaut spécifie que les paquets entrants avec des points de code 00000 sont assignés à la classe de transfert best-effort avec une priorité de perte de faible.
Une classe de transfert et une priorité de perte sont attribuées par défaut à chaque DSCP bien connu. Pour le visualiser, exécutez la show class-of-service classifier
commande.
user@host> show class-of-service classifier type dscp Classifier: dscp-default, Code point type: dscp, Index: 7 Code point Forwarding class Loss priority 000000 best-effort low 000001 best-effort low 000010 best-effort low 000011 best-effort low 000100 best-effort low 000101 best-effort low 000110 best-effort low 000111 best-effort low 001000 best-effort low 001001 best-effort low 001010 assured-forwarding low 001011 best-effort low 001100 assured-forwarding high 001101 best-effort low 001110 assured-forwarding high 001111 best-effort low 010000 best-effort low 010001 best-effort low 010010 best-effort low 010011 best-effort low 010100 best-effort low 010101 best-effort low 010110 best-effort low 010111 best-effort low 011000 best-effort low 011001 best-effort low 011010 best-effort low 011011 best-effort low 011100 best-effort low 011101 best-effort low 011110 best-effort low 011111 best-effort low 100000 best-effort low 100001 best-effort low 100010 best-effort low 100011 best-effort low 100100 best-effort low 100101 best-effort low 100110 best-effort low 100111 best-effort low 101000 best-effort low 101001 best-effort low 101010 best-effort low 101011 best-effort low 101100 best-effort low 101101 best-effort low 101110 expedited-forwarding low 101111 best-effort low 110000 network-control low 110001 best-effort low 110010 best-effort low 110011 best-effort low 110100 best-effort low 110101 best-effort low 110110 best-effort low 110111 best-effort low 111000 network-control low 111001 best-effort low 111010 best-effort low 111011 best-effort low 111100 best-effort low 111101 best-effort low 111110 best-effort low 111111 best-effort low
La classe de transfert détermine la file d’attente de sortie. Par défaut, tout le trafic best-effort utilise la file d’attente 0.
Pour afficher les files d’attente associées par défaut à chaque classe de transfert, utilisez la show class-of-service forwarding-class
commande. (Pour plus de clarté, une partie des résultats est exclue.)
user@host> show class-of-service forwarding-class Forwarding class ID Queue best-effort 0 0 expedited-forwarding 1 1 assured-forwarding 2 2 network-control 3 3
La priorité des pertes est utilisée par les planificateurs en conjonction avec l’algorithme de détection précoce aléatoire (RED) pour contrôler le rejet des paquets pendant les périodes de congestion. Lorsque vous réfléchissez aux priorités en matière de perte, gardez à l’esprit que si vous ne les configurez pas, elles n’ont aucune signification. Le comportement d’abandon par défaut est d’attendre que la file d’attente soit 100 % complète, puis de commencer à abandonner les paquets sans discrimination. Lorsque la file d’attente descend au-dessous de 100 % pleine, les paquets cessent de tomber.
Le comportement de perte par défaut est affiché dans la show class-of-service drop-profile
commande.
user@host> show class-of-service drop-profile Drop profile: <default-drop-profile>, Type: discrete, Index: 1 Fill level Drop probability 100 100
Pour définir des significations pour les différentes priorités de perte, vous devez configurer des profils de chute personnalisés. Par exemple, vous pouvez définir la priorité de perte faible pour désigner une probabilité de chute de 10 % lorsque la file d’attente est pleine de 75 % et de 40 % lorsque le niveau de remplissage de la file d’attente est de 95 %. Vous pouvez définir la priorité de perte élevée pour signifier une probabilité de chute de 50 % lorsque le niveau de remplissage est de 25 % et une probabilité de chute de 90 % lorsque le niveau de remplissage est de 50 %. Les profils d’abandon personnalisés ne sont pas inclus dans cet exemple, mais sont mentionnés ici pour plus de clarté, car les classificateurs attribuent des priorités de perte. Il est important de comprendre que ces attributions n’ont aucun sens jusqu’à ce que vous créez des profils de chute.
L’opération de classificateur par défaut est illustrée en figure 1. La figure montre deux paquets IPv4 entrant dans une interface et classés en fonction des points de code DSCP dans les en-têtes de paquets.

Les classificateurs sont décrits plus en détail dans la vidéo Juniper Networks Learning Byte suivante.
Topologie
La figure 2 montre l’exemple de réseau.

Il est important d’appliquer votre configuration de classe de service à l’ensemble de la topologie, plutôt que de l’appliquer à un seul équipement. De plus, même si la classification prend effet sur les interfaces entrantes, vous devez appliquer des classificateurs BA à toutes les interfaces centrales et centrales. En effet, une seule interface peut être entrante ou sortante, en fonction de la direction du trafic. Par exemple, lorsque le trafic transite de l’hôte 1 vers l’hôte 2, les interfaces entrantes sont ge-1/0/7 sur l’équipement R2 et ge-2/0/6 sur l’équipement R3. Lorsque le trafic circule dans l’autre sens, de l’hôte 2 à l’hôte R1, les interfaces entrantes sont ge-1/0/3 sur l’équipement R2 et ge-1/0/7 sur l’équipement R1.
Le classificateur BA n’est pas appliqué à ge-1/0/1 sur l’équipement R1 ou à ge-2/0/5 sur l’équipement R3, car ces interfaces ne sont pas en contact avec le cœur. En règle générale, au niveau des interfaces de périphérie, vous utiliseriez un classificateur multi-champs, et non un classificateur BA.
La configuration rapide cli montre la configuration de tous les équipements Juniper Networks en figure 2. La section Procédure étape par étape décrit les étapes sur l’équipement R2.
Configuration
Procédure
Configuration rapide cli
Pour configurer rapidement cet exemple, copiez les commandes suivantes, collez-les dans un fichier texte, supprimez les sauts de ligne, modifiez les détails nécessaires pour correspondre à votre configuration réseau, puis copiez et collez les commandes dans la CLI au niveau de la [edit]
hiérarchie.
Équipement R1
set interfaces ge-1/0/1 unit 0 family inet address 172.16.50.2/30 set interfaces ge-1/0/7 unit 0 family inet address 10.30.0.1/30 set class-of-service interfaces ge-1/0/7 unit 0 classifiers dscp default
Équipement R2
set interfaces ge-1/0/3 unit 0 family inet address 10.40.0.1/30 set interfaces ge-1/0/7 unit 0 family inet address 10.30.0.2/30 set class-of-service interfaces ge-1/0/3 unit 0 classifiers dscp default set class-of-service interfaces ge-1/0/7 unit 0 classifiers dscp default
Équipement R3
set interfaces ge-2/0/5 unit 0 family inet address 172.16.70.2/30 set interfaces ge-2/0/6 unit 0 family inet address 10.40.0.2/30 set class-of-service interfaces ge-2/0/6 unit 0 classifiers dscp default
Procédure étape par étape
Dans l’exemple suivant, vous devez parcourir différents niveaux de la hiérarchie de configuration. Pour obtenir des instructions sur la façon d’y parvenir, reportez-vous à la section Utilisation de l’éditeur CLI en mode de configuration dans le guide de l’utilisateur CLI.
Pour activer le classificateur d’agrégation de comportement DSCP par défaut :
-
Configurez les interfaces de l’équipement.
[edit interfaces] user@R2# set ge-1/0/3 unit 0 family inet address 10.40.0.1/30 user@R2# set ge-1/0/7 unit 0 family inet address 10.30.0.2/30
-
Activez le classificateur DSCP par défaut sur les interfaces.
[edit class-of-service interfaces] user@R2# set ge-1/0/3 unit 0 classifiers dscp default user@R2# set ge-1/0/7 unit 0 classifiers dscp default
Résultats
À partir du mode de configuration, confirmez votre configuration en entrant les show interfaces
commandes et show class-of-service
. Si la sortie n’affiche pas la configuration prévue, répétez les instructions de cet exemple pour corriger la configuration.
user@R2# show interfaces ge-1/0/3 { unit 0 { family inet { address 10.40.0.1/30; } } } ge-1/0/7 { unit 0 { family inet { address 10.30.0.2/30; } } }
user@R2# show class-or-service interfaces { ge-1/0/3 { unit 0 { classifiers { dscp default; } } } ge-1/0/7 { unit 0 { classifiers { dscp default; } } } }
Si vous avez fini de configurer l’équipement, saisissez commit
à partir du mode de configuration.
Vérification
Vérifiez que la configuration fonctionne correctement.
Vérification des classificateurs d’agrégation de comportement
But
Vérifiez que le classificateur de comportement par défaut est activé sur les interfaces de l’équipement. Gardez à l’esprit que bien que le classificateur fonctionne sur les paquets entrants, vous affichez l’attribution de file d’attente qui en résulte sur l’interface sortante.
Action
Effacer les statistiques d’interface sur l’équipement R2.
user@R2> clear interface statistics ge-1/0/3
En utilisant le ping étendu de l’équipement R1 ou un générateur de paquets s’exécutant sur un hôte ou un serveur, envoyez des paquets avec le point de code défini sur 001010.
Les deux méthodes sont présentées ici. Le générateur de paquets utilisé est hping.
Lorsque vous utilisez un ping étendu pour définir les points de code DSCP dans l’en-tête de paquet IPv4, la valeur décimale de type de service (ToS) (dans ce cas, 40) est requise dans l’option
tos
de laping
commande.Lorsque vous utilisez hping pour définir les points de code DSCP dans l’en-tête de paquet IPv4, la valeur hex ToS (dans ce cas, 28) est requise dans l’option
--tos
de lahping
commande.
Si vos compétences de conversion binaire vers hex ou binaire à décimale sont rouillées, vous pouvez utiliser un calculateur en ligne, comme http://www.mathsisfun.com/binary-decimal-hexadecimal-converter.html .
Note:Lorsque vous convertissez une valeur de point de code DSCP binaire, assurez-vous d’ajouter deux zéros supplémentaires à la fin. Au lieu de 001010, utilisez 00101000. Ces 0 valeurs (les 7e et 8e bits) sont réservées et ignorées, mais si vous ne les incluez pas dans la conversion, vos valeurs hex et décimales seront incorrectes.
Ping étendu envoyé depuis l’équipement R1
user@R1> ping 172.16.70.1 tos 40 rapid count 25 PING 172.16.70.1 (172.16.70.1): 56 data bytes !!!!!!!!!!!!!!!!!!!!!!!!! --- 172.16.70.1 ping statistics --- 25 packets transmitted, 25 packets received, 0% packet loss round-trip min/avg/max/stddev = 0.430/0.477/0.847/0.079 ms
hping envoyé par l’hôte 1
root@host1> hping 172.16.70.1 --tos 28 -c 25 HPING 172.16.70.1 (eth1 172.16.70.1): NO FLAGS are set, 40 headers + 0 data bytes len=46 ip=172.16.70.1 ttl=61 DF id=0 sport=0 flags=RA seq=0 win=0 rtt=0.3 ms len=46 ip=172.16.70.1 ttl=61 DF id=0 sport=0 flags=RA seq=1 win=0 rtt=0.6 ms len=46 ip=172.16.70.1 ttl=61 DF id=0 sport=0 flags=RA seq=2 win=0 rtt=0.4 ms len=46 ip=172.16.70.1 ttl=61 DF id=0 sport=0 flags=RA seq=3 win=0 rtt=0.4 ms len=46 ip=172.16.70.1 ttl=61 DF id=0 sport=0 flags=RA seq=4 win=0 rtt=0.6 ms len=46 ip=172.16.70.1 ttl=61 DF id=0 sport=0 flags=RA seq=5 win=0 rtt=0.3 ms len=46 ip=172.16.70.1 ttl=61 DF id=0 sport=0 flags=RA seq=6 win=0 rtt=0.4 ms len=46 ip=172.16.70.1 ttl=61 DF id=0 sport=0 flags=RA seq=7 win=0 rtt=0.4 ms len=46 ip=172.16.70.1 ttl=61 DF id=0 sport=0 flags=RA seq=8 win=0 rtt=0.4 ms len=46 ip=172.16.70.1 ttl=61 DF id=0 sport=0 flags=RA seq=9 win=0 rtt=0.4 ms len=46 ip=172.16.70.1 ttl=61 DF id=0 sport=0 flags=RA seq=10 win=0 rtt=0.5 ms len=46 ip=172.16.70.1 ttl=61 DF id=0 sport=0 flags=RA seq=11 win=0 rtt=0.4 ms len=46 ip=172.16.70.1 ttl=61 DF id=0 sport=0 flags=RA seq=12 win=0 rtt=0.5 ms len=46 ip=172.16.70.1 ttl=61 DF id=0 sport=0 flags=RA seq=13 win=0 rtt=0.4 ms len=46 ip=172.16.70.1 ttl=61 DF id=0 sport=0 flags=RA seq=14 win=0 rtt=0.4 ms len=46 ip=172.16.70.1 ttl=61 DF id=0 sport=0 flags=RA seq=15 win=0 rtt=0.4 ms len=46 ip=172.16.70.1 ttl=61 DF id=0 sport=0 flags=RA seq=16 win=0 rtt=0.4 ms len=46 ip=172.16.70.1 ttl=61 DF id=0 sport=0 flags=RA seq=17 win=0 rtt=0.5 ms len=46 ip=172.16.70.1 ttl=61 DF id=0 sport=0 flags=RA seq=18 win=0 rtt=0.5 ms len=46 ip=172.16.70.1 ttl=61 DF id=0 sport=0 flags=RA seq=19 win=0 rtt=0.4 ms len=46 ip=172.16.70.1 ttl=61 DF id=0 sport=0 flags=RA seq=20 win=0 rtt=0.4 ms len=46 ip=172.16.70.1 ttl=61 DF id=0 sport=0 flags=RA seq=21 win=0 rtt=0.5 ms len=46 ip=172.16.70.1 ttl=61 DF id=0 sport=0 flags=RA seq=22 win=0 rtt=0.4 ms len=46 ip=172.16.70.1 ttl=61 DF id=0 sport=0 flags=RA seq=23 win=0 rtt=0.5 ms len=46 ip=172.16.70.1 ttl=61 DF id=0 sport=0 flags=RA seq=24 win=0 rtt=0.4 ms
Sur l’équipement R2, vérifiez que la file d’attente 2 est incrémentée.
Le point de code 001010 est associé au transfert assuré, qui utilise la file d’attente 2 par défaut.
user@R2> show interfaces extensive ge-1/0/3 | find "queue counters" Queue counters: Queued packets Transmitted packets Dropped packets 0 0 0 0 1 0 0 0 2 50 25 0 3 3 3 0 Queue number: Mapped forwarding classes 0 best-effort 1 expedited-forwarding 2 assured-forwarding 3 network-control
Sens
Le résultat montre que la file d’attente 2 a augmenté de 50 paquets après avoir envoyé 50 paquets via le routeur.