Introduzione
Questo documento descrive l'errore RIB nel Border Gateway Protocol (BGP) e l'uso del comando bgp suppress-inactive
.
Prerequisiti
Requisiti
Cisco raccomanda la conoscenza di questo argomento:
- Border Gateway Protocol (BGP)
Componenti usati
Per questo documento, è stato usato un router Cisco con Cisco IOS® versione 15.6(2).
Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.
Errore BGP RIB
Quando un router riceve un pacchetto BGP UPDATE che contiene le informazioni NLRI (Network Layer Reachability Information), ossia un percorso, il pacchetto viene elaborato nell'ordine seguente:
Passaggio 1. BGP controlla la presenza di NLRI (prefisso ricevuto) rispetto a qualsiasi filtro BGP in entrata configurato sul router.
Passaggio 2. Se l'NLRI non è filtrato, il prefisso può essere visualizzato nella tabella BGP con show ip bgp
Passaggio 3. Se la tabella di routing ha già la stessa voce di prefisso/lunghezza prefisso con una distanza amministrativa (AD) inferiore, come mostrato nella show ip bgp
, BGP contrassegna la route ricevuta con RIB-Failure.
Nota: per ulteriori dettagli sul passo 2, fare riferimento alla sezione "Why Router Ignore Paths" nel documento BGP Best Path Selection Algorithm.
Nota: nel documento vengono usati indifferentemente i termini NLRI, prefisso e route.
Nell'esempio, le route 10.10.1.1/32 e 10.10.3.3/32 vengono ricevute tramite BGP e installate nella tabella di routing.
Gli output mostrano entrambe le route nella tabella BGP con l'utilizzo del show ip bgp
:
Router |
Router#show ip bgp
BGP table version is 5, local router ID is 10.2.3.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path
*>i 10.10.1.1/32 10.1.2.1 0 100 0 i
*> 10.10.3.3/32 10.2.3.3 0 0 2 i
Router# |
La tabella di routing mostra entrambe le route con il comando show ip route bgp
:
Router |
Router#show ip route bgp
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, m - OMP
n - NAT, Ni - NAT inside, No - NAT outside, Nd - NAT DIA
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
H - NHRP, G - NHRP registered, g - NHRP registration summary
o - ODR, P - periodic downloaded static route, l - LISP
a - application route
+ - replicated route, % - next hop override, p - overrides from PfR
& - replicated local route overrides by connected
Gateway of last resort is not set
10.0.0.0/8 is variably subnetted, 6 subnets, 2 masks
B 10.10.1.1/32 [200/0] via 10.1.2.1, 00:05:23
B 10.10.3.3/32 [20/0] via 10.2.3.3, 00:01:46 |
Un esempio di errore RIB può essere visto con le route statiche configurate per gli stessi prefissi, poiché hanno la precedenza su BGP nella tabella di routing a causa di un AD inferiore.
Nota: la distanza amministrativa (AD) delle route statiche è 1. L'AD delle route iBGP è 200. L'AD delle route eBGP è 20. In caso di parità, le route individuate tramite il protocollo con il valore AD più basso vengono selezionate e installate nella tabella di routing.
Gli output mostrano le route statiche aggiunte alla configurazione e il modo in cui queste sostituiscono le route BGP nella tabella di routing:
Router |
Router#show running-config | include ip route
ip route 10.10.1.1 255.255.255.255 Null0
ip route 10.10.3.3 255.255.255.255 Null0
Router#
Router#show ip route static
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, m - OMP
n - NAT, Ni - NAT inside, No - NAT outside, Nd - NAT DIA
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
H - NHRP, G - NHRP registered, g - NHRP registration summary
o - ODR, P - periodic downloaded static route, l - LISP
a - application route
+ - replicated route, % - next hop override, p - overrides from PfR
& - replicated local route overrides by connected
Gateway of last resort is not set
10.0.0.0/8 is variably subnetted, 6 subnets, 2 masks
S 10.10.1.1/32 is directly connected, Null0
S 10.10.3.3/32 is directly connected, Null0 Router# |
BGP contrassegna le route con una r nella tabella BGP che indica che sono in stato RIB-failure. Infatti le route ricevute tramite BGP non sono incluse nella tabella di routing.
Router |
Router#show ip bgp
BGP table version is 5, local router ID is 10.2.3.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path
r>i 10.10.1.1/32 10.1.2.1 0 100 0 i
r> 10.10.3.3/32 10.2.3.3 0 0 2 i
Router#
|
Il comando bgp suppress-inactive
È importante notare che BGP pubblicizza ancora le reti in stato RIB-Failure sui router Cisco con Cisco IOS.
Nota: EIGRP non annuncia le route non installate nella tabella di routing. Questi sono contrassegnati come Zero Successor nella tabella della topologia EIGRP.
Il comando bgp suppress-inactive
modifica questo comportamento per interrompere l'annuncio dei prefissi in stato RIB-Failure.
Nota: solo le reti in condizione RIB-Failure con hop successivo diverso in BGP rispetto alla stessa voce nella tabella di routing vengono eliminate con bgp suppress-inactive
Configurazione
Esempio di topologia di rete
Sul router R2, le route sono mostrate nella tabella BGP nella condizione RIB-Failure:
R2 |
R2#show ip bgp
BGP table version is 14, local router ID is 10.2.3.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path
r>i 10.10.1.1/32 10.1.2.1 0 100 0 i
r> 10.10.3.3/32 10.2.3.3 0 0 2 i
R2# |
Il motivo è che le route statiche sono configurate:
R2 |
R2#show running-config | include ip route
ip route 10.10.1.1 255.255.255.255 10.1.2.254
ip route 10.10.3.3 255.255.255.255 10.2.3.3
R2# |
- Il valore 10.10.1.1/32 per Static Route definisce un hop successivo a 10.1.2.254 che è diverso dall'hop successivo ricevuto tramite BGP, ossia 10.1.2.1.
- Il percorso statico per 10.10.3.3/32 definisce un hop successivo corrispondente all'hop successivo ricevuto tramite BGP, ossia 10.2.3.3.
Il comando show ip bgp rib-failure
È in grado di comunicare se l'hop successivo corrisponde o meno tra le route nelle tabelle di routing e dei rib-errori BGP RIB come mostrato nella colonna RIB-NH Matches.
R2 |
R2#show ip bgp rib-failure
Network Next Hop RIB-failure RIB-NH Matches
10.10.1.1/32 10.1.2.1 Higher admin distance No
10.10.3.3/32 10.2.3.3 Higher admin distance Yes
R2# |
In assenza di bgp suppress-inactive
Tuttavia, anche in stato RIB-Failure, R2 continua a pubblicizzare entrambe le reti al router R4 tramite BGP poiché si tratta del comportamento predefinito.
Nel router R4, è possibile vedere che entrambe le route sono ricevute tramite BGP:
R4 |
R4#show ip bgp
BGP table version is 3, local router ID is 10.2.4.4
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path
*> 10.10.1.1/32 10.2.4.2 0 1 i
*> 10.10.3.3/32 10.2.4.2 0 1 2 i
R4# |
Con bgp suppress-inactive
aggiunte alla configurazione BGP sul router R2, le route in stato RIB-Failure e con le corrispondenze RIB-NH impostate su No non vengono più annunciate:
R2 |
R2#show running-config partition router bgp 1
!
router bgp 1
bgp suppress-inactive
. . .
|
L'output successivo mostra che il router R4 non riceve la route 10.10.1.1/32 tramite BGP perché il router R2 non la annuncia più.
R4 |
R4#show ip bgp BGP table version is 4, local router ID is 10.2.4.4 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter, x best-external, a additional-path, c RIB-compressed, Origin codes: i - IGP, e - EGP, ? - incomplete RPKI validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path *> 10.10.3.3/32 10.2.4.2 0 1 2 i R4# |
In questo esempio è stato dimostrato che, per impostazione predefinita, BGP continua a pubblicizzare le route in condizione RIB-Failure. Si tratta delle route ricevute tramite BGP e non installate nella tabella di routing.
OSPF (Open Shortest Path First) bgp suppress-inactive
per modificare questo comportamento.
Informazioni correlate