Inhalt

Einleitung

Voraussetzungen

Anforderungen

Verwendete Komponenten

Hintergrundinformationen

Konventionen

Konfigurieren

Netzwerkdiagramm

Konfigurieren der Funktion für bedingte Ankündigung

Überprüfen der Konfiguration

Beispiel 1

Beispiel 2

Beispiel 3

Zugehörige Informationen

Einleitung

In diesem Dokument wird beschrieben, wie die Funktion für bedingtes Ankündigen des Border Gateway Protocol (BGP) konfiguriert und verifiziert wird.

Voraussetzungen

Anforderungen

Cisco empfiehlt, dass Sie über Kenntnisse in diesem Thema verfügen:

- BGP-Anwenderberichte

Verwendete Komponenten

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.

Hintergrundinformationen

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.

Konventionen

Weitere Informationen zu Dokumentkonventionen finden Sie unter Cisco Technical Tips Conventions (Technische Tipps von Cisco zu Konventionen).

Konfigurieren

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.

Netzwerkdiagramm

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.

Netzwerk-Setup

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.

Konfigurieren der Funktion für bedingte Ankündigung

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)

!--- only if the routes matched in route-map NON-EXIST (192.168.50.0/24)

!--- do not exist in the BGP table.

neighbor 10.10.20.3 remote-as 3

!

ip route 172.31.130.0 255.255.0.0 Null0

!

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

!

route-map ADVERTISE permit 10

match ip address 60

!

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

!

Überprüfen der Konfiguration

Beispiel 1

In diesem Beispiel wird überprüft, wie BGP aussieht, wenn sich 192.168.50.0/24 in der R102 BGP-Tabelle befindet:

Überprüfen der Konfiguration

Ü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

Beispiel 2

Dieses Beispiel zeigt, wie BGP aussieht, wenn das Netzwerk 192.168.50.0/24 nicht in der R102 BGP-Tabelle vorhanden ist:

192.168.50.0/24 ist in der R102 BGP-Tabelle nicht vorhanden

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

Beispiel 3

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.

Wie sich das BGP von "Advertisement" zu "Withdraw" ä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

- BGP: Häufig gestellte Fragen

- Fallstudien zum Border Gateway Protocol (BGP)

- Technischer Support und Downloads von Cisco