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.
Aucune spécification déterminée n'est requise pour ce document.
Ce document n'est pas limité à des versions de matériel et de logiciel spécifiques.
Pour plus d'informations sur les conventions utilisées dans ce document, reportez-vous à Conventions relatives aux conseils techniques Cisco.
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.
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
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 |
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 :
Mapper chaque valeur de classe de service (CoS) possible à une file d'attente et à un seuil (facultatif)
Configurer le poids WRR (facultatif)
Configurer les tampons affectés à chaque file d'attente (facultatif)
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.
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
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.
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.
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.
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.
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 ]
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é.
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.
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.
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.
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.
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.
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.
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.
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.