Inhoud

Inleiding

Voorwaarden

Vereisten

Gebruikte componenten

Achtergrondinformatie

Conventies

Probleem

Symptomen

Recursieve routingfout

Oorzaken van recidiverend routingfalen

Oplossing

Routebeperking

Gerelateerde informatie

Inleiding

Dit document beschrijft hoe u problemen kunt oplossen bij flappende BGP-routes (border gateway protocol) die worden veroorzaakt door recursieve routingfouten.

Voorwaarden

Vereisten

Er zijn geen specifieke vereisten van toepassing op dit document.

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

Dit document beschrijft hoe u problemen kunt oplossen bij flappende BGP-routes (border gateway protocol) die worden veroorzaakt door recursieve routingfouten.

Vaak voorkomende symptomen van recursieve routingfout in BGP zijn:

- Constante verwijdering en herinvoering van BGP-routes in de routeringstabel.

- Verlies van connectiviteit naar bestemmingen geleerd via BGP.

Raadpleeg dit netwerkdiagram bij gebruik van dit document:

Netwerkdiagram

Raadpleeg deze configuraties bij het gebruik van dit document:

RTR-A

hostname RTR-A

!

interface Loopback0

ip address 10.10.10.10 255.255.255.255

!

interface Serial8/0

ip address 192.168.16.1 255.255.255.252

!

router bgp 1

bgp log-neighbor-changes

neighbor 10.20.20.20 remote-as 2

neighbor 10.20.20.20 ebgp-multihop 2

neighbor 10.20.20.20 update-source Loopback0

!

ip route 10.20.20.0 255.255.255.0 192.168.16.2

RTR-B

hostname RTR-B

!

interface Loopback0

ip address 10.20.20.20 255.255.255.255

!

interface Ethernet0/0

ip address 172.16.1.1 255.255.255.0

!

interface Serial8/0

ip address 192.168.16.2 255.255.255.252

!

router bgp 2

no synchronization

bgp log-neighbor-changes

network 10.20.20.20 mask 255.255.255.255

network 172.16.1.0 mask 255.255.255.0

neighbor 10.10.10.10 remote-as 1

neighbor 10.10.10.10 ebgp-multihop 2

neighbor 10.10.10.10 update-source Loopback0

no auto-summary

!

ip route 10.10.10.0 255.255.255.0 192.168.16.1

!

Conventies

Raadpleeg Cisco Technical Tips Conventions (Conventies voor technische tips van Cisco) voor meer informatie over documentconventies.

Probleem

Symptomen

Deze twee symptomen worden waargenomen met recursieve routeringsmislukking:

- De voortdurende flapping van BGP-geleerde routes in de IP-routeringstabel.

Neem de routeringstabel continu gedurende enkele minuten in acht om de flapping te zien.

RTR-A#show ip route

Codes: C - connected, S - static, I - IGRP, 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, E - EGP

i - IS-IS, L1 - ISIS level-1, L2 - ISIS level-2, ia - ISIS inter are

* - candidate default, U - per-user static route, o - ODR

P - periodic downloaded static route

Gateway of last resort is not set

10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks

B       10.20.20.20/32 [20/0] via 10.20.20.20, 00:00:35

S       10.20.20.0/24 [1/0] via 192.168.16.2

172.16.0.0/24 is subnetted, 1 subnets

B       172.16.1.0 [20/0] via 10.20.20.20, 00:00:35

10.0.0.0/32 is subnetted, 1 subnets

C       10.10.10.10 is directly connected, Loopback0

192.168.16.0/30 is subnetted, 1 subnets

C       192.168.16.0 is directly connected, Serial8/0

Opmerking: Het is handig om de show ip route te gebruiken | opnemen, 00:00 opdracht om flappende routes te observeren wanneer u te maken hebt met grote routingtabellen.

Nadat u ongeveer een minuut hebt gewacht, veranderen de resultaten van de opdracht van de show ip route in dit beeld:

RTR-A#show ip route

[..]

Gateway of last resort is not set

10.0.0.0/24 is subnetted, 1 subnets

S       10.20.20.0 [1/0] via 192.168.16.2

10.0.0.0/32 is subnetted, 1 subnets

C       10.10.10.10 is directly connected, Loopback0

192.168.16.0/30 is subnetted, 1 subnets

C       192.168.16.0 is directly connected, Serial8/0

Opmerking: de BGP-routes ontbreken in de vorige routeringstabel.

- Wanneer de BGP-routes in de routeringstabel staan, mislukt de verbinding met die netwerken.

Om dit waar te nemen, wanneer de routeringstabel van RTR-A BGP-geleerde route 172.16.1.0/24 in zijn routeringstabel heeft, pingt u om geldige host 172.16.1.1 te ontvangen.

RTR-A#show ip route 172.16.1.0

Routing entry for 172.16.1.0/24

Known via "bgp 1", distance 20, metric 0

Tag 2, type external

Last update from 10.20.20.20 00:00:16 ago

Routing Descriptor Blocks:

* 10.20.20.20, from 10.20.20.20, 00:00:16 ago

Route metric is 0, traffic share count is 1

AS Hops 1

RTR-A#ping 172.16.1.1

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 172.16.1.1, timeout is 2 seconds:

.....

Success rate is 0 percent (0/5)

RTR-A#

Recursieve routingfout

Op RTR-A, zie de route richting de BGP peer 10.20.20.20. De route fladdert constant tussen de twee volgende hop elke minuut of zo.

RTR-A#show ip route 10.20.20.20

Routing entry for 10.20.20.20/32

Known via "bgp 1", distance 20, metric 0

Tag 2, type external

Last update from 10.20.20.20 00:00:35 ago

Routing Descriptor Blocks:

* 10.20.20.20, from 10.20.20.20, 00:00:35 ago

Route metric is 0, traffic share count is 1

AS Hops 1

De route naar het BGP peer IP-adres wordt geleerd door BGP zelf, waardoor er een recursieve routing fout ontstaat.

Na ongeveer een minuut verandert de route in:

RTR-A#show ip route 10.20.20.20

Routing entry for 10.20.20.0/24

Known via "static", distance 1, metric 0

Routing Descriptor Blocks:

* 192.168.16.2

Route metric is 0, traffic share count is 1

Oorzaken van recidiverend routingfalen

Deze stappen beschrijven de oorzaak van recursieve routeringsfouten:

1. Raadpleeg de configuratie van RTR-A. In deze configuratie, wordt een statische route 10.20.20.0/24 gevormd om aan de direct verbonden volgende-hop 192.168.16.2 te richten. Met deze statische route wordt een BGP-sessie met peer RTR-B 10.20.20.20 ingesteld.

2. Rtr-B kondigt BGP-routes 172.16.1.0/24 en 10.20.20.20/32 aan naar RTR-A met zijn loopback IP-adres 10.20.20.20 als de volgende hop.

3. Rtr-A ontvangt BGP-routes aangekondigd door Rtr-B en probeert de 10.20.20.20/32 te installeren. Dit is specifieker dan 10.20.20.0/24 die reeds in RTR-A als statische route wordt gevormd. Omdat de langste overeenkomende route de voorkeur heeft, wordt 10.20.20.20/32 geprefereerd boven 10.20.20.0/24. Raadpleeg Routeselectie in Cisco-routers voor meer informatie. De geïnstalleerde route 10.20.20.20/32 heeft volgende-hop van 10.20.20.20 (RTR-B peering IP-adres) in de routeringstabel. Dit leidt tot recursieve routeringsmislukking aangezien de route naar 10.20.20.20/32 een volgende-hop van zich heeft.

Om de reden te begrijpen waarom recursieve routing in deze bepaalde situatie mislukt, moet u begrijpen hoe het routingalgoritme werkt. Voor om het even welke niet direct-verbonden route in de routeringstabel waarvan het volgende hopIP adres geen direct-verbonden interface van de router is, kijkt het algoritme recursief in de routeringstabel tot het een direct-verbonden interface vindt waaraan het de pakketten kan door:sturen.

In deze specifieke situatie leert Rtr-A een route naar het niet-direct-verbonden netwerk 10.20.20.20/32 met een niet-direct-verbonden volgende hop van 10.20.20.20 (zelf). Het routingalgoritme loopt in een recursieve routinglusmislukking omdat het geen direct-verbonden interface kan vinden waarnaar om pakketten te verzenden die voor 10.20.20.20/32 worden bestemd.

4. De router ontdekt dat deze niet-direct-verbonden route 10.20.20.20/32 een recursieve routeringsmislukking heeft en 10.20.20.20/32 uit de routeringstabel trekt. Derhalve worden alle BGP-geleerde routes met het volgende hopIP-adres 10.20.20.20 ook uit de routeringstabel verwijderd.

5. Het hele proces herhaalt zich uit stap 1. U kunt dit bevestigen als u het opdracht debug ip routing uitgeeft.

Opmerking:Voordat u een debug-opdracht uitvoert, voert u de debug-opdracht uit tegen een toegangscontrolelijst (ACL) voor een specifiek netwerk om de uitvoer van debug te beperken. In dit voorbeeld, vorm ACL om te beperken debug output.

RTR-A(config)#access-list 1 permit 10.20.20.20

RTR-A(config)#access-list 1 permit 172.16.1.0

RTR-A(config)#end

RTR-A#debug ip routing 1

IP routing debugging is on for access list 1

00:29:50: RT: add 10.20.20.20/32 via 10.20.20.20, bgp metric [20/0]

00:29:50: RT: add 172.16.1.0/24 via 10.20.20.20, bgp metric [20/0]

00:30:45: RT: recursion error routing 10.20.20.20 - probable routing loop

00:30:45: RT: recursion error routing 10.20.20.20 - probable routing loop

00:30:45: RT: recursion error routing 10.20.20.20 - probable routing loop

00:30:46: RT: recursion error routing 10.20.20.20 - probable routing loop

00:30:46: RT: recursion error routing 10.20.20.20 - probable routing loop

00:30:48: RT: recursion error routing 10.20.20.20 - probable routing loop

00:30:48: RT: recursion error routing 10.20.20.20 - probable routing loop

00:30:50: RT: del 10.20.20.20/32 via 10.20.20.20, bgp metric [20/0]

00:30:50: RT: delete subnet route to 10.20.20.20/32

00:30:50: RT: del 172.16.1.0/24 via 10.20.20.20, bgp metric [20/0]

00:30:50: RT: delete subnet route to 172.16.1.0/24

6. Als de routerecursie continu mislukt, wordt deze foutmelding weergegeven:

%COMMON_FIB-SP-6-FIB_RECURSION: 10.71.124.25/32 has too many (8) levels of

recursion during setting up switching info

%COMMON_FIB-SP-STDBY-6-FIB_RECURSION: 10.71.124.25/32 has too many (8)

levels of recursion during setting up switching info

Dit komt doordat TCP-heruitzendingen plaatsvinden op een MPLS-netwerk. Als een BGP keepalive-bericht eenmaal niet naar BGP-peer kan worden verzonden omdat de transportlink is verbroken, accepteert de buur BGP-peer geen verdere keepalive-pakketten, zelfs als TCP het mislukte bericht opnieuw doorgeeft via het back-uppad, en het leidt uiteindelijk tot BGP-peer-down met holdtime-verloopdatums. Dit probleem wordt alleen gezien wanneer MPLS op Catalyst 6500 of Cisco 7600 is geconfigureerd. Deze informatie is opgenomen in Cisco bug-id CSCsj89544 .

Opmerking: alleen geregistreerde Cisco-gebruikers kunnen toegang krijgen tot interne bug-informatie en andere tools.

Oplossing

De oplossing(en) voor dit probleem worden in detail toegelicht.

Voeg een specifieke statische route in RTR-A toe voor het BGP peer IP-adres (in dit geval 10.20.20.20).

RTR-A#configure terminal

Enter configuration commands, one per line.  End with CNTL/Z.

RTR-A(config)#ip route 10.20.20.20 255.255.255.255 192.168.16.2

De configuratie van een statische route voor prefix 10.20.20.20/32 zorgt ervoor dat een dynamisch-geleerde BGP-route 10.20.20.20/32 niet wordt geïnstalleerd in de routeringstabel en vermijdt zo de recursieve routeringsituatie. Raadpleeg Routeselectie in Cisco-routers voor meer informatie.

Opmerking: wanneer EBGP-peers zijn geconfigureerd om elkaar te bereiken met standaardroutes, wordt de BGP-buurt niet weergegeven. Dit wordt gedaan om route het klappen en het verpletteren van lijnen te vermijden.

Ping aan 172.16.1.1 bevestigt de oplossing.

RTR-A#ping 172.16.1.1

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 172.16.1.1, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 20/24/40 ms

Routebeperking

Routedemping is een BGP-functie die is ontworpen om de doorgifte van flappende routes over een internetwerk te minimaliseren. De aanbevolen waarden van de ISP zijn de standaardwaarden op Cisco IOS® en u hoeft deze opdracht alleen te configureren om deze in te schakelen.

router bgp <AS number>

bgp dampening

De demping-opdrachten stellen de standaardwaarden in voor de dempende parameters zoals Halftime= 15 minuten, hergebruik = 750, Onderdrukking = 2000 en Max Onderdrukking Time= 60. Deze waarden kunnen door de gebruiker worden geconfigureerd, maar Cisco raadt aan ze ongewijzigd te laten.

Gerelateerde informatie

- Wat betekent de "#%BGP-3-INSUFCHUNKS: Onvoldoende chunk-pools voor aspath" foutmelding?

- Waarom schakelen BGP-buren tussen inactiviteitstoestand, verbindingsstatus en actieve status in?

- Ondersteuning van IP Routing/BGP

- Cisco technische ondersteuning en downloads