Wir haben einen Dienstanbieter (und wir können den Anbieter nicht wechseln), der uns eine Verbindung im Metro-Ethernet-Stil zwischen zwei unserer Standorte herstellt. An jedem Ende schließen wir einen Ethernet-Port am Switch eines Anbieters an und sie versenden Frames hin und her. Wir bekommen eine bestimmte Bandbreite von ihnen und sie verwerfen Pakete, die über die Bandbreite platzen.
Ich bin mir ziemlich sicher, dass eine gute Möglichkeit für uns, das Limit nicht zu überschreiten und verworfene Pakete zu vermeiden, darin besteht, unseren Datenverkehr so zu gestalten, dass er unter das Limit passt. Ich denke, ich bin sehr nahe dran zu verstehen, wie man das macht, aber es ist ziemlich kompliziert. Wir haben einen Cisco Catalyst 3560X auf jeder Seite der Verbindung.
Wenn ich den Datenverkehr über den Tunnel auf bis zu 50 Mbit / s reduzieren möchte, scheint es die richtige (vielleicht nur?) Möglichkeit zu sein, die Ausgangswarteschlangen der Ports zu verwenden, die für die Verbindung auf jedem unserer 3560 verwendet werden. Wir müssen keinen Verkehr markieren oder klassifizieren, wir wollen nur alles auf 50 Mbit / s reduzieren. Hier ist ein Beispiel für eine Portkonfiguration:
interface GigabitEthernet0/1
speed auto 10 100
spanning-tree portfast disable
Ich weiß, dass ich mls qos
im globalen Konfigurationsmodus arbeiten möchte . Dann sollte ich so etwas sehen:
[Switch name]# show mls qos int gig0/1 queueing
GigabitEthernet0/1
Egress Priority Queue : disabled
Shaped queue weights (absolute) : 25 0 0 0
Shared queue weights : 25 25 25 25
The port bandwidth limit : 100 (Operational Bandwidth:100.0)
The port is mapped to qset : 1
Mein bisheriges Verständnis ist das folgende, zögern Sie nicht, mich zu korrigieren:
- Der gesamte Datenverkehr ist CoS 0 / nicht markiert und wird standardmäßig in die Ausgangswarteschlange 2 gestellt.
- Die Ausgangswarteschlange 2 teilt die Bandbreite zu gleichen Teilen mit der Warteschlange 3 und 4, und das Gewicht der Warteschlange 1 wird ignoriert.
- Die Ausgangswarteschlange 1 ist auf 1/25 der Schnittstellenbandbreite ausgelegt, also in diesem Fall 4 Mbit / s.
Ich verstehe also, dass die Warteschlangen 2 - 4 jeweils 33% der Bandbreite (33 Mbit / s, richtig?) Garantiert sind und Warteschlange 1 auf 4 Mbit / s ausgelegt ist. Meine erste Frage ist:
Wenn bei dieser Standardkonfiguration nur Warteschlange 2 verwendet wird , wie viel Bandbreite wird sie erhalten? 100 Mbit / s? Und wenn alle Warteschlangen voll ausgelastet wären, hätte Warteschlange 1 4 Mbit / s und Warteschlangen 2 - 4 jeweils 32 Mbit / s (100 - 4 = 96/3 = 32)?
Und jetzt die eigentliche Frage:
Kann ich einfach
srr-queue bandwidth shape 0 2 0 0
die betreffende Schnittstelle eingeben und fertig sein, um den gesamten nicht klassifizierten Ausgangsverkehr auf 50 Mbit / s zu gestalten?
Es scheint, dass die Grenzwerte für die gemeinsame Nutzung und Gestaltung von Warteschlangen nicht garantiert sind. Daher muss ich möglicherweise bis zu 45 Mbit / s in der Ausgangswarteschlange festlegen, wenn Bursts über 50 Mbit / s vermieden werden sollen. Kann ich das tun, indem ich einfach in srr-queue bandwidth limit 90
Kombination mit der obigen Formgebung laufe? Wäre es dasselbe, stattdessen zu verwenden:
srr-queue bandwidth shape 0 1 0 0
srr-queue bandwidth limit 45
Würde diese Warteschlange 2 bis 45 Mbit / s (auf einer 100-Mbit / s-Schnittstelle) formen?
Sobald ich das verstanden habe, schätze ich, dass mein nächster Stopp darin besteht, Pufferzuordnungen und Schwellenwerte zu sortieren, damit meine Formgebung so wenig Pakete wie möglich verwirft, oder? Das kann bei Bedarf eine separate Frage sein, aber tatsächlich scheint das bisher viel sinnvoller zu sein.