Durch die Verwendung der Ausgabeplanung wird sichergestellt, dass bei starker Überbelegung kein wichtiger Datenverkehr verloren geht. In diesem Dokument werden alle Techniken und Algorithmen zur Erstellung von Ausgabevorgängen für den Catalyst 6500/6000-Switch erläutert. In diesem Dokument wird auch erläutert, wie die Ausgabeplanung auf dem Catalyst 6500/6000, auf dem die Cisco IOS® Software ausgeführt wird, konfiguriert und verifiziert wird.
Weitere Informationen zu Weighted Random Early Detection (WRED), Weighted Round Robin (WRR) und Tail Drop finden Sie unter QoS-Ausgabeplanung für Catalyst Switches der Serien 6500 und 6000 mit CatOS-Systemsoftware.
Für dieses Dokument bestehen keine speziellen Anforderungen.
Dieses Dokument ist nicht auf bestimmte Software- und Hardwareversionen beschränkt.
Weitere Informationen zu Dokumentkonventionen finden Sie unter Cisco Technical Tips Conventions (Technische Tipps zu Konventionen von Cisco).
Ausgabeverwerfungen werden durch eine überlastete Schnittstelle verursacht. Eine häufige Ursache hierfür ist der Datenverkehr von einer Verbindung mit hoher Bandbreite, die zu einer Verbindung mit geringerer Bandbreite umgeschaltet wird, oder der Datenverkehr von mehreren eingehenden Verbindungen, die zu einer einzigen ausgehenden Verbindung geschaltet werden.
Wenn beispielsweise ein großer Teil des Datenverkehrs über eine Gigabit-Schnittstelle an eine 100-Mbit/s-Schnittstelle gesendet wird, kann dies zu einem Rückgang der Ausgabe an der 100-Mbit/s-Schnittstelle führen. Der Grund hierfür ist, dass die Ausgabewarteschlange an dieser Schnittstelle durch den übermäßigen Datenverkehr aufgrund der Geschwindigkeitsungleichheit zwischen der eingehenden und der ausgehenden Bandbreite überlastet wird. Die Datenverkehrsrate auf der Ausgangsschnittstelle kann nicht alle Pakete akzeptieren, die gesendet werden sollen.
Um das Problem zu beheben, ist die beste Lösung die Erhöhung der Leitungsgeschwindigkeit. Es gibt jedoch Möglichkeiten, Ausgabeverfahren zu verhindern, zu verringern oder zu steuern, wenn Sie die Leitungsgeschwindigkeit nicht erhöhen möchten. Ausgabeverwerfungen können nur dann verhindert werden, wenn Ausgabeverwerfen auf kurze Datenspitzen zurückzuführen sind. Wenn Ausgabetropfen durch einen konstanten Hochdatenfluss verursacht werden, können Sie diese Verwerfungen nicht verhindern. Sie können diese jedoch steuern.
Wenn Sie sich über die Warteschlangenfähigkeit eines Ports nicht sicher sind, stellen Sie die Show Queueing Interface {GigabitEthernet | fastethernet} mod/port-Befehl. Hier sehen Sie die ersten Ausgabezeilen des Befehls show queueing interface. Der Port befindet sich auf einer Line Card der 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.
Die Ausgabe zeigt, dass dieser Port über einen Ausgabewarteschlangen-Typ mit der Bezeichnung 1p2q2t verfügt.
Eine weitere Möglichkeit, den für einen bestimmten Port verfügbaren Warteschlangentyp anzuzeigen, ist der Befehl show interface abilities (Schnittstellenfunktionen anzeigen):
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
Für die Catalyst 6500/6000-Switches sind mehrere Warteschlangen verfügbar. In dieser Tabelle wird die Notation der Port-QoS-Architektur erläutert:
Senden (Tx)/Empfangen (Rx) | Warteschlangenerkennung | Anzahl Warteschlangen | Prioritätswarteschlange | Anzahl der WRR-Warteschlangen | Anzahl und Schwellenwert für WRR-Warteschlangen |
---|---|---|---|---|---|
Tx | 2q2t | 2 | — | 2 | 2 konfigurierbare Tail Drop |
Tx | 1p2q2t | 1 | 1 | 2 | 2 konfigurierbares WRED |
Tx | 1p3q1t | 4 | 1 | 1 | 1 konfigurierbares WRED |
Tx | 1p2q1t | 1 | 1 | 2 | 1 konfigurierbares WRED |
Rx | 1q4t | 1 | — | — | 4 konfigurierbare Tail Drop |
Rx | 1p1q4t | 2 | 1 | 1 | 4 konfigurierbare Tail Drop |
Rx | 1p1q0t | 2 | 1 | 1 | Nicht konfigurierbar |
Rx | 1p1q8t | 2 | 1 | 1 | 8 konfigurierbare WRED |
Tx | 1p3q8t | 4 | 1 | 1 | 8 konfigurierbare WRED- oder Tail-Drop-Funktion |
Tx | 1p7q8t | 8 | 1 | 7 | 8 konfigurierbare WRED- oder Tail-Drop-Funktion |
Rx | 1q2t | 1 | — | — | 1 konfigurierbarer Tail Drop = 1 nicht konfigurierbar |
Rx | 1q8t | 1 | — | — | 8 konfigurierbare Tail Drop |
Rx | 2q8t | 2 | — | 2 | 8 konfigurierbare Tail Drop |
In der nächsten Tabelle sind einige Module und Warteschlangentypen auf der Rx- und Tx-Seite der Schnittstelle oder des Ports aufgeführt. Wenn Ihr Modul hier nicht aufgeführt ist, können Sie mithilfe des Befehls show interface functions die verfügbare Warteschlangenfunktion bestimmen. Der Befehl show interface functions (Schnittstellenfunktionen anzeigen) wird im Abschnitt Output Queueing Capability von Different Line Cards auf Catalyst 6500/6000 beschrieben.
Modul | Rx-Warteschlangen | Tx-Warteschlangen |
---|---|---|
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 |
In diesem Abschnitt werden alle Schritte beschrieben, die erforderlich sind, um die Ausgabeplanung auf einem Catalyst 6500/6000 zu konfigurieren, auf dem die Cisco IOS Software ausgeführt wird. Informationen zur Standardkonfiguration des Catalyst 6500/6000 finden Sie in Fall 1: QoS ist aktiviert, und Abschnitt dieses Dokuments wird ein Standardparameter verwendet.
Bei der Konfiguration des Catalyst 6500/6000 sind die folgenden fünf Schritte erforderlich:
Ordnen Sie jeden möglichen CoS-Wert einer Warteschlange und einem Schwellenwert zu (optional).
WRR-Gewicht konfigurieren (optional)
Konfigurieren der Puffer, die den einzelnen Warteschlangen zugewiesen sind (optional)
Konfigurieren Sie den Schwellenwert für jede Warteschlange (optional).
Hinweis: Jeder dieser Schritte ist optional, mit Ausnahme von Schritt 1. Sie können entscheiden, den Standardwert für einen oder mehrere Parameter beizubehalten.
Aktivieren Sie zunächst QoS. Beachten Sie, dass QoS standardmäßig deaktiviert ist. Wenn QoS deaktiviert ist, wirkt sich die von Ihnen konfigurierte CoS-Zuordnung nicht auf das Ergebnis aus. Es gibt eine Warteschlange, die zuerst in, First out (FIFO) bereitgestellt wird, und alle Pakete werden dort verworfen.
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
Weisen Sie für alle Warteschlangentypen die CoS einer Warteschlange und einem Schwellenwert zu. Die für einen 2q2t-Port-Typ definierte Zuordnung wird nicht auf einen 1p2q2t-Port angewendet. Außerdem wird die Zuordnung für 2q2t auf alle Ports mit einem 2q2t-Warteschlangenmechanismus angewendet. Stellen Sie diese cos-map-Befehle unter der Schnittstelle aus:
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
Hinweis: Jeder dieser Befehle muss in einer Zeile enthalten sein.
Sie können die WRR-Warteschlange separat konfigurieren. Wenn eine Prioritätswarteschlange vorhanden ist, können Sie diese mit dem Befehl priority-queue konfigurieren.
Hinweis: Die Warteschlangen werden immer nummeriert, beginnend mit der Warteschlange mit der niedrigsten Priorität, die möglich ist, bis hin zur Warteschlange mit der höchsten Priorität, die verfügbar ist. Beispiel:
Warteschlange 1 ist die WRR-Warteschlange mit niedriger Priorität.
Warteschlange 2 ist die WRR-Warteschlange mit hoher Priorität.
Warteschlange 3 ist die Warteschlange mit höchster Priorität.
Wiederholen Sie diesen Vorgang für alle Warteschlangentypen, andernfalls bleibt die CoS-Standardzuweisung erhalten. Dies ist eine Beispielkonfiguration für 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
Überprüfen Sie die Konfiguration:
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.
Konfigurieren Sie das WRR-Gewicht für die beiden WRR-Warteschlangen. Geben Sie den folgenden Schnittstellenbefehl ein:
wrr-queue bandwidth weight_for_Q1 weight_for_Q2
Gewicht 1 bezieht sich auf die Warteschlange 1, die die WRR-Warteschlange mit niedriger Priorität sein sollte. Halten Sie dieses Gewicht immer einen Wert unter Gewicht 2. Das Gewicht kann zwischen 1 und 255 liegen. Verwenden Sie diese Formeln, um den Prozentsatz zuzuweisen:
Zur Warteschlange 1—[Gewicht 1 / (Gewicht 1 + Gewicht 2)]
Zur Warteschlange 2—[Gewicht 2 / (Gewicht 1 + Gewicht 2)]
Sie müssen das Gewicht für alle Warteschlangentypen definieren. Diese Gewichtstypen müssen nicht identisch sein. Dies ist ein Beispiel für 2q2t, bei dem Warteschlange 1 20 Prozent der Zeit und Warteschlange 2 80 Prozent der Zeit serviert wird:
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)#
Überprüfen Sie die Konfiguration:
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.
Hinweis: Sie können verschiedene WRR-Gewichtungen für jede Schnittstelle konfigurieren, wenn die CatOS-Software nicht verwendet werden kann.
Sie müssen das Verhältnis der Übertragungswarteschlange definieren. Dadurch wird festgelegt, wie die Puffer auf die verschiedenen Warteschlangen aufgeteilt werden.
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
Hinweis: Wenn die Warteschlangenfunktion des Gigabit-Ports 1p1q2t beträgt, müssen Sie dieselbe Ebene für die Warteschlange mit höchster Priorität und für die WRR-Warteschlange mit hoher Priorität verwenden. Diese Stufen können aus Hardwaregründen nicht voneinander abweichen. Es wird nur die Bandbreite für die beiden WRR-Warteschlangen konfiguriert. Sie verwenden automatisch denselben Wert für die WRR-Warteschlange mit hoher Priorität und die Warteschlange mit strikter Priorität, sofern vorhanden.
Einige Warteschlangentypen verfügen nicht über eine einstellbare Warteschlangengröße. Ein Beispiel ist 1p3q1t, das auf WS-X6548RJ45 verfügbar ist. Diese Warteschlangentypen sind fest, und Sie können sie nicht ändern.
Überprüfen Sie die Konfiguration:
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]
Hinweis: Es ist am besten, den größten Teil der Puffer für die WRR-Warteschlange mit niedriger Priorität zu belassen. In dieser Warteschlange müssen Sie zusätzliche Pufferung aktivieren. Die anderen Warteschlangen werden mit höherer Priorität bedient.
Konfigurieren Sie als letzten Schritt den Schwellenwert für die WRED-Warteschlange oder für die Tail-Drop-Warteschlange. Diese Liste enthält die Befehle:
Führen Sie für Warteschlangen, die WRED als Drop-Mechanismus für den Schwellenwert verwenden, folgende Befehle aus:
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
Hinweis: Jeder dieser Befehle muss in einer Zeile enthalten sein.
Geben Sie für Warteschlangen, die Tail Drop als Drop-Mechanismus verwenden, den folgenden Befehl aus:
wrr-queue threshold Q_number threshold_1_value threshold_2_value
Hinweis: Dieser Befehl sollte in einer Zeile stehen.
Konfiguration für eine WRED-Warteschlange:
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.
Konfiguration für eine Tail-Drop-Warteschlange:
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)#
Überprüfen Sie die Konfiguration:
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]
Sie können den Grenzwert nicht konfigurieren und der Warteschlange pro Port die CoS zuweisen. Alle Änderungen werden auf eine Reihe zusammenhängender Ports angewendet:
Vier Ports für Gigabit Line Cards - die Ports 1 bis 4 sind miteinander verbunden, die Ports 5 bis 8 sind miteinander verbunden.
Zwölf Ports für 10/100-Ports oder 100 Glasfaserports basierend auf 1q4t/2q2t-Warteschlangen - 1 bis 12, 13 bis 24, 25 bis 36 und 36 bis 48.
Um den genauen Port zu dem gleichen ASIC zu bestimmen, verwenden Sie den Befehl show interface abilities (Schnittstellenfunktionen anzeigen).
Der einfachste Befehl, der zur Überprüfung der aktuellen Laufzeitkonfiguration eines Ports hinsichtlich der Ausgabeplanung ausgeführt werden kann, ist die Show Queueing Interface {GigabitEthernet | fastethernet} slot/port-Befehl. Dieser Befehl zeigt die Warteschlangenart am Port, die Zuordnung von CoS zu den verschiedenen Warteschlangen und Schwellenwerten, die Pufferfreigabe und das WRR-Gewicht an. Hier beträgt der WRR von 20 % für die Warteschlange 1 und der WRR von 80 % für die Warteschlange 2. Der Befehl zeigt außerdem alle konfigurierten Informationen für die Ausgabeplanung sowie die Anzahl der Pakete an, die in jeder Warteschlange für jeden Schwellenwert verworfen werden:
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 ]
Dieser Datenverkehr wird auf den Catalyst 6500/6000 eingespeist:
Gigabit 1/2 im Port: ein Gigabit Datenverkehr mit Priorität Null
Gigabit 5/2 im Port:
133 MB Datenverkehr mit einer Priorität von sieben
133 MB Datenverkehr mit einer Priorität von sechs
133 MB Datenverkehr mit einer Priorität von fünf
133 MB Datenverkehr mit einer Priorität von vier
133 MB Datenverkehr mit Vorrang von drei
133 MB Datenverkehr mit Vorrang von zwei
133 MB Datenverkehr mit einer Priorität von einem
Der gesamte Unicast-Datenverkehr verlässt den Switch pro Port Gigabit 1/1, was sehr überbelegt ist.
Der Befehl show queueing interface gigabitethernet 1/1 konfiguriert die gesamte Ausgabe in diesem Beispiel. Der Befehl enthält zusätzliche Informationen zur Eingabeplanung. Da dieses Dokument jedoch nur die Ausgabeplanung behandelt, wird diese Ausgabe unterdrückt.
Wenn QoS global aktiviert ist und alle Standardparameter verwendet werden, ergibt sich diese Ausgabe nach einigen Minuten:
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 ]
In dieser Ausgabe sind die Standardwerte:
WRR-Gewicht für Warteschlange 1-100 / (100 + 255) = 28 %
WRR-Gewicht für Warteschlange 2-255 / (255 + 100) = 72 %
Puffer-Freigabe: - 90 % für Warteschlange 1, 5 % für Warteschlange 2 und 5 % für Warteschlangen mit strikter Priorität
Die meisten Pakete in der WRR-Warteschlange mit niedriger Priorität werden verworfen, aber einige werden trotzdem für beide Schwellenwerte in der WRR-Warteschlange mit hoher Priorität verworfen. Insgesamt gibt es 170.412.264 Tropfen (149.606.424 + 16.551.394 + 4.254.446). Diese Tropfen sind wie folgt geteilt:
149.606.424 / 170.412.264 = 88 % der Verwerfungen in der Warteschlange 1 (erstes Schwellenwertpaket mit CoS 0 und 1)
16.551.394 / 170.412.264 = 10 % der Verwerfungen in der Warteschlange 2 (erstes Schwellenwertpaket mit CoS 4)
4.254.446 / 170.412.264 = 2 % der Verwerfungen in der Warteschlange 2 (zweites Schwellenwertpaket mit CoS von 6 oder 7)
Hinweis: In der Warteschlange mit strikter Priorität werden keine Verluste angezeigt.
Wie in Fall 1 erwähnt: QoS ist aktiviert und ein Abschnitt mit einem Standardparameter verwendet, Pakete in der Warteschlange 2 werden noch verworfen. Ändern Sie das WRR-Gewicht, um mehr Bandbreite für die Warteschlange 2 bereitzustellen. Nun ist Warteschlange 1 4 Prozent der Zeit leer und Warteschlange 2 96 Prozent der Zeit leer:
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 ]
Wie in dieser Ausgabe zu sehen ist, ist der Prozentsatz an Verlusten in Warteschlange 2 jetzt viel niedriger. Insgesamt sind 2.797.637 Tropfen auf diese Weise aufgeteilt:
2.786.205 / 2.797.637 = 99,591 % der Drops in Warteschlange 1 (mit Paket von CoS 0 und 1)
11.363 / 2.797.637 = 0,408 % der Verwerfungen in der Warteschlange 2 (erster Grenzwert bei Paket-CoS 4)
69/2.797.637 = 0,001 % der Verwerfen in Warteschlange 2 (zweiter Grenzwert für Paket mit CoS 6 und 7)
Wenn Sie verschiedene WRR-Gewichtungen verwenden, wird mehr QoS in Warteschlange 2 sichergestellt.
Mit dem WRR-Gewicht können Sie sogar noch aggressiver vorgehen. In dieser Beispielausgabe werden nur 0,39 Prozent des Gewichts an die Warteschlange 1 abgegeben:
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 ]
Selbst bei einem aggressiven WRR-Gewicht werden Pakete in der Warteschlange 2 immer noch verworfen. Im Vergleich dazu sind es jedoch nicht viele Pakete. In der Warteschlange 2 treten jetzt nur noch 0,03 Prozent Pakete verloren.
Wie im Fall 2 zu sehen: WRR-Gewicht und Fall 3 ändern: Zusätzliche Abschnitte zur WRR-Gewichtsmodifizierung, Pakete fallen immer noch in der Warteschlange 2 ab, obwohl der WRR-Prozentsatz Ihnen versichert, dass der Wert minimal ist. Wenn jedoch der zweite Schwellenwert (auf 100 Prozent festgelegt) in der Warteschlange 2 erreicht wird, werden einige Pakete weiterhin verworfen.
Um dies zu verbessern, ändern Sie die Warteschlangengrenze (Größe des Puffers, der jeder Warteschlange zugewiesen ist). In diesem Beispiel ist der Warteschlangenlimit für Warteschlange 1 auf 70 %, für Warteschlange 2 auf 15 % und für Warteschlangen mit strikter Priorität auf 15 % festgelegt:
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 ]
Die Drops treten nun nur in der Warteschlange 1 auf.
Die Fallstudien im Abschnitt Beispiel für die Ausgabeplanung veranschaulichen die Vorteile der Implementierung der Ausgabeplanung, um einen Rückgang des VoIP- oder geschäftskritischen Datenverkehrs bei Überbelegung des Ausgangsports zu vermeiden. Eine Überbelegung tritt in einem normalen Netzwerk (insbesondere bei einer Gigabit-Verbindung) nicht sehr häufig auf. Eine Überbelegung sollte nur zu Spitzenzeiten des Datenverkehrs oder bei Datenverkehrsspitzen innerhalb kürzester Zeit erfolgen.
Auch ohne Überbelegung kann die Ausgabeplanung in einem Netzwerk, in dem die QoS durchgängig implementiert wird, von großem Nutzen sein. In diesem Abschnitt finden Sie Beispiele dafür, wie die Ausgabeplanung Verzögerungen und Jitter reduzieren kann.
Die Verzögerung eines Pakets nimmt zu, da die Zeit im Puffer jedes Switches "verloren" ist, während das Paket auf die Übertragung wartet. Beispielsweise wird ein kleines Sprachpaket mit einer CoS von 5 während einer großen Datensicherung oder Dateiübertragung von einem Port gesendet. Angenommen, es gibt keine QoS für den Ausgabeport, und das kleine Sprachpaket wird nach 10 großen 1500-Byte-Paketen in die Warteschlange gestellt. In diesem Fall können Sie leicht berechnen, dass die für die Übertragung der 10 großen Pakete benötigte Gigabit-Geschwindigkeit folgendermaßen aussieht:
(10 x 1500 x 8) = 120.000 Bit übertragen in 120 Mikrosekunden
Wenn dieses Paket acht oder neun Switches durchlaufen muss, während es das Netzwerk durchläuft, kann es zu einer Verzögerung von etwa 1 Millisekunde kommen. Dies umfasst nur Verzögerungen in der Ausgabewarteschlange des Switches, der im Netzwerk überquert wird.
Hinweis: Wenn Sie dieselben 10 großen Pakete auf einer 10-MB-Schnittstelle in die Warteschlange stellen müssen (z. B. an ein IP-Telefon und einen PC angeschlossen), wird folgende Verzögerung angezeigt:
(10 x 1500 x 8) = 120.000 Bit übertragen in 12 Millisekunden
Die Implementierung der Ausgabeplanung stellt sicher, dass Sprachpakete mit einer CoS von 5 in die Warteschlange mit höchster Priorität gestellt und vor allen Paketen mit einer CoS von weniger als 5 gesendet werden. Dadurch werden Verzögerungen reduziert.
Ein weiterer wichtiger Vorteil der Produktionsplanung ist die Reduzierung von Jitter. Bei Jitter handelt es sich um die Verzögerungsvariante für Pakete im selben Fluss. Dieses Beispielszenario zeigt, wie die Ausgabeplanung Jitter reduzieren kann:
In diesem Szenario muss derselbe Ausgangsport zwei Streams senden:
Ein eingehender Sprach-Stream auf einem 10-MB-Ethernet-Port.
Ein eingehender FTP-Stream auf einem 1-Gigabit-Ethernet-Uplink-Port.
Beide Streams verlassen den Switch über denselben Ausgangsport. In diesem Beispiel wird veranschaulicht, was ohne die Verwendung der Ausgabeplanung geschehen kann. Alle großen Datenpakete können zwischen zwei Sprachpaketen verschoben werden. Dadurch entsteht Jitter beim Empfang des Sprachpakets vom gleichen Stream. Es besteht eine größere Verzögerung zwischen dem Empfang von Paket 1 und Paket n + 1, wenn der Switch das große Datenpaket überträgt. Die Verzögerung zwischen n + 1 und n + 2 ist jedoch vernachlässigbar. Dies führt zu Jitter im Sprachdatenverkehrsstrom. Sie können dieses Problem mit einer Warteschlange mit strikter Priorität leicht vermeiden. Stellen Sie sicher, dass Sie den CoS-Wert der Sprachpakete der Warteschlange mit strikter Priorität zuordnen.
In diesem Dokument finden Sie Fallstudien zur Konfiguration und Fehlerbehebung von Ausgabewarteschlangenplanungen auf einem Catalyst 6500/6000, auf dem Cisco IOS Software ausgeführt wird. Sie haben auch die Vorteile der Ausgabeplanung in den meisten Netzwerken mit Sprachdatenverkehr erkannt:
Verhindert den Verlust von kritischem Datenverkehr bei Überbelegung des Ausgabeports.
Reduziert die Verzögerung.
Reduziert den Jitter.