Contenu

Introduction

Conditions préalables

Conditions requises

Components Used

Conventions

Aperçu

Comportement de la classe de service

Modifier le comportement COS sur les liaisons d'accès

Sélection et planification de la file d'attente de sortie

Créer une stratégie de mise en file d'attente personnalisée

Cavates

Informations connexes

Introduction

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.

Conditions préalables

Conditions requises

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

Components Used

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.

Conventions

Pour plus d'informations sur les conventions utilisées dans ce document, reportez-vous à Conventions relatives aux conseils techniques Cisco.

Aperçu

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.

Comportement de la classe de service

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é

Modifier le comportement COS sur les liaisons d'accès

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.

Note: L'en-tête CoS n'est affiché qu'à des fins de clarification. E8/1 est un port d'accès, la valeur CoS est donc 0. Le flux de paquets va de gauche à droite.

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'.

Sélection et planification de la file d'attente de sortie

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.

Créer une stratégie de mise en file d'attente personnalisée

Pour créer une stratégie de mise en file d'attente personnalisée, procédez comme suit :

1. Créez une stratégie de file d'attente personnalisée avec la limite de file d'attente et l'allocation de bande passante souhaitées.

2. Modifiez les class-maps de mise en file d'attente globale pour créer le mappage CoS nécessaire à la file d'attente.

3. Appliquez la nouvelle stratégie de mise en file d'attente aux interfaces appropriées.

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

Cavates

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 :

- show policy-map interface ex/y

- show system internal queuing stat interface ex/y

Informations connexes

- Guide de configuration de la qualité de service NX-OS de la gamme Cisco Nexus 7000, version 5.x

- Support et documentation techniques - Cisco Systems