Weighted Fair Queuing (WFQ) wurde für Verbindungen mit langsamer Geschwindigkeit (z. B. seriell) implementiert, um eine faire Behandlung für jede Art von Datenverkehr zu gewährleisten. Um diese Aufgabe zu erfüllen, klassifiziert WFQ den Datenverkehr in verschiedene Datenflüsse, basierend auf den zugehörigen Informationen zu Layer 3 und Layer 4 (IP-Adressen, TCP-Ports usw.). Damit dies funktioniert, müssen Sie keine Zugriffslisten definieren. Bei WFQ hat Datenverkehr mit niedriger Bandbreite gegenüber Datenverkehr mit hoher Bandbreite eine effektive Priorität. Der Datenverkehr mit hoher Bandbreite teilt sich die Übertragungsmedien proportional zu den zugewiesenen Gewichten.
WFQ unterliegt den folgenden Einschränkungen:
Wenn der Datenverkehrsfluss erheblich zunimmt, kann WFQ nicht angepasst werden, da er nicht skalierbar ist.
WFQ ist nicht für Hochgeschwindigkeitsschnittstellen wie ATM verfügbar.
Eine neue Funktion, Class-Based Weighted Fair Queuing (CBWFQ), wurde entwickelt, um den Einschränkungen von WFQ zu begegnen. Im Gegensatz zu WFQ können Sie mit CBWFQ Datenverkehrsklassen definieren. Nachdem Klassen definiert wurden, können Parameter angewendet werden. Diese Parameter umfassen Bandbreite und Warteschlangenlimit.
Bei Verwendung von CBWFQ wird das für eine Klasse angegebene Gewicht zum Gewicht jedes Pakets, das den Klassenkriterien entspricht. Dieses Gewicht wird von der Bandbreite abgeleitet, die Sie der Klasse zuweisen. WFQ wird dann auf diese Klassen angewendet, statt auf die Flüsse selbst angewendet zu werden. Die Klassen können mehrere Flüsse enthalten.
Im Folgenden finden Sie eine Zusammenfassung der CBWFQ-Verfügbarkeit pro VC für die Router 7200, 3600 und 2600:
7200: Cisco IOS® Versionen 12.0(5)T, 12.0(5)XE, 12.1(1), 12.1(1)T, 12.1(1)E und höher mit PA-A3.
7200 mit NSE: Cisco IOS Version 12.1(7)E und höher
7200 mit NSE-1 Services Accelerator: Cisco IOS Version 12.2(4)B1.
2600/3600 mit NM-1A-T3/E3-Modulen unterstützt LLQ/CBWFQ auf Cisco IOS-Version 12.1(5)T und höher.
2600/3600 mit DS3/E3-Netzwerkmodulen: Cisco IOS Version 12.1(2)T.
Hinweis: Die Cisco Express Forwarding (CEF)-Switching-Funktionalität muss verwendet werden, da CBWFQ nur CEF-Switched-Pakete überwacht.
Für dieses Dokument bestehen keine speziellen Anforderungen.
Die Informationen in diesem Dokument basieren auf den folgenden Hardwareversionen:
Cisco Router der Serien 7200, 3600 und 2600
Weitere Informationen zu Dokumentkonventionen finden Sie unter Cisco Technical Tips Conventions.
In diesem Abschnitt erhalten Sie Informationen zum Konfigurieren der in diesem Dokument beschriebenen Funktionen.
Hinweis: Um weitere Informationen zu den in diesem Dokument verwendeten Befehlen zu erhalten, verwenden Sie das Command Lookup Tool (nur registrierte Kunden).
In diesem Dokument wird die folgende Netzwerkeinrichtung verwendet:
1/130 ist der VPI/VCI-Wert, der an beiden Enden der PVC zwischen dem 7200 und Router A zugewiesen wird.
Der Datenverkehrsgenerator ist an die Schnittstelle Fast-Ethernet 3/0 angeschlossen.
Auf dem 7200 wird Cisco IOS Version 12.0(5)T ausgeführt.
Router A wird als Empfängergerät für die Tests verwendet.
Die Konfiguration wird auf einem 7200 durchgeführt, ist aber auf einem 2600/3600 ähnlich.
Im Folgenden finden Sie die zur Implementierung von CBWFQ erforderliche Konfiguration für den 7200:
7200 |
---|
class-map ixia match input-interface FastEthernet3/0 class-map loopbacks match access-group 102 ! policy-map mypol class ixia bandwidth 40000 queue-limit 40 class loopbacks bandwidth 10000 class class-default fair-queue ! interface ATM2/0.130 point-to-point ip address 14.0.0.2 255.0.0.0 no ip directed-broadcast pvc 1/130 service-policy output mypol vbr-nrt 100000 75000 broadcast encapsulation aal5mux ip ! access-list 102 permit ip host 10.0.0.1 host 11.0.0.1 |
Im Folgenden finden Sie einige Kommentare zur Konfiguration:
Klassenzuordnungen klassifizieren und zuweisen Gewichtungen für Datenverkehr. Klassifizierungsparameter und Klassenzuordnungen werden an derselben Stelle definiert. In diesem Fall wird eine Klasse auf den gesamten eingehenden Datenverkehr über Fast-Ethernet 3/0 (den Datenverkehr vom Datenverkehrsgenerator) angewendet. Die andere Klasse bezieht sich auf den Datenverkehr zwischen den Loopbacks (definiert auf dem 7200 und Router A).
Nach dem Definieren der Klassifizierungsparameter können Sie mithilfe einer Richtlinienzuordnung Datenverkehrsparameter auf diese klassifizierten Datenflüsse anwenden. In diesem Fall wird dem Datenverkehrsgenerator eine Bandbreite von 40 Mbit/s und eine Warteschlangentiefe von 40 Paketen "zugewiesen". Dem Datenverkehr zwischen Loopbacks wird eine Bandbreite von 10 Mbit/s zugewiesen.
Die Warteschlangentiefe ist die Anzahl der Pakete, die für eine bestimmte Klasse gespeichert werden können, bevor Verwerfen eintritt. Der Standardwert ist 64 (dies ist auch die maximale Warteschlangentiefe).
Nachdem die Datenverkehrsparameter für jede Klasse definiert wurden, wird die CBWFQ auf VC-Basis mithilfe des folgenden Befehls angewendet: service-policy [input|output] policy-map-name.
Datenverkehr, der keiner der definierten Klassenzuordnungen entspricht, wird eine Standardklassenzuordnung (Klassenstandard) zugewiesen, die in der Richtlinienzuordnung definiert ist. Der gesamte nicht klassifizierte Datenverkehr wird mit den in dieser Standardklasse definierten Parametern verarbeitet. In diesem Fall wird das normale Weighted Fair Queuing konfiguriert.
Für diese Beispielkonfiguration wird CBWFQ auf einem VC angewendet, kann aber auch auf einem PVC-Paket verwendet werden. Darüber hinaus kann CBWFQ als Drop-Mechanismus (wenn die Warteschlangengrenze erreicht ist) mit einer Weighted Random Early Discard (WRED) verknüpft werden.
Wichtig:
Bevor Sie die Konfigurationsaufgaben in diesem Abschnitt durchführen, müssen Sie zunächst die Klassen erstellen, die zur Unterscheidung des Datenverkehrs auf dem VC verwendet werden, und dann eine Richtlinienzuordnung definieren, die diese Klassen enthält. Sie können Klassenrichtlinien für so viele Klassen konfigurieren, wie auf dem Router definiert sind - bis zu maximal 64. Die gesamte zugewiesene VC-Bandbreite (für alle in einer Richtlinienzuordnung enthaltenen Klassen) darf jedoch 75 Prozent der verfügbaren Bandbreite des VC nicht überschreiten.
Da die CBWFQ eine garantierte Mindestbandbreite bereitstellt, können Sie CBWFQ nur auf VCs anwenden, deren Serviceklassen andere sind als UBR und UBR+.
Sie können VC WFQ und CBWFQ nicht auf UBR- und UBR+-VCs anwenden, da beide Serviceklassen Best-Effort-Klassen sind, die keine Mindestbandbreite garantieren. Wenn CBWFQ für eine VC aktiviert ist, werden alle als Teil der Service-Richtlinie konfigurierten Klassen im Fair Queuing-System installiert.
Wenn Sie eine Service-Richtlinie auf einen ATM-VC anwenden und die Richtlinie eine Funktion enthält, die nicht für die parallele Express Forwarding (PXF) aktiviert ist, werden die Pakete auf den nächsten niedrigeren Switching-Pfad angewendet. Führen Sie den Befehl show pxf acc summ aus, und suchen Sie nach einem inkrementellen Wert für Staffeln aufgrund von "Ausgabefunktion".
router#show pxf acc sum Pkts Dropped RP Processed Ignored Total 242 328395045 0 10 second averages: PXF complex busy: 28% PXF read pipeline full: 0% PXF Statistic: Packets RP -> PXF: switch ip: 0 switch raw: 556612940 qos fastsend: 0 qos enqueue: 0 Total: 556612940 Packets PXF -> RP: qos pkts: 0 fast pkts: 228217649 drops: total 242 " no route : 242 punts: total 328395045 " not IP : 597 " IP options : 676 " CEF no adjacency : 186770 " CEF receive : 265306 " output feature : 327916956
Auf Cisco 7200-Routern mit Cisco IOS 12.1(5)E, 12.1(5)T und höher können wir die Zuordnungsklassen gruppieren, um kompliziertere Klassenzuordnungen zu erstellen. Zusätzlich können wir logische Operationen Klassenzuordnungsparametern zuordnen (um zu bestimmen, ob der Datenverkehr mit einer Klasse übereinstimmt).
Sehen wir uns die folgenden Klassenzuordnungen an, um dieses Konzept zu verdeutlichen:
Erweiterte CBWFQ-Konfiguration |
---|
class-map match-all ixia description traffic from Ixia match input-interface FastEthernet1/0 class-map match-all ftp1 description ftp traffic initiated by the traffic generator match class-map ixia match class-map ftp2 class-map match-all ftp2 match access-group 103 class-map match-any test match access-group 102 match input-interface Ethernet0/0 ! access-list 103 permit tcp any any eq ftp ! access-list 102 permit ip host 10.1.1.1 any |
Der Unterschied zwischen "match-all" und "match-any" ist wie folgt:
Match-All: Ein Fluss wird einer Klassenzuordnung zugeordnet, wenn ALLE zugeordneten Bedingungen überprüft werden.
match-any: Ein Fluss wird einer Klassenzuordnung zugeordnet, wenn EINE der verknüpften Bedingungen überprüft wird (nicht unbedingt alle Bedingungen).
Hier sehen Sie, dass eine Klassenzuordnung Tests mit anderen konfigurierten Klassenzuordnungen enthalten kann. In diesem Fall wird ein Flow mit ftp1 verknüpft, wenn er alle Bedingungen erfüllt, die unter class map ixia und class map ftp2 definiert sind.
Dieser Abschnitt enthält Informationen, mit denen Sie überprüfen können, ob Ihre Konfiguration ordnungsgemäß funktioniert.
Bestimmte show-Befehle werden vom Output Interpreter Tool (nur registrierte Kunden) unterstützt, mit dem Sie eine Analyse der show-Befehlsausgabe anzeigen können.
show policy-map interface atm x/y[.z] - Mit diesem Befehl können Sie Statistiken pro Warteschlange anzeigen, z. B. die Drops. Sie ist hilfreich, um die Ergebnisse einer mit der modularen Quality of Service (QoS)-Befehlszeilenschnittstelle (CLI) (MQC) von Cisco erstellten Service-Richtlinie zu überwachen. Weitere Informationen zum Interpretieren der Ausgabe dieses Befehls finden Sie unter Understanding Packet Counters in show policy-map interface Output.
7200#show policy-map interface atm 2/0.130 ATM2/0.130: VC 1/130 - output : mypol Weighted Fair Queueing Class ixia Output Queue: Conversation 264 Bandwidth 40000 (kbps) Packets Matched 0 Max Threshold 40(packets) (discards/tail drops) 0/0 Class loopbacks Output Queue: Conversation 265 Bandwidth 10000 (kbps) Packets Matched 0 Max Threshold 64(packets) (discards/tail drops) 0/0 Class class-default Output Queue: Conversation 266 Bandwidth 0 (kbps) Packets Matched 0 Max Threshold 64 (packets) (discards/tail drops) 0/0
Hinweis: Beachten Sie die folgenden Erläuterungen zu den beiden Typen von Tropfen:
Rückwürfe: aus dieser Warteschlange gelöscht werden.
Schwanzfallen: wird nur dann aus dieser Warteschlange verworfen, wenn eine andere Warteschlange ein eingehendes Paket mit einer "niedrigeren" WFQ-Sequenznummer hat und das WFQ-System die maximale Anzahl an Paketen für die Warteschlange erreicht.
show policy-map interface atm x/y[.z] vc [vcd] | vpi/vci] - Dieser Befehl bietet mehr Präzision für bestimmte VCs.
7200#show policy-map interface atm 2/0.130 vc 1/130 ATM2/0.130: VC 1/130 - output : mypol Weighted Fair Queueing Class ixia Output Queue: Conversation 264 Bandwidth 40000 (kbps) Packets Matched 0 Max Threshold 40(packets) (discards/tail drops) 0/0 Class loopbacks Output Queue: Conversation 265 Bandwidth 10000 (kbps) Packets Matched 0 Max Threshold 64(packets) (discards/tail drops) 0/0 Class class-default Output Queue: Conversation 266 Bandwidth 0 (kbps) Packets Matched 0 Max Threshold 64 (packets) (discards/tail drops) 0/0
Sie können auch andere Befehle wie show class-map oder show policy-map class verwenden, um detailliertere Informationen zu den Zuordnungsklassen zu erhalten.
Für diese Konfiguration sind derzeit keine spezifischen Informationen zur Fehlerbehebung verfügbar.
Überarbeitung | Veröffentlichungsdatum | Kommentare |
---|---|---|
1.0 |
12-Dec-2005 |
Erstveröffentlichung |