Inleiding
In dit document wordt beschreven hoe u de voorwaardelijke advertentiefunctie van het Border Gateway Protocol (BGP) configureert en verifieert.
Voorwaarden
Vereisten
Cisco raadt je aan om kennis te hebben van dit onderwerp:
Gebruikte componenten
Dit document is niet beperkt tot specifieke software- en hardware-versies.
De informatie in dit document is gebaseerd op de apparaten in een specifieke laboratoriumomgeving. Alle apparaten die in dit document worden beschreven, hadden een opgeschoonde (standaard)configuratie. Als uw netwerk live is, moet u zorgen dat u de potentiële impact van elke opdracht begrijpt.
Achtergrondinformatie
De voorwaardelijke advertentiefunctie van het Border Gateway Protocol (BGP) biedt extra controle over routeadvertenties, afhankelijk van het bestaan van andere voorvoegsels in de BGP-tabel.
De in dit document beschreven voorwaardelijke BGP-advertentiefunctie is geïntroduceerd in Cisco IOS® Software Release 11.1 en 11.2 en is beschikbaar in latere versies.
Normaal gesproken worden routes verspreid, ongeacht het bestaan van een ander pad. De voorwaardelijke advertentiefunctie BGP maakt gebruik van de niet-bestaande kaart en de zoekwoorden adverteren-kaart van de buurman adverteren-kaart opdracht om routes te volgen door het routevoorvoegsel. Als een routevoorvoegsel niet aanwezig is in de uitvoer van de opdracht niet-bestaande kaart, wordt de route die is opgegeven door de opdracht adverteren-kaart aangekondigd. Deze functie is handig voor multihomed netwerken, waarbij sommige voorvoegsels alleen worden geadverteerd aan een van de providers als informatie van de andere provider niet aanwezig is (dit duidt op een storing in de peering sessie of gedeeltelijke bereikbaarheid).
De voorwaardelijke BGP-aankondigingen worden verzonden naast de normale aankondigingen die een BGP-router naar zijn collega's stuurt.
Conventies
Raadpleeg Cisco Technical Tips Conventions (Conventies voor technische tips van Cisco) voor meer informatie over documentconventies.
Configureren
Deze sectie bevat informatie over het configureren van de functies die in dit document worden beschreven.
Opmerking: Als u meer informatie wilt over de opdrachten die in dit document worden gebruikt, gebruikt u het hulpprogramma Cisco IOS Command Lookup. Alleen geregistreerde Cisco-gebruikers hebben toegang tot interne Cisco-tools en -informatie.
Netwerkdiagram
In dit document wordt de netwerkconfiguratie gebruikt die in dit diagram wordt weergegeven.
Hier wordt de loopback-interface van R103 gebruikt om 192.168.50.0/24 aan te kondigen aan R102. R102 heeft een BGP-netwerk, 172.16.16.0/24, dat standaard wordt aangekondigd aan zowel zijn externe BGP (eBGP) -peers, R101 en R103.
Netwerk instellen
Met de voorwaardelijke advertentiefunctie van BGP kunt u deze taken nu uitvoeren op R102:
-
Als 192.168.50.0/24 bestaat in de BGP-tabel van R102, moet u het 172.16.16.0/24-netwerk niet adverteren voor R101.
-
Als 192.168.50.0/24 niet bestaat in de BGP-tabel van R102, adverteert u het 172.16.16.0/24-netwerk naar R101.
Met Cisco IOS 12.2T of nieuwere versies kan het trefwoord exist-map ook worden gebruikt om deze taken uit te voeren:
-
Als 192.168.50.0/24 bestaat in de R102 BGP-tabel, adverteert u het 172.16.16.0/24-netwerk naar R101.
-
Als 192.168.50.0/24 niet bestaat in de R102 BGP-tabel, moet u het 172.16.16.0/24-netwerk niet adverteren voor R101.
De functie Voorwaardelijke reclame configureren
Dit document gebruikt de volgende configuraties:
Opmerking: in het voorbeeld wordt het niet-bestaande zoekwoord map besproken. Het gebruik van het gereserveerde woord exist-map is vergelijkbaar met dit.
| 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
!
|
De configuratie verifiëren
Voorbeeld 1
In dit voorbeeld wordt gecontroleerd hoe BGP eruit ziet wanneer 192.168.50.0/24 in de R102 BGP-tabel staat:
De configuratie verifiëren
Controleer eerst of 192.168.50.0/24 bestaat in de R102 BGP-tabel:
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
Aangezien 192.168.50.0/24 in de R102 BGP-tabel staat, mag R102 geen reclame maken voor 172.16.16.0/24 tot R101.
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
Controleer vervolgens de status van de voorwaardelijke advertentie op 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.
De output laat zien dat de voorwaardelijke advertentie wordt ingetrokken en dat de netwerken die overeenkomen met de routekaart ADVERTEREN niet worden aangekondigd aan de peer 10.10.10.1.
Om te bevestigen dat de routes die overeenkomen met de routekaart ADVERTISE niet worden aangekondigd aan R101, controleert u de BGP-tabel op R101:
R101#show ip bgp 172.16.16.0
% Network not in table
Voorbeeld 2
Dit voorbeeld laat zien hoe BGP eruit ziet wanneer netwerk 192.168.50.0/24 niet bestaat in de R102 BGP-tabel:
192.168.50.0/24 Bestaat niet in de R102 BGP-tabel
De stappen zijn:
1. Sluit de loopback-interface 0 op R103 af zodat R103 192.168.50.0/24 niet langer aankondigt aan R102.
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
2. Controleer of R102 192.168.50.0/24 niet leert en of het netwerk niet is opgenomen in de R102 BGP-tabel.
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.
3. Observeer hoe lang het duurt voordat de voorwaardelijke advertentie begint:
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
Opmerking: de foutopsporingsuitvoer kan enigszins verschillen, afhankelijk van de gebruikte softwareversie.
Het voorwaardelijke advertentieproces wordt geactiveerd door het BGP-scannerproces, dat elke 60 seconden wordt uitgevoerd. Dit betekent dat de maximale tijd voor de voorwaardelijke advertentie van kracht is 60 seconden. De voorwaardelijke advertentie kan eerder van kracht worden, afhankelijk van wanneer de gevolgde route uit de BGP-tabel wordt verwijderd en wanneer de volgende instantie van de BGP-scanner optreedt.
Voer deze opdrachten uit op R102 om de voorwaardelijke advertentiestatus op R102 voor de buur 10.10.10.1 te controleren:
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.
De R101 BGP-tabel en routeringstabel heeft 172.16.16.0/24, zoals hier weergegeven:
Opmerking: In deze voorbeelduitvoer worden de voorwaardelijke BGP-aankondigingen (netwerk 172.16.16.0/24) verzonden, naast de normale BGP-aankondigingen (netwerk 172.31.130.0/16) die een BGP-router naar zijn collega's stuurt.
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
Voorbeeld 3
Dit voorbeeld omvat de herinstallatie van het 192.168.50.0/24-netwerk in R102 om te zien hoe BGP verandert van Adverteren naar Terugtrekken.
Hoe BGP verandert van Adverteren om zich terug te trekken
Om 192.168.50.0/24 opnieuw te installeren, voert u het no shutdown commando uit om de interface loopback 0 op R103 naar UP te brengen.
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 maakt geen reclame meer voor 172.16.16.0/24 tot R101.
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.
Opmerking: In een realistisch scenario zijn AS1 en AS3 verbonden met het internet (Global BGP). Vandaar dat het netwerk 192.168.50.0/24 kon worden gepropageerd door middel van een wereldwijde bgp mesh van AS3 naar de AS1 (R101) BGP tabel. AS1 kon op zijn beurt het voorvoegsel 192.168.50.0 tot R102 doorgeven (afhankelijk van de beleidsovereenkomst tussen AS1 en AS2). Als R101 AS3-routes die zijn geleerd van het wereldwijde BGP-netwerk naar R102 voortbrengt, kan de voorwaardelijke advertentie mislukken als er geen extra controles op de niet-bestaande kaart worden geplaatst.
Om beter te begrijpen waarom voorwaardelijke reclame mislukt, overweeg dan dit scenario. AS1 leert 192.168.50.0/24 van het wereldwijde bgp-netwerk en kondigt 192.168.50.0/24 aan tot AS2 (R102). R102 leert ook het voorvoegsel 192.168.50.0/24 van zijn directe peering naar R103 (over de R102 naar R103 link). Wanneer de directe koppeling tussen R102 en R103 mislukt, verwacht u dat het voorvoegsel 192.168.50.0/24 ophoudt te bestaan in de BGP-tabel van R102 en dat de voorwaardelijke advertentie begint en het voorvoegsel 172.16.16.0/24 naar R101 aankondigt. Aangezien het voorvoegsel 192.168.50.0/24 echter nog steeds bestaat in de R102 BGP-tabel (geleerd van R101), wordt de voorwaardelijke advertentie onderbroken omdat het voorvoegsel in de niet-bestaande kaart nog steeds bestaat in de R102 BGP-tabel.
Om ervoor te zorgen dat het voorvoegsel 192.168.50.0/24 alleen wordt geleerd van de directe verbinding met AS3 (R102 tot R103) zodat voorwaardelijke reclame kan worden gestart, voegt u een instructie match as_path toe onder de niet-bestaande kaart die overeenkomt met het AS_PATH van voorvoegsel 192.168.50.0/24 dat is geleerd van directe verbinding (in dit geval AS 3). De reguliere expressie voor dit geval is ^3 tekens. Raadpleeg Reguliere expressies gebruiken in BGP voor meer informatie over reguliere expressies. Pas op dat je niet alleen het as-pad kunt matchen, en niet het prefix. Het overeenkomende as-pad kan alleen de overeenkomende criteria voor het overeenkomende prefix aanvullen. Met andere woorden, u kunt sommige voorvoegsels niet adverteren aan een buurman als er geen voorvoegsel bestaat uit een bepaald AS #.
De nieuwe configuratie van de R102 is hier te zien. De toevoegingen zijn vetgedrukt.
| 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
!
|
Gerelateerde informatie