AUF DIESER SEITE
Beispiel: Begrenzung des eingehenden Datenverkehrs auf einer Schnittstelle mithilfe von Port Shaping für CoS
Dieses Beispiel zeigt, wie Sie mithilfe von Port-Shaping als Form von Class of Service (CoS) den Datenverkehr auf einer Schnittstelle begrenzen können, sodass Sie die Menge des Datenverkehrs steuern können, der die Schnittstelle passiert.
Anforderungen
Um diese Prozedur zu überprüfen, verwendet dieses Beispiel einen Datenverkehrsgenerator. Der Datenverkehrsgenerator kann hardwarebasiert oder Software sein, die auf einem Server oder einer Host-Maschine ausgeführt wird.
Die Funktionen in dieser Prozedur werden auf Geräten mit Junos OS weit verbreitet unterstützt. Das hier gezeigte Beispiel wurde auf Routern der MX-Serie getestet und verifiziert, auf denen Junos OS Version 10.4 ausgeführt wird.
Übersicht
In diesem Beispiel soll gezeigt werden, wie Sie mithilfe von Port-Shaping den Datenverkehr, der durch eine Schnittstelle passiert, auf eine Geschwindigkeit umgestalten können, die geringer ist als die Leitungsgeschwindigkeit für diese Schnittstelle. Wenn Sie Port-Shaping auf einer Schnittstelle konfigurieren, geben Sie im Wesentlichen einen Wert an, der die maximale Menge an Datenverkehr angibt, die die Schnittstelle passieren darf. Dieser Wert muss geringer sein als die maximale Bandbreite für diese Schnittstelle. Wenn Sie das Port-Shaping konfigurieren, können Sie entweder die maximale Rate angeben, mit der Datenverkehr die Schnittstelle passieren darf, oder als Prozentsatz der Bandbreite der Schnittstelle.
In diesem Beispiel erfolgt die Port-Shaping auf Gerät R1. Die für die Implementierung von Port-Shaping auf Gerät R2 erforderlichen Informationen sind in diesem Beispiel nicht enthalten. Sie können jedoch die Port-Shaping-Informationen in Gerät R1 verwenden (Änderungen an den verwendeten Schnittstellen vornehmen) und sie auf Gerät R2 anwenden, um Port-Shaping auf Gerät R2 zu erreichen.
Topologie
In diesem Beispiel wird die Topologie in Abbildung 1 verwendet.

Konfiguration
Verfahren
CLI-Schnellkonfiguration
Um dieses Beispiel schnell zu konfigurieren, kopieren Sie die folgenden Befehle, fügen sie in eine Textdatei ein, entfernen alle Zeilenumbrüche, ändern alle erforderlichen Details, um mit Ihrer Netzwerkkonfiguration zu übereinstimmen, und kopieren Sie dann die Befehle und fügen sie auf Hierarchieebene in die [edit]
CLI ein.
Gerät R1 mit nur Class of Service
set interfaces ge-2/0/5 description to-Host set interfaces ge-2/0/5 unit 0 family inet address 172.16.70.2/30 set interfaces ge-2/0/8 description to-R2 set interfaces ge-2/0/8 unit 0 family inet address 10.50.0.1/30 set interfaces lo0 unit 0 description looback-interface set interfaces lo0 unit 0 family inet address 192.168.13.1/32 set class-of-service interfaces ge-2/0/8 shaping-rate 160k set protocols ospf area 0.0.0.0 interface ge-2/0/5.0 passive set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols ospf area 0.0.0.0 interface ge-2/0/8.0
Gerät R1 mit Verkehrssteuerungsprofilen und Class of Service
set interfaces ge-2/0/5 description to-Host set interfaces ge-2/0/5 unit 0 family inet address 172.16.70.2/30 set interfaces ge-2/0/8 description to-R2 set interfaces ge-2/0/8 unit 0 family inet address 10.50.0.1/30 set interfaces lo0 unit 0 description looback-interface set interfaces lo0 unit 0 family inet address 192.168.13.1/32 set class-of-service traffic-control-profiles output shaping-rate 160k set class-of-service traffic-control-profiles output shaping-rate burst-size 30k set class-of-service interfaces ge-2/0/8 output-traffic-control-profile output set protocols ospf area 0.0.0.0 interface ge-2/0/5.0 passive set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols ospf area 0.0.0.0 interface ge-2/0/8.0
Gerät R2
set interfaces ge-2/0/7 description to-Host set interfaces ge-2/0/7 unit 0 family inet address 172.16.80.2/30 set interfaces ge-2/0/8 description to-R1 set interfaces ge-2/0/8 unit 0 family inet address 10.50.0.2/30 set interfaces lo0 unit 0 description looback-interface set interfaces lo0 unit 0 family inet address 192.168.14.1/32 set protocols ospf area 0.0.0.0 interface ge-2/0/7.0 passive set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols ospf area 0.0.0.0 interface ge-2/0/8.0
Schritt-für-Schritt-Verfahren
Im folgenden Beispiel müssen Sie auf verschiedenen Ebenen in der Konfigurationshierarchie navigieren. Anweisungen dazu finden Sie unter Verwenden des CLI-Editors im Konfigurationsmodus im Junos OS CLI-Benutzerhandbuch.
Sie können Port-Shaping auf Netzwerkschnittstellen, aggregierten Ethernet-Schnittstellen (auch Link Aggregation Groups (LAGs) genannt) und Loopback-Schnittstellen konfigurieren.
So konfigurieren Sie Gerät R1:
Konfigurieren Sie die Geräteschnittstellen.
[edit] user@R1# set interfaces ge-2/0/5 description to-Host user@R1# set interfaces ge-2/0/5 unit 0 family inet address 172.16.70.2/30 user@R1# set interfaces ge-2/0/8 description to-R2 user@R1# set interfaces ge-2/0/8 unit 0 family inet address 10.50.0.1/30 user@R1# set interfaces lo0 unit 0 description looback-interface user@R1# set interfaces lo0 unit 0 family inet address 192.168.13.1/32
Konfigurieren Sie das Port-Shaping nur mit Class-of-Service.
[edit] user@R1# set class-of-service interfaces ge-2/0/8 shaping-rate 160k
Konfigurieren Sie Port-Shaping mithilfe von Datenverkehrssteuerungsprofilen und Class-of-Service-Profilen.
Hinweis:Wenn Sie eine feste Shaping-Rate konfigurieren, können Sie optional eine Burst-Größe in Bytes konfigurieren. Wenn Sie die Shaping-Rate als Prozentsatz konfigurieren, ist die
burst-size
Option nicht zulässig.[edit] user@R1# set class-of-service traffic-control-profiles output shaping-rate 160k user@R1# set class-of-service traffic-control-profiles output shaping-rate burst-size 30k user@R1# set class-of-service interfaces ge-2/0/8 output-traffic-control-profile output
Konfigurieren Sie OSPF.
[edit] user@R1# set protocols ospf area 0.0.0.0 interface ge-2/0/5.0 passive user@R1# set protocols ospf area 0.0.0.0 interface lo0.0 passive user@R1# set protocols ospf area 0.0.0.0 interface ge-2/0/8.0
Schritt-für-Schritt-Verfahren
So konfigurieren Sie Gerät R2:
Konfigurieren Sie die Geräteschnittstellen.
[edit interfaces] set interfaces ge-2/0/7 description to-Host set interfaces ge-2/0/7 unit 0 family inet address 172.16.80.2/30 set interfaces ge-2/0/8 description to-R1 set interfaces ge-2/0/8 unit 0 family inet address 10.50.0.2/30 set interfaces lo0 unit 0 description looback-interface set interfaces lo0 unit 0 family inet address 192.168.14.1/32
Konfigurieren Sie OSPF.
[edit ] user@R1# set protocols ospf area 0.0.0.0 interface ge-2/0/7.0 passive user@R1# set protocols ospf area 0.0.0.0 interface lo0.0 passive user@R1# set protocols ospf area 0.0.0.0 interface ge-2/0/8.0
Ergebnisse
Bestätigen Sie ihre Konfiguration im Konfigurationsmodus, indem Sie die show interfaces
Befehle und show protocols ospf
show class-of-service
die Befehle eingeben. Wenn die gewünschte Konfiguration in der Ausgabe nicht angezeigt wird, wiederholen Sie die Anweisungen in diesem Beispiel, um die Konfiguration zu korrigieren.
Ergebnisse für R1
user@R1# show interfaces ge-2/0/5 { description to-Host; unit 0 { family inet { address 172.16.70.2/30; } } } ge-2/0/8 { description to-R2; unit 0 { family inet { address 10.50.0.1/30; } } } lo0 { unit 0 { description looback-interface; family inet { address 192.168.13.1/32; } } }
Konfigurieren von Port-Shaping mit nur Class-of-Service
user@R1# show class-of-service interfaces { ge-2/0/8 { shaping-rate 160k; } }
Konfigurieren von Port-Shaping mithilfe von Datenverkehrssteuerungsprofilen und Class-of-Service-Profilen
user@R1# show class-of-service traffic-control-profiles { output { shaping-rate 160k burst-size 30k; } } interfaces { ge-2/0/8 { output-traffic-control-profile output; } }
user@R1# show protocols ospf area 0.0.0.0 { interface ge-2/0/5.0 { passive; } interface lo0.0 { passive; } interface ge-2/0/8.0; }
Wenn Sie mit der Konfiguration von Gerät R1 fertig sind, geben Sie im Konfigurationsmodus ein commit
.
Ergebnisse für R2
user@R2# show interfaces ge-2/0/7 { description to-Host; unit 0 { family inet { address 172.16.80.2/30; } } } ge-2/0/8 { description to-R1; unit 0 { family inet { address 10.50.0.2/30; } } } lo0 { unit 0 { description looback-interface; family inet { address 192.168.14.1/32; } } }
user@R2# show protocols ospf area 0.0.0.0 { interface ge-2/0/7.0 { passive; } interface lo0.0 { passive; } interface ge-2/0/8.0; }
Wenn Sie mit der Konfiguration von Gerät R2 fertig sind, wechseln Sie im commit
Konfigurationsmodus.
Überprüfung
Bestätigen Sie, dass die Konfiguration ordnungsgemäß funktioniert.
Löschen der Zähler
Zweck
Bestätigen Sie, dass die Schnittstellenzähler deaktiviert sind.
Aktion
Führen Sie auf Gerät R1 den clear interfaces statistics ge-2/0/8
Befehl aus, um die Schnittstellenstatistiken auf 0 zurückzusetzen.
user@R1> clear interfaces statistics ge-2/0/8
Tcp-Datenverkehr in das Netzwerk senden und Port-Shaping überwachen
Zweck
Stellen Sie sicher, dass der Datenverkehr auf der Ausgabeschnittstelle (ge-2/0/8) auf Gerät R1 begrenzt ist, indem Sie den Datenverkehr über den mit Gerät R1 verbundenen Host in das Netzwerk senden.
Aktion
Verwenden Sie einen Datenverkehrsgenerator, um mehrere kontinuierliche Streams von TCP-Paketen mit einem Quell-Port von 80 zu senden.
Das -s-Flag setzt den Quellport. Die -k-Flag bewirkt, dass der Quell-Port bei 80 stabil bleibt, anstatt zu inkrementieren. Das Flag -d setzt die Paketgröße. Das -c-Flag legt die Anzahl der pakete fest, die gesendet werden sollen.
Die Ziel-IP-Adresse von 172.16.80.1 stellt einen Benutzer dar, der sich im Downstream von Gerät R2 befindet. Der Benutzer hat eine Webseite vom Host angefordert (der Webserver wird vom Datenverkehrsgenerator emuliert), und die Pakete werden als Antwort auf die Anfrage gesendet.
Hinweis:Denken Sie daran, dass in diesem Beispiel das Port-Shaping auf 160 Kbit/s festgelegt wurde.
[user@host]# hping 172.16.80.1 -s 80 -k -d 1500 -c 20 & hping 172.16.80.1 -s 80 -k -d 1500 -c 20 & . . .
Überprüfen Sie auf Gerät R1 die Schnittstellenzähler mit dem
show interfaces extensive ge-2/0/8
Befehl.user@R1> show interfaces extensive ge-2/0/8 Queue counters: Queued packets Transmitted packets Dropped packets 0 17244 3741 13470 1 13 13 0 2 0 0 0 3 149363 149363 0 Queue number: Mapped forwarding classes 0 best-effort 1 expedited-forwarding 2 assured-forwarding 3 network-control
Bedeutung
In der Ausgabe sehen Sie, dass 1.3470 Pakete gelöscht wurden. Dies sind die Pakete, die die auf Ge-2/0/8 konfigurierte Shaping-Rate von 160 Kbit/s übersteigen.