MLPPP konfigurieren
MLPPP verstehen
Mit dem Multilink Point-to-Point Protocol (MLPPP) können Sie mehrere PPP-Verbindungen in einem einzigen Multilink-Bündel bündeln. Multilink-Bundles bieten zusätzliche Bandbreite, Lastausgleich und Redundanz, indem sie langsame Verbindungen wie T1- und E1-Links aggregieren.
Sie konfigurieren Multilink-Bundles als logische Einheiten oder Kanäle auf der Link-Services-Schnittstelle. Bei MLPPP werden Multilink-Bundles als logische Einheiten auf der Link-Service-Schnittstelle konfiguriert, lsq-0/0/0.0
lsq-0/0/0.1
z. B. . . Nachdem Sie Multilink-Bundles erstellt haben, fügen Sie dem Bundle konstituierende Links hinzu. Die konstituierenden Links sind die physischen Low-Speed-Verbindungen, die aggregiert werden sollen.
Die folgenden Regeln gelten, wenn Sie einem Multilink-Bundle konstituierende Links hinzufügen:
Fügen Sie auf jedem Multilink-Bundle nur Schnittstellen desselben Typs hinzu. Sie können z. B. entweder T1 oder E1 hinzufügen, aber nicht beide.
Einem MLPPP-Bundle können nur Schnittstellen mit einer PPP-Kapselung hinzugefügt werden.
Wenn eine Schnittstelle Mitglied eines vorhandenen Bundles ist und Sie sie zu einem neuen Bundle hinzufügen, wird die Schnittstelle automatisch aus dem vorhandenen Bundle gelöscht und dem neuen Bundle hinzugefügt.
Mit MLPPP-Paketen können Sie PPP Challenge Handshake Authentication Protocol (CHAP) und Password Authentication Protocol (PAP) für die sichere Übertragung über die PPP-Schnittstellen verwenden. Weitere Informationen finden Sie unter Konfigurieren des PPP Challenge Handshake Authentication Protocol und Konfigurieren des PPP Password Authentication Protocol.
MLPPP-Unterstützung auf Routern der ACX-Serie
Router der ACX-Serie unterstützen MLPPP-Kapselungen. MLPPP wird auf ACX1000-, ACX2000- und ACX2100-Routern sowie mit Channelized OC3/STM1 (Multi-Rate) MICs mit SFP und 16-Port Channelized E1/T1 Circuit Emulation MIC auf ACX4000-Routern unterstützt.
Die folgende Tabelle zeigt die maximale Anzahl von Multilink-Paketen, die Sie auf Routern der ACX-Serie erstellen können:
ACX-Plattform |
Maximale Anzahl an Bundles |
Maximale Anzahl an Links |
Maximale Anzahl an Links pro Bundle |
---|---|---|---|
ACX2000 ACX2100 |
16 |
16 |
16 |
ACX4000 ACX-MIC-16CHE1-T1-CE |
16 |
16 |
16 |
ACX4000 ACX-MIC-4COC3-1COC12CE |
50 |
336 |
16 |
ACX1000 |
8 |
8 |
8 |
Richtlinien für die Konfiguration von MLPPP mit LSQ-Schnittstellen auf Routern der ACX-Serie
Sie können MLPPP-Bundle-Schnittstellen mit T1/E1-Mitgliedsverknüpfungen konfigurieren. Der Datenverkehr, der über die MLPPP-Bundle-Schnittstelle übertragen wird, wird im Round-Robin-Verfahren über die Mitgliedsverknüpfungen verteilt. Wenn die Paketgröße höher ist als die auf der MLPPP-Schnittstelle konfigurierte Fragmentierungsgröße, werden die Pakete fragmentiert. Die Fragmente werden auch über Member-Links in einem Round-Robin-Muster gesendet. Die PPP-Steuerpakete, die auf der Schnittstelle empfangen werden, werden auf dem Router beendet. Die Fragmentierungsgröße wird auf MLPPP-Bundle-Ebene konfiguriert. Diese Fragmentierungsgröße wird auf alle Pakete im Bundle angewendet, unabhängig von der Multilink-Klasse.
Multiclass MLPPP trennt die Multilink-Protokollpakete in mehrere Klassen. ACX-Router unterstützen bis zu vier Klassen. Jede der vier Klassen von MLPPP mit mehreren Klassen ist einer Warteschlange zugeordnet. Die Pakete können klassifiziert werden, um Teil einer der Klassen zu sein. Diese Pakete übernehmen die Warteschlange, die der Klasse zugeordnet ist. Die Pakete innerhalb einer Warteschlange werden in der FIFO-Reihenfolge (First-in-First-out) bereitgestellt.
Multiklassen-MLPPP ist erforderlich, um verspätungsempfindlichen Datenverkehr mit hoher Priorität bevorzugt zu behandeln. Die verzögerungsempfindlichen kleineren Echtzeitframes werden so klassifiziert, dass sie in der Warteschlange mit höherer Priorität landen. Wenn während der Fragmentierung eines Pakets mit niedrigerer Priorität ein Paket mit höherer Priorität in die Warteschlange eingereiht wird, wird die Fragmentierung mit niedrigerer Priorität angehalten, das Paket mit höherer Priorität wird fragmentiert und zur Übertragung in die Warteschlange eingereiht, und dann wird die Paketfragmentierung mit niedrigerer Priorität fortgesetzt.
Herkömmliche LSQ-Schnittstellen (verankert auf PICs) werden unterstützt, um T1/E1-Schnittstellen in einer MLPPP-Bundle-Schnittstelle zu kombinieren. Inline-Services-Schnittstellen (si-) und Inline-LSQ-Schnittstellen werden in MLPPP-Bundles nicht unterstützt. Bei ACX-Routern wird die MLPPP-Bündelung auf den TDM-MICs durchgeführt, wobei das traditionelle LSQ-Modell der effektivste Mechanismus ist. Sie können kanalisierte OC-Schnittstellen (t1-x/y/z:n:m, e1-x/y/z:n
) als Mitglieder einer MLPPP-Bundle-Schnittstelle konfigurieren. Es werden maximal 16 Mitgliederlinks pro Bundle unterstützt. Die MPLS-, ISO- und inet-Adressfamilien werden unterstützt. Die ISO-Adressfamilie wird nur für IS-IS unterstützt. Sie können MLPPP-Bundles in NNI-Richtung (Network-to-Network-Schnittstelle) einer Ethernet-Pseudoleitung konfigurieren. Die Verschachtelung mit Multiklassen-MLPPP wird unterstützt.
Beachten Sie bei der Konfiguration von MLPPP-Paketen auf ACX-Routern die folgenden Punkte:
Die physischen Verbindungen müssen vom gleichen Typ und mit der gleichen Bandbreite sein.
Die Round-Robin-Paketverteilung erfolgt über die Mitgliedsverbindungen.
Um dem MLPPP-Bundle einen T1- oder E1-Member-Link als Link-Services-LSQ-Schnittstellen hinzuzufügen, fügen Sie die
bundle
Anweisung auf Hierarchieebene[edit interfaces t1-fpc/pic/port unit logical-unit-number family mlppp]
ein:[edit interfaces t1-fpc/pic/port unit logical-unit-number family mlppp] bundle lsq-fpc/pic/port.logical-unit-number;
Um die LSQ-Schnittstelleneigenschaften der Link Services zu konfigurieren, fügen Sie die folgenden Anweisungen auf Hierarchieebene
[edit interfaces lsq-fpc/pic/port unit logical-unit-number]
ein:[edit interfaces lsq-fpc/pic/port unit logical-unit-number] encapsulation multilink-ppp; fragment-threshold bytes; minimum-links number; mrru bytes; short-sequence; family inet { address address; }
Sie können die Adressfamilie als MPLS für die LSQ-Schnittstellen in einem MLPPP-Bundle konfigurieren.
Die Unterstützung des PPP-Kontrollprotokolls hängt von der Verarbeitung der PPP-Anwendung für MLPPP-Bundle-Schnittstellen ab IPv4, Internet Protocol Control Protocol (IPCP), PPP Challenge Handshake Authentication Protocol (CHAP) und Password Authentication Protocol (PAP)-Anwendungen werden für PPP unterstützt.
Die Konfiguration des Drop-Timeouts gilt nicht für ACX-Router
Die Mitgliedslinks über MICs hinweg können nicht gebündelt werden. Es können nur physische Schnittstellen auf demselben MIC gebündelt werden.
Fraktionierte T1- und E1-Schnittstellen werden nicht unterstützt. CoS wird nur für vollständige T1- und E1-Schnittstellen unterstützt. Selektive Zeitschlitze von T1/E1 können nicht verwendet werden, und es müssen vollständige T1/E1-Schnittstellen verwendet werden.
Die angezeigten detaillierten Statistiken hängen von den Parametern ab, die von der Hardware unterstützt werden. Die Zähler, die von der Hardware unterstützt werden, werden in der Ausgabe des
show interfaces lsq-fpc/pic/port detail
Befehls mit entsprechenden Werten angezeigt.In der folgenden Beispielausgabe bezeichnen die Felder, die mit dem Wert 0 angezeigt werden, die Felder, die von ACX-Routern nicht für die Berechnung unterstützt werden. In der lsq-Schnittstellenstatistik werden Nicht-Fragment-Statistiken des Bundles nicht berücksichtigt. Nicht-Fragmente werden in der Regel als Einzelfragment-Frames behandelt und in der Fragmentstatistik gezählt.
user@host# show interfaces lsq-1/1/0 detail Physical interface: lsq-1/1/0, Enabled, Physical link is Up Interface index: 162, SNMP ifIndex: 550, Generation: 165 Description: LSQ-interface Link-level type: LinkService, MTU: 1504 Device flags : Present Running Interface flags: Point-To-Point SNMP-Traps Internal: 0x0 Last flapped : 2015-06-22 19:01:47 PDT (2d 04:56 ago) Statistics last cleared: 2015-06-23 05:01:49 PDT (1d 18:56 ago) Traffic statistics: Input bytes : 108824 208896 bps Output bytes : 90185 174080 bps Input packets: 1075 256 pps Output packets: 1061 256 pps IPv6 transit statistics: Input bytes : 0 Output bytes : 0 Input packets: 0 Output packets: 0 Frame exceptions: Oversized frames 0 Errored input frames 0 Input on disabled link/bundle 0 Output for disabled link/bundle 0 Queuing drops 0 Buffering exceptions: Packet data buffer overflow 0 Fragment data buffer overflow 0 Assembly exceptions: Fragment timeout 0 Missing sequence number 0 Out-of-order sequence number 0 Out-of-range sequence number 0 Hardware errors (sticky): Data memory error 0 Control memory error 0 Logical interface lsq-1/1/0.0 (Index 326) (SNMP ifIndex 599) (Generation 177) Flags: Up Point-To-Point SNMP-Traps 0x0 Encapsulation: Multilink-PPP Last flapped: 2015-06-24 23:57:34 PDT (00:00:51 ago) Bandwidth: 6144kbps Bundle links information: Active bundle links 4 Removed bundle links 0 Disabled bundle links 0 Bundle options: MRRU 2000 Remote MRRU 2000 Drop timer period 0 Inner PPP Protocol field compression enabled Sequence number format short (12 bits) Fragmentation threshold 450 Links needed to sustain bundle 3 Multilink classes 4 Link layer overhead 4.0 % Bundle status: Received sequence number 0x0 Transmit sequence number 0x0 Packet drops 0 (0 bytes) Fragment drops 0 (0 bytes) MRRU exceeded 0 Fragment timeout 0 Missing sequence number 0 Out-of-order sequence number 0 Out-of-range sequence number 0 Packet data buffer overflow 0 Fragment data buffer overflow 0 Statistics Frames fps Bytes bps Bundle: Multilink: Input : 1076 256 484200 921600 Output: 1061 256 477450 921600 Network: Input : 2182 256 201812 208896 Output: 2168 256 192029 174080 IPV6 Transit Statistics Packets Bytes Network: Input : 0 0 Output: 0 0 Multilink class 0: Multilink: Input : 1075 256 483750 921600 Output: 1061 256 477450 921600 Network: Input : 1061 256 477450 921600 Output: 1075 256 483750 921600 Multilink class 1: Multilink: Input : 0 0 0 0 Output: 0 0 0 0 Network: Input : 0 0 0 0 Output: 0 0 0 0 Multilink class 2: Multilink: Input : 0 0 0 0 Output: 0 0 0 0 Network: Input : 0 0 0 0 Output: 0 0 0 0 Multilink class 3: Multilink: Input : 0 0 0 0 Output: 0 0 0 0 Network: Input : 0 0 0 0 Output: 0 0 0 0 Link: t1-1/1/1.0 Up time: 00:00:51 Input : 280 64 126000 230400 Output: 266 64 119700 230400 t1-1/1/2.0 Up time: 00:00:51 Input : 266 64 119700 230400 Output: 265 64 119250 230400 t1-1/1/3.0 Up time: 00:00:51 Input : 265 64 119250 230400 Output: 265 64 119250 230400 t1-1/1/4.0 Up time: 00:00:51 Input : 265 64 119250 230400 Output: 265 64 119250 230400 Multilink detail statistics: Bundle: Fragments: Input : 1076 256 484200 921600 Output: 1061 256 477450 921600 Non-fragments: Input : 0 0 0 0 Output: 0 0 0 0 LFI: Input : 0 0 0 0 Output: 0 0 0 0 Multilink class 0: Fragments: Input : 1076 256 484200 921600 Output: 1061 256 477450 921600 Non-fragments: Input : 0 0 0 0 Output: 0 0 0 0 Multilink class 1: Fragments: Input : 0 0 0 0 Output: 0 0 0 0 Non-fragments: Input : 0 0 0 0 Output: 0 0 0 0 Multilink class 2: Fragments: Input : 0 0 0 0 Output: 0 0 0 0 Non-fragments: Input : 0 0 0 0 Output: 0 0 0 0 Multilink class 3: Fragments: Input : 0 0 0 0 Output: 0 0 0 0 Non-fragments: Input : 0 0 0 0 Output: 0 0 0 0 NCP state: inet: Opened, inet6: Not-configured, iso: Opened, mpls: Opened Protocol inet, MTU: 1500, Generation: 232, Route table: 0 Flags: Sendbcast-pkt-to-re Addresses, Flags: Is-Preferred Is-Primary Destination: 9.1.9/24, Local: 9.1.9.18, Broadcast: Unspecified, Generation: 212 Protocol iso, MTU: 1500, Generation: 233, Route table: 0 Flags: Is-Primary Protocol mpls, MTU: 1488, Maximum labels: 3, Generation: 234, Route table: 0 Flags: Is-Primary
Um die Frame-Prüfsumme (FCS) im Satz von T1-Optionen oder E1-Optionen für einen MLPPP-Bundle-Member-Link zu ändern, müssen Sie den Member-Link aus dem Bundle entfernen, indem Sie den Link deaktivieren oder die Konfiguration als Bundle-Mitglied aufheben, und den Link nach der FCS-Änderung wieder zum Bundle hinzufügen. Sie müssen zuerst den Link aus dem Bundle entfernen und FCS ändern. Wenn Sie FCS zum ersten Mal für den Mitgliedslink konfigurieren, geben Sie den Wert an, bevor er dem Bundle hinzugefügt wird.
Die folgenden MLPPP-Funktionen werden von Routern der ACX-Serie nicht unterstützt:
Mitgliederlinks über MICs hinweg.
Fragmentierung pro Klasse (nur auf Bundle-Ebene konfigurierbar).
IPv6-Adressfamilien-Header-Komprimierung (keine ACFC-Komprimierung [Address and Control Field Compression] oder Protokollfeldkomprimierung [PFC]).
Präfixelision wie in RFC 2686, The Multi-Class Extension to Multi-Link PPP definiert.
Eine Funktionalität, die der Link-Fragmentierung und -Interleaving (LFI) ähnelt, kann mithilfe von Multiclass MLPPP (RFC 2686) erreicht werden, bei dem Pakete mit hoher Priorität zwischen Paketen mit niedrigerer Priorität verschachtelt werden. Diese Methodik stellt sicher, dass die verzögerungsbestimmenden Pakete gesendet werden, sobald sie ankommen. Während LFI-klassifizierte Pakete als PPP-Pakete an eine bestimmte Mitgliederverbindung gesendet werden, enthält die ACX-Implementierung von Interleaving Multilink-PPP-Header und -Fragmente (auch als PPP-Multilink, MLP und MP bezeichnet), die auf allen Mitgliederverbindungen im Round-Robin-Verfahren gesendet werden.
PPP über MLPPP bündeln Schnittstellen.
Beispiel: Konfigurieren eines MLPPP-Bundles auf der ACX-Serie
Anforderungen
Sie benötigen Router der ACX-Serie, um das folgende Beispiel zu konfigurieren
Übersicht
Im Folgenden finden Sie ein Beispiel für die Konfiguration eines MLPPP-Pakets auf Routern der ACX-Serie:
Konfiguration
CLI-Schnellkonfiguration
[edit] user@host# show interfaces lsq-1/1/0 { description LSQ-interface; per-unit-scheduler; unit 0 { encapsulation multilink-ppp; mrru 2000; short-sequence; fragment-threshold 450; minimum-links 3; multilink-max-classes 4; family inet { address 9.1.9.18/24 } family iso; family mpls; } } ct1-1/1/1 { enable; no-partition interface-type t1; } t1-1/1/1 { encapsulation ppp; unit 0 { family mlppp { bundle lsq-1/1/0.0; } } } ct1-1/1/2 { enable; no-partition interface-type t1; } t1-1/1/2 { encapsulation ppp; unit 0 { family mlppp { bundle lsq-1/1/0.0; } } } ct1-1/1/3 { enable; no-partition interface-type t1; } t1-1/1/3 { encapsulation ppp; unit 0 { family mlppp { bundle lsq-1/1/0.0; } } } ct1-1/1/4 { enable; no-partition interface-type t1; } t1-1/1/4 { encapsulation ppp; unit 0 { family mlppp { bundle lsq-1/1/0.0; } } }
Verfahren
Schritt-für-Schritt-Anleitung
Konfigurieren von LSQ-Schnittstellen als NxT1- oder NxE1-Bundles mithilfe von MLPPP auf der ACX-Serie
LSQ-Schnittstellen unterstützen sowohl physische T1- als auch E1-Schnittstellen. Diese Anweisungen gelten für T1-Schnittstellen, die Konfiguration für E1-Schnittstellen ist jedoch ähnlich.
Um ein NxT1-Bundle mit MLPPP zu konfigurieren, aggregieren N Sie verschiedene T1-Links zu einem Bundle. Das NxT1-Bundle wird als logische Schnittstelle bezeichnet, da es z. B. eine Routing-Nachbarschaft darstellen kann. Um T1-Links in einem MLPPP-Bundle zu aggregieren, fügen Sie die bundle
Anweisung auf Hierarchieebene [edit interfaces t1-fpc/pic/port unit logical-unit-number family mlppp]
ein:
[edit interfaces t1-fpc/pic/port unit logical-unit-number family mlppp] bundle lsq-fpc/pic/port.logical-unit-number;
Um die LSQ-Schnittstelleneigenschaften zu konfigurieren, fügen Sie die folgenden Anweisungen auf Hierarchieebene [edit interfaces lsq-fpc/pic/port unit logical-unit-number]
ein:
[edit interfaces lsq-fpc/pic/port unit logical-unit-number] drop-timeout milliseconds; encapsulation multilink-ppp; fragment-threshold bytes; link-layer-overhead percent; minimum-links number; mrru bytes; short-sequence; family inet { address address; }
Router der ACX-Serie unterstützen keine Drop-Timeout- und Link-Layer-Overhead-Eigenschaften.
Die IQ-Schnittstelle für logische Linkdienste stellt das MLPPP-Bündel dar. Für das MLPPP-Paket gibt es vier zugeordnete Warteschlangen auf Routern der M-Serie und acht zugeordnete Warteschlangen auf Routern der M320- und T-Serie. Ein Scheduler entfernt Pakete gemäß einer Planungsrichtlinie aus den Warteschlangen. In der Regel legen Sie eine Warteschlange mit strikter Priorität fest, und die verbleibenden Warteschlangen werden proportional zu den von Ihnen konfigurierten Gewichtungen bedient.
Weisen Sie für MLPPPP der IQ-Schnittstellelsq
() und jeder konstituierenden Verbindung eine einzelne Scheduler-Zuordnung zu. Die Standard-Scheduler für Router der M- und T-Serie, die 95, 0, 0 und 5 Prozent Bandbreite für die Übertragungsrate und Puffergröße der Warteschlangen 0, 1, 2 und 3 zuweisen, sind nicht ausreichend, wenn Sie LFI- oder Multiklassen-Datenverkehr konfigurieren. Daher sollten Sie für MLPPPP einen einzelnen Scheduler mit Übertragungsraten ungleich Null Prozent und Puffergrößen für die Warteschlangen 0 bis 3 konfigurieren und diesen Scheduler der Link Services IQ-Schnittstelle (lsq
) und jeder konstituierenden Verbindung zuweisen.
Bei Routern der M320- und T-Serie betragen die standardmäßigen Prozentsätze für die Scheduler-Übertragungsrate und Puffergröße für die Warteschlangen 0 bis 7 95, 0, 0, 5, 0, 0, 0 und 0 Prozent.
Wenn das Bundle mehr als einen Link enthält, müssen Sie die per-unit-scheduler
Anweisung auf Hierarchieebene [edit interfaces lsq-fpc/pic/port]
einfügen:
[edit interfaces lsq-fpc/pic/port] per-unit-scheduler;
Fügen Sie zum Konfigurieren und Anwenden der Planungsrichtlinie die folgenden Anweisungen auf Hierarchieebene [edit class-of-service]
ein:
[edit class-of-service] interfaces { t1-fpc/pic/port unit logical-unit-number { scheduler-map map-name; } } forwarding-classes { queue queue-number class-name; } scheduler-maps { map-name { forwarding-class class-name scheduler scheduler-name; } } schedulers { scheduler-name { buffer-size (percent percentage | remainder | temporal microseconds); priority priority-level; transmit-rate (rate | remainder) <exact>; } }
Bei Link Services IQ-Schnittstellen kann eine Warteschlange mit strenger hoher Priorität die anderen drei Warteschlangen aushungern, da der Datenverkehr in einer Warteschlange mit strenger hoher Priorität übertragen wird, bevor eine andere Warteschlange bedient wird. Diese Implementierung unterscheidet sich von der standardmäßigen Junos CoS-Implementierung, bei der eine Warteschlange mit strikter hoher Priorität ein Round-Robin-Verfahren mit Warteschlangen mit hoher Priorität durchführt, wie im Junos OS Class of Service-Benutzerhandbuch für Routing-Geräte beschrieben.
Nachdem der Scheduler ein Paket aus einer Warteschlange entfernt hat, wird eine bestimmte Aktion ausgeführt. Die Aktion hängt davon ab, ob das Paket aus einer Multilink-gekapselten Warteschlange (fragmentiert und sequenziert) oder einer nicht gekapselten Warteschlange (gehasht ohne Fragmentierung) stammt. Jede Warteschlange kann unabhängig voneinander entweder als Multilink-gekapselt oder als nicht gekapselt festgelegt werden. Standardmäßig ist der Datenverkehr in allen Weiterleitungsklassen Multilink-gekapselt. Um die Behandlung der Paketfragmentierung in einer Warteschlange zu konfigurieren, fügen Sie die fragmentation-maps
Anweisung auf Hierarchieebene [edit class-of-service]
ein:
fragmentation-maps { map-name { forwarding-class class-name { multilink-class number; } } }
Bei NxT1-Bundles, die MLPPP verwenden, ist das byteweise Load Balancing, das in Multilink-gekapselten Warteschlangen verwendet wird, dem Flow-weisen Load Balancing überlegen, das in nicht gekapselten Warteschlangen verwendet wird. Alle anderen Überlegungen sind gleich. Daher wird empfohlen, alle Warteschlangen so zu konfigurieren, dass sie Multilink-gekapselt sind. Dazu fügen Sie die Anweisung in die fragment-threshold
Konfiguration ein. Sie verwenden die multilink-class
Anweisung, um eine Weiterleitungsklasse einem MLPPP mit mehreren Klassen zuzuordnen. Weitere Informationen zu Fragmentierungszuordnungen finden Sie unter Konfigurieren der CoS-Fragmentierung durch Weiterleitungsklasse auf LSQ-Schnittstellen.
Wenn ein Paket aus einer Multilink-gekapselten Warteschlange entfernt wird, weist die Software dem Paket einen MLPPP-Header zu. Der MLPPP-Header enthält ein Sequenznummernfeld, das mit der nächsten verfügbaren Sequenznummer eines Zählers gefüllt wird. Die Software platziert das Paket dann auf einer der N verschiedenen T1-Verbindungen. Die Verbindung wird für jedes einzelne Paket ausgewählt, um die Last auf die verschiedenen T1-Verbindungen auszugleichen.
Wenn das Paket die minimale Verbindungs-MTU überschreitet oder wenn für eine Warteschlange ein auf Hierarchieebene [edit class-of-service fragmentation-maps map-name forwarding-class class-name]
konfigurierter Fragmentschwellenwert konfiguriert ist, teilt die Software das Paket in zwei oder mehr Fragmente auf, denen aufeinanderfolgende Multilink-Sequenznummern zugewiesen werden. Der ausgehende Link für jedes Fragment wird unabhängig von allen anderen Fragmenten ausgewählt.
Wenn Sie die Anweisung nicht in die fragment-threshold
Fragmentierungszuordnung aufnehmen, ist der Fragmentierungsschwellenwert, den Sie auf der Hierarchieebene festlegen, der [edit interfaces interface-name unit logical-unit-number]
Standardwert für alle Weiterleitungsklassen. Wenn Sie an keiner Stelle in der Konfiguration eine maximale Fragmentgröße festlegen, werden Pakete fragmentiert, wenn sie die kleinste MTU aller Links im Bundle überschreiten.
Auch wenn Sie an keiner Stelle in der Konfiguration eine maximale Fragmentgröße festlegen, können Sie die maximale empfangene rekonstruierte Einheit (MRRU) konfigurieren, indem Sie die mrru
Anweisung auf Hierarchieebene [edit interfaces lsq-fpc/pic/port unit logical-unit-number]
einschließen. Die MRRU ähnelt der MTU, ist jedoch spezifisch für Link-Services-Schnittstellen. Standardmäßig beträgt die MRRU-Größe 1500 Byte, und Sie können sie auf 1500 bis 4500 Byte konfigurieren. Weitere Informationen finden Sie unter Konfigurieren der MRRU für logische Multilink- und Link Services-Schnittstellen.
Wenn ein Paket aus einer nicht gekapselten Warteschlange entfernt wird, wird es mit einem einfachen PPP-Header übertragen. Da kein MLPPP-Header vorhanden ist, gibt es auch keine Informationen zur Sequenznummer. Daher muss die Software besondere Maßnahmen ergreifen, um eine Neuanordnung von Paketen zu vermeiden. Um eine Neuanordnung der Pakete zu vermeiden, platziert die Software das Paket auf einer der N verschiedenen T1-Verbindungen. Der Link wird durch Hashing der Werte im Header bestimmt. Für IP berechnet die Software den Hash basierend auf Quelladresse, Zieladresse und IP-Protokoll. Bei MPLS berechnet die Software den Hash auf der Grundlage von bis zu fünf MPLS-Labels oder vier MPLS-Labels und dem IP-Header.
Für UDP und TCP berechnet die Software den Hash basierend auf den Quell- und Zielports sowie den Quell- und Ziel-IP-Adressen. Dies garantiert, dass alle Pakete, die zum gleichen TCP/UDP-Fluss gehören, immer dieselbe T1-Verbindung durchlaufen und daher nicht neu angeordnet werden können. Es garantiert jedoch nicht, dass die Last auf den verschiedenen T1-Verbindungen ausgeglichen ist. Bei vielen Strömen ist die Last in der Regel ausgeglichen.
Die N verschiedenen T1-Schnittstellen sind mit einem anderen Router verbunden, der von Juniper Networks oder einem anderen Anbieter stammen kann. Der Router am anderen Ende sammelt Pakete von allen T1-Verbindungen. Wenn ein Paket über einen MLPPP-Header verfügt, wird das Feld für die Sequenznummer verwendet, um das Paket wieder in die Reihenfolge der Sequenznummern zu bringen. Wenn das Paket einen einfachen PPP-Header hat, akzeptiert die Software das Paket in der Reihenfolge, in der es ankommt, und unternimmt keinen Versuch, das Paket wieder zusammenzusetzen oder neu anzuordnen.
Beispiel: LSQ-Schnittstelle als NxT1-Bundle mit MLPPP konfigurieren
[edit interfaces] lsq-1/1/0 { per-unit-scheduler; unit 0 { encapsulation multilink-ppp; mrru 2000; multilink-max-classes 4; family inet { address 20.1.1.1/24; } family mpls; } } ct1-1/1/4 { enable; no-partition interface-type t1; } t1-1/1/4 { encapsulation ppp; unit 0 { family mlppp { bundle lsq-1/1/0.0; } } } ct1-1/1/5 { enable; no-partition interface-type t1; } t1-1/1/5 { encapsulation ppp; unit 0 { family mlppp { bundle lsq-1/1/0.0; } } } } class-of-service { classifiers { inet-precedence myIPv4 { forwarding-class best-effort { loss-priority low code-points 000; } forwarding-class expedited-forwarding { loss-priority low code-points 001; } forwarding-class assured-forwarding { loss-priority low code-points 011; } forwarding-class network-control { loss-priority low code-points 111; } } } drop-profiles { dp1 { fill-level 50 drop-probability 0; fill-level 100 drop-probability 100; } dp2 { fill-level 50 drop-probability 0; fill-level 100 drop-probability 100; } } interfaces { lsq-1/1/0 { unit 0 { scheduler-map sm; fragmentation-map frag; rewrite-rules { inet-precedence myRRIPv4; } } } } rewrite-rules { inet-precedence myRRIPv4 { forwarding-class best-effort { loss-priority low code-point 111; } forwarding-class expedited-forwarding { loss-priority low code-point 011; } forwarding-class assured-forwarding { loss-priority low code-point 001; } forwarding-class network-control { loss-priority low code-point 000; } } } scheduler-maps { sm { forwarding-class best-effort scheduler new; forwarding-class network-control scheduler new_nc; forwarding-class assured-forwarding scheduler new_af; forwarding-class expedited-forwarding scheduler new_ef; } } fragmentation-maps { frag { forwarding-class { best-effort { multilink-class 3; } network-control { multilink-class 0; } assured-forwarding { multilink-class 2; } expedited-forwarding { multilink-class 1; } } } } schedulers { new { transmit-rate 32k; shaping-rate 3m; priority low; drop-profile-map loss-priority low protocol any drop-profile dp1; drop-profile-map loss-priority high protocol any drop-profile dp2; } new_nc { transmit-rate 32k; shaping-rate 3m; priority strict-high; } new_af { transmit-rate 32k; shaping-rate 3m; priority medium-low; } new_ef { transmit-rate 32k; shaping-rate 3m; priority medium-high; } } }
Grundlegendes zu Multiklassen-MLPPP
Multiclass MLPPP ermöglicht mehrere Klassen von latenzempfindlichem Datenverkehr, die über ein einziges Multilink-Bündel mit Massendatenverkehr übertragen werden. Tatsächlich ermöglicht Multiklassen-MLPPP verschiedenen Datenverkehrsklassen, unterschiedliche Latenzgarantien zu haben. Mit Multiclass MLPPP können Sie jede Weiterleitungsklasse einer separaten Multilink-Klasse zuordnen und so Prioritäts- und Latenzgarantien beibehalten. Multiklassen-MLPPP ist in RFC 2686, The Multi-Class Extension to Multi-Link PPP, definiert. Sie können MLPPP mit mehreren Klassen nur für Link Services Intelligent Queuing (LSQ)-Schnittstellen (lsq-
) mit MLPPP-Kapselung konfigurieren.
Multiclass MLPPP vereinfacht Probleme bei der Paketreihenfolge, die bei der Verwendung mehrerer Links auftreten, erheblich. Ohne Multiklassen-MLPPP wird der gesamte Sprachverkehr, der zu einem einzelnen Datenfluss gehört, an eine einzige Verbindung gehasht, um Probleme bei der Paketreihenfolge zu vermeiden. Mit MLPPP mit mehreren Klassen können Sie Sprachdatenverkehr einer Klasse mit hoher Priorität zuweisen und mehrere Links verwenden. Weitere Informationen zur Unterstützung von Sprachdiensten auf LSQ-Schnittstellen finden Sie unter Konfigurieren von Dienstschnittstellen für Sprachdienste.
Wenn Sie MLPPP mit mehreren Klassen nicht konfigurieren, können Fragmente aus verschiedenen Klassen nicht verschachtelt werden. Alle Fragmente für ein einzelnes Paket müssen gesendet werden, bevor die Fragmente eines anderen Pakets gesendet werden. Nicht fragmentierte Pakete können zwischen Fragmenten eines anderen Pakets verschachtelt werden, um die Latenz zu reduzieren, die bei nicht fragmentierten Paketen auftritt. Tatsächlich wird latenzempfindlicher Datenverkehr als regulärer PPP-Datenverkehr und Massendatenverkehr als Multilink-Datenverkehr gekapselt. Dieses Modell funktioniert, solange es eine einzelne Klasse von latenzempfindlichem Datenverkehr gibt und es keinen Datenverkehr mit hoher Priorität gibt, der Vorrang vor latenzempfindlichem Datenverkehr hat.
Dieser LFI-Ansatz (Link Fragmentation Interleaveing), der auf dem Link Services PIC verwendet wird, unterstützt nur zwei Prioritätsebenen für den Datenverkehr, was nicht ausreicht, um die vier bis acht Weiterleitungsklassen zu übertragen, die von Routern der M- und T-Serie unterstützt werden. Weitere Informationen zur Link Services PIC-Unterstützung von LFI finden Sie unter Konfigurieren der verzögerungssensitiven Paketverschachtelung auf logischen Link Services-Schnittstellen.
Router der ACX-Serie unterstützen LFI nicht.
Die Konfiguration von LFI und Multiklassen-MLPPP auf demselben Bundle ist weder erforderlich noch wird es unterstützt, da Multiklassen-MLPPP eine Obermenge der Funktionalität darstellt. Wenn Sie MLPPP mit mehreren Klassen konfigurieren, wird LFI automatisch aktiviert.
Die Junos OS-Implementierung von Multiklassen-MLPPP unterstützt keine Komprimierung von allgemeinen Header-Bytes , die in RFC 2686 als "Präfixelision" bezeichnet wird.
Konfigurieren von Multiclass MLPPP auf LSQ-Schnittstellen
Um MLPPP mit mehreren Klassen auf einer LSQ-Schnittstelle zu konfigurieren, müssen Sie angeben, wie viele Multilink-Klassen ausgehandelt werden sollen, wenn ein Link dem Bundle beitritt, und Sie müssen die Zuordnung einer Weiterleitungsklasse zu einer MLPPP-Klasse mit mehreren Klassen angeben.
Überlegungen zu Link Services IQ (lsq)-Schnittstellen auf Routern der ACX-Serie:
Die maximale Anzahl von Multilinkklassen, die ausgehandelt werden sollen, wenn ein Link dem Bundle beitritt, die Sie mithilfe der
multilink-max-classes
Anweisung auf Hierarchieebene[edit interfaces interface-name unit logical-unit-number]
angeben können, ist auf 4 begrenzt.Die Fragmentierungsgröße wird in der Fragmentierungskarte nicht angegeben. Stattdessen wird die für das Bundle konfigurierte Fragmentierungsgröße verwendet.
Compressed Real-Time Transport Protocol (RTP) wird nicht unterstützt.
HDLC Address and Control Field Compression (ACFC) und PPP Protocol Field Compression (PFC) werden nicht unterstützt.