Konfigurieren von Class-of-Service auf Link Services-Schnittstellen
Wenn LFI auf einem Gerät von Juniper Networks aktiviert ist, wird der gesamte Weiterleitungsdatenverkehr, der Warteschlange 2 oder einem Mitgliedslink zugewiesen ist, als LFI-Datenverkehr (Sprachverkehr) behandelt. In den folgenden Themen werden die Übersicht über Klassifikatoren und Weiterleitungsklassen, die Definition und Anwendung von Zeitplanzuordnungen sowie die Übersicht und Konfigurationsdetails der Schnittstellen-Shaping-Raten auf Firewalls der SRX-Serie erläutert.
Grundlegendes zum Definieren von Klassifizierern und Weiterleitungsklassen
Durch das Definieren von Klassifizierern ordnen Sie eingehende Pakete einer Weiterleitungsklasse und einer Verlustpriorität zu. Basierend auf der zugeordneten Weiterleitungsklasse ordnen Sie Pakete Ausgabewarteschlangen zu. Um Klassifikatoren zu konfigurieren, geben Sie das Bitmuster für die verschiedenen Datenverkehrstypen an. Der Klassifikator verwendet dieses Bitmuster und versucht, es mit dem Typ des Pakets abzugleichen, das auf der Schnittstelle eintrifft. Wenn die Informationen im Paketheader mit dem angegebenen Muster übereinstimmen, wird das Paket an die entsprechende Warteschlange gesendet, die durch die dem Klassifikator zugeordnete Weiterleitungsklasse definiert ist.
Wenn LFI auf einem Gerät von Juniper Networks aktiviert ist, wird der gesamte Weiterleitungsdatenverkehr, der Warteschlange 2 oder einem Mitgliedslink zugewiesen ist, als LFI-Datenverkehr (Sprachverkehr) behandelt. Sie müssen den Netzwerksteuerungsdatenverkehr nicht explizit einer Warteschlange zuweisen, da er standardmäßig der Warteschlange 3 zugewiesen ist.
Zu Mitglieder-Links:
DATA
ist der Warteschlange 0 zugeordnet.VOICE
ist Warteschlange 2 zugeordnet.NC
(Netzwerksteuerung) ist Queue 3 zugeordnet. Standardmäßig ist NC der Queue 3 zugeordnet.
Beispiel: Definieren von Klassifikatoren und Weiterleitungsklassen
In diesem Beispiel wird gezeigt, wie Sie Klassifizierer für verschiedene Datenverkehrstypen, z. B. Sprach-, Daten- und Netzwerksteuerungspakete, definieren und den Datenverkehr an verschiedene Ausgabewarteschlangen weiterleiten, um den Durchsatz zu verwalten.
Anforderungen
Bevor Sie beginnen:
Konfigurieren Sie zwei Geräte von Juniper Networks mit mindestens zwei seriellen Schnittstellen, die über serielle Verbindungen kommunizieren.
Konfigurieren Sie CoS-Komponenten. Weitere Informationen finden Sie im Junos OS Class of Service-Konfigurationshandbuch für Sicherheitsgeräte.
Überblick
In diesem Beispiel konfigurieren Sie Class-of-Service und legen den Standardklassifikator für die IP-Rangfolge auf classify_input fest, der dem gesamten eingehenden Datenverkehr zugewiesen wird. Anschließend setzen Sie den Wert für das Präzedenzbit im Feld Art des Dienstes auf 000 für den gesamten eingehenden Datenverkehr und 010 für den gesamten eingehenden Sprachverkehr. Sie legen den gesamten ausgehenden Datenverkehr auf Warteschlange 0 und den gesamten Sprachverkehr auf Warteschlange 2 fest, und die Fragmentierungszuordnung ordnet Warteschlange 2 keine Fragmentierung zu.
Konfiguration
Verfahren
CLI Schnellkonfiguration
Um dieses Beispiel schnell zu konfigurieren, kopieren Sie die folgenden Befehle, fügen Sie sie in eine Textdatei ein, entfernen Sie alle Zeilenumbrüche, ändern Sie alle erforderlichen Details, damit sie Ihrer Netzwerkkonfiguration entsprechen, und kopieren Sie dann die Befehle, und fügen Sie sie dann in die CLI auf der [edit]
Hierarchieebene ein.
set class-of-service classifiers inet-precedence classify_input forwarding-class DATA loss-priority low code-points 000 set class-of-service classifiers inet-precedence classify_input forwarding-class VOICE loss-priority low code-points 010 set class-of-service forwarding-classes queue 0 DATA set class-of-service forwarding-classes queue 2 VOICE set class-of-service forwarding-classes queue 3 NC set class-of-service interfaces ge-0/0/1 unit 0 classifiers inet-precedence classify_input set class-of-service fragmentation-maps FM forwarding-class VOICE no-fragmentation set class-of-service interfaces lsq-0/0/0 unit 0 fragmentation-map FM
Schritt-für-Schritt-Anleitung
Im folgenden Beispiel müssen Sie durch verschiedene Ebenen in der Konfigurationshierarchie navigieren. Anweisungen hierzu finden Sie unter Verwenden des CLI-Editors im Konfigurationsmodus im Junos OS CLI-Benutzerhandbuch.
So definieren Sie Klassifikatoren und Weiterleitungsklassen:
Konfigurieren Sie Class-of-Service.
[edit] user@host# edit class-of-service
Konfigurieren Sie den Verhaltens-Aggregatklassifikator für die Klassifizierung von Paketen.
[edit class-of-service] user@host# edit classifiers inet-precedence classify_input
Weisen Sie der Datenweiterleitungsklasse Pakete mit IP-Vorrang zu, und geben Sie eine Verlustpriorität an.
[edit class-of-service classifiers inet-precedence classify_input] user@host# set forwarding-class DATA loss-priority low code-points 000
Weisen Sie der Sprachweiterleitungsklasse Pakete mit IP-Vorrang zu, und geben Sie eine Verlustpriorität an.
[edit class-of-service classifiers inet-precedence classify_input] user@host# set forwarding-class VOICE loss-priority low code-points 010
Geben Sie die Weiterleitungsklasse eins zu eins mit den Ausgabe-Queues an.
[edit class-of-service] user@host# edit forwarding-classes user@host# set queue 0 DATA user@host# set queue 2 VOICE user@host# set queue 3 NC
Erstellen Sie eine Schnittstelle, und wenden Sie den Verhaltensaggregatklassifikator an.
[edit class-of-service] user@host# edit interfaces ge-0/0/1 user@host# set unit 0 classifiers inet-precedence classify_input
Konfigurieren Sie die Fragmentierungszuordnung.
[edit] user@host# edit class-of-service user@host# set fragmentation-maps FM forwarding-class VOICE no-fragmentation
Fügen Sie der Schnittstelle eine Fragmentierungszuordnung hinzu.
[edit class-of-service] user@host# set interfaces lsq-0/0/0 unit 0 fragmentation-map FM
Befund
Bestätigen Sie im Konfigurationsmodus Ihre Konfiguration, indem Sie den show class-of-service
Befehl eingeben. Wenn in der Ausgabe nicht die beabsichtigte Konfiguration angezeigt wird, wiederholen Sie die Konfigurationsanweisungen in diesem Beispiel, um sie zu korrigieren.
[edit]
user@host# show class-of-service
classifiers {
inet-precedence classify_input {
forwarding-class DATA {
loss-priority low code-points 000;
}
forwarding-class VOICE {
loss-priority low code-points 010;
}
}
}
forwarding-classes {
queue 0 DATA;
queue 2 VOICE;
queue 3 NC;
}
interfaces {
lsq-0/0/0 {
unit 0 {
fragmentation-map FM;
}
}
ge-0/0/1 {
unit 0 {
classifiers {
inet-precedence classify_input;
}
}
}
}
fragmentation-maps {
FM {
forwarding-class {
VOICE {
no-fragmentation;
}
}
}
}
Wenn Sie mit der Konfiguration des Geräts fertig sind, wechseln Sie in den Konfigurationsmodus .
Verifizierung
Gehen Sie folgendermaßen vor, um zu bestätigen, dass die Konfiguration ordnungsgemäß funktioniert:
Grundlegendes zum Definieren und Anwenden von Scheduler-Zuordnungen
Geräte von Juniper Networks unterstützen eine einheitengenaue Planung set class-of-service schedulers S0 priority low
, mit der Sie Scheduler-Zuordnungen für jedes MLPPP- oder MLFR-Multilink-Paket konfigurieren können. Sie können auch Scheduler-Zuordnungen für konstituierende Links konfigurieren, müssen jedoch für die konstituierenden Links und für das Multilink-Bundle die gleiche relative Priorität beibehalten.
Wenn Sie CoS-Komponenten mit LFI auf einem Gerät von Juniper Networks konfigurieren, empfehlen wir Ihnen, bestimmte Empfehlungen für die Gestaltung der Rate, der Planungspriorität und der Puffergröße zu befolgen.
Wenn Sie LFI konfigurieren, wird empfohlen, die Formungsrate für jeden Bestandteil des Multilink-Pakets zu konfigurieren. Eine Shaping-Ratenkonfiguration für die einzelnen Verbindungen ist erforderlich, um den Jitter in der LFI-Warteschlange zu begrenzen. Wenn Sie keinen verzögerungs- oder jitterempfindlichen Datenverkehr in der LFI-Warteschlange erwarten oder wenn überhaupt kein LFI-Datenverkehr vorhanden ist, ist die Konfiguration der Shaping-Rate optional.
Tabelle 1 zeigt ein Beispiel für korrekte und falsche relative Prioritäten für ein Multilink-Bundle und seine konstituierende Verbindung. In diesem Beispiel haben Sie LFI-Paketen eine hohe Priorität und Datenpaketen im Multilink-Paket eine niedrige Priorität zugewiesen. Um die relative Priorität auf den konstituierenden Verbindungen beizubehalten, können Sie den LFI-Paketen eine hohe Priorität und den Datenpaketen eine mittlere-hohe Priorität zuweisen, aber Sie können LFI-Paketen keine mittlere und Datenpaketen eine hohe Priorität zuweisen.
Multilink-Bundle |
Korrekte Prioritäten für konstituierende Verknüpfungen |
Falsche Prioritäten für konstituierende Verbindungen |
---|---|---|
LFI-Pakete – Hohe Priorität |
LFI-Pakete – Hohe Priorität |
LFI-Paket – mittlere bis hohe Priorität |
Datenpakete – niedrige Priorität |
Datenpakete – mittlere bis hohe Priorität |
Datenpakete – Hohe Priorität |
Durch das Definieren von Schedulern konfigurieren Sie die Eigenschaften von Ausgabewarteschlangen, die den Übertragungsservice-Level für jede Warteschlange bestimmen. Zu diesen Eigenschaften gehören die Menge der Schnittstellenbandbreite, die der Warteschlange zugewiesen ist, die Größe des Speicherpuffers, der zum Speichern von Paketen zugewiesen ist, und die Priorität der Warteschlange. Nachdem Sie Scheduler definiert haben, verknüpfen Sie diese mit Hilfe von Scheduler-Maps mit Weiterleitungsklassen. Anschließend ordnen Sie jede Scheduler-Zuordnung einer Schnittstelle zu und konfigurieren so die Hardware-Warteschlangen und Paket-Scheduler, die gemäß dieser Zuordnung arbeiten.
Wenn Daten und LFI-Streams vorhanden sind, wird die folgende Scheduler-Map-Konfiguration für konstituierende Links empfohlen. Dies führt zu einer geringeren Latenz für den LFI-Datenverkehr und vermeidet eine Übertragung des Datenverkehrs außerhalb der Reihenfolge.
Konfigurieren Sie die folgenden Scheduler:
set class-of-service schedulers S0 buffer-size temporal 20k
set class-of-service schedulers S0 priority low
set class-of-service schedulers S2 priority high
set class-of-service schedulers S3 priority high
Konfigurieren Sie die folgende Scheduler-Zuordnung:
set class-of-service scheduler-maps lsqlink_map forwarding-class best-effort scheduler S0
set class-of-service scheduler-maps lsqlink_map forwarding-class assured-forwarding scheduler S2
set class-of-service scheduler-maps lsqlink_map forwarding-class network-control scheduler S3
Scheduler-Zuordnung an alle Mitgliedslinks anhängen:
set class-of-service interfaces t1-2/0/0 unit 0 scheduler-map lsqlink_map
Erhöhen Sie auch nach dieser Konfiguration das Drop-Timeout des Bündels auf 200 ms, wenn auf der Reassemblierungsseite Unterbrechungen der Sequenznummer außerhalb des Bereichs beobachtet werden.
Beispiel: Konfigurieren von Scheduler-Zuordnungen
In diesem Beispiel wird gezeigt, wie Scheduler-Zuordnungen konfiguriert werden, um den Übertragungsservicelevel für jede Ausgabewarteschlange zu bestimmen.
Anforderungen
Bevor Sie beginnen, sollten Sie zwei Geräte von Juniper Networks mit mindestens zwei seriellen Schnittstellen konfiguriert haben, die über serielle Verbindungen kommunizieren.
Überblick
In diesem Beispiel erstellen Sie Schnittstellen mit den Namen lsq-0/0/0, se-1/0/0 und se-1/0/1. Sie aktivieren die Planung pro Einheit, um die Konfiguration von Scheduler-Zuordnungen für das Paket zu ermöglichen. Sie konfigurieren eine Scheduler-Zuordnung als s_map auf lsq-0/0/0. Anschließend wenden Sie die Scheduler-Zuordnung auf die konstituierenden Links se-1/0/0 und se-1/0/1 des Multilink-Pakets an. Sie ordnen den Scheduler jeder der Weiterleitungsklassen DATA, VOICE und NC zu. Sie definieren die Eigenschaften von Ausgabewarteschlangen für den DATA-Scheduler, indem Sie die Übertragungsrate und die Puffergröße auf 49 Prozent festlegen. Sie geben die Eigenschaften von Ausgabewarteschlangen für den VOICE-Scheduler an, indem Sie die Übertragungsrate auf 50 Prozent, die Puffergröße auf 5 Prozent und die Priorität auf Hoch festlegen. Abschließend definieren Sie die Eigenschaften von Ausgabewarteschlangen für den NC-Scheduler, indem Sie die Übertragungsrate und die Puffergröße auf 1 Prozent und die Priorität auf hoch setzen.
Topologie
Konfiguration
Verfahren
CLI Schnellkonfiguration
Um dieses Beispiel schnell zu konfigurieren, kopieren Sie die folgenden Befehle, fügen Sie sie in eine Textdatei ein, entfernen Sie alle Zeilenumbrüche, ändern Sie alle erforderlichen Details, damit sie Ihrer Netzwerkkonfiguration entsprechen, und kopieren Sie dann die Befehle, und fügen Sie sie dann in die CLI auf der [edit]
Hierarchieebene ein.
set interfaces lsq-0/0/0 per-unit-scheduler set interfaces se-1/0/0 per-unit-scheduler set interfaces se-1/0/1 per-unit-scheduler set class-of-service interfaces lsq-0/0/0 unit 0 scheduler-map s_map set class-of-service interfaces se-1/0/0 unit 0 scheduler-map s_map set class-of-service interfaces se-1/0/1 unit 0 scheduler-map s_map set class-of-service scheduler-maps s_map forwarding-class DATA scheduler DATA set class-of-service scheduler-maps s_map forwarding-class VOICE scheduler VOICE set class-of-service scheduler-maps s_map forwarding-class NC scheduler NC set class-of-service schedulers DATA transmit-rate percent 49 set class-of-service schedulers DATA buffer-size percent 49 set class-of-service schedulers VOICE transmit-rate percent 50 set class-of-service schedulers VOICE buffer-size percent 5 set class-of-service schedulers VOICE priority high set class-of-service schedulers NC transmit-rate percent 1 set class-of-service schedulers NC buffer-size percent 1 set class-of-service schedulers NC priority high
Schritt-für-Schritt-Anleitung
Im folgenden Beispiel müssen Sie durch verschiedene Ebenen in der Konfigurationshierarchie navigieren. Anweisungen hierzu finden Sie unter Verwenden des CLI-Editors im Konfigurationsmodus im Junos OS CLI-Benutzerhandbuch.
So konfigurieren Sie Scheduler-Zuordnungen:
Erstellen Sie Schnittstellen, und aktivieren Sie die Planung pro Einheit.
[edit interfaces] user@host# set lsq-0/0/0 per-unit-scheduler user@host# set se-1/0/0 per-unit-scheduler user@host# set se-1/0/1 per-unit-scheduler
Definieren Sie eine Scheduler-Zuordnung, und wenden Sie sie auf die einzelnen Links im Multilink-Bundle an.
[edit class-of-service interfaces] user@host# set lsq-0/0/0 unit 0 scheduler-map s_map user@host# set se-1/0/0 unit 0 scheduler-map s_map user@host# set se-1/0/1 unit 0 scheduler-map s_map
Ordnen Sie jeder Weiterleitungsklasse einen Scheduler zu.
[edit class-of-service scheduler-maps] user@host# set s_map forwarding-class DATA scheduler DATA user@host# set s_map forwarding-class VOICE scheduler VOICE user@host# set s_map forwarding-class NC scheduler NC
Definieren Sie die Eigenschaften von Ausgabewarteschlangen für den DATA-Scheduler.
[edit class-of-service schedulers] user@host# set DATA transmit-rate percent 49 user@host# set DATA buffer-size percent 49
Definieren Sie die Eigenschaften von Ausgabewarteschlangen für den VOICE-Scheduler.
[edit class-of-service schedulers] user@host# set VOICE transmit-rate percent 50 user@host# set VOICE buffer-size percent 5 user@host# set VOICE priority high
Definieren Sie die Eigenschaften von Ausgabewarteschlangen für den NC-Scheduler.
[edit class-of-service schedulers] user@host# set NC transmit-rate percent 1 user@host# set NC buffer-size percent 1 user@host# set NC priority high
Befund
Bestätigen Sie im Konfigurationsmodus Ihre Konfiguration, indem Sie den show class-of-service
Befehl eingeben. Wenn in der Ausgabe nicht die beabsichtigte Konfiguration angezeigt wird, wiederholen Sie die Konfigurationsanweisungen in diesem Beispiel, um sie zu korrigieren.
[edit]
user@host# show class-of-service
interfaces {
lsq-0/0/0 {
unit 0 {
scheduler-map s_map;
}
}
se-1/0/0 {
unit 0 {
scheduler-map s_map;
}
}
se-1/0/1 {
unit 0 {
scheduler-map s_map;
}
}
}
scheduler-maps {
s_map {
forwarding-class DATA scheduler DATA;
forwarding-class VOICE scheduler VOICE;
forwarding-class NC scheduler NC;
}
}
schedulers {
DATA {
transmit-rate percent 49;
buffer-size percent 49;
}
VOICE {
transmit-rate percent 50;
buffer-size percent 5;
priority high;
}
NC {
transmit-rate percent 1;
buffer-size percent 1;
priority high;
}
}
Wenn Sie mit der Konfiguration des Geräts fertig sind, wechseln Sie in den Konfigurationsmodus .
Verifizierung
Gehen Sie folgendermaßen vor, um zu bestätigen, dass die Konfiguration ordnungsgemäß funktioniert:
Überprüfen der Konfiguration von Scheduler-Zuordnungen.
Zweck
Überprüfen Sie die Konfiguration der Scheduler-Zuordnungen.
Aktion
Geben Sie im Betriebsmodus die Befehle , show class-of-services se-1/0/0 scheduler-map s_map
und show class-of-services se-1/0/1 scheduler-map s_map
einshow class-of-services lsq-0/0/0 scheduler-map s_map
.
Grundlegendes zu Interface-Shaping-Raten
Wenn Sie LFI konfigurieren, wird empfohlen, die Formungsrate für jeden Bestandteil des Multilink-Pakets zu konfigurieren. Eine Shaping-Ratenkonfiguration für die einzelnen Verbindungen ist erforderlich, um den Jitter in der LFI-Warteschlange zu begrenzen. Wenn Sie keinen verzögerungs- oder jitterempfindlichen Datenverkehr in der LFI-Warteschlange erwarten oder wenn überhaupt kein LFI-Datenverkehr vorhanden ist, ist die Konfiguration der Shaping-Rate optional.
Die Shaping-Rate gibt die Bandbreite an, die dem Multilink-Bundle zugewiesen werden soll. Sie müssen die Shaping-Rate so konfigurieren, dass sie gleich der kombinierten Bandbreite der physischen Schnittstelle für die einzelnen Verbindungen ist. Die kombinierte Bandbreitenkapazität der beiden konstituierenden Verbindungen beträgt 2 Mbit/s. Konfigurieren Sie daher eine Shaping-Rate von 2 Mbit/s für jede konstituierende Verbindung.
Beispiel: Konfigurieren von Interface-Shaping-Raten
In diesem Beispiel wird gezeigt, wie Interface-Shaping-Raten konfiguriert werden, um die maximale Rate des auf einer Schnittstelle übertragenen Datenverkehrs zu steuern.
Anforderungen
Bevor Sie beginnen:
Konfigurieren Sie zwei Geräte von Juniper Networks mit mindestens zwei seriellen Schnittstellen, die über serielle Verbindungen kommunizieren. Weitere Informationen zu seriellen Schnittstellen finden Sie hier. Weitere Informationen finden Sie unter Übersicht über serielle Schnittstellen.
Um Shaping-Raten auf Schnittstellen anzuwenden, müssen Sie zunächst die Planung pro Einheit aktivieren. Weitere Informationen zur Planung pro Einheit finden Sie hier. Siehe Beispiel: Konfigurieren von Scheduler-Zuordnungen.
Überblick
In diesem Beispiel legen Sie die Formungsrate für die Verknüpfungen des Multilink-Pakets, se-1/0/0 und se-1/0/1, auf 2000000 fest.
Topologie
Konfiguration
Verfahren
Schritt-für-Schritt-Anleitung
So konfigurieren Sie die Schnittstellen-Shaping-Raten:
Konfigurieren Sie Class-of-Service.
[edit] user@host# edit class-of-service
Wenden Sie die Formgebungsraten auf die Bestandteile des Multilink-Pakets an.
[edit class-of-service] user@host# set interfaces se-1/0/0 unit 0 shaping-rate 2000000 user@host# set interfaces se-1/0/1 unit 0 shaping-rate 2000000
Verifizierung
Um zu überprüfen, ob die Konfiguration ordnungsgemäß funktioniert, geben Sie den Befehl show class-of-service
ein.