In diesem Dokument wird erläutert, wie ein Router die Größe des Warteschlangenlimits berechnet, wenn VC-Warteschlangenfunktionen auf einer ATM-Router-Schnittstelle aktiviert werden, die IP-to-ATM Class of Service (CoS) unterstützt. Die modulare Quality of Service (QoS)-CLI von Cisco (MQC) wird zur Konfiguration von Service-Richtlinien verwendet, die auf eine logische Schnittstelle angewendet werden, sei es eine Hauptschnittstelle, eine Subschnittstelle oder ein virtueller Schaltkreis. Diese Service-Richtlinien implementieren einige QoS-Aktionen, von der Richtlinienvergabe über das Shaping bis hin zur Kennzeichnung und Warteschlangenverwaltung.
Weitere Informationen zu Dokumentkonventionen finden Sie in den Cisco Technical Tips Conventions.
Für dieses Dokument bestehen keine besonderen Voraussetzungen.
Dieses Dokument ist nicht auf bestimmte Software- und Hardwareversionen beschränkt.
Die in diesem Dokument enthaltenen Informationen wurden aus Geräten in einer bestimmten Laborumgebung erstellt. Alle in diesem Dokument verwendeten Geräte haben mit einer leeren (Standard-)Konfiguration begonnen. Wenn Sie in einem Live-Netzwerk arbeiten, stellen Sie sicher, dass Sie die potenziellen Auswirkungen eines Befehls verstehen, bevor Sie es verwenden.
Cisco Router-Schnittstellen mit Per-VC-Warteschlangenfunktionen, die die Speicherung von Paketen für einen ATM VC in einem von zwei Warteschlangen-Sets je nach Überlastungsstufe des VC ermöglichen:
Warteschlange | Standort | Warteschlangenmethoden | Es gelten die Service-Richtlinien | Befehl zum Einstellen |
---|---|---|---|---|
Hardware-Warteschlange oder Übertragungsring | Port-Adapter oder Netzwerkmodul | Nur FIFO | Nein | TX-Ring-Limit |
Layer-3-Warteschlange | System- oder Schnittstellenpuffer für Layer-3-Prozessoren | Keine | Ja | Variiert je nach Warteschlangenmethode: - vc-hold-limit - queue-limit |
Überlastungen werden definiert als Befüllen des Übertragungsringes (Tx-Ring-Limit). Siehe Understanding and Tuning the tx-ring-limit value.
Es ist wichtig zu wissen, wann Ihr Router die Layer-3-Warteschlangen verwendet, da die Service-Richtlinien nur für Pakete gelten, die in den Layer-3-Warteschlangen gespeichert sind. Der ATM-Port-Adapter oder das Netzwerkmodul und das Layer-3-Prozessorsystem arbeiten wie folgt zusammen:
Die ATM-Schnittstelle überträgt Zellen auf jedem ATM Permanent Virtual Circuit (PVC) entsprechend der ATM-Shaping-Rate.
Die ATM-Schnittstelle verwaltet eine VC-basierte Hardware-Warteschlange oder einen Übertragungsring, in der die Pakete gespeichert werden, die auf die Übertragung auf diesen VC warten.
Wenn die Hardwarewarteschlange oder der Übertragungsring gefüllt wird, sorgt die ATM-Schnittstelle für einen expliziten Rückdruck auf das Layer-3-Prozessorsystem. Der Per-VC-Druck verhindert eine unnötige Überbelegung von Puffern durch eine einzige ATM-PVC. Er benachrichtigt den Layer-3-Prozessor, um die Dewarteschlange von Paketen zu beenden, die vom bestimmten VC zum Übertragungsring der ATM-Schnittstelle bestimmt sind, da die VC-Warteschlange eine bestimmte Belegungsstufe erreicht hat. Der Layer-3-Prozessor speichert die überzähligen Pakete jetzt in den Layer-3-Warteschlangen. Während dieser Zeit leitet der Layer-3-Prozessor weiterhin Pakete an andere, nicht überlastete PVCs weiter.
Wenn die ATM-Schnittstelle die Pakete am Übertragungsring sendet und den Ring freigibt, verfügt sie erneut über ausreichende Puffer, um die Pakete zu speichern. Der umgekehrte Druck wird freigegeben, und der Layer-3-Prozessor lagert neue Pakete an die ATM-Schnittstelle aus.
Wenn die Gesamtzahl der auf der ATM-Schnittstelle für alle PVCs gepufferten Pakete einen bestimmten Wert im Vergleich zum insgesamt verfügbaren Pufferspeicher erreicht, sorgt die ATM-Schnittstelle für einen Backdruck auf der gesamten VC-Ebene. Dieser Druck benachrichtigt den Layer-3-Prozessor, damit er keine Pakete mehr an die ATM-Schnittstelle sendet.
Wichtig ist, dass die ATM-Schnittstelle mit diesem Kommunikationssystem erkennt, dass der Übertragungsring für einen bestimmten VC voll ist, und den Empfang neuer Pakete vom Layer-3-Prozessorsystem verhindert. Wenn der VC überlastet ist, wird die Drop-Entscheidung daher von einer zufälligen Entscheidung für das letzte/erste Verwerfen in der FIFO-Warteschlange (First in, First Out) des Übertragungs-Rings in eine differenzierte Entscheidung verschoben, die auf den vom Layer-3-Prozessor implementierten IP-Level-Serviceverfahren beruht.
Die Warteschlangengrenze für Layer-3-Warteschlangen ist immer begrenzt. Dieser Wert definiert die Anzahl der Pakete innerhalb der Warteschlange. Wenn diese Warteschlange gefüllt wird, initiiert der Router eine Drop-Richtlinie. Diese Richtlinie kann Tail Drop oder Weighted Random Early Detection (WRED) sein. Mit anderen Worten: Die Warteschlangengrenze legt fest, wie viele Pakete in der Layer-3-Warteschlange gespeichert werden können, bevor das Verwerfen beginnt.
Der Router weist automatisch einen Grenzwert für die Standardwarteschlange zu. Der berechnete Wert variiert je nach Warteschlangenmethode und Plattform. Wichtig ist, dass die Warteschlangengrenze klein genug sein muss, um Latenzzeiten aufgrund von Warteschlangen zu vermeiden, aber groß genug, um Verwerfungen und die daraus resultierenden Auswirkungen auf TCP-basierte Datenflüsse zu vermeiden.
Auf verteilten Plattformen wie der Cisco 7500-Serie und dem FlexWAN variiert der Standardwert je nach Anzahl der Schnittstellen im System. So können Klassen in einem System mit nur zwei Schnittstellen mehr Puffer empfangen als in einem System mit Hunderten von Subschnittstellen und VCs. Der Router gibt jeder Klasse einen Mindestwert, um sicherzustellen, dass genügend Puffer vorhanden sind, um die Schnittstelle mit Leitungsgeschwindigkeit zu versorgen. Die Warteschlangenbegrenzungen stellen ein Kreditlimit für die Schnittstelle dar. Anders ausgedrückt: Der Router weist die Puffer entsprechend der Bandbreite dieser Schnittstellen, PVCs und Klassen auf Schnittstellen, PVCs und Klassen zu. Standardmäßig überschreiben die Warteschlangengrenzwerte die verfügbaren Puffer nicht.
In den folgenden Abschnitten werden die Warteschlangengrenzen genauer beschrieben.
Auf ATM-VCs auf nicht verteilten Plattformen sind Warteschlangen pro VC und die Layer-3-Warteschlangen standardmäßig aktiviert, wenn Cisco IOS®-Softwareversionen unterstützt werden. FIFO ist die Standardwarteschlangenmethode, die auf die Layer-3-Warteschlangen angewendet wird, wenn kein spezifischer Warteschlangenmechanismus konfiguriert wurde. Die Layer-3-Warteschlangen verwenden standardmäßig FIFO, da der standardmäßige Warteschlangenalgorithmus für eine ATM-Schnittstelle ebenfalls FIFO lautet. Ursprünglich unterstützten diese Warteschlangen nur eine Warteschlangengrenze von 40. Die folgende Ausgabe zeigt Folgendes:
router#show queueing interface atm 2/0.10 Interface ATM2/0.10 VC 10/32 Queueing strategy: FIFO Output queue 0/40, 244 drops per VC
Ab der Cisco IOS-Softwareversion 12.1(5)T können Sie die Größe der VC-spezifischen FIFO-Warteschlange mit dem Befehl vc-hold-queue auf einen Wert zwischen 5 und 1024 einstellen.
Der Befehl queue-limit gilt nur für Klassen, die mit dem Befehl bandwidth (Class-Based, Weighted Fair Queuing, CBWFQ) konfiguriert wurden. Der Befehl queue-limit definiert die Anzahl der Pakete, die die Layer-3-Warteschlangen speichern, bevor Verwerfen einsetzt. Mit anderen Worten, es ist die Tiefe der Layer-3-Warteschlange.
Der Standard-Warteschlangengrenzwert variiert je nach Plattform.
Cisco Router der Serien 2600, 3600 und 7200 und MC3810: Der Standardwert ist 64. Die folgende Beispielausgabe wurde in einem ATM-Netzwerkmodul der Serie 2600 erfasst.
router#show queueing interface atm 2/0.10 Interface ATM2/0.10 VC 10/32 Queueing strategy: weighted fair Total output drops per VC: 1539 Output queue: 0/512/64/1539 (size/max total/threshold/drops) Conversations 0/37/128 (active/max active/max total) Reserved Conversations 0/0 (allocated/max allocated)
Cisco 7500-Serie und FlexWAN: Der Standardwert wird berechnet, indem jeder Klasse ihr proportionaler Anteil an den übergeordneten Puffern zugewiesen wird. Der Anteil basiert auf der der Klasse zugewiesenen Bandbreite im Vergleich zur Bandbreite des übergeordneten Elements. Die Warteschlangengrenze wird insbesondere durch die maximale Verzögerung von 500 ms bei einer durchschnittlichen Paketgröße von 250 Byte bestimmt. Beispielsweise wird einer Klasse mit 1 MB Bandbreite ein Warteschlangenlimit von 100000 / (250 x 8 x 2) = 250 zugewiesen. Wichtig ist auch, dass es auf folgenden Faktoren basiert:
Die Menge des verfügbaren SRAM oder Paketspeichers.
Die Anzahl der Schnittstellen, da der verfügbare SRAM auf die Schnittstellen aufgeteilt werden muss.
interface ATM9/1/0.100 point-to-point ip address 1.1.1.1 255.255.255.0 pvc 1/100 ubr 1000 service-policy out pmap flexwan#show policy-map interface atm 9/1/0.100 ATM9/1/0.100: VC 1/100 service-policy output: pmap queue stats for all priority classes: queue size 0, queue limit 75 packets output 0, packet drops 0 tail/random drops 0, no buffer drops 0, other drops 0 class-map: e1 (match-all) 0 packets, 0 bytes 5 minute offered rate 0 bps, drop rate 0 bps match: ip dscp 10 Priority: kbps 300, burst bytes 7500, b/w exceed drops: 0 class-map: e2 (match-all) 0 packets, 0 bytes 5 minute offered rate 0 bps, drop rate 0 bps match: ip dscp 20 queue size 0, queue limit 75 packets output 0, packet drops 0 tail/random drops 0, no buffer drops 0, other drops 0 bandwidth: kbps 300, weight 42 class-map: class-default (match-any) 0 packets, 0 bytes 5 minute offered rate 0 bps, drop rate 0 bps match: any 0 packets, 0 bytes 5 minute rate 0 bps queue size 0, queue limit 33 packets output 2, packet drops 0 tail/random drops 0, no buffer drops 0, other drops 0
Hinweis: Der VIP-Prozessor (Versatile Interface Processor) und das FlexWAN wählen den Grenzwert für die Standardwarteschlange aus und senden ihn an den Hauptprozessor (z. B. den Route Switch Processor [RSP] der 7500-Serie) mit der ersten Reihe von Statistiken zur Paketanzahl. Solange der ATM VC Datenverkehr überträgt, kann in der Ausgabe der show policy-map interface ein falscher Wert angezeigt werden.
Low Latency Queueing (LLQ) implementiert sowohl eine Garantie für die minimale als auch die maximale Bandbreite, die Sie mit dem Befehl priority konfigurieren. LLQ implementiert ein Gerät, das den priorisierten Datenverkehr während einer Überlastung auf die zugewiesene Bandbreite beschränkt, um sicherzustellen, dass nicht priorisierter Datenverkehr, z. B. Routing-Pakete und andere Daten, nicht beeinträchtigt wird. Da die Richtlinienvergabe zum Verwerfen von Paketen verwendet wird und keine Warteschlangenbeschränkung festgelegt wird, kann der Befehl queue-limit nicht mit dem Befehl priority verwendet werden.
WRED kann als optionale Drop-Richtlinie für Pakete in Layer-3-Warteschlangen konfiguriert werden. Sie können sowohl WRED als auch einen ausgefallenen Warteschlangenmechanismus wie CBWFQ oder Low-Latency Queuing (LLQ) konfigurieren.
Auf dem VIP und FlexWAN werden die Standard-WRED-Parameter direkt vom Standard-Warteschlangenlimit abgeleitet. Insbesondere wird der maximale Grenzwert auf die Hälfte des Standardgrenzwerts für Warteschlangen festgelegt, und die Mindestschwellenwerte werden proportional gesenkt.
Darüber hinaus berücksichtigen die Standard-WRED-Schwellenwerte die ATM-Shaping-Parameter, die dem VC zugeordnet sind. Um größeren Bursts, die bei höheren Raten auftreten können, gerecht zu werden, gilt: Je höher die VC Shaping-Rate, desto größer die Standard-Min- und Höchstwerte. Bei einem ATM mit 10 Kbit/s sind beispielsweise die auf den VC in einem bestimmten Router angewendeten Standard-WRED-Parameter unten aufgeführt:
nf-7505-1# show running-config interface ATM1/1/0.47 point-to-point atm pvc 47 0 47 aal5snap 10 10 1 random-detect wredgroup1 nf-7505-1# show queueing red VC 0/47 - random-detect group default: exponential weight 9 precedence min-threshold max-threshold mark-probability --------------------------------------------------------------- 0: 20 40 1/10 1: 22 40 1/10 2: 24 40 1/10 3: 26 40 1/10 4: 28 40 1/10 5: 30 40 1/10 6: 32 40 1/10 7: 34 40 1/10
Im Vergleich dazu werden die Standard-WRED-Parameter vom gleichen Router auf einen VC angewendet, der bei 9 Mbit/s Dauerzellrate (SCR) und 10 Mbit/s Peak Cell Rate (PCR) geformt ist:
nf-7505-1#show running-config interface ATM1/1/0.49 point-to-point atm pvc 49 0 49 aal5snap 10000 9000 100 random-detect wredgroup3 nf-7505-1#show queueing red VC 0/49 - random-detect group default: exponential weight 9 precedence min-threshold max-threshold mark-probablity --------------------------------------------------------------- 0: 72 144 1/10 1: 81 144 1/10 2: 90 144 1/10 3: 99 144 1/10 4: 108 144 1/10 5: 117 144 1/10 6: 126 144 1/10 7: 135 144 1/10
Der Warteschlangenlimit definiert die maximale Anzahl von Paketen, die die Layer-3-Warteschlangen zu einem bestimmten Zeitpunkt speichern können. Der max-threshold definiert die maximale mittlere Warteschlangentiefe. Stellen Sie beim Ändern des Warteschlangenlimits sicher, dass Sie auch die WRED-Schwellenwerte anpassen und dass der konfigurierte Warteschlangengrenzwert größer ist als die WRED-Höchstschwellenwerte.
Selbst bei einem mit WRED konfigurierten VC werden alle Pakete, die bei einem VC eintreffen, wenn die durchschnittliche Warteschlangengröße über dem Warteschlangenlimit liegt, als Tail-Drop verworfen. In der folgenden Konfiguration wird bei der Warteschlangengrenze von 400 und dem Mindestwert von 460 für DSCP 32 (Differentiated Services Code Point) ein Tail Drop bei einer durchschnittlichen Warteschlangengröße von 400 Paketen implementiert, sodass WRED praktisch nicht in Kraft tritt.
policy-map ppwe class voip priority 64 class bus bandwidth 168 random-detect dscp-based random-detect exponential-weighting-constant 10 random-detect dscp 8 11 66 1 random-detect dscp 32 460 550 1 queue-limit 400
Hinweis: Weitere Informationen zur WRED-Feinabstimmung finden Sie im Designleitfaden zur IP to ATM Class of Service Phase 1 beim Anpassen der Standard-Schwellenwerte.
Überarbeitung | Veröffentlichungsdatum | Kommentare |
---|---|---|
1.0 |
15-Nov-2007 |
Erstveröffentlichung |