Le Catalyst 4000 avec Supervisor III (WS-X4014) ou Supervisor IV (WS-X4515) prend en charge des fonctionnalités avancées de qualité de service (QoS), notamment la classification, la réglementation, le marquage, la mise en file d'attente et la planification. Ce document traite des fonctions de mise en file d'attente et de planification, y compris le formatage du trafic, le partage et la mise en file d'attente prioritaire/faible latence stricte. La mise en file d'attente détermine comment les paquets sont mis en file d'attente dans différentes files d'attente dans l'interface de sortie, et la planification détermine comment (en temps de congestion) le trafic de haute priorité est accordé de préférence au trafic de faible priorité.
Pour plus d'informations sur les conventions des documents, référez-vous aux Conventions utilisées pour les conseils techniques de Cisco.
Les lecteurs de ce document doivent avoir une bonne connaissance de ce qui suit :
La hiérarchisation des trames de couche 2 (L2) est basée sur une valeur CoS (Class of Service), disponible dans l’en-tête ISL (InterSwitch Link) (trois bits les moins significatifs dans le champ utilisateur 4 bits) et dans l’en-tête 802.1Q (trois bits les plus significatifs dans le champ d’informations de contrôle de balise 2 octets).
La hiérarchisation de couche 3 (L3) des paquets est basée sur la valeur DSCP (Differentiated Services Code Point), disponible dans l'octet ToS (Type of Service) de l'en-tête IP (six bits les plus significatifs) ou de la valeur de priorité IP de l'octet ToS (trois bits les plus significatifs).
Reportez-vous au guide de configuration du logiciel pour obtenir de l'aide supplémentaire sur la configuration.
Les informations de ce document sont basées sur les versions logicielles suivantes sur un Supervisor III (WS-X4014) :
Logiciel Cisco IOS® Version 12.1(8)EW
Remarque : Supervisor IV est d'abord pris en charge par le logiciel Cisco IOS Version 12.1(12c)EW. Les caractéristiques décrites dans ce document s'appliquent également au Supervisor IV, sauf si elles sont explicitement différenciées.
Les informations présentées dans ce document ont été créées à partir de périphériques dans un environnement de laboratoire spécifique. All of the devices used in this document started with a cleared (default) configuration. Si vous travaillez dans un réseau opérationnel, assurez-vous de bien comprendre l'impact potentiel de toute commande avant de l'utiliser.
Les Supervisor III et IV du Catalyst 4000 utilisent une architecture de commutation à mémoire partagée et peuvent fournir des fonctions de mise en file d'attente et de planification aux cartes de ligne existantes. Puisque le superviseur fournit une architecture de commutation non bloquante, il n'y a pas de mise en file d'attente d'entrée. Les paquets sont transférés par le fond de panier vers le port de sortie ou de sortie. Le côté sortie de l’interface fournit quatre files d’attente de transmission. La taille de la file d'attente est actuellement fixée à 240 paquets pour les ports FastEthernet et à 1 920 paquets pour les interfaces Gigabit Ethernet non bloquantes. Non bloquant signifie que les ports ne sont pas surabonnés dans la connexion au fond de panier. La liste des ports Gigabit Ethernet non bloquants est la suivante :
ports de liaison ascendante sur Supervisor Engine III (WS-X4014) et IV (WS-X4515)
ports de la carte de ligne WS-X4306-GB
deux ports 1000BASE-X sur la carte de ligne WS-X4232-GB-RJ
Les deux premiers ports de la carte de ligne WS-X4418-GB
deux ports 1000BASE-X sur la carte de ligne WS-X4412-2GB-TX
La taille de la file d'attente des ports Gigabit Ethernet bloquant (sur-abonné) est actuellement fixée à 240 paquets. Les ports de blocage sont répertoriés comme suit :
Ports T 10/100/1000 sur la carte de ligne WS-X4412-2GB-TX
ports de la carte de ligne WS-4418-GB, à l'exception des deux premiers ports
ports de la carte de ligne WS-X4424-GB-RJ45
ports de la carte de ligne WS-X4448-GB-LX
ports de la carte de ligne WS-X4448-GB-RJ45
Remarque : la taille de la file d'attente est basée sur le nombre de paquets et non sur la taille des paquets. Actuellement, le Supervisor III ne prend en charge aucun mécanisme d'évitement de congestion tel que WRED (Weighted Random Early Detection) pour les files d'attente de transmission.
Remarque : Supervisor IV prend en charge la fonctionnalité Active Queue Management (AQM) dans Cisco IOS version 12.1(13)EW et ultérieure. AQM est une technique d'évitement de congestion qui agit avant le débordement de la mémoire tampon. AQM est obtenu par la limitation de tampon dynamique (DBL). DBL suit la longueur de la file d’attente pour chaque flux de trafic dans le commutateur. Lorsque la longueur de file d'attente d'un flux spécifique dépasse sa limite, DBL abandonne les paquets ou définit les bits de notification explicite de congestion (ECN) dans les en-têtes de paquet. Pour plus d'informations sur la configuration de DBL, référez-vous à Configuration de QoS.
Lorsque QoS est désactivé, les paquets sont approuvés pour le DSCP entrant sur les ports d'entrée et mis en file d'attente vers les files d'attente appropriées. Ces files d'attente sont traitées à tour de rôle.
Lorsque la QoS est activée, les paquets sont mis en file d'attente en fonction du DSCP interne, qui provient soit de la CoS/DSCP entrante à l'aide d'états d'approbation de port, soit d'une configuration par défaut CoS/DSCP sur le port d'entrée ou le marquage basé sur la liste de contrôle d'accès/classe. La file d'attente est sélectionnée en fonction du mappage global DSCP - tx-queue, qui est entièrement configurable. Le mappage peut s'afficher comme suit :
Switch#show qos maps dscp tx-queue DSCP-TxQueue Mapping Table (dscp = d1d2) d1 : d2 0 1 2 3 4 5 6 7 8 9 ------------------------------------- 0 : 01 01 01 01 01 01 01 01 01 01 1 : 01 01 01 01 01 01 02 02 02 02 2 : 02 02 02 02 02 02 02 02 02 02 3 : 02 02 03 03 03 03 03 03 03 03 4 : 03 03 03 03 03 03 03 03 04 04 5 : 04 04 04 04 04 04 04 04 04 04 6 : 04 04 04 04
Le mappage ci-dessus est le mappage par défaut. Si nécessaire, le mappage peut être modifié en émettant la commande qos map dscp dscp-values to tx-queue queue-id. Par exemple, pour mapper une valeur DSCP de 50 sur tx-queue 2, la configuration suivante est effectuée en mode de configuration globale :
Switch(config)#qos map dscp 50 to tx-queue 2 !--- You can verify to make sure the changes have been made. Switch #show qos maps dscp tx-queue DSCP-TxQueue Mapping Table (dscp = d1d2) d1 : d2 0 1 2 3 4 5 6 7 8 9 ------------------------------------- 0 : 01 01 01 01 01 01 01 01 01 01 1 : 01 01 01 01 01 01 02 02 02 02 2 : 02 02 02 02 02 02 02 02 02 02 3 : 02 02 03 03 03 03 03 03 03 03 4 : 03 03 03 03 03 03 03 03 04 04 5 : 02 04 04 04 04 04 04 04 04 04 6 : 04 04 04 04
Pour plus d'informations sur les étapes de configuration pour modifier le mappage, reportez-vous au document suivant :
En raison de la limitation ASIC (Application-Specific Integrated Circuit) du commutateur, si le port d'entrée est défini sur trust-cos, la CoS de transmission est égale à la CoS du paquet entrant ou à la CoS par défaut (pour les paquets non balisés) configurés sur le port. Si une stratégie est configurée pour définir le DSCP pour le paquet en émettant la commande set ip dscp value pour ces paquets, ils seront utilisés comme source pour le DSCP interne au lieu de la CoS par défaut/paquet, et mis en file d'attente dans les files d'attente appropriées. Si le port n'est pas approuvé pour CoS, la CoS sortante sera basée sur la valeur DSCP interne.
La file d'attente de transmission 3 peut être configurée comme file d'attente de priorité stricte si nécessaire afin que les paquets mis en file d'attente dans cette file d'attente soient planifiés pour être transmis avant les paquets mis en file d'attente dans les autres files d'attente, tant qu'ils ne dépassent pas la valeur de partage configurée. Ceci est expliqué dans la section suivante.
La fonction de priorité stricte est désactivée par défaut. Le mappage par défaut mettrait en file d'attente les paquets avec CoS 4 et 5 et DSCP 32 à 47 dans la file d'attente de transmission 3. Le mappage DSCP vers tx-queue peut être modifié selon les besoins afin que les paquets souhaités soient mis en file d'attente dans la file d'attente de priorité haute.
Afin de ne pas affamer les paquets de faible priorité, cette file d'attente doit être configurée principalement pour le trafic de faible volume, mais de priorité élevée, tel que le trafic vocal, et non pour le trafic TCP/IP de faible priorité en masse. Il est également recommandé de configurer le formatage/partage pour la file d'attente de priorité élevée si l'un doit empêcher la famine des autres files d'attente de priorité non stricte. En configurant le formatage/partage, les autres paquets de priorité faible seront planifiés une fois que la valeur de forme/partage pour la file d'attente stricte aura été atteinte.
Switch#show run interface gigabitEthernet 1/1 interface GigabitEthernet1/1 no switchport ip address 10.1.1.1 255.255.255.0 tx-queue 3 priority high end
Catalyst 4000 Supervisor III et IV prennent en charge la commande bandwidth, qui est une sous-commande sous la commande tx-queue. Cette commande autorise une bande passante minimale garantie pour chacune des quatre files d’attente de transmission. Cette commande ne doit pas être confondue avec la commande de niveau interface bandwidth utilisée à des fins de protocole de routage. Ceci, ainsi que le mappage DSCP-tx-queue, permet un contrôle granulaire de la quantité de bande passante garantie pour chaque classe de trafic mise en file d'attente dans chacune des quatre files d'attente. En règle générale, le trafic de haute priorité, tel que le trafic vocal, est garanti à un certain volume minimal de trafic en période d'encombrement via la file d'attente de priorité stricte, avec un partage configuré pour la file d'attente de transmission 3. Le partage de la bande passante de liaison est uniquement pris en charge sur les ports Gigabit Ethernet non bloquants. Cette fonctionnalité n'est actuellement pas disponible sur les ports Gigabit Ethernet bloquants ou les interfaces FastEthernet 10/100.
Lorsque la QoS est activée globalement sur le commutateur, une bande passante minimale de 250 Mbits/s est attribuée aux quatre files d’attente par défaut sur tous les ports. Il peut être nécessaire de modifier les paramètres par défaut pour s'assurer qu'ils correspondent aux paramètres souhaités pour l'application ou le réseau en question.
Switch#show run interface gigabitEthernet 1/1 interface GigabitEthernet1/1 no switchport ip address 10.1.1.1 255.255.255.0 tx-queue 1 bandwidth 500 mbps tx-queue 2 bandwidth 25 mbps tx-queue 3 bandwidth 50 mbps priority high tx-queue 4 bandwidth 200 mbps end Switch#show qos interface GigabitEthernet 1/1 QoS is enabled globally Port QoS is enabled Port Trust State: 'untrusted' Default DSCP: 0 Default CoS: 0 tx-Queue Bandwidth ShapeRate Priority QueueSize (bps) (BPS) (packets) 1 500000000 disabled N/A 1920 2 250000000 disabled N/A 1920 3 50000000 disabled high 1920 4 200000000 disabled N/A 1920
Le commutateur ne vérifie pas actuellement que la somme du partage de bande passante par file d'attente <= 1 Gbit/s. Par exemple, si Q1 = 300 Mbits/s, Q2 = 200 Mbits/s, Q3 = 100 Mbits/s et Q4 = 500 Mbits/s, nous dépassons la bande passante totale de 1 Gbits/s disponible pour cette interface. Pour comprendre comment le commutateur se comporterait dans ce scénario de surabonnement, nous devons comprendre comment fonctionne la planification.
Lorsqu'un taux de sortie de file d'attente de transmission est inférieur aux valeurs de forme et de partage configurées, il est considéré comme une file d'attente de priorité élevée. Initialement, toutes les files d'attente seront hautement prioritaires car aucune d'entre elles n'a reçu sa part et seront donc traitées dans round-robin (notez qu'une file d'attente configurée comme haute priorité sera toujours traitée en premier si elle n'est pas vide jusqu'à ce qu'elle rencontre son partage). Une fois que certaines files d'attente ont atteint leur part, s'il y a d'autres files d'attente avec une priorité élevée, elles seront traitées. S'il n'y a pas de file d'attente de priorité élevée, toutes les files d'attente de priorité faible (files d'attente qui ont déjà atteint leur part) sont traitées en round-robin.
Sur la base de cette description de fonctionnement ci-dessus, dans notre exemple de scénario, les Q1, Q2 et Q3 obtiendraient leur part, mais pas Q4 en cas d'encombrement, car l'interface ne peut pas allouer de bande passante supérieure à sa bande passante physique disponible. Il convient de faire preuve de prudence dans le choix des valeurs de partage en fonction des besoins des utilisateurs/applications.
Les Supervisor III et IV du Catalyst 4000 prennent en charge d'autres fonctions de formatage du trafic en plus de la fonction de réglementation. Des fonctionnalités de mise en forme peuvent être configurées par file d'attente de transmission sur FastEthernet et Gigabit Ethernet. Le formatage limite la bande passante transmise par file d'attente par seconde à la valeur maximale configurée configurable de 16 Kbits/s à 1 Gbits/s (100 Mbits/s pour le port FastEthernet). Le formatage présente une très faible variance par rapport à la valeur configurée lorsque la décision de transmettre un paquet à partir d'une file d'attente spécifique est prise par paquet.
Switch#show run interface FastEthernet 5/9 interface FastEthernet5/9 no switchport no snmp trap link-status ip address 10.1.1.1 255.255.255.0 tx-queue 1 shape 50 mbps tx-queue 2 shape 35 mbps tx-queue 3 priority high shape 5 mbps tx-queue 4 shape 10 mbps Switch#show qos interface FastEthernet 5/9 QoS is enabled globally Port QoS is enabled Port Trust State: 'untrusted' Default DSCP: 0 Default CoS: 0 tx-Queue Bandwidth ShapeRate Priority QueueSize (BPS) (BPS) (packets) 1 N/A 50000000 N/A 240 2 N/A 35000000 N/A 240 3 N/A 5000000 high 240 4 N/A 10000000 N/A 240
Les paquets sont mis en file d’attente en fonction du DSCP interne sur l’une des quatre files d’attente décrites précédemment. Le DSCP interne peut être dérivé du DSCP d'entrée, du DSCP du port d'entrée ou du marquage basé sur les classes. La planification de la file d'attente de transmission se fait comme suit. Si le formatage est configuré, le paquet de la file d'attente de transmission est vérifié s'il se trouve dans la valeur maximale de forme configurée. S'il dépasse la valeur, il est mis en file d'attente et n'est pas transmis.
Si le paquet est éligible, la fonctionnalité de partage/priorité stricte est prise en compte. Tout d'abord, les paquets en file d'attente de priorité stricte reçoivent une préférence tant qu'ils sont sous le paramètre de forme configuré pour la file d'attente. Une fois la file d'attente de priorité stricte traitée (c'est-à-dire, aucun paquet dans la file d'attente de priorité stricte ou il a atteint son partage), les paquets mis en file d'attente de priorité non stricte sont traités dans round-robin. Comme il existe trois files d'attente de ce type, le partage configuré pour ces files d'attente est à nouveau pris en compte. Par exemple, si la file d'attente de transmission 1 n'a pas atteint sa part, elle a une priorité plus élevée que la file d'attente de transmission 2, qui a atteint sa part. Une fois ces paquets de file d'attente de priorité supérieure retirés, les paquets dans les files d'attente qui ont déjà atteint leur part sont pris en compte.
Remarque : Une priorité plus élevée dans ce contexte ne signifie pas une meilleure valeur de priorité DSCP, CoS ou IP. Elle est uniquement basée sur le fait qu'une file d'attente particulière a atteint ou non sa part. Si la file d'attente de priorité non stricte particulière n'a pas atteint sa part, elle est considérée comme file d'attente de priorité plus élevée parmi les files d'attente de priorité non stricte qui ont atteint sa part.