Ce document décrit comment dépanner des suppressions de sortie dues au Qualité de service (QoS) sur la gamme 2960 de commutateurs Cisco Catalyst, 3750, 3750G, 3750X, 3560.
Cisco recommande que vous ayez la connaissance de base de QoS.
Les informations dans ce document sont basées sur ces Plateformes : Gamme 2960 de commutateurs Cisco Catalyst, 3750, 3750G, 3750X, 3560.
Les informations contenues dans ce document ont été créées à partir des périphériques d'un environnement de laboratoire spécifique. Tous les périphériques utilisés dans ce document ont démarré avec une configuration effacée (par défaut). Si votre réseau est opérationnel, assurez-vous que vous comprenez l'effet potentiel de toute commande.
QoS est utilisé pour donner la priorité à des données plus importantes pendant des périodes d'encombrement. En conséquence, après que QoS soit activé, les données en vrac moins importantes pourraient éprouver des baisses.
Les Commutateurs de couche d'accès de Cisco implémentent des caractéristiques de QoS dans le matériel. Ce document vous aide à déterminer si les baisses sont provoqué par par QoS et décrit de diverses options de queue et d'ajustement de mémoire tampon de les atténuer.
File d'attente par défaut d'entrée
File d'attente par défaut de sortie
Switch#show int gi1/0/1
!-- Some output omitted.
GigabitEthernet0/1 is up, line protocol is up (connected)
MTU 1500 bytes, BW 100000 Kbit, DLY 100 usec,
Full-duplex, 1000Mb/s, media type is 10/100/1000BaseTX
input flow-control is off, output flow-control is unsupported
Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 1089
Queueing strategy: fifo
Output queue: 0/40 (size/max)
5 minute input rate 4000 bits/sec, 6 packets/sec
5 minute output rate 3009880 bits/sec, 963 packets/sec
Switch#show mls qos
QoS is enabled
QoS ip packet dscp rewrite is enabled
Switch#show mls qos int gi1/0/1 statistics
GigabitEthernet1/0/1 (All statistics are in packets)
dscp: incoming
-------------------------------
0 - 4 : 0 0 0 0 0
5 - 9 : 0 0 0 0 0
10 - 14 : 0 0 0 0 0
15 - 19 : 0 0 0 0 0
20 - 24 : 0 0 0 0 0
25 - 29 : 0 0 0 0 0
30 - 34 : 0 0 0 0 0
35 - 39 : 0 0 0 0 0
40 - 44 : 0 0 0 0 0
45 - 49 : 0 198910 0 0 0
50 - 54 : 0 0 0 0 0
55 - 59 : 0 0 0 0 0
60 - 64 : 0 0 0 0
dscp: outgoing
-------------------------------
0 - 4 : 0 0 0 0 0
5 - 9 : 0 0 0 0 0
10 - 14 : 0 0 0 0 0
15 - 19 : 0 0 0 0 0
20 - 24 : 0 0 0 0 0
25 - 29 : 0 0 0 0 0
30 - 34 : 0 0 0 0 0
35 - 39 : 0 0 0 0 0
40 - 44 : 0 0 0 0 0
45 - 49 : 0 248484 0 0 0
50 - 54 : 0 0 0 0 0
55 - 59 : 0 0 0 0 0
60 - 64 : 0 0 0 0
cos: incoming
-------------------------------
0 - 4 : 2 0 0 0 0
5 - 7 : 0 0 0
cos: outgoing
-------------------------------
0 - 4 : 0 0 0 0 0
5 - 7 : 0 0 0
output queues enqueued:
queue: threshold1 threshold2 threshold3
-----------------------------------------------
queue 0: 248484 0 0
queue 1: 0 0 0
queue 2: 0 0 0
queue 3: 0 0 0
output queues dropped:
queue: threshold1 threshold2 threshold3
-----------------------------------------------
queue 0: 1089 0 0
queue 1: 0 0 0
queue 2: 0 0 0
queue 3: 0 0 0
Policer: Inprofile: 0 OutofProfile: 0Note: Cet exemple affiche les paquets abandonnés sur les paquets de baisse de la file d'attente 0/threshold1. Dans d'autres exemples dans le document, la numérotation de file d'attente est 1 - 4 ; donc, cette valeur sera la file d'attente 1.
Switch#show mls qos maps dscp-output-q
Dscp-outputq-threshold map:
d1 :d2 0 1 2 3 4 5 6 7 8 9
------------------------------------------------------------
0 : 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01
1 : 02-01 02-01 02-01 02-01 02-01 02-01 03-01 03-01 03-01 03-01
2 : 03-01 03-01 03-01 03-01 03-01 03-01 03-01 03-01 03-01 03-01
3 : 03-01 03-01 04-01 04-01 04-01 04-01 04-01 04-01 04-01 04-01
4 : 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 04-01 04-01
5 : 04-01 04-01 04-01 04-01 04-01 04-01 04-01 04-01 04-01 04-01
6 : 04-01 04-01 04-01 04-01
Note: Chaque ensemble de configuration de file d'attente permet de configurer la taille de la mémoire tampon et la valeur de seuil pour les quatre files d'attente de sortie. Ensuite, vous pouvez appliquer l'un ou l'autre des ensembles de configuration de file d'attente à n'importe quel port. Par défaut, toutes les interfaces utilisent des files d'attente de sortie de 1par de queue-set à moins qu'explicitement configuré pour utiliser la queue-set 2.
Dans ce scénario, alignez 1 dans la queue-set 1 a 25% de tout le espace de mémoire tampon et le seuil 1 est placé à 100%
Switch#show mls qos queue-set
Queueset: 1
Queue : 1 2 3 4
----------------------------------------------
buffers : 25 25 25 25
threshold1: 100 200 100 100
threshold2: 100 200 100 100
reserved : 50 50 50 50
maximum : 400 400 400 400
Queueset: 2
Queue : 1 2 3 4
----------------------------------------------
buffers : 25 25 25 25
threshold1: 100 200 100 100
threshold2: 100 200 100 100
reserved : 50 50 50 50
maximum : 400 400 400 400
Note: Vous pouvez changer la queue-set 1 aussi bien ; cependant, comme toutes les interfaces par la queue-set par défaut 1 d'utilisation, la modification est reflétée à toutes les interfaces.
Dans cet exemple, la queue-set 2 est changée de sorte que la file d'attente 1 reçoive 70% de toute la mémoire tampon.
Switch(config)#mls qos queue-set output 2 buffers 70 10 10 10Dans cet exemple, la queue-set 2 et les seuils de la file d'attente 1 sont changés. Le seuil 1 et le seuil 2 sont tracés à 3100 de sorte qu'ils puissent tirer la mémoire tampon du groupe réservé s'il y a lieu.
Switch(config)#mls qos queue-set output 2 threshold 1 3100 3100 100 3200
Switch#show mls qos queue-set
Queueset: 1
Queue : 1 2 3 4
----------------------------------------------
buffers : 25 25 25 25
threshold1: 100 200 100 100
threshold2: 100 200 100 100
reserved : 50 50 50 50
maximum : 400 400 400 400
Queueset: 2
Queue : 1 2 3 4
----------------------------------------------
buffers : 70 10 10 10
threshold1: 3100 100 100 100
threshold2: 3100 100 100 100
reserved : 100 50 50 50
maximum : 3200 400 400 400
Switch(config)#int gi1/0/1
Switch(config-if)#queue-set 2
Switch(config-if)#endVérifiez que l'interface est tracée à la queue-set 2.
Switch#show run int gi1/0/1
interface GigabitEthernet1/0/1
switchport mode access
mls qos trust dscp
queue-set 2
endVérifiez si l'interface continue à relâcher des paquets.
Switch(config-if)#srr-queue bandwidth share 1 75 25 5
Switch(config-if)#srr-queue bandwidth shape 2 0 0 0Vérifiez si l'interface continue à relâcher des paquets.
Note: La file d'attente prioritaire est gérée jusqu'à ce qu'elle soit vide, et ce avant que ne soient traitées les autres files d'attente. Par défaut sur 2960/3560/3750 de Commutateurs, la file d'attente 1 est la file d'attente prioritaire.
Switch(config)#int gi1/0/1
Switch(config-if)#priority-queue out
Switch(config-if)#endLe marquage du paquet qui est lâché sur l'interface peut être tracé de sorte qu'il aille aligner 1 (file d'attente prioritaire). Cette action s'assurent que le trafic avec ce marquage est toujours traité avant toute autre chose.
Switch(config)#mls qos srr-queue output dscp-map queue 1 threshold 1
Voici quelques problèmes courants :
Q : Quand est-ce que je modifie la queue-set et quand est-ce que j'utilise partager/formant ?
A : La décision dépend de la nature des baisses. Si les baisses incrémentent par intermittence, cette question est très probablement due au trafic bursty. Au contraire, si les baisses incrémentent continuellement à un débit constant, la file d'attente qui relâche les paquets reçoit très probablement plus de données qu'elle peut envoyer.
Pour des baisses intermittentes, la file d'attente doit avoir une grande mémoire tampon qui peut faciliter des rafales occasionnelles. Afin d'implémenter cette solution, vous devez modifier la queue-set et allouer plus de mémoire tampon à la file d'attente affectée et augmenter les valeurs seuil aussi bien.
Pour des baisses continues, vous devez configurer le programmateur pour entretenir la file d'attente affectée plus souvent et pour sortir plus de paquets de la file d'attente par cycle CPU. Afin d'implémenter cette solution, vous devez confiure partager/formant sur les files d'attente de sortie.
Q : Quelle est la différence entre le mode partagé et le mode formé ?
A : En mode shaping, les files d'attente de sortie ont un pourcentage de bande passante garanti, auquel est limité leur débit. Le trafic de shaping n'excède pas la bande passante allouée, et ce même si le lien est inactif. Le mode formé fournit plus même un écoulement du trafic au fil du temps et réduit les crêtes et les vallées du trafic bursty. Avec la formation, la valeur absolue de chaque poids est utilisée pour calculer la bande passante disponible pour les files d'attente.
srr-queue bandwidth shape weight1 weight2 weight3 weight4
Le rapport d'inverse (1/weight) contrôle la bande passante de formation pour cette file d'attente. En d'autres termes, queue1 est le pour cent 1/weight1 réservé de la bande passante totale et ainsi de suite. Si vous configurez un poids de 0, la file d'attente correspondante fonctionne en mode partagé. Le poids spécifié avec la commande de srr-queue bandwidth shape est ignoré, et les poids spécifiés avec la commande de configuration d'interface de srr-queue bandwidth share pour une file d'attente entrent en vigueur.
En mode partagé, les files d'attente mettent en commun la bande passante entre eux ont basé sur les poids configurés. À ce niveau, une quantité de bande passante est garantie mais ne s'y limite pas. Par exemple, si une file d'attente est vide et n'exige plus un partage du lien, les files d'attente restantes peuvent développer dans la bande passante inutilisée et la mettre en commun entre eux.
srr-queue bandwidth share weight1 weight2 weight3 weight4
queue1 est un minimum garanti) les pour cent weight1/(weight1 + weight2 + weight3 + weight4 de la bande passante mais peut également manger dans la bande passante d'autres files d'attente en forme non s'il y a lieu.