Ce document fournit un exemple de configuration des fonctionnalités de qualité de service (QoS) sur le commutateur Cisco Nexus 7000 afin de simplifier la classification et la mise en file d'attente.
Assurez-vous que vous répondez à ces exigences avant d'essayer cette configuration :
Connaissance de base de la configuration des commutateurs Nexus 7000
Connaissance de base de la qualité de service
Les informations de ce document sont basées sur le commutateur de la gamme Nexus 7000.
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.
Pour plus d'informations sur les conventions utilisées dans ce document, reportez-vous à Conventions relatives aux conseils techniques Cisco.
Les paramètres QoS par défaut du commutateur Nexus 7000 sont suffisants pour la plupart des déploiements. Cependant, vous devez comprendre les restrictions et les détails de configuration nécessaires à la création de stratégies personnalisées.
Il y a deux aspects que vous devez prendre en compte pour la qualité de service sur les cartes de ligne Nexus 7000 M-Series :
stratégies de mise en file d'attente
Stratégies QoS
La mise en file d'attente est effectuée sur le matériel et est configurée avec l'utilisation de stratégies de mise en file d'attente MQC (Modular QoS CLI). Les stratégies QoS, utilisées pour marquer ou contrôler le trafic, sont utilisées via une stratégie MQC au format exact en tant que stratégie QoS standard sur d'autres plates-formes Cisco. Par exemple, une liste d'accès utilisée pour classer le trafic dans une carte-classe avec une carte-politique correspondante pour définir/contrôler le trafic.
Actuellement, les modules de la gamme M effectuent la mise en file d'attente uniquement en fonction de la valeur CoS (Class of Service). Par conséquent, vous devez d'abord comprendre comment la valeur CoS est dérivée. Une fois que vous savez quelle valeur de CoS entre/quitte le commutateur, vous pouvez vous concentrer sur la configuration de la file d'attente pour obtenir la QoS souhaitée pour différents types de trafic.
Pour le trafic de monodiffusion routé, la valeur CoS est dérivée des 3 bits les plus significatifs de la valeur DSCP (Differentiated Services Code Point). Pour le trafic monodiffusion ponté, la valeur CoS est copiée à partir de la valeur CoS reçue dans l'en-tête 802.1q. Notez que sur les liaisons d’accès L2 il n’y a pas d’en-tête de liaison. Par conséquent, si le trafic est reçu sur un port d'accès et ponté, il quittera le commutateur avec CoS 0. La valeur DSCP n'est pas modifiée, mais le paquet peut ne pas obtenir la priorité souhaitée. Vous pouvez définir manuellement la valeur CoS dans une carte de stratégie via n'importe quelle stratégie QoS qui définit manuellement la valeur CoS ou DSCP.
Il est également important de comprendre le comportement de la multidiffusion. Le trafic de multidiffusion routé dérive sa valeur CoS de la même manière que le trafic de monodiffusion routé. Pour le trafic multicast ponté, le comportement dépend de l'état de couche 3. S'il n'y a pas d'état L3 pour le groupe de multidiffusion, la CoS est dérivée de la même manière que le trafic de monodiffusion ponté. S'il existe un état L3 pour le groupe de multidiffusion, la CoS est dérivée de la même manière que le trafic de monodiffusion routé. Notez que lorsque vous activez le protocole PIM (Protocol Independent Multicast) en mode clairsemé sur l'interface virtuelle du commutateur (SVI) pour le VLAN dans lequel le trafic est reçu, une entrée S, G est créée lorsque la multidiffusion est vue.
En résumé, le comportement CoS d'un type de trafic est présenté ici :
Type de trafic | Comportement CoS |
monodiffusion routée | copié à partir de 3-MSB de ToS |
monodiffusion pontée | inchangé |
multicast routé | copié à partir de 3-MSB de ToS |
multicast de pont avec état de couche 3 pour le groupe | copié à partir de 3-MSB de ToS |
multicast de pont sans état de couche 3 pour le groupe | inchangé |
Prenons un exemple où le trafic est reçu sur le port d'accès (Eth8/1) et ponté sur le VLAN. Par défaut, la valeur CoS du trafic monodiffusion ponté est inchangée. Si le trafic arrive sur un port d'accès, la valeur CoS par défaut de 0 est attribuée. Dans cet exemple, le trafic prioritaire (DSCP 46) est reçu sur un port d'accès et sort du commutateur avec la valeur DSCP inchangée et une valeur CoS égale à 0. Ainsi, le paquet n'obtient pas la priorité appropriée.
Une solution de contournement possible consiste à créer une stratégie QoS pour définir manuellement la valeur CoS sur le port d'entrée.
Dans l'exemple, seuls les paquets avec DSCP 46 ont leurs valeurs CoS mises à jour. Si plusieurs valeurs DSCP sont nécessaires pour garantir une valeur CoS correcte, des mappages de classes et des actions supplémentaires dans la carte de stratégie doivent être définis.
Une autre option consiste à utiliser une table-map avec l'action 'copie par défaut'. La table-map vous permet de réinitialiser le DSCP en fonction de la valeur DSCP actuelle. Par exemple, si le trafic a été reçu avec une valeur DSCP de 40 et que vous devez vous assurer qu'il a été signalé avec une valeur DSCP de 46, vous pouvez utiliser une table map avec l'action 'de 40 à 46'.
Une table-map contient également une action de copie par défaut qui définit la valeur DSCP à sa valeur d'origine. Cela revient à créer une carte-politique avec la classification 'match dscp ef' et l'action 'set dscp ef'. Logiquement, la valeur DSCP n'est pas modifiée, mais l'action 'set dscp' définit implicitement la valeur CoS sur la valeur 3-MSB de la nouvelle valeur DSCP.
Par conséquent, si vous devez vous assurer que la valeur CoS est toujours mise à jour en 3-MSB de la valeur DSCP, utilisez une table-map avec une action unique de 'copie par défaut'.
Une fois que la valeur CoS est dérivée, vous pouvez manipuler les class-maps de mise en file d'attente globale pour affecter les mappages cos-to-queue. Ces cartes de classe sont globales et affectent tous les modules dans tous les contextes de périphériques virtuels (VDC) pour ce type de file d'attente particulier. Par exemple, considérez ces class-maps de mise en file d'attente par défaut pour les modules M108 et M132 (1p7q4t) :
class-map type queuing match-any 1p7q4t-out-pq1
Description: Classifier for egress priority queue of type 1p7q4t
match cos 5-7
class-map type queuing match-any 1p7q4t-out-q2
Description: Classifier for egress queue 2 of type 1p7q4t
class-map type queuing match-any 1p7q4t-out-q3
Description: Classifier for egress queue 3 of type 1p7q4t
class-map type queuing match-any 1p7q4t-out-q4
Description: Classifier for egress queue 4 of type 1p7q4t
class-map type queuing match-any 1p7q4t-out-q5
Description: Classifier for egress queue 5 of type 1p7q4t
class-map type queuing match-any 1p7q4t-out-q6
Description: Classifier for egress queue 6 of type 1p7q4t
class-map type queuing match-any 1p7q4t-out-q7
Description: Classifier for egress queue 7 of type 1p7q4t
class-map type queuing match-any 1p7q4t-out-q-default
Description: Classifier for egress default queue of type 1p7q4t
match cos 0-4
Par défaut, cos 0-4 est mappé à la file d'attente par défaut et cos 5-7 à la file d'attente prioritaire. Celles-ci vont de pair avec la stratégie de mise en file d'attente par défaut pour le même type de mise en file d'attente :
policy-map type queuing default-out-policy
class type queuing out-pq1
priority level 1
queue-limit percent 16
class type queuing out-q2
queue-limit percent 1
class type queuing out-q3
queue-limit percent 1
class type queuing out-q-default
queue-limit percent 82
bandwidth remaining percent 25
La file d'attente prioritaire est 'priority' avec une limite de file d'attente de 16 %. La file d'attente par défaut a une limite de file d'attente de 82 % avec une bande passante par défaut restant pontée. Les autres files d'attente, qui ne sont pas utilisées, se voient attribuer une limite de 1 %. Notez que les q4, q5 et q6 ne sont pas représentés dans la stratégie de mise en file d'attente par défaut et que, par conséquent, une limite de file d'attente et un poids de bande passante encore plus faibles sont programmés dans le matériel.
Pour créer une stratégie de mise en file d'attente personnalisée, procédez comme suit :
Prenons un exemple pour les modules M132 qui ont une architecture de file d'attente 1p7q4t où les 8 valeurs CoS sont mappées à une file d'attente séparée. Le résultat montre la stratégie de mise en file d'attente personnalisée ainsi que les modifications apportées aux class-maps de mise en file d'attente globale :
policy-map type queuing 10G_POLICY
class type queuing 1p7q4t-out-pq1
priority level 1
queue-limit percent 10
class type queuing 1p7q4t-out-q2
queue-limit percent 10
bandwidth remaining percent 10
class type queuing 1p7q4t-out-q3
queue-limit percent 5
bandwidth remaining percent 5
class type queuing 1p7q4t-out-q4
queue-limit percent 5
bandwidth remaining percent 5
class type queuing 1p7q4t-out-q5
queue-limit percent 10
bandwidth remaining percent 20
class type queuing 1p7q4t-out-q6
queue-limit percent 5
bandwidth remaining percent 10
class type queuing 1p7q4t-out-q7
queue-limit percent 5
bandwidth remaining percent 10
class type queuing 1p7q4t-out-q-default
queue-limit percent 50
bandwidth remaining percent 40
! voice
class-map type queuing match-any 1p7q4t-out-pq1
match cos 5
! scavenger
class-map type queuing match-any 1p7q4t-out-q2
match cos 1
! transactional
class-map type queuing match-any 1p7q4t-out-q3
match cos 2
! call signaling
class-map type queuing match-any 1p7q4t-out-q4
match cos 3
! video
class-map type queuing match-any 1p7q4t-out-q5
match cos 4
! routing
class-map type queuing match-any 1p7q4t-out-q6
match cos 6
! management
class-map type queuing match-any 1p7q4t-out-q7
match cos 7
! best effort
class-map type queuing match-any 1p7q4t-out-q-default
match cos 0
La dernière étape consiste à appliquer la stratégie de mise en file d'attente personnalisée à chaque interface 1p7q4t :
interface Ethernet8/1
service-policy type queuing output 10G_POLICY
La stratégie de mise en file d'attente par défaut suppose que CoS 0-4 est mappé à la file d'attente par défaut et CoS 5-7 à la file d'attente prioritaire. Par conséquent, les limites de file d'attente pour les files d'attente q3, q4, q5, q6 et q7 sont extrêmement petites. Vous pouvez entrer la commande show queuing interface pour valider la taille de file d'attente et la bande passante actuellement configurées et appliquées dans le matériel.
Considérez l'exemple de stratégie de la section précédente où chaque valeur CoS a été mappée à une file d'attente spécifique. À la fin de l'exemple, la stratégie de mise en file d'attente personnalisée a été appliquée à Eth8/1. Supposons également qu'il existe une autre interface 1p7q4t (Eth6/1) qui a été laissée avec la stratégie de mise en file d'attente par défaut :
N7k# show queuing interface e6/1
<some output omitted>
Configured queue-limit ratios
queue-limit ratios: 78[1p7q4t-out-q-default] 1[1p7q4t-out-q2] 1[1p7q4t-out-q3]
*1[1p7q4t-out-q4] *1[1p7q4t-out-q5] *1[1p7q4t-out-q6] *1[1p7q4t-out-q7] 16[1p7q4t-out-pq1]
* means unused queue with mandatory minimum queue-limit
Thresholds:
COS Queue Threshold Type Min Max
______________________________________________________________
0 1p7q4t-out-q-default DT 100 100
1 1p7q4t-out-q2 DT 100 100
2 1p7q4t-out-q3 DT 100 100
3 1p7q4t-out-q4 DT 100 100
4 1p7q4t-out-q5 DT 100 100
5 1p7q4t-out-pq1 DT 100 100
6 1p7q4t-out-q6 DT 100 100
7 1p7q4t-out-q7 DT 100 100
D'après le résultat ci-dessus, les files d'attente q2 et q3 ont une limite de file d'attente de 1 % tandis que les files d'attente q4, q5, q6 et q7 ont *1 %, soit la limite de file d'attente obligatoire minimale (en d'autres termes, significativement inférieure à 1 %). En outre, vous pouvez voir que les valeurs CoS 1-4 et 6-7 utilisent ces très petites files d'attente. Les petites tailles de file d'attente entraînent rapidement des rejets de sortie et peuvent dégrader les performances du réseau. Cette situation est encore aggravée si le trafic par défaut CoS 0 est mappé à l'une de ces petites files d'attente.
En résumé, si vous créez une stratégie de mise en file d'attente personnalisée et modifiez les class-maps de mise en file d'attente globale, il est essentiel d'appliquer la stratégie de mise en file d'attente personnalisée à toutes les interfaces du châssis qui partagent le même type de mise en file d'attente.
Certaines commandes utiles sont également répertoriées ici :
Révision | Date de publication | Commentaires |
---|---|---|
1.0 |
29-May-2013 |
Première publication |