Basic Catalyst 3560 Egress Shaping

8

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 qosim 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 0die 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 90Kombination 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.

Todd Wilcox
quelle
1
Eine Randnotiz zu Ihrer Frage: Basierend auf den Erfahrungen mit Metro-Ethernet möchten Sie möglicherweise Router auf jeder Seite platzieren und ein Routing-Protokoll und BFD ausführen. Wenn die Verbindung unterbrochen wird, denken beide Seiten, dass sie noch aktiv ist, da die Verbindung zu den Telekommunikationsgeräten weiterhin besteht. Dies hat uns in der Vergangenheit sehr frustriert.
Ron Maupin
@ RonMaupin Schon Teil des Plans, danke für den Tipp! Als Teil des Plans werden wir keine Geräte einsetzen, sondern die Layer 3-Fähigkeit der Switches verwenden, um von Ort zu Ort zu routen. Wir möchten nicht, dass eine große Broadcast-Domain über eine relativ langsamere WAN-Verbindung läuft.
Todd Wilcox
OK. Ich weiß nicht, ob Sie BFD auf diesen Switches ausführen können. Das ist wirklich die einzige Lösung, die wir gefunden haben, um herauszufinden, dass der Link in kurzer Zeit nicht verfügbar ist. Es dauert eine Weile, bis die Routing-Protokolle feststellen, dass keine Verbindung zum anderen Ende besteht, da die Verbindungen im Gerät weiterhin als "up / up" angezeigt werden.
Ron Maupin
Oh, ich habe nicht so sehr an Ausfallsicherheit gedacht wie an Routing als an Rundfunk. Wir haben derzeit sowieso nichts zum Failover. Wenn es dazu kommen würde, könnte EIGRP tatsächlich ausreichen. Wie auch immer, das ist weiter in der Zukunft von wo wir jetzt sind.
Todd Wilcox
OK. Ich habe nur versucht, einige [schlechte] Erfahrungen mit Metro Ethernet weiterzugeben. Dies ist auch bei einigen anderen Carrier-Ethernet ein Problem. Ein Teil davon ist wirklich über TDM-Schaltungen, und die Schaltungen enden in Trägergeräten, die auf / ab angezeigt werden, selbst wenn die TDM-Schaltung ausgefallen ist. BFD hilft wirklich, aber es ist in den Geräten, die es verwenden können, begrenzt.
Ron Maupin

Antworten:

6

Und jetzt die eigentliche Frage:

Kann ich einfach srr-queue bandwidth shape 0 2 0 0die 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 90Kombination mit der obigen Formgebung laufe?

Kurze Antwort: Ja, das ist alles, was Sie brauchen, um den Ausgang zu formen.

Natürlich müssen mls qos eingegeben werden, aber sobald dies konfiguriert ist, ist die Ausgangsformung an einem Port so einfach wie:

  1. Passen Sie gegebenenfalls die Leitungsrate an ( speed 10 100 1000)
  2. Legen Sie ggf. das Bandbreitenlimit fest ( srr-queue bandwidth limit 10-90das letzte Argument ist der Prozentsatz der Leitungsrate, auf die die Bandbreite begrenzt werden soll).
  3. Geben Sie das Shaping-Gewicht für Warteschlange 2 auf der Schnittstelle ein ( srr-queue bandwidth shape 0 x 0 0wobei entweder das Bandbreitenlimit (falls angewendet) oder die Leitungsrate (falls kein Limit) geteilt durch xdie Bandbreite ist, auf die der Verkehr geformt wird).

Quelle:
Heute habe ich einen zusätzlichen 3560 genommen, einen zusätzlichen Computer an jeden der beiden Ports angeschlossen und angefangen, Konfigurationsänderungen vorzunehmen, während ich Dateien zwischen den beiden Computern hin und her kopierte, die geschätzte Kopierrate beobachtete und einige Berechnungen durchführte, um die Zahlen zu bestätigen zusammenpassen.

Todd Wilcox
quelle
0

Es ist ziemlich einfach. Wenn Sie über RTP oder einen LLQ verfügen, müssen Sie möglicherweise verschachtelte Richtlinien ausführen. Wenn nicht:

class-map match-any myRate
 match any

policy-map myRatePolicy
 class myRate
  shape average 50m

interface GigabitEthernet0/1
 service-policy output myRatePolicy
Ronnie Royston
quelle
Können Sie erklären, ob diese Formungsmethode anders funktioniert als die Methode in meiner Antwort? Wissen Sie auch, auf welchen Plattformen dies unterstützt wird?
Todd Wilcox
Sieht aus wie auf Catalyst 3560, match anyist kein gültiger Unterbefehl für match protocol ipdie Klassenzuordnung, aber ich denke, er macht dasselbe. Der shapeUnterbefehl policy-map class-map ist auf meinem Catalyst 3560 nicht verfügbar. Dies sind also gute Informationen, die meine Frage nicht beantworten. Vielen Dank für Ihre Antwort.
Todd Wilcox
Die Unterstützung der @ ToddWox-Funktion ist ein guter Punkt. Richtig, der 3560 (wird nicht mehr verkauft ) unterstützt diesen neueren Stil der IOS-XE-Konfiguration nicht. Darüber hinaus zeigt eine schnelle Google-Suche einige gemeldete Probleme bei der Gestaltung dieses älteren Schalters. Sie könnten von einem Upgrade profitieren.
Ronnie Royston
Wir haben neun 3560er im Einsatz und ein Budget, das wir unterschreiten müssen, und viele andere Anforderungen in der Kategorie der Netzwerkgeräte. Außerdem ist das einzige "gemeldete Problem", das ich auf diesem Link finden kann, die Einschränkung, dass es nicht auf den genauen Prozentsatz beschränkt ist, den Sie angeben, sondern in Schritten von 6 .. um .. kbps? So ähnlich. Sie müssen also etwas mehr Kopffreiheit lassen. Der Unterschied wird jedoch tatsächlich durch die Ausgabe von gemeldet, show mls qos int <type><#> queueingsodass Sie nicht raten müssen.
Todd Wilcox
Auch wenn ich meine Tests mit einem EoL 3560E durchgeführt habe, bin ich mir ziemlich sicher, dass es mit dem 3560CX kompatibel ist , der sich noch in der Produktion befindet und der eigentliche Switch ist, den wir für diese Anwendung auf dem Weg haben, da wir nur einen niedrigen Wert benötigen Port-Count-Edge-Switch für die Anbindung an unseren Provider.
Todd Wilcox