Contenu

Introduction

Conditions préalables

Conditions requises

Components Used

Conventions

Informations générales

Pertes de la file d'attente de sortie

Fonctionnalité de mise en file d'attente de sortie de différentes cartes de ligne sur le Catalyst 6500/6000

Comprendre la capacité de file d’attente d’un port

Configuration, surveillance et exemple de planification de sortie sur Catalyst 6500/6000

Configuration

Surveillance de la planification des sorties et vérification des configurations

Exemple de planification de sortie

Utiliser la planification des sorties pour réduire les délais et la gigue

Réduire le délai

Réduire la gigue

Conclusion

Informations connexes

Introduction

L’utilisation de la planification de sortie garantit que le trafic important n’est pas abandonné en cas de surabonnement lourd. Ce document aborde toutes les techniques et tous les algorithmes impliqués dans la planification de sortie sur le commutateur Catalyst 6500/6000. Ce document explique également comment configurer et vérifier l’exécution de la planification de sortie sur le commutateur Catalyst 6500/6000 exécutant le logiciel Cisco IOSMD.

Référez-vous à Planification des sorties QoS sur les commutateurs de la gamme Catalyst 6500/6000 exécutant le logiciel système CatOS pour plus d'informations sur la détection WRED (Weighted Random Early Detection), WRR (Weighted Round Robin) et la perte de queue.

Conditions préalables

Conditions requises

Aucune spécification déterminée n'est requise pour ce document.

Components Used

Ce document n'est pas limité à des versions de matériel et de logiciel spécifiques.

Conventions

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

Informations générales

Pertes de la file d'attente de sortie

Les pertes en sortie sont provoquées par une interface congestionnée. Une cause courante de cette situation peut être le trafic provenant d’une liaison à bande passante élevée qui est commutée en une liaison à bande passante plus faible, ou le trafic provenant de plusieurs liaisons entrantes qui est commuté en une seule liaison sortante.

Par exemple, si un grand volume de trafic en rafales entre sur une interface Gigabit et est commuté vers une interface 100Mbps, cela pourrait entraîner l'incrémentation des suppressions en sortie sur l'interface 100Mbps. En effet, la file d'attente de sortie sur cette interface est submergée par l'excès de trafic dû à l'incompatibilité de vitesse entre les bandes passantes entrantes et sortantes. Le débit de trafic sur l'interface sortante ne peut pas accepter tous les paquets qui doivent être envoyés.

Pour résoudre le problème, la meilleure solution est d'augmenter la vitesse de la ligne. Cependant, il y a des façons d'empêcher, de diminuer ou de contrôler les pertes en sortie quand vous ne voulez pas augmenter la vitesse de la ligne. Vous pouvez empêcher les pertes en sortie seulement si elles sont une conséquence de brèves rafales de données. Si les pertes en sortie sont provoquées par un flux constant à haut débit, vous ne pouvez pas empêcher les pertes. Cependant, vous pouvez les contrôler.

Fonctionnalité de mise en file d'attente de sortie de différentes cartes de ligne sur le Catalyst 6500/6000

Si vous n'êtes pas sûr de la fonctionnalité de mise en file d'attente d'un port, émettez la commande show queueing interface {gigabitethernet | fastethernet} commande mod/port Voici les premières lignes de sortie d'une commande show queueing interface. Le port se trouve sur une carte de ligne Supervisor Engine 1A :

cosmos#show queueing interface gigabitethernet 1/1

Interface GigabitEthernet1/1 queueing strategy:  Weighted Round-Robin

QoS is disabled globally

Trust state: trust DSCP

Default COS is 0

Transmit group-buffers feature is enabled

Transmit queues [type = 1p2q2t]:

Queue Id    Scheduling  Num of thresholds

-----------------------------------------

1         WRR low             2

2         WRR high            2

3         Priority            1

!--- Output suppressed.

Le résultat montre que ce port a un type de file d'attente de sortie appelé 1p2q2t.

Une autre façon de voir le type de mise en file d'attente disponible sur un port spécifique consiste à émettre la commande show interface Features :

la-orion#show interface gigabitethernet 6/2 capabilities

GigabitEthernet6/2

Model:                 WS-SUP720-BASE

Type:                  No GBIC

Speed:                 1000

Duplex:                full

Trunk encap. type:     802.1Q,ISL

Trunk mode:            on,off,desirable,nonegotiate

Channel:               yes

Broadcast suppression: percentage(0-100)

Flowcontrol:           rx-(off,on,desired),tx-(off,on,desired)

Membership:            static

Fast Start:            yes

QOS scheduling:        rx-(1p1q4t), tx-(1p2q2t)

CoS rewrite:           yes

ToS rewrite:           yes

Inline power:          no

SPAN:                  source/destination

UDLD                   yes

Link Debounce:         yes

Link Debounce Time:    yes

Ports on ASIC:         1-2

Comprendre la capacité de file d’attente d’un port

Plusieurs types de files d'attente sont disponibles sur les commutateurs Catalyst 6500/6000. Ce tableau explique la notation de l'architecture QoS du port :

Transmission (Tx)/Réception (Rx)

Notation de file d'attente

Nombre de files d'attente

File d’attente prioritaire

Nombre de files d'attente WRR

Nombre et type de seuil pour les files d'attente WRR

Tx

2q2t

2

—

2

2 lignes de queue configurables

Tx

1p2q2t

3

1

2

2 WRED configurables

Tx

1p3q1t

4

1

3

1 WRED configurable

Tx

1p2q1t

3

1

2

1 WRED configurable

Rx

1q4t

1

—

—

4 lignes de queue configurables

Rx

1p1q4t

2

1

1

4 lignes de queue configurables

Rx

1p1q0t

2

1

1

Non configurable

Rx

1p1q8t

2

1

1

8 WRED configurables

Tx

1p3q8t

4

1

3

8 WRED configurables ou pile drop

Tx

1p7q8t

8

1

7

8 WRED configurables ou pile drop

Rx

1q2t

1

—

—

1 chute de queue configurable = 1 non configurable

Rx

1q8t

1

—

—

8 lignes configurables

Rx

2q8t

2

—

2

8 lignes configurables

Le tableau suivant répertorie certains des modules et types de file d'attente des côtés Rx et Tx de l'interface ou du port. Si votre module n'est pas répertorié ici, utilisez la commande show interface Features pour déterminer la capacité de file d'attente disponible. La section Fonctionnalités de l'interface est décrite dans la section Fonctionnalité de mise en file d'attente de sortie de différentes cartes de ligne sur Catalyst 6500/6000.

module

Files d'attente Rx

Files d'attente Tx

WS-X6K-S2-PFC2

1p1q4t

1p2q2t

WS-X6K-SUP1A-2GE

1p1q4t

1p2q2t

WS-X6K-SUP1-2GE

1q4t

2q2t

WS-X6501-10GEX4

1p1q8t

1p2q1t

WS-X6502-10GE

1p1q8t

1p2q1t

WS-X6516-GBIC

1p1q4t

1p2q2t

WS-X6516-GE-TX

1p1q4t

1p2q2t

WS-X6416-GBIC

1p1q4t

1p2q2t

WS-X6416-GE-MT

1p1q4t

1p2q2t

WS-X6316-GE-TX

1p1q4t

1p2q2t

WS-X6408A-GBIC

1p1q4t

1p2q2t

WS-X6408-GBIC

1q4t

2q2t

WS-X6524-100FX-MM

1p1q0t

1p3q1t

WS-X6324-100FX-SM

1q4t

2q2t

WS-X6324-100FX-MM

1q4t

2q2t

WS-X6224-100FX-MT

1q4t

2q2t

WS-X6548-RJ-21

1p1q0t

1p3q1t

WS-X6548-RJ-45

1p1q0t

1p3q1t

WS-X6348-RJ-21

1q4t

2q2t

WS-X6348-RJ21V

1q4t

2q2t

WS-X6348-RJ-45

1q4t

2q2t

WS-X6348-RJ-45V

1q4t

2q2t

WS-X6148-RJ-45V

1q4t

2q2t

WS-X6148-RJ21V

1q4t

2q2t

WS-X6248-RJ-45

1q4t

2q2t

WS-X6248A-TEL

1q4t

2q2t

WS-X6248-TEL

1q4t

2q2t

WS-X6024-10FL-MT

1q4t

2q2t

Configuration, surveillance et exemple de planification de sortie sur Catalyst 6500/6000

Configuration

Cette section décrit toutes les étapes nécessaires pour configurer la planification de sortie sur un Catalyst 6500/6000 qui exécute le logiciel Cisco IOS. Pour la configuration par défaut du Catalyst 6500/6000, reportez-vous au cas 1 : La QoS est activée et un paramètre par défaut est utilisé dans ce document.

La configuration du Catalyst 6500/6000 implique les cinq étapes suivantes :

1. Activer QoS

2. Mapper chaque valeur de classe de service (CoS) possible à une file d'attente et à un seuil (facultatif)

3. Configurer le poids WRR (facultatif)

4. Configurer les tampons affectés à chaque file d'attente (facultatif)

5. Configurer le niveau de seuil pour chaque file d'attente (facultatif)

Remarque : Chacune de ces étapes est facultative, à l'exception de l'étape 1. Vous pouvez décider de laisser la valeur par défaut pour un ou plusieurs paramètres.

Étape 1 : Activer QoS

Tout d'abord, activez QoS. N'oubliez pas que la QoS est désactivée par défaut. Lorsque QoS est désactivé, le mappage de CoS que vous avez configuré n'affecte pas le résultat. Il y a une file d'attente servie d'une manière FIFO (First In, First Out), et tous les paquets y sont abandonnés.

cosmos#configure terminal

Enter configuration commands, one per line.  End with CNTL/Z.

cosmos(config)#mls qos

QoS is enabled globally

Microflow policing is enabled globally

QoS global counters:

Total packets: 552638

IP shortcut packets: 0

Packets dropped by policing: 0

IP packets with TOS changed by policing: 0

IP packets with COS changed by policing: 0

Non-IP packets with CoS changed by policing: 0

Étape 2 : Mapper chaque valeur CoS possible à une file d'attente et à un seuil

Pour tous les types de file d'attente, affectez la CoS à une file d'attente et à un seuil. Le mappage défini pour un type de port 2q2t n'est appliqué à aucun port 1p2q2t. En outre, le mappage pour 2q2t est appliqué à tous les ports disposant d'un mécanisme de mise en file d'attente 2q2t. Émettez ces commandes cos-map sous l'interface :

wrr-queue  cos-map Q_number_(1-2) threshold_number_(1-2) cos_value_1 cos_value_2

priority-queue cos-map Q_number_(always 1) cos_value_1 cos_value_2

Remarque : Chacune de ces commandes doit être sur une ligne.

Vous pouvez configurer séparément la file d'attente WRR. S'il existe une file d'attente prioritaire, vous pouvez la configurer à l'aide de la commande priority-queue.

Remarque : Les files d'attente sont toujours numérotées, en commençant par la file d'attente de priorité la plus basse possible et en terminant par la file d'attente de priorité stricte disponible. Exemple :

- La file d'attente 1 est la file d'attente WRR de faible priorité.

- La file d'attente 2 est la file d'attente WRR prioritaire.

- La file d'attente 3 est la file d'attente de priorité stricte.

Répétez cette opération pour tous les types de files d'attente, sinon l'affectation CoS par défaut reste. Voici un exemple de configuration pour 1p2q2t :

cosmos#configure terminal

cosmos(config)#interface gigabitethernet 1/1

cosmos(config-if)#priority-queue cos-map 1 5

!--- Assign a CoS of 5 to priority queue.

cos-map configured on:  Gi1/1 Gi1/2

cosmos(config-if)#wrr-queue cos-map 1 1 0 1

!--- Assign CoS 0 and 1 to the first threshold of low-priority WRR queue.

cos-map configured on:  Gi1/1 Gi1/2

cosmos(config-if)#wrr-queue cos-map 1 2 2 3

!--- Assign CoS 2 and 3 to the second threshold of low-priority WRR queue.

cos-map configured on:  Gi1/1 Gi1/2

cosmos(config-if)#wrr-queue cos-map 2 1 4 6

!--- Assign CoS 4 and 6 to the first threshold of high-priority WRR queue.

cos-map configured on:  Gi1/1 Gi1/2

cosmos(config-if)#wrr-queue cos-map 2 2 7

!--- Assign CoS 7 to the first threshold of high-priority WRR queue.

cos-map configured on:  Gi1/1 Gi1/2

Vérifiez la configuration :

cosmos#show queueing interface gigabitethernet 1/1

!--- Output suppressed.

queue thresh cos-map

---------------------------------------

1     1      0 1

1     2      2 3

2     1      4 6

2     2      7

3     1      5

!--- Output suppressed.

Étape 3 : Configurer le poids WRR

Configurez le poids WRR pour les deux files d'attente WRR. Émettez cette commande d'interface :

wrr-queue bandwidth weight_for_Q1 weight_for_Q2

Le poids 1 se rapporte à la file d'attente 1, qui doit être la file d'attente WRR de faible priorité. Gardez toujours ce poids un niveau inférieur au poids 2. Le poids peut prendre n'importe quelle valeur comprise entre 1 et 255. Utilisez ces formules pour affecter le pourcentage :

- Vers la file d'attente 1—[poids 1 / (poids 1 + poids 2)]

- Vers la file d'attente 2—[poids 2 / (poids 1 + poids 2)]

Vous devez définir le poids de tous les types de files d'attente. Ces types de poids ne doivent pas nécessairement être identiques. Ceci est un exemple pour 2q2t, où la file d'attente 1 est desservie 20 % du temps et la file d'attente 2 est desservie 80 % du temps :

cosmos#configure terminal

Enter configuration commands, one per line.  End with CNTL/Z.

cosmos(config)#interface gigabitethernet 1/1

cosmos(config-if)#wrr-queue bandwidth ?

<1-255>  enter bandwidth weight between 1 and 255

cosmos(config-if)#wrr-queue bandwidth 20 80

!--- Queue 1 is served 20% of the time, and queue 2 is served !--- 80% of the time.

cosmos(config-if)#

Vérifiez la configuration :

cosmos#show queueing interface gigabitethernet 1/1

Interface GigabitEthernet1/1 queueing strategy:  Weighted Round-Robin

Port QoS is enabled

Port is untrusted

Default cos is 0

Transmit queues [type = 1p2q2t]:

Queue Id    Scheduling  Num of thresholds

-----------------------------------------

1         WRR low             2

2         WRR high            2

3         Priority            1

WRR bandwidth ratios:   20[queue 1]  80[queue 2]

queue-limit ratios:     90[queue 1]   5[queue 2]

!--- Output suppressed.

Remarque : Vous pouvez configurer différents poids WRR pour chaque interface lorsqu'il n'est pas possible d'utiliser le logiciel CatOS.

Étape 4 : Configurer les tampons affectés à chaque file d'attente

Vous devez définir le ratio de file d'attente de transmission. Cela détermine comment les mémoires tampon sont réparties entre les différentes files d'attente.

wrr-queue queue-limit percentage_WRR_Q1 percentage_WRR_Q2

cosmos(config)#interface gigabitethernet 1/2

cosmos(config-if)#wrr-queue queue-limit 70 15

!--- Queue 1 has 70% of the buffers. !--- Queues 2 and 3 both have 15% of the buffers.

queue-limit configured on:  Gi1/1 Gi1/2

Remarque : si la capacité de mise en file d'attente de votre port gigabit est 1p1q2t, vous devez utiliser le même niveau pour la file d'attente à priorité stricte et pour la file d'attente WRR à priorité élevée. Ces niveaux ne peuvent pas différer pour des raisons matérielles. Seule la bande passante des deux files d’attente WRR est configurée. Vous utilisez automatiquement la même valeur pour la file d'attente WRR de priorité élevée et la file d'attente de priorité stricte, le cas échéant.

Certains types de file d'attente n'ont pas de taille de file d'attente réglable. Par exemple, 1p3q1t, disponible sur WS-X6548RJ45. Ces types de file d'attente sont fixes et vous ne pouvez pas les modifier.

Vérifiez la configuration :

cosmos#show queueing interface gigabitethernet 1/2

Interface GigabitEthernet1/2 queueing strategy:  Weighted Round-Robin

Port QoS is enabled

Port is untrusted

Default cos is 0

Transmit queues [type = 1p2q2t]:

Queue Id    Scheduling  Num of thresholds

-----------------------------------------

1         WRR low             2

2         WRR high            2

3         Priority            1

WRR bandwidth ratios:    5[queue 1] 255[queue 2]

queue-limit ratios:     70[queue 1]  15[queue 2]

Remarque : Il est préférable de laisser la plus grande partie des tampons pour la file d'attente WRR de faible priorité. Il s'agit de la file d'attente dans laquelle vous devez activer la mise en mémoire tampon supplémentaire. Les autres files d'attente sont traitées avec une priorité plus élevée.

Étape 5 : Configurer le niveau de seuil pour chaque file d'attente

En guise de dernière étape, configurez le niveau de seuil pour la file d'attente WRED ou pour la file d'attente de suppression de queue. Cette liste fournit les commandes suivantes :

- Pour les files d'attente qui utilisent WRED comme mécanisme de rejet pour le seuil, émettez ces commandes :

wrr-queue random-dtect min-threshold Q_number threshold_1_value threshold_2_value

wrr-queue random-dtect max-threshold Q_number threshold_1_value threshold_2_value

Remarque : Chacune de ces commandes doit être sur une ligne.

- Pour les files d'attente qui utilisent le mécanisme de suppression de queue, émettez cette commande :

wrr-queue threshold Q_number threshold_1_value threshold_2_value

Remarque : cette commande doit être sur une seule ligne.

Configuration d'une file d'attente WRED :

cosmos(config)#interface gigabitethernet 1/1

cosmos(config-if)#wrr-queue random-detect min-threshold  1 20 50

!--- This sets the threshold of queue 1 to 20 and 50% minimum threshold !--- configured on Gi1/1 Gi1/2.

cosmos(config-if)#wrr-queue random-detect min-threshold  2 20 50

!--- This sets the threshold of queue 2 to 20 and 50% minimum threshold !--- configured on Gi1/1 Gi1/2.

cosmos(config-if)#wrr-queue random-detect max-threshold  1 50 80

!--- This sets the threshold of queue 1 to 50 and 80% maximum threshold !--- configured on Gi1/1 Gi1/2.

cosmos(config-if)#wrr-queue random-detect max-threshold  2 40 60

!--- This sets the threshold of queue 2 to 49 and 60% maximum threshold !--- configured on Gi1/1 Gi1/2.

Configuration d'une file d'attente de suppression de queue :

cosmos(config)#interface fastethernet 3/1

cosmos(config-if)#wrr-queue threshold ?

<1-2> enter threshold queue id (1-2)

cosmos(config-if)#wrr-queue threshold 1 ?

<1-100>  enter percent of queue size between 1 and 100

cosmos(config-if)#wrr-queue threshold 1 50 100

!--- This sets the tail drop threshold for this 2q2t interface for !--- queue 1 (low-priority) to 50 and 100% of the buffer.

threshold configured on: Fa3/1 Fa3/2 Fa3/3 Fa3/4 Fa3/5 Fa3/6 Fa3/7 Fa3/8

Fa3/9 Fa3/10 Fa3/11 Fa3/12

cosmos(config-if)#

cosmos(config-if)#

cosmos(config-if)#wrr-queue threshold 2 40 100

!--- This sets the tail drop threshold for this 2q2t interface for !--- queue 2 (high-priority) to 40 and 100% of the buffer.

threshold configured on: Fa3/1 Fa3/2 Fa3/3 Fa3/4 Fa3/5 Fa3/6 Fa3/7 Fa3/8

Fa3/9 Fa3/10 Fa3/11 Fa3/12

cosmos(config-if)#

Vérifiez la configuration :

cosmos#show queueing interface gigabitethernet 1/1

Interface GigabitEthernet1/1 queueing strategy:  Weighted Round-Robin

Port QoS is enabled

Port is untrusted

Default cos is 0

Transmit queues [type = 1p2q2t]:

Queue Id    Scheduling  Num of thresholds

-----------------------------------------

1         WRR low             2

2         WRR high            2

3         Priority            1

WRR bandwidth ratios:   20[queue 1]  80[queue 2]

queue-limit ratios:     70[queue 1]  15[queue 2]

queue random-detect-min-thresholds

-----------------------------

1    20[1] 50[2]

2    20[1] 50[2]

queue random-detect-max-thresholds

----------------------------------

1    50[1] 80[2]

2    40[1] 60[2]

cosmos#show queueing interface fastethernet 3/1

Interface FastEthernet3/1 queueing strategy:  Weighted Round-Robin

Port QoS is enabled

Port is untrusted

Default cos is 0

Transmit queues [type = 2q2t]:

Queue Id    Scheduling  Num of thresholds

-----------------------------------------

1         WRR low             2

2         WRR high            2

WRR bandwidth ratios:  100[queue 1] 255[queue 2]

queue-limit ratios:     90[queue 1]  10[queue 2]

queue tail-drop-thresholds

--------------------------

1     50[1] 100[2]

2     40[1] 100[2]

Vous ne pouvez pas configurer le seuil et affecter la CoS à la file d'attente par port. Toutes les modifications sont appliquées à un ensemble de ports contigus :

- Quatre ports pour cartes de ligne Gigabit : les ports 1 à 4 sont combinés et les ports 5 à 8 sont combinés.

- Douze ports pour les ports 10/100 ou 100 ports à fibre optique basés sur la mise en file d'attente 1q4t/2q2t : 1 à 12, 13 à 24, 25 à 36 et 36 à 48.

- Afin de déterminer le port exact qui appartient au même ASIC, utilisez la commande show interface ability.

Surveillance de la planification des sorties et vérification des configurations

La commande la plus simple à exécuter afin de vérifier la configuration d'exécution actuelle d'un port en ce qui concerne la planification de sortie est la show queueing interface {gigabitethernet | fastethernet} commande slot/port Cette commande affiche le type de mise en file d'attente sur le port, le mappage de CoS aux différentes files d'attente et seuils, le partage de tampon et le poids WRR. Ici, il s'agit d'un WRR de 20 % pour la file d'attente 1 et de 80 % pour la file d'attente 2. La commande affiche également toutes les informations configurées pour la planification des sorties et le nombre de paquets qui sont abandonnés dans chaque file d'attente pour chaque seuil :

cosmos#show queueing interface gigabitethernet 1/1

Interface GigabitEthernet1/1 queueing strategy:  Weighted Round-Robin

Port QoS is enabled

Port is untrusted

Default COS is 0

Transmit queues [type = 1p2q2t]:

Queue Id    Scheduling  Num of thresholds

-----------------------------------------

1         WRR low             2

2         WRR high            2

3         Priority            1

WRR bandwidth ratios:   20[queue 1]  80[queue 2]

queue-limit ratios:     70[queue 1]  15[queue 2]

queue random-detect-max-thresholds

----------------------------------

1    50[1] 80[2]

2    40[1] 60[2]

queue thresh cos-map

---------------------------------------

1     1      0 1

1     2      2 3

2     1      4 6

2     2      7

3     1      5

Receive queues [type = 1p1q4t]:

Queue Id    Scheduling  Num of thresholds

-----------------------------------------

1         Standard            4

2         Priority            1

queue tail-drop-thresholds

--------------------------

1     100[1] 100[2] 100[3] 100[4]

queue thresh cos-map

---------------------------------------

1     1      0 1

1     2      2 3

1     3      4

1     4      6 7

2     1      5

Packets dropped on Transmit:

BPDU packets:  0

queue thresh    dropped  [cos-map]

---------------------------------------------------

1     1               0  [0 1 ]

1     2               0  [2 3 ]

2     1               0  [4 6 ]

2     2               0  [7 ]

3     1               0  [5 ]

Packets dropped on Receive:

BPDU packets:  0

queue thresh    dropped  [cos-map]

---------------------------------------------------

1     1               0  [0 1 ]

1     2               0  [2 3 ]

1     3               0  [4 ]

1     4               0  [6 7 ]

2     1               0  [5 ]

Exemple de planification de sortie

Ce trafic est injecté sur le Catalyst 6500/6000 :

- Dans le port gigabit 1/2 : un gigabit de trafic avec priorité zéro

- Dans le port gigabit 5/2 :

- 133 Mo de trafic avec priorité de sept

- 133 Mo de trafic avec priorité de six

- 133 Mo de trafic avec priorité de cinq

- 133 Mo de trafic avec priorité de quatre

- 133 Mo de trafic avec priorité de trois

- 133 Mo de trafic avec priorité de deux

- 133 Mo de trafic avec priorité d'un

Tout le trafic de monodiffusion sort du commutateur par port gigabit 1/1, qui est très surabonné.

Cas 1 : QoS est activé et un paramètre par défaut est utilisé

La commande show queueing interface gigabitethernet 1/1 configure toutes les sorties de cet exemple. La commande fournit des informations supplémentaires sur la planification des entrées. Cependant, comme ce document ne couvre que la planification des sorties, il supprime cette sortie.

Lorsque la QoS est globalement activée et que tous les paramètres par défaut sont utilisés, cette sortie se produit après quelques minutes :

nelix#show queueing interface gigabitethernet 1/1

Interface GigabitEthernet1/1 queueing strategy:  Weighted Round-Robin

Port QoS is enabled

Trust state: trust DSCP

Default cos is 0

Transmit queues [type = 1p2q2t]:

Queue Id    Scheduling  Num of thresholds

-----------------------------------------

1         WRR low             2

2         WRR high            2

3         Priority            1

WRR bandwidth ratios:  100[queue 1] 255[queue 2]

queue-limit ratios:     90[queue 1]   5[queue 2]

queue random-detect-max-thresholds

----------------------------------

1    40[1] 100[2]

2    40[1] 100[2]

queue thresh cos-map

---------------------------------------

1     1      0 1

1     2      2 3

2     1      4

2     2      6 7

3     1      5

Packets dropped on Transmit:

BPDU packets:  0

queue thresh    dropped  [cos-map]

---------------------------------------------------

1     1       149606424  [0 1 ]

1     2               0  [2 3 ]

2     1        16551394  [4 ]

2     2         4254446  [6 7 ]

3     1               0  [5 ]

Dans cette sortie, les valeurs par défaut sont les suivantes :

- Poids WRR de la file d'attente 1—100 / (100 + 255) = 28 %

- Poids WRR de la file d'attente 2—255 / (255 + 100) = 72 %

- Partage de mémoire tampon : —90 % pour la file d'attente 1, 5 % pour la file d'attente 2 et 5 % pour la file d'attente de priorité stricte

La plupart des paquets de la file d'attente WRR de faible priorité sont abandonnés, mais certains sont toujours abandonnés dans la file d'attente WRR de haute priorité pour les deux seuils. Il y a un total de 170 412 264 chutes (149 606 424 + 16 551 394 + 4 254 446). Ces gouttes sont réparties comme suit :

- 149 606 424 / 170 412 264 = 88 % des pertes dans la file d'attente 1 (premier paquet de seuil avec CoS 0 et 1)

- 16 551 394 / 170 412 264 = 10 % des pertes dans la file d'attente 2 (premier paquet de seuil avec CoS 4)

- 4 254 446 / 170 412 264 = 2 % des pertes dans la file d'attente 2 (deuxième paquet de seuil avec CoS de 6 ou 7)

Remarque : Vous ne voyez aucune perte dans la file d'attente de priorité stricte.

Cas 2 : Modifier le poids WRR

Comme indiqué dans le cas 1 : La QoS est activée et une section Paramètre par défaut est utilisée, les paquets de la file d'attente 2 sont toujours abandonnés. Modifiez le poids du WRR pour donner plus de bande passante à la file d'attente 2. Maintenant, la file d'attente 1 est vidée 4 % du temps et la file d'attente 2 96 % du temps :

show run interface gigabitethernet 1/1

interface GigabitEthernet1/1

no ip address

wrr-queue bandwidth 10 255

mls qos trust dscp

switchport

switchport mode access

end

nelix#show queueing interface gigabitethernet 1/1

Interface GigabitEthernet1/1 queueing strategy:  Weighted Round-Robin

Port QoS is enabled

Trust state: trust DSCP

Default cos is 0

Transmit queues [type = 1p2q2t]:

Queue Id    Scheduling  Num of thresholds

-----------------------------------------

1         WRR low             2

2         WRR high            2

3         Priority            1

WRR bandwidth ratios:   10[queue 1] 255[queue 2]

queue-limit ratios:     90[queue 1]   5[queue 2]

queue random-detect-max-thresholds

----------------------------------

1    40[1] 100[2]

2    40[1] 100[2]

queue thresh cos-map

---------------------------------------

1     1      0 1

1     2      2 3

2     1      4

2     2      6 7

3     1      5

Packets dropped on Transmit:

BPDU packets:  0

queue thresh    dropped  [cos-map]

---------------------------------------------------

1     1         2786205  [0 1 ]

1     2               0  [2 3 ]

2     1           11363  [4 ]

2     2              69  [6 7 ]

3     1               0  [5 ]

Comme le montre ce résultat, le pourcentage de pertes dans la file d'attente 2 est maintenant beaucoup plus faible. Au total, 2 797 637 baisses sont réparties de cette manière :

- 2 786 205 / 2 797 637 = 99,591 % des pertes dans la file d'attente 1 (avec paquet de CoS 0 et 1)

- 11 363 / 2 797 637 = 0,408 % des pertes dans la file d'attente 2 (premier seuil avec le paquet CoS 4)

- 69 / 2 797 637 = 0,001 % des pertes dans la file d'attente 2 (deuxième seuil pour les paquets avec CoS 6 et 7)

Si vous utilisez différents poids WRR, cela garantit plus de QoS dans la file d'attente 2.

Cas 3 : Modification du poids WRR supplémentaire

Vous pouvez être encore plus agressif avec le poids WRR. Dans cet exemple de sortie, seulement 0,39 % du poids est attribué à la file d'attente 1 :

show run interface gigabitethernet 1/1

interface GigabitEthernet1/1

no ip address

wrr-queue bandwidth 1 255

mls qos trust dscp

switchport

switchport mode access

end

nelix#show queueing interface gigabitethernet 1/1

Interface GigabitEthernet1/1 queueing strategy:  Weighted Round-Robin

Port QoS is enabled

Trust state: trust DSCP

Default cos is 0

Transmit queues [type = 1p2q2t]:

Queue Id    Scheduling  Num of thresholds

-----------------------------------------

1         WRR low             2

2         WRR high            2

3         Priority            1

WRR bandwidth ratios:    1[queue 1] 255[queue 2]

queue-limit ratios:     90[queue 1]   5[queue 2]

queue random-detect-max-thresholds

----------------------------------

1    40[1] 100[2]

2    40[1] 100[2]

queue thresh cos-map

---------------------------------------

1     1      0 1

1     2      2 3

2     1      4

2     2      6 7

3     1      5

Packets dropped on Transmit:

BPDU packets:  0

queue thresh    dropped  [cos-map]

---------------------------------------------------

1     1         2535315  [0 1 ]

1     2               0  [2 3 ]

2     1             705  [4 ]

2     2              73  [6 7 ]

3     1               0  [5 ]

Même avec le poids WRR agressif, les paquets sont toujours abandonnés dans la file d'attente 2. Cependant, en comparaison, il n'y a pas beaucoup de paquets. Il n'y a maintenant qu'une perte de paquets de 0,03 % dans la file d'attente 2.

Cas 4 : Modifier l'affectation de tampon de limite de file d'attente

Comme le montre le cas 2 : Modifier le poids WRR et le cas 3 : Sections supplémentaires de modification du poids WRR, les paquets tombent toujours dans la file d'attente 2, bien que le pourcentage WRR vous assure que la perte est minimale. Cependant, lorsque le deuxième seuil (défini à 100 %) est atteint dans la file d'attente 2, certains paquets continuent à être abandonnés.

Afin d'améliorer ceci, modifiez la limite de file d'attente (taille de la mémoire tampon affectée à chaque file d'attente). Dans cet exemple, la limite de file d'attente est définie sur 70 % pour la file d'attente 1, 15 % pour la file d'attente 2 et 15 % pour la file d'attente de priorité stricte :

show run gigabitethernet 1/1

interface GigabitEthernet1/1

no ip address

wrr-queue bandwidth 1 255

wrr-queue queue-limit 70 15

mls qos trust dscp

switchport

switchport mode access

end

nelix#show queueing interface gigabitethernet 1/1

Interface GigabitEthernet1/1 queueing strategy:  Weighted Round-Robin

Port QoS is enabled

Trust state: trust DSCP

Default cos is 0

Transmit queues [type = 1p2q2t]:

Queue Id    Scheduling  Num of thresholds

-----------------------------------------

1         WRR low             2

2         WRR high            2

3         Priority            1

WRR bandwidth ratios:    1[queue 1] 255[queue 2]

queue-limit ratios:     70[queue 1]  15[queue 2]

queue random-detect-max-thresholds

----------------------------------

1    40[1] 100[2]

2    40[1] 100[2]

queue thresh cos-map

---------------------------------------

1     1      0 1

1     2      2 3

2     1      4

2     2      6 7

3     1      5

Receive queues [type = 1p1q4t]:

Queue Id    Scheduling  Num of thresholds

-----------------------------------------

1         Standard            4

2         Priority            1

queue tail-drop-thresholds

--------------------------

1     100[1] 100[2] 100[3] 100[4]

queue thresh cos-map

---------------------------------------

1     1      0 1

1     2      2 3

1     3      4

1     4      6 7

2     1      5

Packets dropped on Transmit:

BPDU packets:  0

queue thresh    dropped  [cos-map]

---------------------------------------------------

1     1       154253046  [0 1 ]

1     2               0  [2 3 ]

2     1               0  [4 ]

2     2               0  [6 7 ]

3     1               0  [5 ]

Maintenant, les abandons ne se produisent que dans la file d'attente 1.

Utiliser la planification des sorties pour réduire les délais et la gigue

Les études de cas de la section Exemple de planification de sortie montrent l'avantage de la mise en oeuvre de la planification de sortie pour éviter une baisse du trafic VoIP ou critique en cas de surabonnement au port de sortie. La sursouscription ne se produit pas très fréquemment dans un réseau normal (en particulier sur une liaison gigabit). La sursouscription ne doit se produire que pendant les heures de pointe du trafic ou pendant les rafales de trafic qui surviennent dans un délai très court.

Même sans surabonnement, la planification des sorties peut être très utile dans un réseau où la QoS est mise en oeuvre de bout en bout. Cette section fournit des exemples de la façon dont la planification des sorties peut aider à réduire les délais et la gigue.

Réduire le délai

Le délai d’un paquet augmente en raison du temps perdu dans la mémoire tampon de chaque commutateur pendant qu’il attend d’être transmis. Par exemple, un petit paquet vocal avec une CoS de 5 est envoyé depuis un port lors d'une sauvegarde ou d'un transfert de fichiers volumineux. Supposons qu'il n'y ait pas de QoS pour le port de sortie et que le petit paquet vocal soit mis en file d'attente après 10 paquets de 1 500 octets de grande taille. Dans ce cas, vous pouvez facilement calculer que le temps de vitesse gigabit nécessaire pour transmettre les 10 grands paquets est :

- (10 x 1 500 x 8) = 120 000 bits transmis en 120 microsecondes

Si ce paquet doit traverser huit ou neuf commutateurs tout en passant par le réseau, un retard d’environ 1 milliseconde peut en résulter. Ceci inclut uniquement les retards dans la file d'attente de sortie du commutateur traversé dans le réseau.

Remarque : si vous devez mettre en file d'attente les mêmes 10 paquets de grande taille sur une interface de 10 Mo (par exemple, connectée à un téléphone IP et à un PC), le délai introduit est le suivant :

- (10 x 1 500 x 8) = 120 000 bits transmis en 12 millisecondes

La mise en oeuvre de la planification de sortie garantit que les paquets vocaux avec une CoS de 5 sont placés dans la file d'attente de priorité stricte et sont envoyés avant tout paquet avec une CoS de moins de 5. Cela réduit les délais.

Réduire la gigue

Un autre avantage important de la planification des sorties est la réduction de la gigue. La gigue est la variation du délai des paquets dans le même flux. Cet exemple de scénario montre comment la planification des sorties peut réduire la gigue :

Dans ce scénario, le même port de sortie doit envoyer deux flux :

- Un flux vocal entrant sur un port Ethernet de 10 Mo.

- Un flux FTP entrant sur un port de liaison ascendante 1 Gigabit Ethernet.

Les deux flux quittent le commutateur par le même port de sortie. Cet exemple montre ce qui peut se produire sans l'utilisation de la planification de sortie. Tous les paquets de données volumineux peuvent être entrelacés entre deux paquets vocaux. Cela crée de la gigue dans la réception du paquet vocal à partir du même flux. Il y a un délai plus important entre la réception du paquet 1 et du paquet n + 1 lorsque le commutateur transmet le paquet de données volumineux. Cependant, le délai entre n + 1 et n + 2 est négligeable. Cela provoque une gigue dans le flux de trafic vocal. Vous pouvez facilement éviter ce problème avec l'utilisation d'une file d'attente de priorité stricte. Assurez-vous que vous mappez la valeur CoS des paquets voix à la file d'attente de priorité stricte.

Conclusion

Dans ce document, vous avez vu des études de cas sur la façon de configurer et de dépanner la planification des files d'attente de sortie sur un Catalyst 6500/6000 qui exécute le logiciel Cisco IOS. Vous avez également vu les avantages de la planification des sorties dans la plupart des réseaux avec le trafic vocal :

- Évite la perte de trafic critique en cas de surabonnement au port de sortie.

- Réduit le délai.

- Réduit la gigue.

Informations connexes

- Planification de la sortie QoS sur les commutateurs des gammes Catalyst 6500/6000 exécutant le logiciel système CatOS

- Présentation de Qos (Qualité de service) sur les commutateurs de la gamme Catalyst 6000

- Pages de support pour les produits LAN

- Page de support sur la commutation LAN

- Support et documentation techniques - Cisco Systems