CoS-basierte Weiterleitung konfigurieren
Sie können CoS-basierte Weiterleitung (CBF) nur auf eine definierte Reihe von Routen anwenden. Daher müssen Sie eine Richtlinienaussage konfigurieren, wie im folgenden Beispiel:
[edit policy-options] policy-statement my-cos-forwarding { from { route-filter destination-prefix match-type; } then { cos-next-hop-map map-name; } }
Diese Konfiguration legt fest, dass Routen, die dem Routenfilter entsprechen, der CoS-Next-Hop-Zuordnung unterliegen, die von map-name
. Weitere Informationen zur Konfiguration von Richtlinienanweisungen finden Sie im Benutzerhandbuch für Routing-Richtlinien, Firewall-Filter und Traffic Policer.
Auf Routern der M-Serie (außer den Routern der M120 und M320) funktionieren weiterleitungsklassenbasierte Abgleiche und CBF nicht wie erwartet, wenn die Weiterleitungsklasse mit einem Mehrfeldfilter auf einer Eingabeschnittstelle festgelegt wurde.
Ab Junos OS Version 17.2 unterstützen MX-Router mit MPCs oder MS-DPCs, VMX,PTX3000-Router und PTX5000-Router die Konfiguration von CoS-basiertem Forwarding (CBF) für bis zu 16 Weiterleitungsklassen. Alle anderen Plattformen unterstützen CBF für bis zu 8 Weiterleitungsklassen. Aktivieren Sie auf Hierarchieebene, um bis zu 16 Weiterleitungsklassen für CBF auf MX-Routern enhanced-ip
[edit chassis network-services]
zu unterstützen.
Sie können CBF auf einem Gerät nur mit der unterstützten Anzahl oder weniger Weiterleitungsklassen plus einer Standardweiterleitungsklasse konfigurieren. Unter dieser Bedingung kann die Weiterleitungsklasse zur Warteschlangenzuordnung entweder eins zu eins oder eins zu vielen sein. Sie können CBF jedoch nicht konfigurieren, wenn die Anzahl der konfigurierten Weiterleitungsklassen die unterstützte Anzahl übersteigt. Ebenso können Sie bei der Konfiguration von CBF nicht mehr als die unterstützte Anzahl von Weiterleitungsklassen und eine Standardweiterleitungsklasse konfigurieren.
Um eine CoS-Next-Hop-Zuordnung anzugeben, fügen Sie die forwarding-policy
Anweisung auf [edit class-of-service]
Hierarchieebene ein:
[edit class-of-service] forwarding-policy { next-hop-map map-name { forwarding-class class-name { discard; lsp-next-hop [ lsp-regular-expression ]; next-hop [ next-hop-name ]; non-lsp-next-hop; } forwarding-class-default { discard; lsp-next-hop [ lsp-regular-expression ]; next-hop [next-hop-name]; non-lsp-next-hop; } } }
Wenn Sie CBF mit OSPF als Interior Gateway Protocol (IGP) konfigurieren, müssen Sie den nächsten Hop als Schnittstellenname oder Next-Hop-Alias angeben, nicht als IPv4- oder IPv6-Adresse. Dies ist der Fall, da OSPF Routen mit der Schnittstelle als nächsten Hop für Punkt-zu-Punkt-Schnittstellen hinzufügt. der nächste Hop enthält keine IP-Adresse. Ein Beispiel für eine Konfiguration finden Sie unter Beispiel: Konfigurieren einer coS-basierten Weiterleitung.
Wenn Sie für Layer-3-VPNs klassenbasierte Weiterleitung für die Routen verwenden, die vom Far-End Provider Edge (PE)-Router innerhalb einer VRF-Instanz empfangen werden, kann die Software die Routen basierend auf den Attributen, die nur mit der empfangenen Route verbunden sind, abgleichen. Mit anderen Worten, der Abgleich kann auf der Route innerhalb von RIB-in basieren. In diesem Fall hat die Anweisung, die route-filter
Sie auf Hierarchieebene [edit policy-options policy-statement my-cos-forwarding from]
einschließen, keine Auswirkungen, da die Richtlinie die bgp.l3vpn.0
Tabelle und nicht die vrf.inet.0
Tabelle überprüft.
Junos OS wendet die CoS-Next-Hop-Karte auf die Gruppe der nächsten Hops an, die zuvor definiert wurden. die nächsten Hops selbst können an allen ausgehenden Schnittstellen auf dem Routing-Gerät lokalisiert werden. Die folgende Konfiguration verknüpft beispielsweise eine Reihe von Weiterleitungsklassen und Next-Hop-Bezeichnern:
[edit class-of-service forwarding-policy] next-hop-map map1 { forwarding-class expedited-forwarding { next-hop next-hop1; next-hop next-hop2; } forwarding-class best-effort { next-hop next-hop3; lsp-next-hop lsp-next-hop4; } forwarding-class-default { lsp-next-hop lsp-next-hop5; } }
In diesem Beispiel next-hop N
ist entweder eine IP-Adresse oder eine Ausgangsschnittstelle für einen nächsten Hop und lsp-next-hop N
ist ein regulärer Ausdruck, der jedem nächsten Hop mit diesem Label entspricht. Q1 bis QN sind eine Reihe von Weiterleitungsklassen, die dem spezifischen nächsten Hop zuzuordnen sind. Das heißt, wenn ein Paket mit Q1 bis QN umgeschaltet wird, wird es an die Schnittstelle weitergeleitet, die dem zugehörigen nächsten Hop zugeordnet ist.
Diese Konfiguration hat die folgenden Auswirkungen:
Eine einzelne Weiterleitungsklasse kann mehreren Standard-Next-Hops oder LSP-Next-Hops zuordnen. Dies bedeutet, dass Lastausgleich über Standard-Next-Hops oder LSP-Next-Hops erfolgt, die den gleichen Klassenwert haben. Damit dies richtig funktioniert, erstellt Junos OS eine Liste der nächsten Hops zu gleichen Kosten und leitet Pakete gemäß den Standardmäßigen Load-Sharing-Regeln für diese Weiterleitungsklasse weiter.
Wenn eine Forwarding-Klasse-Konfiguration LSP Next Hops und Standard Next Hops umfasst, werden die LSP-next-Hops den nächsten Standard-Hops vorgezogen. Im vorhergehenden Beispiel enthält die Weiterleitungstabelle nur einen Eintrag
lsp-next-hop4
, wenn beidenext-hop3
lsp-next-hop4
next Hops für eine Route gültig sind, aufmap1
die angewendet wird.Wenn
next-hop-map
nicht alle möglichen Weiterleitungsklassen angegeben werden, wird die Standardweiterleitungsklasse als Standard ausgewählt. default-forwarding class Definiert den nächsten Hop für Datenverkehr, der keine Weiterleitungsklasse in der Next Hop Map erfüllt. Wenn die Standardweiterleitungsklasse in der Next-Hop-Zuordnung nicht angegeben wird, wird ein Standard zufällig festgelegt. Die Standardweiterleitungsklasse ist die Klasse, die der Warteschlange 0 zugeordnet ist.Für LSP-Next-Hops verwendet Junos OS reguläre Ausdrücke im UNIX-Stil
regex(3)
. Wenn z. B. die folgenden Label vorhanden sind:lsp
, ,lsp1
, ,lsp2
,lsp3
die Anweisunglsp-next-hop lsp
entsprichtlsp
,lsp1
undlsp2
lsp3
. Wenn Sie dieses Verhalten nicht möchten, müssen Sie die Ankerzeichenlsp-next-hop " ^lsp$"
verwenden, die nur übereinstimmenlsp
.Der Routenfilter funktioniert nicht, da die Richtlinie anhand der
bgp.l3vpn.0
Tabelle anstelle dervrf.inet.0
Tabelle überprüft wird.
Der letzte Schritt besteht darin, den Routenfilter auf Routen anzuwenden, die an die Weiterleitungs-Engine exportiert werden. Dies wird im folgenden Beispiel gezeigt:
routing-options { forwarding-table { export my-cos-forwarding; } }
Diese Konfiguration weist den Routingprozess an, Routen zur Weiterleitungs-Engine einzufügen, die mit den zugehörigen NEXT-Hop-CBF-Regeln übereinstimmen my-cos-forwarding
.
Der folgende Algorithmus wird verwendet, wenn Sie eine Konfiguration auf eine Route anwenden:
Wenn es sich bei der Route um eine einzige Next-Hop-Route handelt, geht der gesamte Datenverkehr an diese Route. das heißt, keine CBF wird wirksam.
Weisen Sie für jeden nächsten Hop die richtige Weiterleitungsklasse zu. Wenn ein nächster Hop in der Route, aber nicht in der
cos-next-hop
Karte angezeigt wird, wird er nicht im Eintrag der Weiterleitungstabelle angezeigt.Die Standardweiterleitungsklasse wird verwendet, wenn nicht alle Weiterleitungsklassen in der Next-Hop-Zuordnung angegeben sind. Wenn der Standard nicht angegeben wird, wird der Standard der niedrigsten Klasse zugewiesen, die in der Next-Hop-Zuordnung definiert ist.