Introduzione
In questo documento viene descritto cos'è l'errore RIB nel Border Gateway Protocol (BGP) e l'uso del comandobgp 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 sulla raggiungibilità al livello di rete (NLRI) - si tratta di un percorso; il pacchetto viene elaborato nell'ordine seguente:
Passaggio 1. BGP controlla l'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 ilshow ip bgp
comando.
Passaggio 3. Se la tabella di routing ha già lo stesso prefisso/prefisso/lunghezza con una distanza amministrativa inferiore (AD) come mostrato nellashow ip bgp
, BGP contrassegna la route ricevuta con RIB-Failure.
Nota: Per ulteriori informazioni sul passaggio 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 apprese 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 il bgp suppress-inactive
comando.
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 comandoshow ip bgp rib-failure
può informare sull'hop successivo che corrisponde o meno tra le route nella tabella di routing e il RIB-Failure BGP 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 dibgp suppress-inactive
, 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 l'bgp suppress-inactive
aggiunta 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.
Per modificare questo comportamento,bgp suppress-inactive
è disponibile il comando.
Informazioni correlate