Konfigurieren des Paketweiterleitungsverhaltens
Informationen zu indirekten Next Hops
Junos OS unterstützt das Konzept eines indirekten Next Hop für alle Routing-Protokolle, die indirekt verbundene Next Hops, auch bekannt als Next-Hops von Drittanbietern, unterstützen.
Da Routing-Protokolle wie interne BGP (IBGP) Routing-Informationen über indirekt verbundene Routen senden können, verlässt sich Junos OS auf Routen aus Intra-AS-Routing-Protokollen (OSPF, IS-IS, RIP und statisch), um den besten direkt verbundenen next Hop zu lösen. Die Routing-Engine führt eine Routenauflösung durch, um den am besten direkt verbundenen nächsten Hop zu ermitteln, und installiert die Route zur Packet Forwarding Engine.
Standardmäßig verwaltet Junos OS nicht die Route für den indirekten nächsten Hop zur Weiterleitung der Next-Hop-Bindung in der Packet Forwarding Engine Forwarding Engine-Weiterleitungstabelle. Daher müssen bei einem Rerouting-Ereignis möglicherweise Tausende von Routen zur Weiterleitung von Next-Hop-Bindungen aktualisiert werden, was die Routenkonvergenzzeit erhöht. Abbildung 1 veranschaulicht die Route zur Weiterleitung von Next-Hop-Bindungen bei deaktivierter indirekter Next-Hop-Verbindung.
Sie können Junos OS aktivieren, um den indirekten nächsten Hop zur Weiterleitung der Next-Hop-Bindung in der Weiterleitungstabelle der Packet Forwarding Engine aufrechtzuerhalten. Infolgedessen müssen weniger Routen zur Weiterleitung von Next-Hop-Bindungen aktualisiert werden, was die Routenkonvergenzzeit verbessert. Abbildung 2 veranschaulicht die Route zur Weiterleitung von Next-Hop-Bindungen bei aktivierter indirekter Next Hop.
Beispiel: Optimierung der Routenkonvergenz durch Aktivierung indirekter Next Hops auf der Packet Forwarding Engine
Dieses Beispiel zeigt, wie indirekte Next Hops verwendet werden können, um eine schnellere Netzwerkkonvergenz zu fördern (z. B. in BGP-Netzwerken), indem die Anzahl der änderungen an Weiterleitungstabellen verringert wird, die bei einer Änderung der Netzwerktopologie erforderlich sind.
Anforderungen
Vor der Konfiguration dieses Beispiels ist keine spezielle Konfiguration erforderlich, die über die Geräteinitialisierung hinausgeht.
Übersicht
In diesem Beispiel sind mehrere Geräte über ungleiche Kosten miteinander verbunden. Von Gerät R1 zu Gerät R2 hat der Pfad durch Gerät R3 eine höhere IGP-Kennzahl als der Pfad durch Gerät R4. Gerät R1 verfügt über eine interne BGP-Verbindung zu Gerät R2. Gerät R0 injiziert mehrere Routen in das Netzwerk, und Gerät R1 gibt diese Routen an Gerät R2 an. Da Gerät R2 nicht direkt mit Gerät R1 verbunden ist, enthält die Weiterleitungstabelle von Gerät R2 indirekte Next Hops. Ein Interior Gateway Protocol, in diesem Fall OSPF, wird auf den internen Verbindungen zwischen den Geräten R1, R2, R3 und R4 ausgeführt. Jeder Router gibt seine Loopback-Schnittstellen-IPv4-Adresse an.
Auf Gerät R2 ermöglicht die indirect-next-hop
Anweisung Junos OS, den indirekten nächsten Hop zur Weiterleitung der Next-Hop-Bindung in der Weiterleitungstabelle der Packet Forwarding Engine aufrechtzuerhalten. Infolgedessen müssen weniger Routen zur Weiterleitung von Next-Hop-Bindungen aktualisiert werden, was die Routenkonvergenzzeit verbessert, wenn ein Pfad ausfällt.
Topologie
Abbildung 3 zeigt das Beispielnetzwerk.
Der Abschnitt "Cli Quick Configuration" zeigt die vollständige Konfiguration auf allen Geräten in Abbildung 3. Andernfalls konzentriert sich das Beispiel auf Gerät R0, Gerät R1 und Gerät R2.
Konfiguration
- CLI-Schnellkonfiguration
- Konfigurieren von Gerät R0
- Konfigurieren von Gerät R1
- Konfiguration von Gerät R2
- Ergebnisse
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 R0
set interfaces fe-1/2/0 unit 1 family inet address 10.0.0.1/30 set interfaces lo0 unit 1 family inet address 10.1.0.1/32 set interfaces lo0 unit 1 family inet address 10.1.0.2/32 set interfaces lo0 unit 1 family inet address 10.1.0.3/32 set interfaces lo0 unit 1 family inet address 10.1.0.4/32 set interfaces lo0 unit 1 family inet address 10.1.0.5/32 set interfaces lo0 unit 1 family inet address 10.1.0.6/32 set interfaces lo0 unit 1 family inet address 10.1.0.7/32 set interfaces lo0 unit 1 family inet address 10.1.0.8/32 set interfaces lo0 unit 1 family inet address 10.1.0.9/32 set routing-options static route 0.0.0.0/0 next-hop 10.0.0.2
Gerät R1
set interfaces fe-1/2/0 unit 2 family inet address 10.0.0.2/30 set interfaces fe-1/2/1 unit 5 family inet address 10.0.0.5/30 set interfaces fe-1/2/2 unit 9 family inet address 10.0.0.9/30 set interfaces lo0 unit 2 family inet address 10.1.1.1/32 set protocols bgp export send-local set protocols bgp export send-static set protocols bgp group int type internal set protocols bgp group int local-address 10.1.1.1 set protocols bgp group int neighbor 10.2.2.2 set protocols ospf area 0.0.0.0 interface fe-1/2/1.5 set protocols ospf area 0.0.0.0 interface fe-1/2/2.9 set protocols ospf area 0.0.0.0 interface lo0.2 set policy-options policy-statement send-local from protocol local set policy-options policy-statement send-local from protocol direct set policy-options policy-statement send-local then accept set policy-options policy-statement send-static from protocol static set policy-options policy-statement send-static then accept set routing-options static route 10.1.0.2/32 next-hop 10.0.0.1 set routing-options static route 10.1.0.1/32 next-hop 10.0.0.1 set routing-options static route 10.1.0.3/32 next-hop 10.0.0.1 set routing-options static route 10.1.0.4/32 next-hop 10.0.0.1 set routing-options static route 10.1.0.5/32 next-hop 10.0.0.1 set routing-options static route 10.1.0.6/32 next-hop 10.0.0.1 set routing-options static route 10.1.0.7/32 next-hop 10.0.0.1 set routing-options static route 10.1.0.8/32 next-hop 10.0.0.1 set routing-options static route 10.1.0.9/32 next-hop 10.0.0.1 set routing-options autonomous-system 65500
Gerät R2
set interfaces fe-1/2/0 unit 14 family inet address 10.0.0.14/30 set interfaces fe-1/2/1 unit 18 family inet address 10.0.0.18/30 set interfaces fe-1/2/2 unit 21 family inet set interfaces lo0 unit 3 family inet address 10.2.2.2/32 set protocols bgp export send-local set protocols bgp group int type internal set protocols bgp group int local-address 10.2.2.2 set protocols bgp group int family inet unicast set protocols bgp group int family inet-vpn unicast set protocols bgp group int neighbor 10.1.1.1 set protocols ospf area 0.0.0.0 interface fe-1/2/0.14 set protocols ospf area 0.0.0.0 interface fe-1/2/1.18 set protocols ospf area 0.0.0.0 interface lo0.3 set policy-options policy-statement send-local from protocol local set policy-options policy-statement send-local from protocol direct set policy-options policy-statement send-local then accept set routing-options autonomous-system 65500 set routing-options forwarding-table indirect-next-hop
Gerät R3
set interfaces fe-1/2/0 unit 6 family inet address 10.0.0.6/30 set interfaces fe-1/2/1 unit 13 family inet address 10.0.0.13/30 set interfaces lo0 unit 4 family inet address 10.3.3.3/32 set protocols ospf area 0.0.0.0 interface fe-1/2/0.6 metric 5000 set protocols ospf area 0.0.0.0 interface fe-1/2/1.13 metric 5000 set protocols ospf area 0.0.0.0 interface lo0.4
Gerät R4
set interfaces fe-1/2/0 unit 10 family inet address 10.0.0.10/30 set interfaces fe-1/2/1 unit 17 family inet address 10.0.0.17/30 set interfaces lo0 unit 5 family inet address 10.4.4.4/32 set protocols ospf area 0.0.0.0 interface fe-1/2/0.10 set protocols ospf area 0.0.0.0 interface fe-1/2/1.17 set protocols ospf area 0.0.0.0 interface lo0.5
Gerät R5
set interfaces fe-1/2/0 unit 22 family inet address 10.0.0.22/30 set interfaces lo0 unit 6 family inet address 10.5.5.5/32
Konfigurieren von Gerät R0
Schritt-für-Schritt-Verfahren
Im folgenden Beispiel müssen Sie auf verschiedenen Ebenen in der Konfigurationshierarchie navigieren. Informationen zum Navigieren in der CLI finden Sie unter Verwenden des CLI-Editors im Konfigurationsmodus im Junos OS CLI-Benutzerhandbuch.
So konfigurieren Sie Gerät R0:
-
Konfigurieren Sie die Schnittstellen, einschließlich mehrerer Routen, die zu Demonstrationszwecken in das Netzwerk injiziert werden können.
[edit interfaces] user@R0# set fe-1/2/0 unit 1 family inet address 10.0.0.1/30 user@R0# set lo0 unit 1 family inet address 10.1.0.1/32 user@R0# set lo0 unit 1 family inet address 10.1.0.2/32 user@R0# set lo0 unit 1 family inet address 10.1.0.3/32 user@R0# set lo0 unit 1 family inet address 10.1.0.4/32 user@R0# set lo0 unit 1 family inet address 10.1.0.5/32 user@R0# set lo0 unit 1 family inet address 10.1.0.6/32 user@R0# set lo0 unit 1 family inet address 10.1.0.7/32 user@R0# set lo0 unit 1 family inet address 10.1.0.8/32 user@R0# set lo0 unit 1 family inet address 10.1.0.9/32
-
Konfigurieren Sie eine statische Standardroute für die Netzwerkverfügbarkeit.
[edit routing-options] user@R0# set static route 0.0.0.0/0 next-hop 10.0.0.2
-
Wenn Sie mit der Konfiguration des Geräts fertig sind, bestätigen Sie die Konfiguration.
[edit] user@R0# commit
Konfigurieren von Gerät R1
Schritt-für-Schritt-Verfahren
Im folgenden Beispiel müssen Sie auf verschiedenen Ebenen in der Konfigurationshierarchie navigieren. Informationen zum Navigieren in der CLI finden Sie unter Verwenden des CLI-Editors im Konfigurationsmodus im Junos OS CLI-Benutzerhandbuch.
So konfigurieren Sie Gerät R1:
-
Konfigurieren Sie die Schnittstellen, einschließlich mehrerer Routen, die zu Demonstrationszwecken in das Netzwerk injiziert werden können.
[edit interfaces] user@R1# set fe-1/2/0 unit 2 family inet address 10.0.0.2/30 user@R1# set fe-1/2/1 unit 5 family inet address 10.0.0.5/30 user@R1# set fe-1/2/2 unit 9 family inet address 10.0.0.9/30 user@R1# set lo0 unit 2 family inet address 10.1.1.1/32
-
Konfigurieren Sie BGP.
[edit protocols] user@R1# set bgp export send-local user@R1# set bgp export send-static user@R1# set bgp group int type internal user@R1# set bgp group int local-address 10.1.1.1 user@R1# set bgp group int neighbor 10.2.2.2
-
Konfigurieren Sie OSPF.
[edit protocols] user@R1# set ospf area 0.0.0.0 interface fe-1/2/1.5 user@R1# set ospf area 0.0.0.0 interface fe-1/2/2.9 user@R1# set ospf area 0.0.0.0 interface lo0.2
-
Konfigurieren Sie die Routing-Richtlinien.
[edit] user@R1# set policy-options policy-statement send-local from protocol local user@R1# set policy-options policy-statement send-local from protocol direct user@R1# set policy-options policy-statement send-local then accept user@R1# set policy-options policy-statement send-static from protocol static user@R1# set policy-options policy-statement send-static then accept
-
Konfigurieren Sie eine Reihe von statischen Routen zu den auf Gerät R0 konfigurierten Schnittstellen.
[edit] user@R1# set routing-options static route 10.1.0.2/32 next-hop 10.0.0.1 user@R1# set routing-options static route 10.1.0.1/32 next-hop 10.0.0.1 user@R1# set routing-options static route 10.1.0.3/32 next-hop 10.0.0.1 user@R1# set routing-options static route 10.1.0.4/32 next-hop 10.0.0.1 user@R1# set routing-options static route 10.1.0.5/32 next-hop 10.0.0.1 user@R1# set routing-options static route 10.1.0.6/32 next-hop 10.0.0.1 user@R1# set routing-options static route 10.1.0.7/32 next-hop 10.0.0.1 user@R1# set routing-options static route 10.1.0.8/32 next-hop 10.0.0.1 user@R1# set routing-options static route 10.1.0.9/32 next-hop 10.0.0.1
-
Konfigurieren Sie die Kennung des autonomen Systems (AS).
[edit] user@R1# set routing-options autonomous-system 65500
-
Wenn Sie mit der Konfiguration des Geräts fertig sind, bestätigen Sie die Konfiguration.
[edit] user@R1# commit
Konfiguration von Gerät R2
Schritt-für-Schritt-Verfahren
Im folgenden Beispiel müssen Sie auf verschiedenen Ebenen in der Konfigurationshierarchie navigieren. Informationen zum Navigieren in der CLI finden Sie unter Verwenden des CLI-Editors im Konfigurationsmodus im Junos OS CLI-Benutzerhandbuch.
So konfigurieren Sie Gerät R2:
-
Konfigurieren Sie die Schnittstellen, einschließlich mehrerer Routen, die zu Demonstrationszwecken in das Netzwerk injiziert werden können.
[edit interfaces] user@R2# set fe-1/2/0 unit 14 family inet address 10.0.0.14/30 user@R2# set fe-1/2/1 unit 18 family inet address 10.0.0.18/30 user@R2# set fe-1/2/2 unit 21 family inet address 10.0.0.21/30; user@R2# set lo0 unit 3 family inet address 10.2.2.2/32
-
Konfigurieren Sie BGP.
[edit] user@R2# set protocols bgp export send-local user@R2# set protocols bgp group int type internal user@R2# set protocols bgp group int local-address 10.2.2.2 user@R2# set protocols bgp group int family inet unicast user@R2# set protocols bgp group int family inet-vpn unicast user@R2# set protocols bgp group int neighbor 10.1.1.1
-
Konfigurieren Sie OSPF.
[edit] user@R2# set protocols ospf area 0.0.0.0 interface fe-1/2/0.14 user@R2# set protocols ospf area 0.0.0.0 interface fe-1/2/1.18 user@R2# set protocols ospf area 0.0.0.0 interface lo0.3
-
Konfigurieren Sie die Routing-Richtlinien.
[edit] user@R2# set policy-options policy-statement send-local from protocol local user@R2# set policy-options policy-statement send-local from protocol direct user@R2# set policy-options policy-statement send-local then accept
-
Konfigurieren Sie den AS-Bezeichner.
[edit] user@R2# set routing-options autonomous-system 65500
-
Aktivieren Sie indirekte Next Hops in der Weiterleitungsebene.
[edit] user@R2# set routing-options forwarding-table indirect-next-hop
-
Wenn Sie mit der Konfiguration des Geräts fertig sind, bestätigen Sie die Konfiguration.
[edit] user@R2# commit
Ergebnisse
Bestätigen Sie Ihre Konfiguration durch Ausgabe von show interfaces
, show protocols
, , show policy-options
und show routing-options
Befehlen. Wenn die gewünschte Konfiguration in der Ausgabe nicht angezeigt wird, wiederholen Sie die Anweisungen in diesem Beispiel, um die Konfiguration zu korrigieren.
Gerät R0
user@R0# show interfaces fe-1/2/0 { unit 1 { family inet { address 10.0.0.1/30; } } } lo0 { unit 1 { family inet { address 10.1.0.1/32; address 10.1.0.2/32; address 10.1.0.3/32; address 10.1.0.4/32; address 10.1.0.5/32; address 10.1.0.6/32; address 10.1.0.7/32; address 10.1.0.8/32; address 10.1.0.9/32; } } }
user@R0# show routing-options static { route 0.0.0.0/0 next-hop 10.0.0.2; }
Gerät R1
user@R1# show interfaces fe-1/2/0 { unit 2 { family inet { address 10.0.0.2/30; } } } fe-1/2/1 { unit 5 { family inet { address 10.0.0.5/30; } } } fe-1/2/2 { unit 9 { family inet { address 10.0.0.9/30; } } } lo0 { unit 2 { family inet { address 10.1.1.1/32; } } }
user@R1# show protocols bgp { export [ send-local send-static ]; group int { type internal; local-address 10.1.1.1; neighbor 10.2.2.2; } } ospf { area 0.0.0.0 { interface fe-1/2/1.5; interface fe-1/2/2.9; interface lo0.2; } }
user@R1# show policy-options policy-statement send-local { from protocol [ local direct ]; then accept; } policy-statement send-static { from protocol static; then accept; }
user@R1# show routing-options static { route 10.1.0.2/32 next-hop 10.0.0.1; route 10.1.0.1/32 next-hop 10.0.0.1; route 10.1.0.3/32 next-hop 10.0.0.1; route 10.1.0.4/32 next-hop 10.0.0.1; route 10.1.0.5/32 next-hop 10.0.0.1; route 10.1.0.6/32 next-hop 10.0.0.1; route 10.1.0.7/32 next-hop 10.0.0.1; route 10.1.0.8/32 next-hop 10.0.0.1; route 10.1.0.9/32 next-hop 10.0.0.1; } autonomous-system 65500;
Gerät R2
user@R2# show interfaces fe-1/2/0 { unit 14 { family inet { address 10.0.0.14/30; } } } fe-1/2/1 { unit 18 { family inet { address 10.0.0.18/30; } } } fe-1/2/2 { unit 21 { family inet { address 10.0.0.21/30 } } } lo0 { unit 3 { family inet { address 10.2.2.2/32; } } }
user@R2# show protocols bgp { export send-local; group int { type internal; local-address 10.2.2.2; family inet { unicast; } family inet-vpn { unicast; } neighbor 10.1.1.1; } } ospf { area 0.0.0.0 { interface fe-1/2/0.14; interface fe-1/2/1.18; interface lo0.3; } }
user@R2# show policy-options policy-statement send-local { from protocol [ local direct ]; then accept; }
user@R2# show routing-options autonomous-system 65500; forwarding-table { indirect-next-hop; }
Konfigurieren Sie Geräte R3, Gerät R4 und Gerät R5, wie in Schnellkonfiguration von CLI dargestellt.
Überprüfung
Bestätigen Sie, dass die Konfiguration ordnungsgemäß funktioniert.
Überprüfen, ob die Routen die erwartete indirekte Next-Hop-Flag haben
Zweck
Stellen Sie sicher, dass Gerät R2 so konfiguriert ist, dass der indirekte nächste Hop zur Weiterleitung der Next-Hop-Bindung in der Packet Forwarding Engine-Weiterleitungstabelle beibehalten wird.
Aktion
user@R2> show krt indirect-next-hop show krt indirect-next-hop Indirect Nexthop: Index: 1048575 Protocol next-hop address: 10.255.3.1 RIB Table: __mpls-oam__.mpls.0 Label: Swap 299968 Policy Version: 0 References: 1 Locks: 2 0x95bc514 Flags: 0x3 INH Session ID: 0xa INH Version ID: 1 Ref RIB Table: unknown Next hop: 10.50.244.9 via ge-2/0/2.0 Label operation: Swap 299968, Push 299792(top) Label TTL action: no-prop-ttl, no-prop-ttl(top) Session Id: 0x9 IGP FRR Interesting proto count : 0
Bedeutung
Das 0x3
Flag in der Ausgabe zeigt an, dass Gerät R2 so konfiguriert ist, dass der indirekte nächste Hop zur Weiterleitung der Next-Hop-Bindung in der Weiterleitungstabelle der Packet Forwarding Engine beibehalten wird. Wenn die indirect-next-hop
Anweisung aus der Konfiguration gelöscht oder deaktiviert wird, ändert sich dieses Flag in 0x2
. Router der MX-Serie von Junos mit Trio Modular Port Concentrator (MPC)-Chipsatz unterstützen standardmäßig indirekten Next-Hop und können nicht deaktiviert werden. Selbst wenn indirect-next-hop
sie nicht unter forwarding-options
konfiguriert ist, funktioniert die Funktion standardmäßig. Daher ist die 0x3
Flagge für Trio Modular Port Concentrator (MPCs) nicht zutreffend.
Der show krt indirect-next-hop
Befehl ist ausgeblendet und daher nicht dokumentiert. Der show krt indirect-next-hop
Befehl wird hier angezeigt, da dies der einzige Befehl ist, der die indirekte Next-Hop-Funktion überprüft. Die beste Verifikationsmethode ist natürlich die Überwachung der Netzwerkleistung während der Rekonvergenz nach einem Pfadausfall.