BGP-Multihop-Sitzungen
Grundlegendes zu EBGP Multihop
BGP ist ein externes Gateway-Protokoll (EGP), das zum Austausch von Routing-Informationen zwischen Routern in verschiedenen autonomen Systemen (ASs) verwendet wird. Im Folgenden finden Sie zwei Möglichkeiten, einen EBGP-Multihop zwischen Routern einzurichten:
Wenn externe BGP-Peers (EBGP) nicht direkt miteinander verbunden sind, müssen sie einen oder mehrere Nicht-BGP-Router durchqueren, um sich gegenseitig zu erreichen.
Durch die Konfiguration von Multihop-EBGP können die Peers die anderen Router passieren, um Peer-Beziehungen zu bilden und Aktualisierungsnachrichten auszutauschen. Diese Art der Konfiguration wird in der Regel verwendet, wenn ein Routing-Gerät von Juniper Networks EBGP mit einem Router eines Drittanbieters ausführen muss, der keine direkte Verbindung der beiden EBGP-Peers zulässt. EBGP-Multihop ermöglicht eine Nachbarschaftsverbindung zwischen zwei EBGP-Peers, die keine direkte Verbindung haben.
Das Standardverhalten für eine EBGP-Verbindung besteht darin, über einen einzelnen physischen Hop mithilfe der physischen Schnittstellenadresse des Peers ein Peering durchzuführen. In einigen Fällen ist es vorteilhaft, dieses standardmäßige physische Peering-EBGP-Verhalten in einem Hop zu ändern. Ein solcher Fall ist, wenn mehrere physische Verbindungen zwei Router verbinden, die EBGP-Peers sein sollen. Wenn in diesem Fall eine der Punkt-zu-Punkt-Verbindungen ausfällt, ist die Erreichbarkeit für die alternative Verbindung weiterhin vorhanden.

In Abbildung 1 gehört Router R1 zu AS 1 und Router R2 zu AS 2. Die beiden physischen Verbindungen zwischen den Routern werden für den Lastausgleich verwendet. Das EBGP-Multihop-Peering funktioniert auch mit einer physischen Verbindung.
Das folgende Konfigurationsbeispiel hilft beim Einrichten einer einzelnen BGP-Peering-Sitzung über diese verschiedenen physischen Verbindungen:
Jeder Router muss die Peering-Sitzung mit der Loopback-Adresse des Remote-Routers einrichten. Sie können diese Sitzung mithilfe der
local-address
Anweisung konfigurieren, die die Peeradress-Headerinformationen in den BGP-Paketen ändert.Verwenden Sie die
multihop
Anweisung, um die Standardverwendung der physischen Adresse des Nachbarn zu ändern. Darüber hinaus können Sie auch einen TTL-Wert (Time-to-Live) in den BGP-Paketen angeben, um zu steuern, wie weit sie sich ausbreiten. Wir verwenden einen TTL-Wert von 1, um sicherzustellen, dass die Sitzung nicht über andere Backdoor-Links im Netzwerk aufgebaut werden kann.HINWEIS:Wenn Multihop konfiguriert ist, legt das Junos-Betriebssystem standardmäßig den TTL-Wert 64 fest.
Ein TTL-Wert von 1 ist ausreichend, um eine EBGP-Sitzung an die Loopback-Adresse eines direkt verbundenen Nachbarn zu ermöglichen.
Jeder Router muss über eine IP-Routing-Funktion zur Loopback-Adresse des Remote-Routers verfügen. Diese Funktion wird häufig durch die Verwendung einer statischen Route erreicht, um die Loopback-Adresse den physischen Adressen der Schnittstelle zuzuordnen.
[edit protocols bgp group ext-peers] type external; local-address 192.168.3.4; neighbor 172.16.128.1 { multihop ttl 1; }
[edit routing-options] static { route 172.16.128.1 next-hop (10.10.1.1 | 10.10.2.1); }
Siehe auch
Beispiel: Konfigurieren von EBGP-Multihop-Sitzungen
In diesem Beispiel wird gezeigt, wie ein externer BGP-Peer (EBGP) konfiguriert wird, der mehr als einen Hop vom lokalen Router entfernt ist. Diese Art von Sitzung wird als Multihop-BGP-Sitzung bezeichnet.
Anforderungen
Über die Geräteinitialisierung hinaus ist keine spezielle Konfiguration erforderlich, bevor Sie dieses Beispiel konfigurieren.
Überblick
Die Konfiguration zum Aktivieren von Multihop-EBGP-Sitzungen erfordert Konnektivität zwischen den beiden EBGP-Peers. In diesem Beispiel werden statische Routen verwendet, um die Konnektivität zwischen den Geräten herzustellen.
Im Gegensatz zu direkt verbundenen EBGP-Sitzungen, bei denen in der Regel physische Adressen in den neighbor
Anweisungen verwendet werden, müssen Sie Loopback-Schnittstellenadressen für Multihop-EBGP verwenden, indem Sie die Loopback-Schnittstellenadresse des indirekt verbundenen Peers angeben. Auf diese Weise ähnelt der EBGP-Multihop dem internen BGP (IBGP).
Schließlich müssen Sie die multihop
Anweisung hinzufügen. Optional können Sie mit der Anweisung einen maximalen Wert für die ttl
Gültigkeitsdauer (TTL) festlegen. Die TTL wird im IP-Header von BGP-Paketen übertragen. Wenn Sie keinen TTL-Wert angeben, wird der standardmäßige maximale TTL-Wert des Systems verwendet. Der Standard-TTL-Wert ist 64 für Multihop-EBGP-Sitzungen. Eine andere Möglichkeit besteht darin, den BGP-Next-Hop-Wert für Routenankündigungen beizubehalten, indem die no-nexthop-change
Anweisung eingeschlossen wird.
Abbildung 2 zeigt ein typisches EBGP-Multihop-Netzwerk.
Gerät C und Gerät E verfügen über eine eingerichtete EBGP-Sitzung. Gerät D ist kein BGP-fähiges Gerät. Alle Geräte verfügen über eine Konnektivität über statische Routen.

Konfiguration
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 Details, die für Ihre Netzwerkkonfiguration erforderlich sind, und kopieren Sie dann die Befehle und fügen Sie sie in die CLI auf Hierarchieebene [edit]
ein.
Gerät C
set interfaces fe-1/2/0 unit 9 description to-D set interfaces fe-1/2/0 unit 9 family inet address 10.10.10.9/30 set interfaces lo0 unit 3 family inet address 192.168.40.4/32 set protocols bgp group external-peers type external set protocols bgp group external-peers multihop ttl 2 set protocols bgp group external-peers local-address 192.168.40.4 set protocols bgp group external-peers export send-static set protocols bgp group external-peers peer-as 18 set protocols bgp group external-peers neighbor 192.168.6.7 set policy-options policy-statement send-static term 1 from protocol static set policy-options policy-statement send-static term 1 then accept set routing-options static route 10.10.10.14/32 next-hop 10.10.10.10 set routing-options static route 192.168.6.7/32 next-hop 10.10.10.10 set routing-options router-id 192.168.40.4 set routing-options autonomous-system 17
Gerät D
set interfaces fe-1/2/0 unit 10 description to-C set interfaces fe-1/2/0 unit 10 family inet address 10.10.10.10/30 set interfaces fe-1/2/1 unit 13 description to-E set interfaces fe-1/2/1 unit 13 family inet address 10.10.10.13/30 set interfaces lo0 unit 4 family inet address 192.168.6.6/32 set routing-options static route 192.168.40.4/32 next-hop 10.10.10.9 set routing-options static route 192.168.6.7/32 next-hop 10.10.10.14 set routing-options router-id 192.168.6.6
Gerät E
set interfaces fe-1/2/0 unit 14 description to-D set interfaces fe-1/2/0 unit 14 family inet address 10.10.10.14/30 set interfaces lo0 unit 5 family inet address 192.168.6.7/32 set protocols bgp group external-peers multihop ttl 2 set protocols bgp group external-peers local-address 192.168.6.7 set protocols bgp group external-peers export send-static set protocols bgp group external-peers peer-as 17 set protocols bgp group external-peers neighbor 192.168.40.4 set policy-options policy-statement send-static term 1 from protocol static set policy-options policy-statement send-static term 1 then accept set routing-options static route 10.10.10.8/30 next-hop 10.10.10.13 set routing-options static route 192.168.40.4/32 next-hop 10.10.10.13 set routing-options router-id 192.168.6.7 set routing-options autonomous-system 18
Gerät C
Schritt-für-Schritt-Anleitung
Im folgenden Beispiel müssen Sie durch verschiedene Ebenen in der Konfigurationshierarchie navigieren. Weitere 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 C:
Konfigurieren Sie die Schnittstelle zum direkt verbundenen Gerät (to-D) und konfigurieren Sie die Loopback-Schnittstelle.
[edit interfaces fe-1/2/0 unit 9] user@C# set description to-D user@C# set family inet address 10.10.10.9/30 [edit interfaces lo0 unit 3] user@C# set family inet address 192.168.40.4/32
Konfigurieren Sie eine EBGP-Sitzung mit Gerät E.
Die
neighbor
Anweisung verweist auf die Loopback-Schnittstelle auf Gerät E.[edit protocols bgp group external-peers] user@C# set type external user@C# set local-address 192.168.40.4 user@C# set export send-static user@C# set peer-as 18 user@C# set neighbor 192.168.6.7
Konfigurieren Sie die Multihop-Anweisung so, dass Gerät C und Gerät E zu EBGP-Peers werden.
Da die Peers zwei Hops voneinander entfernt sind, wird im Beispiel die
ttl 2
Anweisung verwendet.[edit protocols bgp group external-peers] user@C# set multihop ttl 2
Konfigurieren Sie die Konnektivität zu Gerät E mithilfe statischer Routen.
Sie müssen eine Route sowohl zur Adresse der Loopbackschnittstelle als auch zur Adresse auf der physischen Schnittstelle konfigurieren.
[edit routing-options] user@C# set static route 10.10.10.14/32 next-hop 10.10.10.10 user@C# set static route 192.168.6.7/32 next-hop 10.10.10.10
Konfigurieren Sie die lokale Router-ID und die AS-Nummer (Autonomous System).
[edit routing-options] user@C# set router-id 192.168.40.4 user@C# set autonomous-system 17
Konfigurieren Sie eine Richtlinie, die direkte Routen akzeptiert.
Andere nützliche Optionen für dieses Szenario könnten darin bestehen, Routen zu akzeptieren, die über OSPF oder lokale Routen gelernt wurden.
[edit policy-options policy-statement send-static term 1] user@C# set from protocol static user@C# set then accept
Ergebnisse
Bestätigen Sie im Konfigurationsmodus Ihre Konfiguration, indem Sie die show interfaces
Befehle , show protocols
, show policy-options
und show routing-options
eingeben. Wenn die Ausgabe nicht die gewünschte Konfiguration anzeigt, wiederholen Sie die Anweisungen in diesem Beispiel, um die Konfiguration zu korrigieren.
user@C# show interfaces fe-1/2/0 { unit 9 { description to-D; family inet { address 10.10.10.9/30; } } } lo0 { unit 3 { family inet { address 192.168.40.4/32; } } }
user@C# show protocols bgp { group external-peers { type external; multihop { ttl 2; } local-address 192.168.40.4; export send-static; peer-as 18; neighbor 192.168.6.7; } }
user@C# show policy-options policy-statement send-static { term 1 { from protocol static; then accept; } }
user@C# show routing-options static { route 10.10.10.14/32 next-hop 10.10.10.10; route 192.168.6.7/32 next-hop 10.10.10.10; } router-id 192.168.40.4; autonomous-system 17;
Wenn Sie mit der Konfiguration des Geräts fertig sind, rufen Sie den Konfigurationsmodus auf commit
. Wiederholen Sie diese Schritte für alle BGP-Sitzungen in der Topologie.
Konfigurieren von Gerät D
Schritt-für-Schritt-Anleitung
Im folgenden Beispiel müssen Sie durch verschiedene Ebenen in der Konfigurationshierarchie navigieren. Weitere 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 D:
Legen Sie die CLI auf Gerät D fest.
user@host> set cli logical-system D
Konfigurieren Sie die Schnittstellen zu den direkt verbundenen Geräten, und konfigurieren Sie eine Loopback-Schnittstelle.
[edit interfaces fe-1/2/0 unit 10] user@D# set description to-C user@D# set family inet address 10.10.10.10/30 [edit interfaces fe-1/2/1 unit 13] user@D# set description to-E user@D# set family inet address 10.10.10.13/30 [edit interfaces lo0 unit 4] user@D# set family inet address 192.168.6.6/32
Konfigurieren Sie die Konnektivität zu den anderen Geräten mithilfe statischer Routen zu den Loopback-Schnittstellenadressen.
Auf Gerät D benötigen Sie keine statischen Routen zu den physischen Adressen, da Gerät D direkt mit Gerät C und Gerät E verbunden ist.
[edit routing-options] user@D# set static route 192.168.40.4/32 next-hop 10.10.10.9 user@D# set static route 192.168.6.7/32 next-hop 10.10.10.14
Konfigurieren Sie die lokale Router-ID.
[edit routing-options] user@D# set router-id 192.168.6.6
Ergebnisse
Bestätigen Sie im Konfigurationsmodus Ihre Konfiguration, indem Sie die show interfaces
Befehle und show routing-options
eingeben. Wenn die Ausgabe nicht die gewünschte Konfiguration anzeigt, wiederholen Sie die Anweisungen in diesem Beispiel, um die Konfiguration zu korrigieren.
user@D# show interfaces fe-1/2/0 { unit 10 { description to-C; family inet { address 10.10.10.10/30; } } } fe-1/2/1 { unit 13 { description to-E; family inet { address 10.10.10.13/30; } } } lo0 { unit 4 { family inet { address 192.168.6.6/32; } } }
user@D# show protocols
user@D# show routing-options static { route 192.168.40.4/32 next-hop 10.10.10.9; route 192.168.6.7/32 next-hop 10.10.10.14; } router-id 192.168.6.6;
Wenn Sie mit der Konfiguration des Geräts fertig sind, rufen Sie den Konfigurationsmodus auf commit
. Wiederholen Sie diese Schritte für alle BGP-Sitzungen in der Topologie.
Konfigurieren von Gerät E
Schritt-für-Schritt-Anleitung
Im folgenden Beispiel müssen Sie durch verschiedene Ebenen in der Konfigurationshierarchie navigieren. Weitere 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 E:
Legen Sie die CLI auf Gerät E fest.
user@host> set cli logical-system E
Konfigurieren Sie die Schnittstelle zum direkt verbundenen Gerät (to-D) und konfigurieren Sie die Loopback-Schnittstelle.
[edit interfaces fe-1/2/0 unit 14] user@E# set description to-D user@E# set family inet address 10.10.10.14/30 [edit interfaces lo0 unit 5] user@E# set family inet address 192.168.6.7/32
Konfigurieren Sie eine EBGP-Sitzung mit Gerät E.
Die
neighbor
Anweisung verweist auf die Loopbackschnittstelle auf Gerät C.[edit protocols bgp group external-peers] user@E# set local-address 192.168.6.7 user@E# set export send-static user@E# set peer-as 17 user@E# set neighbor 192.168.40.4
Konfigurieren Sie die
multihop
Anweisung so, dass Gerät C und Gerät E zu EBGP-Peers werden.Da die Peers zwei Hops voneinander entfernt sind, wird im Beispiel die
ttl 2
Anweisung verwendet.[edit protocols bgp group external-peers] user@E# set multihop ttl 2
Konfigurieren Sie die Konnektivität zu Gerät E mithilfe statischer Routen.
Sie müssen eine Route sowohl zur Adresse der Loopbackschnittstelle als auch zur Adresse auf der physischen Schnittstelle konfigurieren.
[edit routing-options] user@E# set static route 10.10.10.8/30 next-hop 10.10.10.13 user@E# set static route 192.168.40.4/32 next-hop 10.10.10.13
Konfigurieren Sie die lokale Router-ID und die AS-Nummer (Autonomous System).
[edit routing-options] user@E# set router-id 192.168.6.7 user@E# set autonomous-system 18
Konfigurieren Sie eine Richtlinie, die direkte Routen akzeptiert.
Andere nützliche Optionen für dieses Szenario könnten darin bestehen, Routen zu akzeptieren, die über OSPF oder lokale Routen gelernt wurden.
[edit policy-options policy-statement send-static term 1] user@E# set from protocol static user@E# set then accept
Ergebnisse
Bestätigen Sie im Konfigurationsmodus Ihre Konfiguration, indem Sie die show interfaces
Befehle , show protocols
, show policy-options
und show routing-options
eingeben. Wenn die Ausgabe nicht die gewünschte Konfiguration anzeigt, wiederholen Sie die Anweisungen in diesem Beispiel, um die Konfiguration zu korrigieren.
user@E# show interfaces fe-1/2/0 { unit 14 { description to-D; family inet { address 10.10.10.14/30; } } } lo0 { unit 5 { family inet { address 192.168.6.7/32; } } }
user@E# show protocols bgp { group external-peers { multihop { ttl 2; } local-address 192.168.6.7; export send-static; peer-as 17; neighbor 192.168.40.4; } }
user@E# show policy-options policy-statement send-static { term 1 { from protocol static; then accept; } }
user@E# show routing-options static { route 10.10.10.8/30 next-hop 10.10.10.13; route 192.168.40.4/32 next-hop 10.10.10.13; } router-id 192.168.6.7; autonomous-system 18;
Wenn Sie mit der Konfiguration des Geräts fertig sind, rufen Sie den Konfigurationsmodus auf commit
.
Verifizierung
Vergewissern Sie sich, dass die Konfiguration ordnungsgemäß funktioniert.
- Überprüfen der Konnektivität
- Überprüfen, ob BGP-Sitzungen eingerichtet sind
- Anzeigen von angekündigten Routen
Überprüfen der Konnektivität
Zweck
Stellen Sie sicher, dass Gerät C Gerät E anpingen kann, und geben Sie die Adresse der Loopback-Schnittstelle als Quelle der Ping-Anforderung an.
Die Adresse der Loopback-Schnittstelle ist die Quelladresse, die von BGP verwendet wird.
Action!
Geben Sie im Betriebsmodus den ping 10.10.10.14 source 192.168.40.4
Befehl von Gerät C und den Befehl von Gerät E ein ping 10.10.10.9 source 192.168.6.7
.
user@C> ping 10.10.10.14 source 192.168.40.4 PING 10.10.10.14 (10.10.10.14): 56 data bytes 64 bytes from 10.10.10.14: icmp_seq=0 ttl=63 time=1.262 ms 64 bytes from 10.10.10.14: icmp_seq=1 ttl=63 time=1.202 ms ^C --- 10.10.10.14 ping statistics --- 2 packets transmitted, 2 packets received, 0% packet loss round-trip min/avg/max/stddev = 1.202/1.232/1.262/0.030 ms
user@E> ping 10.10.10.9 source 192.168.6.7 PING 10.10.10.9 (10.10.10.9): 56 data bytes 64 bytes from 10.10.10.9: icmp_seq=0 ttl=63 time=1.255 ms 64 bytes from 10.10.10.9: icmp_seq=1 ttl=63 time=1.158 ms ^C --- 10.10.10.9 ping statistics --- 2 packets transmitted, 2 packets received, 0% packet loss round-trip min/avg/max/stddev = 1.158/1.206/1.255/0.049 ms
Bedeutung
Die statischen Routen funktionieren, wenn die Pings funktionieren.
Überprüfen, ob BGP-Sitzungen eingerichtet sind
Zweck
Stellen Sie sicher, dass die BGP-Sitzungen aktiv sind.
Action!
Geben Sie im Betriebsmodus den show bgp summary
Befehl ein.
user@C> show bgp summary Groups: 1 Peers: 1 Down peers: 0 Table Tot Paths Act Paths Suppressed History Damp State Pending inet.0 2 0 0 0 0 0 Peer AS InPkt OutPkt OutQ Flaps Last Up/Dwn State|#Active/Received/Accepted/Damped... 192.168.6.7 18 147 147 0 1 1:04:27 0/2/2/0 0/0/0/0
user@E> show bgp summary Groups: 1 Peers: 1 Down peers: 0 Table Tot Paths Act Paths Suppressed History Damp State Pending inet.0 2 0 0 0 0 0 Peer AS InPkt OutPkt OutQ Flaps Last Up/Dwn State|#Active/Received/Accepted/Damped... 192.168.40.4 17 202 202 0 1 1:02:18 0/2/2/0 0/0/0/0
Bedeutung
Die Ausgabe zeigt, dass beide Geräte jeweils über einen Peer verfügen. Kein Peer ist ausgefallen.
Anzeigen von angekündigten Routen
Zweck
Stellen Sie sicher, dass Routen von BGP angekündigt werden.
Action!
Geben Sie im Betriebsmodus den show route advertising-protocol bgp neighbor
Befehl ein.
user@E> show route advertising-protocol bgp 192.168.6.7 inet.0: 5 destinations, 7 routes (5 active, 0 holddown, 0 hidden) Prefix Nexthop MED Lclpref AS path * 10.10.10.14/32 Self I * 192.168.6.7/32 Self I
user@C> show route advertising-protocol bgp 192.168.40.4 inet.0: 5 destinations, 7 routes (5 active, 0 holddown, 0 hidden) Prefix Nexthop MED Lclpref AS path * 10.10.10.8/30 Self I * 192.168.40.4/32 Self I
Bedeutung
Die send-static
Routing-Richtlinie exportiert die statischen Routen aus der Routing-Tabelle in BGP. BGP kündigt diese Routen zwischen den Peers an, da die BGP-Peersitzung eingerichtet wird.