Einleitung
In diesem Dokument wird beschrieben, wie die bandwidth
und priority
-Befehle werden in einer modularen "Quality of Service"-Richtlinienzuweisung für die Befehlszeilenschnittstelle angewendet.
Voraussetzungen
Anforderungen
Es gibt keine spezifischen Anforderungen für dieses Dokument.
Verwendete Komponenten
Dieses Dokument ist nicht auf bestimmte Software- und Hardware-Versionen beschränkt.
Die Informationen in diesem Dokument beziehen sich auf Geräte in einer speziell eingerichteten Testumgebung. Alle Geräte, die in diesem Dokument benutzt wurden, begannen mit einer gelöschten (Nichterfüllungs) Konfiguration. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die möglichen Auswirkungen aller Befehle kennen.
Konventionen
Weitere Informationen zu Dokumentkonventionen finden Sie unter Cisco Technical Tips Conventions (Technische Tipps von Cisco zu Konventionen).
Hintergrundinformationen
Sowohl die Befehle für Bandbreite als auch Priorität definieren Aktionen, die innerhalb einer Richtlinienzuweisung für eine modulare QoS-Befehlszeilenschnittstelle (MQC) angewendet werden können, die dann über die service-policy
aus. Diese Befehle bieten eine Bandbreitengarantie für die Pakete, die den Kriterien einer Datenverkehrsklasse entsprechen. Die beiden Befehle weisen jedoch wichtige funktionale Unterschiede in diesen Garantien auf. In diesem technischen Hinweis werden diese Unterschiede erläutert und es wird erläutert, wie die ungenutzte Bandbreite einer Klasse auf Datenflüsse verteilt wird, die mit anderen Klassen übereinstimmen.
Zusammenfassung der Unterschiede
In dieser Tabelle werden die Funktionsunterschiede zwischen den bandwidth
und priority
Befehle:
Funktion |
bandwidthBefehl |
priorityCommand |
Garantierte Mindestbandbreite |
Ja |
Ja |
Garantierte maximale Bandbreite |
Nein |
Ja |
Integrierte Überwachung |
Nein |
Ja |
Geringe Latenz |
Nein |
Ja |
Darüber hinaus bandwidth
und Prioritätsbefehle sind auf unterschiedliche QoS-Richtlinienziele ausgelegt. In dieser Tabelle sind die verschiedenen Ziele aufgelistet:
Anwendung |
bandwidthBefehl |
priorityCommand |
Bandbreitenmanagement für WAN-Verbindungen |
Ja |
Etwas |
Verwaltung von Verzögerungen und Verzögerungsschwankungen (Jitter) |
Nein |
Ja |
Verkürzung der Reaktionszeit von Anwendungen |
Nein |
Ja |
Selbst bei schnellen Schnittstellen benötigen die meisten Netzwerke noch ein leistungsstarkes QoS-Managementmodell, um die Engpässe und Engpässe, die aufgrund von Geschwindigkeitsunterschieden oder unterschiedlichen Datenverkehrsmustern unvermeidlich auftreten, effektiv zu bewältigen. In der Praxis bestehen bei Netzwerken nur begrenzte Ressourcen- und Ressourcenengpässe, und es sind QoS-Richtlinien erforderlich, um eine ordnungsgemäße Ressourcenzuweisung sicherzustellen.
Konfigurieren des Befehls "Bandwidth"
In den Cisco IOS ®-Konfigurationsleitfäden werden die bandwidth
als die "Bandbreite in Kbit/s, die der Klasse zugewiesen wird. . .um die für eine Klasse, die zu einer Richtlinienzuordnung gehört, reservierte Bandbreite anzugeben oder zu ändern."
Sehen Sie, was diese Definitionen bedeuten.
Die Fehlermeldung bandwidth
bietet eine minimale Bandbreitengarantie bei Überlastungen. Es gibt drei Formen der Befehlssyntax, wie in dieser Tabelle veranschaulicht:
Befehlssyntax |
Beschreibung |
bandwidth {kbps}
|
Gibt die Bandbreitenzuweisung als Bitrate an. |
bandwidth percent {value}
|
Gibt die Bandbreitenzuweisung als Prozentsatz der Hauptverbindungsrate an. |
bandwidth remaining percent {value}
|
Gibt die Bandbreitenzuweisung als Prozentsatz der Bandbreite an, die nicht anderen Klassen zugewiesen wurde. |
Hinweis: Der Befehl "bandwidth" definiert ein Verhalten, das eine garantierte Mindestbandbreite darstellt. Nicht alle Cisco Router-Plattformen verwenden weighted-fair
queueing
(WFQ) als Algorithmus zur Implementierung dieses Verhaltens verwendet. Weitere Informationen finden Sie unter Warum CBWFQ verwenden?
Konfigurieren des Befehls "Priority"
In den Cisco IOS-Konfigurationsleitfäden wird der Prioritätsbefehl als Reserve für "eine Prioritätswarteschlange mit einer festgelegten Menge an verfügbarer Bandbreite für CBWFQ-Datenverkehr... beschrieben, um einer Datenverkehrsklasse basierend auf der Menge an verfügbarer Bandbreite innerhalb einer Datenverkehrsrichtlinie Priorität einzuräumen." Im nächsten Beispiel wird erklärt, was diese Definitionen bedeuten.
Sie erstellen eine Prioritätswarteschlange mit folgenden Befehlssätzen:
Router(config)#policy-map policy-name
Router(config-pmap)#class class-name
Router(config-pmap-c)#priority kpbs [bytes]
Bei Überlastungen wird der Datenverkehrsklasse eine Bandbreite in Höhe der angegebenen Geschwindigkeit garantiert. (Weisen Sie darauf hin, dass Bandbreitengarantien nur dann ein Problem darstellen, wenn eine Schnittstelle überlastet ist.) Mit anderen Worten, die priority
bietet eine garantierte Mindestbandbreite.
Darüber hinaus priority
implementiert eine Garantie für maximale Bandbreite. Intern verwendet die Prioritätswarteschlange einen Token-Bucket, der die angebotene Last misst und sicherstellt, dass der Datenverkehrsstrom der konfigurierten Rate entspricht. Nur Datenverkehr, der dem Token-Bucket entspricht, wird mit geringer Latenz garantiert. Überzähliger Datenverkehr wird gesendet, wenn die Verbindung nicht überlastet ist, oder wird bei Überlastung der Verbindung verworfen. Weitere Informationen finden Sie unter Was ist ein Token-Bucket?
Der Zweck der integrierten Richtlinie besteht darin, sicherzustellen, dass die anderen Warteschlangen vom Scheduler für die Warteschlange verarbeitet werden. Bei der ursprünglichen Cisco Priority Queueing-Funktion, die die priority-group
und priority-list
-Befehlen immer zuerst die Warteschlange mit der höchsten Priorität bedient. In Extremfällen wurden die Warteschlangen mit niedrigerer Priorität selten bedient und verfügten nicht über ausreichend Bandbreite.
Der wahre Nutzen des priority
Befehl - und der wesentliche Unterschied zu bandwidth
Befehl: Gibt an, wie eine strikte Priorität zum Entfernen aus der Warteschlange bereitgestellt wird, um eine Latenzgrenze bereitzustellen. Im Cisco IOS-Konfigurationsleitfaden wird dieser Vorteil folgendermaßen beschrieben: "Eine strikte Prioritätswarteschlange (PQ) ermöglicht das Entfernen verzögerungsempfindlicher Daten aus der Warteschlange, z. B. Sprache, und das Senden dieser Daten, bevor Pakete in anderen Warteschlangen aus der Warteschlange entfernt werden." Schauen Sie, was das bedeutet.
Jede Router-Schnittstelle verwaltet diese beiden Warteschlangengruppen:
Warteschlange |
Location (Standort) |
Warteschlangenmethoden |
Anwendung von Servicerichtlinien |
Befehl zum Abstimmen |
Hardware-Warteschlangen- oder Übertragungsring |
Port-Adapter oder Netzwerkmodul |
Nur FIFO |
Nein |
Tx-Ring-Limit |
Layer-3-Warteschlange |
Layer-3-Prozessorsystem oder Schnittstellenpuffer |
Datenflussbasierte WFQ, CBWFQ, LLQ |
Ja |
Variiert je nach Warteschlangenmethode. Verwenden Sie den Befehl queue-limit mit einer Bandbreitenklasse. |
Aus der vorherigen Tabelle geht hervor, dass eine Dienstrichtlinie nur für Pakete in der Layer-3-Warteschlange gilt.
Strict de queueing bezieht sich auf den Scheduler für Warteschlangen, der die Prioritätswarteschlange verarbeitet und deren Pakete zuerst an den Übertragungsring weiterleitet. Der Übertragungsring stellt die letzte Station vor den physischen Medien dar.
In der nächsten Abbildung wurde der Übertragungsring so konfiguriert, dass er vier Pakete enthält. Wenn sich bereits drei Pakete im Ring befinden, können wir bestenfalls bis zur vierten Position in der Warteschlange warten und dann warten, bis die anderen drei Pakete leer sind. Der LLQ-Mechanismus (Low Latency Queueing) hebt die Warteschlangen für Pakete am Ende der FIFO-Warteschlange (First-In/First-Out) auf Treiberebene des Übertragungsrings auf.
Verwenden Sie tx-ring-limit
, um die Größe des Übertragungsrings auf einen anderen als den Standardwert einzustellen. Cisco empfiehlt, den Übertragungsring zu optimieren, wenn Sie Sprachdatenverkehr übertragen.
Die Priorisierung des Datenverkehrs ist besonders bei verzögerungsempfindlichen, interaktiven transaktionsbasierten Anwendungen wichtig. Um Verzögerungen und Jitter so gering wie möglich zu halten, müssen die Netzwerkgeräte in der Lage sein, Sprachpakete unmittelbar nach ihrer Ankunft zu bedienen, d. h. mit strikter Priorität. Nur eine strenge Priorität funktioniert gut für Sprache. Wenn die Sprachpakete nicht sofort aus der Warteschlange entfernt werden, kann jeder Hop mehr Verzögerung verursachen.
Die Internationale Fernmeldeunion (ITU) empfiehlt eine maximale unidirektionale Verzögerung von 150 Millisekunden. Ein einzelner Router-Hop kann den Großteil dieses Verzögerungsbudgets ausmachen, ohne dass die Warteschlange an der Router-Schnittstelle unmittelbar entfernt wird. Weitere Informationen finden Sie im Voice Quality Support.
Hinweis: Bei beiden Befehlen muss der Kbit/s-Wert den Layer-2-Overhead berücksichtigen. Mit anderen Worten, wenn eine Garantie für eine Klasse übernommen wird, gilt diese Garantie für den Layer-2-Durchsatz.
Welche Datenverkehrsklassen können überschüssige Bandbreite verwenden?
Obwohl die Bandbreitengarantien der bandwidth
und priority
-Befehle wurden mit Wörtern wie "reserviert" und "Bandbreite reserviert" beschrieben, aber keiner dieser Befehle implementiert eine echte Reservierung. Mit anderen Worten: Wenn eine Datenverkehrsklasse nicht die konfigurierte Bandbreite verwendet, wird die nicht verwendete Bandbreite von den anderen Klassen gemeinsam genutzt.
Das Warteschlangensystem erlegt dieser Regel eine wichtige Ausnahme mit einer Prioritätsklasse auf. Wie bereits erwähnt, wird die angebotene Last einer Prioritätsklasse durch eine Datenverkehrsüberwachung gemessen. Während einer Überlastung kann eine Prioritätsklasse keine überschüssige Bandbreite verwenden.
Diese Tabelle beschreibt, wenn eine Bandbreitenklasse und eine Prioritätsklasse überschüssige Bandbreite verwenden können:
Command |
Verkehrsstaus |
Non-Congestion |
bandwidthBefehl |
Zulässig, um den zugeordneten Satz zu überschreiten. |
Zulässig, um den zugeordneten Satz zu überschreiten. |
priorityCommand |
Cisco IOS misst die Pakete und wendet ein Datenverkehrsmesssystem über einen Token-Bucket an. Übereinstimmende Pakete werden auf die konfigurierte Bit/s-Rate geregelt, und überzählige Pakete werden verworfen. |
Die Klasse kann die konfigurierte Bandbreite überschreiten. |
Hinweis: Eine Ausnahme von diesen Richtlinien für LLQ ist Frame Relay auf dem Cisco 7200-Router und anderen Nicht-Route/Switch Processor (RSP)-Plattformen. Bei der ursprünglichen Implementierung von LLQ over Frame Relay auf diesen Plattformen war es nicht möglich, dass die Prioritätsklassen die konfigurierte Rate in Zeiten ohne Überlastung überschritten. Cisco IOS Software, Version 12.2, entfernt diese Ausnahme und stellt sicher, dass nicht konforme Pakete nur bei Überlastung verworfen werden. Außerdem werden Pakete, die kleiner als eine FRF.12-Fragmentierungsgröße sind, nicht mehr durch den Fragmentierungsprozess gesendet, wodurch die CPU-Auslastung verringert wird.
Aus der vorherigen Diskussion muss hervorgehen, dass die Prioritätsklassen bei Überlastungsbedingungen geregelt werden und daher keine verbleibende Bandbreite aus den Bandbreitenklassen zugewiesen wird. Die verbleibende Bandbreite wird daher von allen Bandbreitenklassen gemeinsam genutzt, und der Klassenstandard wird festgelegt.
Nicht genutzte Bandbreitenzuweisung
In diesem Abschnitt wird erläutert, wie das Warteschlangensystem die verbleibende Bandbreite verteilt. Nachfolgend wird der Zuweisungsmechanismus in der Class-Based Weighted Fair Queueing-Funktionsübersicht beschrieben: "Wenn überschüssige Bandbreite verfügbar ist, wird die überschüssige Bandbreite proportional zu den konfigurierten Bandbreiten unter den Datenverkehrsklassen aufgeteilt. Wenn nicht die gesamte Bandbreite zugewiesen wird, wird die verbleibende Bandbreite proportional den Klassen zugewiesen, basierend auf der konfigurierten Bandbreite." Schauen Sie sich zwei Beispiele an.
Im ersten Beispiel garantiert policy-map foo 30 Prozent der Bandbreite für die Klassenleiste und 60 Prozent der Bandbreite für die Klassenbasis.
policy-map foo
class bar
bandwidth percent 30
class baz
bandwidth percent 60
Wenn Sie diese Richtlinie auf eine 1-Mbit/s-Verbindung anwenden, bedeutet dies, dass die Klassenleiste 300 Kbit/s und die Basisklasse 600 Kbit/s garantiert hat. Wichtig ist, dass 100 Kbit/s für die Standardklasse übrig bleiben. Wenn class-default dies nicht benötigt, stehen die nicht verwendeten 100 Kbit/s für die Verwendung durch die Klassenleiste und die Klassenbasis zur Verfügung. Wenn beide Klassen die Bandbreite benötigen, teilen sie sie im Verhältnis zu den konfigurierten Raten. In dieser Konfiguration ist das Verhältnis 30:60 oder 1:2.
Die nächste Beispielkonfiguration enthält drei Richtlinienzuordnungen - bar, baz und poli. In der Richtlinienzuordnung mit der Bezeichnung bar und der Richtlinienzuordnung mit der Bezeichnung baz wird die Bandbreite als Prozentsatz angegeben. In der Richtlinienzuordnung mit dem Namen poli wird die Bandbreite jedoch in Kbit/s angegeben.
Beachten Sie, dass die Klassenzuordnungen bereits erstellt werden müssen, bevor Sie die Richtlinienzuordnungen erstellen.
policy-map bar
class voice
priority percent 10
class data
bandwidth percent 30
class video
bandwidth percent 20
policy-map baz
class voice
priority percent 10
class data
bandwidth remaining percent 30
class video
bandwidth remaining percent 20
policy-map poli
class voice
class data
bandwidth 30
class video
bandwidth 20
Hinweis: Der Befehl "bandwidth rest percent" wurde in Cisco IOS-Version 12.2(T) eingeführt.
Verwenden Sie den Polizeibefehl, um eine maximale
Wenn eine Bandbreite oder Prioritätsklasse die zugewiesene Bandbreite in Zeiten ohne Überlastung nicht überschreiten darf, können Sie die priority
Befehl mit dem police
aus. Diese Konfiguration legt eine maximale Rate fest, die für die Klasse immer aktiv ist. Die Wahl zwischen der Konfiguration eines police
-Anweisung in dieser Konfiguration vom Richtlinienziel ab.
Ermittlung des verfügbaren Bandbreitenwerts
In diesem Abschnitt wird erläutert, wie das Warteschlangensystem den Wert für die verfügbare Bandbreite ableitet, der in der Ausgabe von angezeigt wird. show interface
Oder show queueing
-Befehlen.
Wir haben diese Policy-Map namens Leslie erstellt:
7200-16#show policy-map leslie
Policy Map leslie
Class voice
Weighted Fair Queueing
Strict Priority
Bandwidth 1000 (kbps) Burst 25000 (Bytes)
Class data
Weighted Fair Queueing
Bandwidth 2000 (kbps) Max Threshold 64 (packets)
Anschließend wurde ein ATM Permanent Virtual Circuit (PVC) erstellt, der Kategorie "Nicht-Echtzeit-ATM-Service mit variabler Bitrate" zugewiesen und eine konstante Zellenrate von 6 Mbit/s konfiguriert. Anschließend wendeten wir die Richtlinienzuweisung auf den PVC an, indem wir service-policy output leslie
aus.
7200-16(config)#interface atm 4/0.10 point
7200-16(config-subif)#pvc 0/101
7200-16(config-if-atm-vc)#vbr-nrt 6000 6000
7200-16(config-if-atm-vc)#service-policy output leslie
Die Fehlermeldung show queueing interface atm
zeigt die verfügbare Bandbreite von 1500 Kilobit/s an.
7200-16#show queue interface atm 4/0.10
Interface ATM4/0.10 VC 0/101
queue strategy: weighted fair
Output queue: 0/512/64/0 (size/max total/threshold/drops)
Conversations 0/0/128 (active/max active/max total)
Reserved Conversations 1/1 (allocated/max allocated)
Available Bandwidth 1500 kilobits/sec
Sehen wir uns nun an, wie sich dieser Wert ergibt:
-
6 Mbit/s ist die konstante Zellrate (Sustained Cell Rate, SCR). Standardmäßig sind 75 Prozent davon reservierbar:
0.75 * 6000000 = 4500000
-
3.000 Kbit/s werden bereits von den Sprach- und Datenklassen verwendet:
4500000 - 3000000 = 1500000 bps
-
Die verfügbare Bandbreite beträgt 1500000 Bit/s.
Der standardmäßige Wert für die maximal reservierbare Bandbreite von 75 Prozent soll ausreichend Bandbreite für Overhead-Datenverkehr belassen, z. B. Routing-Protokoll-Updates und Layer-2-Keepalives. Außerdem wird der Layer-2-Overhead für Pakete abgedeckt, die definierten Datenverkehrsklassen oder der Standardklasse entsprechen und diese darstellen. Sie können jetzt den maximalen reservierbaren Bandbreitenwert auf ATM-PVCs mit dem max-reserved-bandwidth
aus. Informationen zu unterstützten Cisco IOS-Versionen und weitere Hintergrundinformationen finden Sie unter Understanding the max-reserved-bandwidth Command on ATM PVC.
Bei Frame-Relay-PVCs bandwidth
und priority
berechnet die gesamte verfügbare Bandbreite auf eine der folgenden Arten:
-
Wenn keine minimale akzeptable Committed Information Rate (minCIR) konfiguriert ist, wird die CIR durch zwei dividiert.
-
Wenn ein minCIR konfiguriert ist, wird die minCIR-Einstellung für die Berechnung verwendet. Die volle Bandbreite der vorherigen Übertragungsrate kann Bandbreiten- und Prioritätsklassen zugewiesen werden.
Daher max-reserved-bandwidth
-Befehl wird auf Frame-Relay-PVCs nicht unterstützt. Sie müssen jedoch sicherstellen, dass die konfigurierte Bandbreite groß genug ist, um den Layer-2-Overhead aufzunehmen. Weitere Informationen finden Sie unter Konfigurieren von CBWFQ auf Frame-Relay-PVCs.
Zugehörige Informationen