In diesem Dokument wird beschrieben, wie Sie bei einer Reduzierung von Ausgaben aufgrund von Quality of Service (QoS) auf Cisco Catalyst Switches der Serien 2960, 3750, 3750G, 3750X, 3560 Fehler beheben können.
Cisco empfiehlt, über grundlegende QoS-Kenntnisse zu verfügen.
Die Informationen in diesem Dokument basieren auf den folgenden Plattformen: Cisco Catalyst Switches der Serien 2960, 3750, 3750G, 3750X, 3560
Die Informationen in diesem Dokument wurden von den Geräten in einer bestimmten Laborumgebung erstellt. Alle in diesem Dokument verwendeten Geräte haben mit einer leeren (Standard-)Konfiguration begonnen. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die potenziellen Auswirkungen eines Befehls verstehen.
QoS dient zur Priorisierung wichtiger Daten in Zeiten von Überlastungen. Nach der Aktivierung von QoS kann es zu Verlusten bei weniger wichtigen Massendaten kommen.
Cisco Access-Layer-Switches implementieren QoS-Funktionen in der Hardware. Dieses Dokument hilft Ihnen zu ermitteln, ob die Verwerfen durch QoS verursacht werden, und beschreibt verschiedene Warteschlangen- und Puffertuning-Optionen, um diese zu mindern.
Standard-Eingangswarteschlange
Ausgangsstandardwarteschlange
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: 0Hinweis: Dieses Beispiel zeigt, dass Pakete in der Warteschlange 0/threshold1 Pakete verwerfen. In anderen Beispielen im Dokument lautet die Warteschlangennummerierung 1-4. Dieser Wert ist daher die Warteschlange 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
Hinweis: Jeder Warteschlangensatz kann die Puffergröße und den Schwellenwert für die vier Ausgangs-Warteschlangen konfigurieren. Anschließend können Sie einen beliebigen Warteschlangensatz auf einen der Ports anwenden. Standardmäßig verwenden alle Schnittstellen Warteschlangen-Satz 1 für Ausgabewarteschlangen, es sei denn, sie sind explizit für die Verwendung von Warteschlangen-Satz 2 konfiguriert.
In diesem Szenario hat die Warteschlange 1 im Warteschlangensatz 1 25 % der gesamten Pufferkapazität und der Schwellenwert 1 ist auf 100 % festgelegt
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
Hinweis: Sie können auch Warteschlangen-Satz 1 ändern. Da jedoch alle Schnittstellen standardmäßig Warteschlangensatz 1 verwenden, wird die Änderung auf allen Schnittstellen übernommen.
In diesem Beispiel wird Warteschlangenset 2 so geändert, dass Warteschlange 1 70 % des gesamten Puffers empfängt.
Switch(config)#mls qos queue-set output 2 buffers 70 10 10 10In diesem Beispiel werden Schwellenwerte für Warteschlangen-Satz 2 und Warteschlange 1 geändert. Sowohl Schwellenwert 1 als auch Schwellenwert 2 werden 3100 zugeordnet, sodass bei Bedarf Puffer aus dem reservierten Pool abgerufen werden können.
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)#endÜberprüfen Sie, ob die Schnittstelle dem Warteschlangensatz 2 zugeordnet ist.
Switch#show run int gi1/0/1
interface GigabitEthernet1/0/1
switchport mode access
mls qos trust dscp
queue-set 2
endÜberprüfen Sie, ob die Schnittstelle weiterhin Pakete verwirft.
Switch(config-if)#srr-queue bandwidth share 1 75 25 5
Switch(config-if)#srr-queue bandwidth shape 2 0 0 0Überprüfen Sie, ob die Schnittstelle weiterhin Pakete verwirft.
Hinweis: Die Prioritätswarteschlange wird so lange bedient, bis eine leere Zeichenfolge eingegeben ist, bevor die anderen Warteschlangen bedient werden. Bei Switches der Serien 2960/3560/3750 ist die Warteschlange 1 standardmäßig die Prioritätswarteschlange.
Switch(config)#int gi1/0/1
Switch(config-if)#priority-queue out
Switch(config-if)#endDie Markierung des Pakets, das auf der Schnittstelle verworfen wird, kann so zugeordnet werden, dass es in die Warteschlange 1 (Prioritätswarteschlange) geht. Auf diese Weise wird sichergestellt, dass Datenverkehr mit dieser Markierung immer vor allem verarbeitet wird.
Switch(config)#mls qos srr-queue output dscp-map queue 1 threshold 1
Hier einige häufige Probleme:
Frage: Wann ändere ich das Warteschlangenset und wann verwende ich das Teilen/Shaping?
Antwort: Die Entscheidung hängt von der Art der Tropfen ab. Wenn die Erhöhung periodisch sinkt, ist dieses Problem höchstwahrscheinlich auf Datenverkehrsspitzen zurückzuführen. Im Gegenteil: Wenn die Erhöhung durchgehend mit konstanter Geschwindigkeit sinkt, empfängt die Warteschlange, die die Pakete verwirft, höchstwahrscheinlich mehr Daten, als sie senden kann.
Bei zeitweiligen Tropfen muss die Warteschlange über einen großen Puffer verfügen, der gelegentliche Bursts aufnehmen kann. Um diese Projektmappe zu implementieren, müssen Sie den Warteschlangensatz ändern und der betroffenen Warteschlange mehr Puffer zuweisen. Außerdem müssen die Schwellenwerte erhöht werden.
Bei kontinuierlichen Unterbrechungen müssen Sie den Scheduler so konfigurieren, dass die betroffene Warteschlange häufiger gewartet wird und pro CPU-Zyklus mehr Pakete aus der Warteschlange entfernt werden. Um diese Lösung zu implementieren, müssen Sie die Freigabe/Shaping für die Ausgangs-Datenpuffer konfigurieren.
Frage: Worin besteht der Unterschied zwischen dem gemeinsamen Modus und dem geformten Modus?
Antwort: Im Shaped-Modus wird den Ausgangs-Warteschlangen ein bestimmter Prozentsatz der Bandbreite garantiert, und die Rate ist auf diesen Betrag beschränkt. Shaped-Datenverkehr nutzt nicht mehr als die zugewiesene Bandbreite, selbst wenn die Verbindung inaktiv ist. Der Shaped-Modus sorgt für einen gleichmäßigeren Verkehrsfluss im Laufe der Zeit und reduziert die Spitzen und Täler des sprunghaften Verkehrs. Bei Shaping wird der absolute Wert jedes Gewichts verwendet, um die für die Warteschlangen verfügbare Bandbreite zu berechnen.
srr-queue-Bandbreitenform Gewicht1 Gewicht2 Gewicht3 Gewicht4
Das Umkehrverhältnis (1/Gewicht) steuert die Shaping-Bandbreite für diese Warteschlange. Anders ausgedrückt: Queue1 ist reserviert 1/weight1 Prozent der Gesamtbandbreite usw. Wenn Sie ein Gewicht von 0 konfigurieren, wird die entsprechende Warteschlange im Shared-Modus ausgeführt. Das mit dem Befehl srr-queue bandwidth shape angegebene Gewicht wird ignoriert, und die mit dem Konfigurationsbefehl srr-queue bandwidth share interface configuration für eine Warteschlange angegebenen Gewichtungen treten in Kraft.
Im Shared-Modus teilen sich die Warteschlangen die Bandbreite auf Basis der konfigurierten Gewichtungen untereinander auf. Die Bandbreite ist auf dieser Ebene garantiert, aber nicht beschränkt auf sie. Wenn beispielsweise eine Warteschlange leer ist und keine gemeinsame Nutzung der Verbindung mehr erfordert, können die verbleibenden Warteschlangen in die ungenutzte Bandbreite expandieren und unter ihnen gemeinsam genutzt werden.
Bandbreitenfreigabe für SRR-Warteschlangen Gewicht1 Gewicht2 Gewicht3 Gewicht4
queue1 wird ein Minimum von Gewicht1/(weight1 + weight2 + weight3 + weight4) Prozent der Bandbreite garantiert, kann aber auch in die Bandbreite anderer nicht geformter Warteschlangen einfließen, falls erforderlich.
Überarbeitung | Veröffentlichungsdatum | Kommentare |
---|---|---|
1.0 |
18-May-2013 |
Erstveröffentlichung |