In dem Dokumentationssatz für dieses Produkt wird die Verwendung inklusiver Sprache angestrebt. Für die Zwecke dieses Dokumentationssatzes wird Sprache als „inklusiv“ verstanden, wenn sie keine Diskriminierung aufgrund von Alter, körperlicher und/oder geistiger Behinderung, Geschlechtszugehörigkeit und -identität, ethnischer Identität, sexueller Orientierung, sozioökonomischem Status und Intersektionalität impliziert. Dennoch können in der Dokumentation stilistische Abweichungen von diesem Bemühen auftreten, wenn Text verwendet wird, der in Benutzeroberflächen der Produktsoftware fest codiert ist, auf RFP-Dokumentation basiert oder von einem genannten Drittanbieterprodukt verwendet wird. Hier erfahren Sie mehr darüber, wie Cisco inklusive Sprache verwendet.
Cisco hat dieses Dokument maschinell übersetzen und von einem menschlichen Übersetzer editieren und korrigieren lassen, um unseren Benutzern auf der ganzen Welt Support-Inhalte in ihrer eigenen Sprache zu bieten. Bitte beachten Sie, dass selbst die beste maschinelle Übersetzung nicht so genau ist wie eine von einem professionellen Übersetzer angefertigte. Cisco Systems, Inc. übernimmt keine Haftung für die Richtigkeit dieser Übersetzungen und empfiehlt, immer das englische Originaldokument (siehe bereitgestellter Link) heranzuziehen.
In diesem Dokument wird beschrieben, wie die Funktion für bedingtes Ankündigen des Border Gateway Protocol (BGP) konfiguriert und verifiziert wird.
Cisco empfiehlt, dass Sie über Kenntnisse in diesem Thema verfügen:
Dieses Dokument ist nicht auf bestimmte Software- und Hardware-Versionen beschränkt.
Die Informationen in diesem Dokument beziehen sich auf Geräte in einer speziell eingerichteten Testumgebung. Alle Geräte, die in diesem Dokument benutzt wurden, begannen mit einer gelöschten (Nichterfüllungs) Konfiguration. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die möglichen Auswirkungen aller Befehle kennen.
Die Funktion für bedingtes Border Gateway Protocol (BGP)-Advertisement bietet zusätzliche Kontrolle über Routenankündigungen, je nachdem, ob andere Präfixe in der BGP-Tabelle vorhanden sind.
Die in diesem Dokument beschriebene Funktion für bedingte BGP-Ankündigungen wurde in den Versionen 11.1 und 11.2 der Cisco IOS® Software eingeführt und ist in späteren Versionen verfügbar.
Im Normalfall werden Routen unabhängig vom Vorhandensein eines anderen Pfads propagiert. Die Funktion für bedingtes BGP-Advertisement verwendet die Schlüsselwörter non-exist-map und advertise-map des Befehls neighbor advertise-map, um Routen anhand des Routenpräfixes zu verfolgen. Wenn in der Ausgabe des Befehls non-exist-map kein Routen-Präfix vorhanden ist, wird die durch den Befehl advertise-map angegebene Route angekündigt. Diese Funktion ist für Multihomed-Netzwerke nützlich, in denen einige Präfixe nur dann an einen der Anbieter weitergegeben werden, wenn keine Informationen des anderen Anbieters vorliegen (dies weist auf einen Fehler in der Peering-Sitzung oder auf eine teilweise Erreichbarkeit hin).
Die bedingten BGP-Ankündigungen werden zusätzlich zu den normalen Ankündigungen gesendet, die ein BGP-Router an seine Peers sendet.
Weitere Informationen zu Dokumentkonventionen finden Sie unter Cisco Technical Tips Conventions (Technische Tipps von Cisco zu Konventionen).
In diesem Abschnitt erfahren Sie, wie Sie die in diesem Dokument beschriebenen Funktionen konfigurieren können.
Hinweis: Weitere Informationen zu den in diesem Dokument verwendeten Befehlen erhalten Sie mit dem Cisco IOS-Befehlsnachschlage-Tool. Nur registrierte Cisco Benutzer können auf interne Tools und Informationen von Cisco zugreifen.
In diesem Dokument wird die in dieser Abbildung gezeigte Netzwerkeinrichtung verwendet.
Hier wird die Loopback-Schnittstelle von R103 verwendet, um 192.168.50.0/24 an R102 anzukündigen. R102 verfügt über das BGP-Netzwerk 172.16.16.0/24, das standardmäßig beiden externen BGP (eBGP)-Peers, R101 und R103, mitgeteilt wird.
Mit der Funktion für bedingtes BGP-Advertisement können Sie in R102 folgende Aufgaben ausführen:
Wenn 192.168.50.0/24 in der BGP-Tabelle von R102 vorhanden ist, geben Sie das Netzwerk 172.16.16.0/24 nicht an R101 weiter.
Wenn 192.168.50.0/24 nicht in der BGP-Tabelle von R102 vorhanden ist, geben Sie das Netzwerk 172.16.16.0/24 an R101 weiter.
Mit Cisco IOS 12.2T oder höheren Versionen kann das Schlüsselwort exist-map auch für die folgenden Aufgaben verwendet werden:
Wenn 192.168.50.0/24 in der R102-BGP-Tabelle vorhanden ist, geben Sie das Netzwerk 172.16.16.0/24 an R101 weiter.
Wenn 192.168.50.0/24 nicht in der R102-BGP-Tabelle vorhanden ist, geben Sie das Netzwerk 172.16.16.0/24 nicht an R101 weiter.
In diesem Dokument werden folgende Konfigurationen verwendet:
Hinweis: Im Beispiel hier wird das Schlüsselwort non-exist-map behandelt. Die Verwendung des Schlüsselworts exist-map ist ähnlich.
R102 |
---|
hostname R102 ! interface Loopback0 ip address 172.16.16.1 255.255.255.0 ! interface Serial8/0 ip address 10.10.10.2 255.255.255.0 ! interface Serial9/0 ip address 10.10.20.2 255.255.255.0 ! router bgp 2 bgp log-neighbor-changes network 172.16.16.0 mask 255.255.255.0 network 172.31.130.0 neighbor 10.10.10.1 remote-as 1 neighbor 10.10.10.1 advertise-map ADVERTISE non-exist-map NON-EXIST !--- Advertises the routes matched in the route-map ADVERTISE (172.16.16.0/24) |
R103 |
---|
hostname R103 ! interface Loopback0 ip address 192.168.50.1 255.255.255.0 ! interface Serial9/0 ip address 10.10.20.3 255.255.255.0 ! router bgp 3 bgp log-neighbor-changes network 192.168.50.0 neighbor 10.10.20.2 remote-as 2 ! |
R101 |
---|
hostname R101 ! interface Loopback0 ip address 10.200.200.1 255.255.255.0 ! interface Serial8/0 ip address 10.10.10.1 255.255.255.0 ! router bgp 1 bgp log-neighbor-changes network 10.200.200.0 neighbor 10.10.10.2 remote-as 2 ! |
In diesem Beispiel wird überprüft, wie BGP aussieht, wenn sich 192.168.50.0/24 in der R102 BGP-Tabelle befindet:
Überprüfen Sie zunächst, ob 192.168.50.0/24 in der R102 BGP-Tabelle vorhanden ist:
R102#show ip bgp BGP table version is 6, local router ID is 172.16.16.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 172.16.16.0/24 0.0.0.0 0 32768 i *> 172.31.130.0 0.0.0.0 0 32768 i *> 192.168.50.0 10.10.20.3 0 0 3 i *> 10.200.200.0 10.10.10.1 0 0 1 i
Da 192.168.50.0/24 in der R102-BGP-Tabelle enthalten ist, darf R102 172.16.16.0/24 nicht an R101 weitergeben.
R102#show ip bgp neighbors 10.10.10.1 advertised-routes BGP table version is 6, local router ID is 172.16.16.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 172.31.130.0 0.0.0.0 0 32768 i *> 192.168.50.0 10.10.20.3 0 0 3 i !--- Note 172.16.16.0/24 is not advertised to neighbor 10.10.10.1. R102#show ip bgp 172.16.16.0 BGP routing table entry for 172.16.16.0/24, version 6 Paths: (1 available, best #1, table Default-IP-Routing-Table) Advertised to non peer-group peers: !--- This is not advertised to R101. 10.10.20.3 Local 0.0.0.0 from 0.0.0.0 (172.16.16.1) Origin IGP, metric 0, localpref 100, weight 32768, valid, sourced, local, best
Überprüfen Sie dann den Status der bedingten Werbung auf R102:
R102#show ip bgp neighbors 10.10.10.1 BGP neighbor is 10.10.10.1, remote AS 1, external link BGP version 4, remote router ID 10.200.200.1 BGP state = Established, up for 02:27:07 Last read 00:00:07, hold time is 180, keepalive interval is 60 seconds !--- Output suppressed. For address family: IPv4 Unicast BGP table version 6, neighbor version 6 Index 1, Offset 0, Mask 0x2 Condition-map NON-EXIST, Advertise-map ADVERTISE, status: Withdraw 1 accepted prefixes consume 36 bytes Prefix advertised 3, suppressed 0, withdrawn 1 Number of NLRIs in the update sent: max 1, min 0 !--- Output suppressed.
Die Ausgabe zeigt, dass die bedingte Ankündigung zurückgezogen wird und dass die Netzwerke, die mit der route-map ADVERTISE übereinstimmen, dem Peer 10.10.10.1 nicht angekündigt werden.
Um zu bestätigen, dass die Routen, die mit der Routing-Map "ADVERTISE" übereinstimmen, für R101 nicht angekündigt wurden, überprüfen Sie die BGP-Tabelle für R101:
R101#show ip bgp 172.16.16.0 % Network not in table
Dieses Beispiel zeigt, wie BGP aussieht, wenn das Netzwerk 192.168.50.0/24 nicht in der R102 BGP-Tabelle vorhanden ist:
Fahren Sie zunächst die Loopback-Schnittstelle 0 auf R103 herunter, sodass R103 nicht mehr 192.168.50.0/24 auf R102 meldet.
R103(config)#interface loopback 0 R103(config-if)#shutdown R103(config-if)# 03:29:36: %LINK-5-CHANGED: Interface Loopback0, changed state to administratively down
Stellen Sie anschließend sicher, dass R102 nicht 192.168.50.0/24 lernt und dass das Netzwerk nicht in der R102 BGP-Tabelle enthalten ist.
R102#show ip bgp BGP table version is 8, local router ID is 172.16.16.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 172.16.16.0/24 0.0.0.0 0 32768 i *> 172.31.130.0 0.0.0.0 0 32768 i *> 10.200.200.0 10.10.10.1 0 0 1 i !--- Note 192.168.50.0/24 is not present.
Beobachten Sie, wie lange es dauert, bis die bedingte Werbung beginnt:
R102#debug ip bgp updates *Mar 1 02:39:18.059: BGP(0): 10.10.20.3 rcv UPDATE about 192.168.50.0/24 -- withdrawn *Mar 1 02:39:18.059: BGP(0): no valid path for 192.168.50.0/24 *Mar 1 02:39:18.079: BGP(0): nettable_walker 192.168.50.0/24 no best path *Mar 1 02:39:18.219: BGP(0): 10.10.10.1 computing updates, afi 0, neighbor version 10, table version 11, starting at 0.0.0.0 *Mar 1 02:39:18.219: BGP(0): 10.10.10.1 send unreachable 192.168.50.0/24 *Mar 1 02:39:18.219: BGP(0): 10.10.10.1 send UPDATE 192.168.50.0/24 -- unreachable *Mar 1 02:39:18.219: BGP(0): 10.10.10.1 1 updates enqueued (average=27, maximum=27) *Mar 1 02:39:18.219: BGP(0): 10.10.10.1 update run completed, afi 0, ran for 0ms, neighbor version 10, start version 11, throttled to 11 *Mar 1 02:40:04.747: BPG(0): Condition NON-EXIST changes to Advertise *Mar 1 02:40:04.747: BGP(0): net 172.16.16.0/24 matches ADV MAP ADVERTISE: bump version to 12 *Mar 1 02:40:05.187: BGP(0): nettable_walker 172.16.16.0/24 route sourced locally *Mar 1 02:40:05.187: BGP(0): 10.10.10.1 computing updates, afi 0, neighbor version 11, table version 12, starting at 0.0.0.0 *Mar 1 02:40:05.187: BGP(0): 10.10.10.1 172.16.16.0/24 matches advertise map ADVERTISE, state: Advertise *Mar 1 02:40:05.187: BGP(0): 10.10.10.1 send UPDATE (format) 172.16.16.0/24, next 10.10.10.2, metric 0, path *Mar 1 02:40:05.187: BGP(0): 10.10.10.1 1 updates enqueued (average=52, maximum=52) *Mar 1 02:40:05.187: BGP(0): 10.10.10.1 update run completed, afi 0, ran for 0ms, neighbor version 11, start version 12, throttled to 12
Hinweis: Die Debugausgabe kann je nach verwendeter Softwareversion etwas abweichen.
Der Prozess der bedingten Ankündigung wird durch den BGP-Scanner-Prozess ausgelöst, der alle 60 Sekunden ausgeführt wird. Das bedeutet, dass die maximale Dauer für das Wirksamwerden der bedingten Ankündigung 60 Sekunden beträgt. Die bedingte Ankündigung kann früher wirksam werden, je nachdem, wann die verfolgte Route aus der BGP-Tabelle entfernt wird und wann die nächste Instanz des BGP-Scanners auftritt. Führen Sie die folgenden Befehle für R102 aus, um den Zustand der bedingten Ankündigung für R102 für den Nachbarn 10.10.10.1 zu überprüfen:
R102#show ip bgp neighbors 10.10.10.1 BGP neighbor is 10.10.10.1, remote AS 1, external link BGP version 4, remote router ID 10.200.200.1 BGP state = Established, up for 02:45:27 Last read 00:00:27, hold time is 180, keepalive interval is 60 seconds !--- Output suppressed. For address family: IPv4 Unicast BGP table version 12, neighbor version 12 Index 1, Offset 0, Mask 0x2 Condition-map NON-EXIST, Advertise-map ADVERTISE, status: Advertise 1 accepted prefixes consume 36 bytes Prefix advertised 6, suppressed 0, withdrawn 4 Number of NLRIs in the update sent: max 1, min 0 !--- Output suppressed.
Die R101 BGP-Tabelle und Routing-Tabelle enthält 172.16.16.0/24, wie hier gezeigt:
Hinweis: In dieser Beispielausgabe werden die bedingten BGP-Ankündigungen (network 172.16.16.0/24) zusätzlich zu den normalen BGP-Ankündigungen (network 172.31.130.0/16) gesendet, die ein BGP-Router an seine Peers sendet.
R101#show ip bgp BGP table version is 18, local router ID is 10.200.200.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 172.16.16.0/24 10.10.10.2 0 0 2 i *> 172.31.130.0 10.10.10.2 0 0 2 i *> 10.200.200.0 0.0.0.0 0 32768 i
R101#show ip route bgp 172.16.0.0/24 is subnetted, 1 subnets B 172.16.16.0 [20/0] via 10.10.10.2, 00:09:32 B 172.31.130.0/16 [20/0] via 10.10.10.2, 02:48:46
In diesem Beispiel wird das Netzwerk 192.168.50.0/24 in R102 neu installiert, um zu sehen, wie sich das BGP von Advertise in Withdraw (Anzeigen) ändert.
Um 192.168.50.0/24 neu zu installieren, geben Sie den no shutdown Befehl ein, um die Schnittstelle Loopback 0 auf R103 auf "UP" zu setzen.
R103(config)#interface loopback 0
R103(config-if)#no shutdown
R103(config-if)#
03:49:06: %LINK-3-UPDOWN: Interface Loopback0,
changed state to up
03:49:07: %LINEPROTO-5-UPDOWN: Line protocol on
Interface Loopback0, changed state to up
!--- R102 kicks in conditional advertisement the moment the
!--- conditional network is received again.
*Mar 1 02:51:42.227: BGP(0): 10.10.20.3 rcvd UPDATE w/ attr:
nexthop 10.10.20.3, origin i, metric 0, path 3
*Mar 1 02:51:42.227: BGP(0): 10.10.20.3 rcvd 192.168.50.0/24
*Mar 1 02:51:42.247: BGP(0): Revise route installing 192.168.50.0/24 ->
10.10.20.3 to main IP table
*Mar 1 02:51:42.379: BGP(0): 10.10.10.1 computing updates, afi 0,
neighbor version 12, table version 13, starting at 0.0.0.0
*Mar 1 02:51:42.379: BGP(0): 10.10.10.1 send UPDATE (format)
192.168.50.0/24, next 10.10.10.2, metric 0, path 3
*Mar 1 02:51:42.379: BGP(0): 10.10.10.1 1 updates enqueued
(average=47, maximum=47)
*Mar 1 02:51:42.379: BGP(0): 10.10.10.1 update run completed, afi 0,
ran for 0ms, neighbor version 12, start version 13, throttled to 13
*Mar 1 02:52:09.159: BPG(0): Condition NON-EXIST changes to Withdraw
*Mar 1 02:52:09.159: BGP(0): net 172.16.16.0/24 matches ADV MAP
ADVERTISE: bump version to 14
*Mar 1 02:52:09.499: BGP(0): nettable_walker 172.16.16.0/24 route
sourced locally
*Mar 1 02:52:11.559: BGP(0): 10.10.10.1 computing updates, afi 0,
neighbor version 13, table version 14, starting at 0.0.0.0
*Mar 1 02:52:11.559: BGP(0): 10.10.10.1 172.16.16.0/24 matches advertise
map ADVERTISE, state: Withdraw
*Mar 1 02:52:11.559: BGP(0): 10.10.10.1 send unreachable 172.16.16.0/24
*Mar 1 02:52:11.559: BGP(0): 10.10.10.1 send UPDATE 172.16.16.0/24 -- unreachable
*Mar 1 02:52:11.559: BGP(0): 10.10.10.1 1 updates enqueued (average=27, maximum=27)
*Mar 1 02:52:11.559: BGP(0): 10.10.10.1 update run completed, afi 0, ran for 0ms,
neighbor version 13, start version 14, throttled to 14
R102 informiert R101 nicht mehr über 172.16.16.0/24.
R102#show ip bgp neighbors 10.10.10.1 advertised-routes
BGP table version is 14, local router ID is 172.16.16.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> 172.31.130.0 0.0.0.0 0 32768 i
*> 192.168.50.0 10.10.20.3 0 0 3 i
!--- Note 172.16.16.0/24 is not advertised.
R102#show ip bgp neighbors 10.10.10.1
BGP neighbor is 10.10.10.1, remote AS 1, external link
BGP version 4, remote router ID 10.200.200.1
BGP state = Established, up for 03:01:32
Last read 00:00:31, hold time is 180, keepalive interval is 60 seconds
Neighbor capabilities:
!--- Output supressed.
For address family: IPv4 Unicast
BGP table version 14, neighbor version 14
Index 1, Offset 0, Mask 0x2
Condition-map NON-EXIST, Advertise-map ADVERTISE, status: Withdraw
1 accepted prefixes consume 36 bytes
Prefix advertised 7, suppressed 0, withdrawn 5
Number of NLRIs in the update sent: max 1, min 0
!--- Output supressed.
Hinweis: In einem realen Szenario sind AS1 und AS3 mit dem Internet verbunden (globales BGP). Daher kann das Netzwerk 192.168.50.0/24 über ein globales BGP-Mesh von AS3 an die AS1 (R101)-BGP-Tabelle propagiert werden. AS1 wiederum könnte das Präfix 192.168.50.0 an R102 weitergeben (abhängig von der Richtlinienvereinbarung zwischen AS1 und AS2). Wenn R101 AS3-Routen, die vom globalen BGP-Mesh empfangen wurden, an R102 weitergibt, kann die bedingte Ankündigung fehlschlagen, wenn in der nicht vorhandenen Zuordnung keine zusätzlichen Prüfungen durchgeführt werden.
Um besser zu verstehen, warum bedingte Werbung fehlschlägt, sollten Sie dieses Szenario in Betracht ziehen. AS1 erhält 192.168.50.0/24 aus dem globalen BGP-Mesh und kündigt 192.168.50.0/24 für AS2 (R102) an. R102 lernt auch das Präfix 192.168.50.0/24 von seinem direkten Peering zu R103 (über die R102-zu-R103-Verbindung). Wenn die direkte Verbindung zwischen R102 und R103 ausfällt, erwarten Sie, dass das Präfix 192.168.50.0/24 nicht mehr in der BGP-Tabelle von R102 vorhanden ist und die bedingte Ankündigung beginnt und das Präfix 172.16.16.0/24 zu R101 ankündigt. Da das Präfix 192.168.50.0/24 jedoch weiterhin in der R102-BGP-Tabelle vorhanden ist (aus R101 gelernt), bricht die bedingte Ankündigung, da das Präfix in der nicht vorhandenen Zuordnung weiterhin in der R102-BGP-Tabelle vorhanden ist. Um sicherzustellen, dass das Präfix 192.168.50.0/24 nur von der Direktverbindung zu AS3 (R102 bis R103) bezogen wird, damit bedingte Ankündigung ausgelöst wird, fügen Sie eine match as_path-Anweisung unter der nicht vorhandenen Zuordnung hinzu, die mit dem AS_PATH des Präfix 192.168.50.0/24 übereinstimmt, das von der Direktverbindung (in diesem Fall AS 3 ist) bezogen wurde. ). Der reguläre Ausdruck für diese Groß- und Kleinschreibung ist ^3 . Weitere Informationen zu regulären Ausdrücken finden Sie unter Using Regular Expressions in BGP . Achten Sie darauf, dass Sie nicht nur den as-Pfad und nicht das Präfix zuordnen können. Der Match-as-path kann nur die Zuordnungskriterien für das zugeordnete Präfix ergänzen. Anders ausgedrückt: Sie können einem Nachbarn einige Präfixe nicht ankündigen, wenn von einer bestimmten AS-Nummer kein Präfix vorhanden ist.
Die neue Konfiguration für R102 ist hier dargestellt. Die Zusätze sind fett gedruckt.
R101 |
---|
hostname R102 ! interface Loopback0 ip address 172.16.16.1 255.255.255.0 ! interface Serial8/0 ip address 10.10.10.2 255.255.255.0 ! interface Serial9/0 ip address 10.10.20.2 255.255.255.0 ! router bgp 2 bgp log-neighbor-changes network 172.16.16.0 mask 255.255.255.0 network 172.31.130.0 neighbor 10.10.10.1 remote-as 1 neighbor 10.10.10.1 advertise-map ADVERTISE non-exist-map NON-EXIST neighbor 10.10.20.3 remote-as 3 ! ip route 172.31.130.0 255.255.0.0 Null0 ! ip as-path access-list 1 permit ^3 ! access-list 60 permit 172.16.16.0 0.0.0.255 access-list 65 permit 192.168.50.0 0.0.0.255 ! route-map NON-EXIST permit 10 match ip address 65 match as-path 1 ! route-map ADVERTISE permit 10 match ip address 60 ! |
Zugehörige Informationen
Überarbeitung | Veröffentlichungsdatum | Kommentare |
---|---|---|
4.0 |
26-Jun-2023 |
Rezertifizierung |
1.0 |
28-Dec-2001 |
Erstveröffentlichung |