Inhalt

Einführung

Voraussetzungen

Anforderungen

Verwendete Komponenten

Hintergrundinformationen

Informationen zu Funktionen

Fehlerbehebungsmethode

Häufige Probleme

Häufig gestellte Fragen

Zugehörige Informationen

Einführung

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.

Voraussetzungen

Anforderungen

Cisco empfiehlt, über grundlegende QoS-Kenntnisse zu verfügen.

Verwendete Komponenten

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.

Hintergrundinformationen

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.

Informationen zu Funktionen

Standard-Eingangswarteschlange

Ausgangsstandardwarteschlange

Fehlerbehebungsmethode

1. Identifizieren Sie die Schnittstellen, die ausgehende Daten für die betroffene Anwendung übertragen oder bei denen die Ausgabe diesen Zuwachs verworfen wird. Vergleichen Sie die Schnittstellenausgangsrate und die Schnittstellengeschwindigkeit, und stellen Sie sicher, dass die Verluste nicht auf eine übermäßige Nutzung der Verbindung zurückzuführen sind.
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

2. Stellen Sie sicher, dass QoS auf dem Switch aktiviert ist. Wenn sie nicht aktiviert ist, sind die Ausgabeabfälle nicht mit QoS verbunden, und daher sind weitere Schritte, die hier erwähnt werden, irrelevant.
Switch#show mls qos

QoS is enabled

QoS ip packet dscp rewrite is enabled

3. Identifizieren Sie die Markierung des ausgehenden Datenverkehrs, der auf der Schnittstelle verworfen wird.
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:     0

Hinweis: 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.

4. Überprüfen Sie die Markierung auf der Ausgabeq-Zuordnung des Switches, um zu bestimmen, welches Warteschlangen-Schwellwertpaar der Markierung zugeordnet ist, die verworfen wird. In diesem Szenario wird queue1/threshold1 dem DSCP 46 zugeordnet, der auf der Schnittstelle verworfen wird. Dies bedeutet, dass der Datenverkehr von DSCP 46 an die Warteschlange 1 gesendet und verworfen wird, da diese Warteschlange nicht über einen ausreichenden Puffer oder geringere CPU-Zyklen verfügt.
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

5. Es gibt zwei Methoden, um diese Verwerfungen zu beheben. Die erste Methode besteht darin, die Pufferwerte und Schwellenwerte für die Warteschlange zu ändern, die Pakete verwirft. Die zweite Methode besteht darin, den Scheduler so zu konfigurieren, dass die Warteschlange, die Pakete verwirft, häufiger bedient wird als die übrigen Warteschlangen.

In diesen Schritten wird veranschaulicht, wie Sie den Puffer und den Schwellenwert für die betroffenen Warteschlangen ändern und die Puffer- und Schwellenwerte überprüfen können, die der in Schritt 4 identifizierten Warteschlange zugeordnet sind.
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

6. Wenn Sie den Puffer und die Schwellenwerte nur für die betroffene Schnittstelle ändern möchten, ändern Sie den Warteschlangensatz 2, und konfigurieren Sie die betroffene Schnittstelle so, dass Warteschlangen-Satz 2 verwendet wird.
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 10

In 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

7. Überprüfen Sie, ob die Änderungen unter den richtigen Warteschlangen- und Warteschlangeneinstellungen angezeigt werden.
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

8. Stellen Sie sicher, dass die betroffene Schnittstelle Warteschlange-Satz 2 verwendet, damit die Änderungen auf dieser Schnittstelle wirksam werden.
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.

9. Sie können den Scheduler auch so konfigurieren, dass die Geschwindigkeit, mit der Warteschlange 1 mit den Freigabeoptionen und Formoptionen gewartet wird, erhöht wird. In diesem Beispiel erhält allein die Warteschlange 1 50 % der gesamten CPU-Zyklen, während die anderen drei Warteschlangen insgesamt 50 % der CPU-Zyklen empfangen.
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.

10. Aktivieren Sie die Prioritätswarteschlange auf dieser Schnittstelle. Dadurch wird sichergestellt, dass der gesamte Datenverkehr in der Prioritätswarteschlange vor jeder anderen Warteschlange verarbeitet wird.
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)#end

Die 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

Häufige Probleme

Hier einige häufige Probleme:

- Die Ausgabe wird an Schnittstellen nach der QoS-Aktivierung verworfen.

- Tonwahl.

- Eine hinzugefügte Verzögerung verursacht suboptimalen Videodatenverkehr.

- Verbindung wird zurückgesetzt.

Häufig gestellte Fragen

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.

Zugehörige Informationen

- Technischer Support und Dokumentation - Cisco Systems