Dit document helpt problemen oplossen bij het doorsturen van Cisco Express (CEF) routekaarten en suboptimale routing veroorzaakt door een geldig gecached Cisco Express doorsturen nabijheid die de onjuiste interface uitwijst. Een nabijheid met een onjuiste interface wordt om deze redenen gecreëerd:
Een statische route wijst rechtstreeks naar een interface met meerdere toegangsrechten.
Een geldige Cisco Express Forwarding nabijheid wordt gebouwd als resultaat van ARP-antwoorden (Proxy Address Resolutie Protocol).
Gebruik deze middelen om een aantal van de concepten die in dit document worden gebruikt, beter te begrijpen:
Dit document is niet beperkt tot specifieke software- en hardware-versies.
Raadpleeg Cisco Technical Tips Conventions (Conventies voor technische tips van Cisco) voor meer informatie over documentconventies.
De router R1 sluit aan op R3 via Seriële 8/0, en de router R2 verbindt met R4 via Seriële 8/0. R1 en R2 worden aangesloten via Ethernet 0/0, zoals dit cijfer toont.
R2 ontvangt het prefix van het protocol voor externe grenzen (eBGP) voor updates van 10.10.34.0/24 van R4. R2 verspreidt dit voorvoegsel naar R1 via interne BGP (iBGP).
R2 heeft een statische standaardroute (0.0.0.0/0) die op R4's seriële 8/0 IP-adres 10.10.24.4 wijst.
R2 heeft ook een back-up drijvende standaardroute (IP route 0.0.0.0.0.0.0 Ethernet0/0 10) die naar interface Ethernet 0/0 op route pakketten wijst als de seriële verbinding tussen R2 en R4 faalt.
R1 heeft een standaardroute die op R3's seriële 8/0 met het IP-adres 10.10.13.3 wijst.
IP-verkeer dat voor 10.10.34.0/24 is bestemd, wordt tussen R1 en R2 uitgelijnd. Neem de opdrachtoutput van het tracoute op R1 in acht.
R1#traceroute 10.10.34.4 Type escape sequence to abort. Tracing the route to 10.10.34.4 1 192.168.12.2 20 msec 20 msec 20 msec 2 192.168.12.1 8 msec 12 msec 8 msec 3 192.168.12.2 8 msec 8 msec 12 msec 4 192.168.12.1 12 msec ...
Merk op dat verkeer bestemd voor 10.10.34.4 hop tussen R1's Ethernet 0/0 (IP-adres 192.168.12.1) en R2's Ethernet 0/0 (IP-adres 192.168.12.2). Idealiter moet het verkeer van R1 dat voor 10.10.34.0/24 is bestemd naar R2 gaan vanwege de iBGP-aangeleerde voorvoegsel 10.10.34.0/24. Vervolgens moet het verkeer vanaf R2 naar R4 leiden. De opdrachtoutput van de traceroute bevestigt echter een routinglus tussen R1 en R2.
R1 |
---|
hostname R1 ! ip subnet-zero ! ip cef ! interface Ethernet0/0 ip address 192.168.12.1 255.255.255.0 ! interface Serial8/0 ip address 10.10.13.1 255.255.255.0 ! router bgp 11 no synchronization bgp log-neighbor-changes neighbor 10.10.13.3 remote-as 12 neighbor 192.168.12.2 remote-as 11 no auto-summary ! ip route 0.0.0.0 0.0.0.0 10.10.13.3 |
R2 |
---|
hostname R2 ! ip cef ! interface Ethernet0/0 ip address 192.168.12.2 255.255.255.0 ! interface Serial8/0 ip address 10.10.24.2 255.255.255.0 ! router bgp 11 no synchronization bgp log-neighbor-changes network 192.168.12.0 neighbor 10.10.24.4 remote-as 10 neighbor 192.168.12.1 remote-as 11 neighbor 192.168.12.1 next-hop-self no auto-summary ! ip route 0.0.0.0 0.0.0.0 10.10.24.4 ip route 0.0.0.0 0.0.0.0 Ethernet0/0 10 ! |
Aangezien de pakketten die voor 10.10.34.4 bestemd zijn van een looped tussen R1 en R2 worden voorzien, begin de probleemoplossing. Controleer eerst de IP-routing op R1. De opdrachtoutput van show ip route 10.10.34.0 bevestigt de volgende hop van 192.168.12.2 voor pakketten die bestemd zijn voor 10.10.34.0/24. Deze overeenkomsten met de eerste hop van de traceroute-opdracht, waar pakketten naar volgende hop worden verzonden 12.2, dat bevestigt dat de pakketten correct op R1 worden geschakeld.
R1#show ip route 10.10.34.0 Routing entry for 10.10.34.0/24 Known via "bgp 11", distance 200, metric 0 Tag 10, type internal Last update from 192.168.12.2 00:22:59 ago Routing Descriptor Blocks: * 192.168.12.2, from 192.168.12.2, 00:22:59 ago Route metric is 0, traffic share count is 1 AS Hops 1
De volgende stap is om de IP-routingtabel van R2 te controleren. Zoals deze opdrachtoutput van ip route 10.10.34.0 toont, moeten pakketten die bestemd zijn voor 10.10.34.0 naar volgende hop 10.10.24.4 worden verzonden op Serial 8/0. Niettemin, is de opdracht overgeschakeld naar R1 op het IP-adres 192.168.12.1. Verder onderzoek is nodig naar de reden waarom pakketten die bestemd zijn voor 10.10.34.0 op R2 worden overgeschakeld op volgende hop 192.168.12.1 (zoals in de uitvoer van het tracoute-opdracht) in plaats van 10.10.12 4.4.
R2#show ip route 10.10.34.0 Routing entry for 10.10.34.0/24 Known via "bgp 11", distance 20, metric 0 Tag 10, type external Last update from 10.10.24.4 00:42:32 ago Routing Descriptor Blocks: * 10.10.24.4, from 10.10.24.4, 00:42:32 ago Route metric is 0, traffic share count is 1 AS Hops 1
Op dit punt is het belangrijk om te begrijpen dat in een Cisco Express Forwarding-geschakeld netwerk een pakket door:sturen beslissing bestaat uit:
Een routingtabel voor de langste prefixmatch.
een raadpleging van de verzendende informatiebank (FIB).
Aangezien de routingtabel wordt geverifieerd, kunt u de Cisco Express Forwarding FIB bekijken. In de resultaten van de show ip cef 10.10.34.4 detail opdracht, let op dat Cisco Express Forwarding switches 10.10.34.4 out Ethernet 0/0 in plaats van volgende hop 10.10.24.4 out seriële 8/0 (zoals in de show ip route 10.10.3 4.0 opdrachtoutput). Deze discrepantie creëert maas in het netwerk.
R2#show ip cef 10.10.34.4 detail 10.10.34.4/32, version 19, cached adjacency 10.10.34.4 0 packets, 0 bytes via 10.10.34.4, Ethernet0/0, 0 dependencies next hop 10.10.34.4, Ethernet0/0 valid cached adjacency
De volgende stap is om naar de Cisco Express Forwarding nabijgelegen tabel te kijken en te zien hoe Cisco Express Forwarding leert om pakketten uit Ethernet 0/0 te switches. Merk op dat de nabijheid wegens ARP wordt gebouwd.
R2#show adjacency ethernet 0/0 detail | begin 10.10.34.4 IP Ethernet0/0 10.10.34.4(5) 50 packets, 2100 bytes AABBCC006500AABBCC0066000800 ARP 03:02:00
Dit is een bevestiging van de ip-opdrachtoutput.
R2#show ip arp 10.10.34.4 Protocol Address Age (min) Hardware Addr Type Interface Internet 10.10.34.4 60 aabb.cc00.6500 ARPA Ethernet0/0
Zoek vervolgens uit waarom deze ARP ingang werd gecreëerd wanneer er een IP route in de Routing Tabel is. Kijk nog eens naar de routingtabel.
R2#show run | include ip route 0.0.0.0 ip route 0.0.0.0 0.0.0.0 10.10.24.4 ip route 0.0.0.0 0.0.0.0 Ethernet0/0 10
Als de seriële verbinding tussen R2 en R4 faalt, wordt al het verkeer routeerd met het gebruik van een drijvende statische route uit Ethernet 0/0 omdat R2 een drijvende statische route heeft die naar de multi-access interface Ethernet 0/0 wijst, en niet naar het Ethernet IP adres 192.168.12.1 van R1. Daarom stuurt router R2 voor alle onbekende bestemmingen een ARP-verzoek via Ethernet interface. In dit geval is R2 de specifiekere route naar het 10.10.34.0 netwerk kwijtgeraakt. Daarom, wanneer het gegevenspakket voor de hosts op dit netwerk aankomt, genereert het een ARP-verzoek via de Ethernet-interface. Omdat Proxy ARP standaard ingeschakeld is op R1's Ethernet-interface en er een standaardroute is die naar R3 wijst, reageert het ARP opnieuw met een proxy-antwoord met een eigen MAC-adres. Daarom stuurt R2 al het verkeer naar R1, en R1 al het verkeer door met gebruikmaking van de standaardroute (0.0.0.0/0) naar AS 12, en vervolgens naar 10.10.34.4 via het internet.
Wanneer R2 het proxy ARP-antwoord van R1 ontvangt, creëert het een /32 geldige Cisco Express Forwarding nabijheid die Ethernet 0/0 wijst. Deze Cisco Express Forwarding-ingang vervalt niet tot de proxy ARP-router R1 op het Ethernet-segment aanwezig is. Zodoende blijft de ingang van 2002/32 van Cisco Express Forwarding-switch voor de pakketten worden gebruikt, zelfs nadat de seriële verbinding tussen R2 en R4 is back-up en de routingtabel standaardroute wijst naar serieel 8/0 naar AS 10. Het resultaat is een routing loop.
Kijk tot slot naar de logs en kijk of de seriële link (s8/0) is geblazen. Dit veroorzaakt dat een drijvende statische route in de routing tabel wordt geïnstalleerd die dan tot proxy ARP leidt en resulteert in de installatie van een Cisco Express Forwarding-ingang van 10.10.34.4/32 in het FIB Express Forwarding van Cisco Express.
R2#show log | beg Ethernet0/0 [..] %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial8/0, changed state to down %BGP-5-ADJCHANGE: neighbor 10.10.24.4 Down Interface flap %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial8/0, changed state to up %BGP-5-ADJCHANGE: neighbor 10.10.24.4 Up
De blogs bevestigen de oorzaak. Samengevat tonen deze stappen de opeenvolging van gebeurtenissen:
Seriële 8/0 op R2 daalt.
R2 heeft een pakje bestemd voor 10.10.34.4.
R2 volgt de back-upstandaardroute rechtstreeks naar Ethernet 0/0.
R2 stuurt een ARP-aanvraag voor 10.10.34.4.
R1 (Proxy) antwoordt op het ARP-verzoek met zijn eigen MAC-adres voor R2.
R2 heeft nu een ARP ingang voor 10.10.34.4 met het adres van MAC van R1.
R2 maakt een Cisco Express Forwarding nabijheid voor 10.10.34.4 en een ingang van 10.10.34.4/32 wordt geïnstalleerd in de Cisco Express Forwarding Tabel (FIB) voor deze bestemming via Ethernet 0/0. Deze ingang van Cisco Express Forwarding wordt gehandhaafd zolang de ARP ingang geldig is of tot R1 op het Ethernet-segment aanwezig is.
Seriële 8/0 op R2 komt naar boven.
R2 leert eBGP route 10.10.34.0/24 van R4 met volgende hop 10.10.24.4 en installeert de route in de IP routingtabel.
R1 leert voorvoegsel 10.10.34.0/24 via iBGP van R2 en installeert het in de IP routingtabel.
R1 heeft een pakje bestemd voor 10.10.34.4.
R1 kijkt in zijn routingtabel, past iBGP prefixroutes aan R2 aan, en routes aan R2.
R2 ontvangt een pakket dat voor 10.10.34.4 bestemd is. Aangezien het reeds een Cisco Express Forwarding ingang voor 10.10.34.4/32 heeft die aan Ethernet 0/0 in zijn FIB tabel met het adres van MAC van R1 wijst, stuurt het het pakket terug naar R1 zonder de routingtabel te bekijken. Dit creëert een lus.
Vervang de drijvende statische route die direct aan Ethernet 0/0 wijst met één die aan een volgende hopadres wijst.
R2(config)#no ip route 0.0.0.0 0.0.0.0 ethernet 0/0 10 R2(config)# ip route 0.0.0.0 0.0.0.0 192.168.12.1 10
Wanneer u een statische route hebt die naar het volgende hoop IP adres wijst in plaats van een multi-access interface Ethernet 0/0, houdt het R2 tegen om ARP verzoeken voor alle bestemmingen te verzenden. De pakketten worden routed en geschakeld gebaseerd op de volgende hop 192.168.12.1. Daarom worden om het even welke ARP Uitsturen van Cisco Express ingangen en lijnen vermeden.
Neem de ingang van Cisco Express Forwarding op R2 in acht die aan de juiste interface seriële 8/0 wijst.
R2#show ip cef 10.10.34.4 10.10.34.0/24, version 32, cached adjacency to Serial8/0 0 packets, 0 bytes via 10.10.24.4, 0 dependencies, recursive next hop 10.10.24.4, Serial8/0 via 10.10.24.0/24 valid cached adjacency