Dit document gaat ervan uit dat u vooraf kennis hebt gemaakt van basisconcepten van Multiprotocol Label Switching (MPLS). MPLS-switched pakketten worden verzonden op basis van informatie in de Label Forwarding Information Base (LFIB). Een pakket dat een router via een label-switched interface verlaat, ontvangt labels met waarden die door de LFIB zijn gespecificeerd. Etiketten worden gekoppeld aan bestemmingen in de LFIB volgens Forwarding Equivalence Class (FECs). Een FEC is een groepering van IP-pakketten die over hetzelfde pad worden verzonden en dezelfde verzendingsbehandeling krijgen. Het meest eenvoudige voorbeeld van een FEC is alle pakketten die naar bepaalde vorm van netwerk reizen. Een ander voorbeeld zou kunnen zijn alle pakketten met een bepaald IP voorrang die naar een volgende hop van het Protocol van de Binnenkant (IGP) verbonden met een groep van de Protocol van de Gateway van de Grens (BGP) routes gaat.
De Label Information Base (LIB) is een structuur waarin etiketten worden opgeslagen die van alle buren van het Label Distribution Protocol (LDP) of het TDP-protocol (Distributed Distributed Protocol) zijn ontvangen. Voor de implementatie van Cisco, worden de etiketten verzonden voor alle routes in de routingtabel van een bepaalde router (met uitzondering van BGP routes), aan alle LDP of TDP buren. Alle etiketten die van buren worden ontvangen, blijven in de LIB, ongeacht of zij al dan niet worden gebruikt. Indien de etiketten van een stroomafwaarts gelegen buur voor hun FEC worden ontvangen, worden de in de LIB opgeslagen etiketten gebruikt voor het doorsturen van verpakkingen door de LFIB. Betekenis de etiketten die voor het verzenden worden gebruikt zijn die ontvangen van de volgende hop van een router naar een bestemming, volgens Cisco Express Forwarding (CEF) van de router en het routeren van tabellen.
Als de labelbindingen van een stroomafwaarts buur voor prefixes (inclusief subnetmasker) worden ontvangen die niet verschijnen in de routing van een router en CEF-tabellen, zullen deze bindingen niet gebruikt worden. Op een zelfde manier, als een router etiketten voor een netwerk/net masker paar adverteert, dat niet correspondeert met de routing updates die ook door deze router voor het zelfde net/net masker paar worden geadverteerd, zullen deze etiketten niet door stroomopwaarts buren worden gebruikt en zal het Label Switched Path (LSP) tussen deze apparaten mislukken.
Dit document geeft een voorbeeld van een dergelijke LSP-storing en een aantal mogelijke oplossingen. Het document bestrijkt één scenario waarin de labelbindingen die door een router worden ontvangen niet worden gebruikt om MPLS-switched pakketten door te sturen. De stappen die worden gebruikt om dit probleem te diagnosticeren en te corrigeren, zijn echter van toepassing op alle problemen met labelbindingen en de LFIB op routers die voor MPLS zijn geconfigureerd.
Er zijn geen specifieke vereisten van toepassing op dit document.
De informatie in dit document is gebaseerd op deze softwareversie:
Cisco IOS®-softwarerelease versie 12.0(21)ST2
PE1-routerconfiguratie |
---|
ip vrf aqua rd 100:1 route-target export 1:1 route-target import 1:1 ! interface Loopback0 ip address 10.2.2.2 255.255.255.255 no ip directed-broadcast ! interface Ethernet2/0/1 ip vrf forwarding aqua ip address 10.1.1.2 255.255.255.0 no ip directed-broadcast ip route-cache distributed !--- The VPN Routing and Forwarding (VRF) interface !--- toward the customer edge (CE) router. interface Ethernet2/0/2 ip address 10.7.7.2 255.255.255.0 no ip directed-broadcast ip route-cache distributed tag-switching ip ! router ospf 1 log-adjacency-changes network 0.0.0.0 255.255.255.255 area 0 ! router bgp 1 bgp log-neighbor-changes neighbor 10.5.5.5 remote-as 1 neighbor 10.5.5.5 update-source Loopback0 no auto-summary ! address-family vpnv4 neighbor 10.5.5.5 activate neighbor 10.5.5.5 send-community extended exit-address-family ! address-family ipv4 neighbor 10.5.5.5 activate no auto-summary no synchronization exit-address-family ! address-family ipv4 vrf aqua redistribute connected no auto-summary no synchronization exit-address-family |
IP-routerconfiguratie |
---|
interface Loopback0 ip address 10.7.7.7 255.255.255.255 no ip directed-broadcast ! interface Ethernet2/0 ip address 10.8.8.7 255.255.255.0 no ip directed-broadcast tag-switching ip ! interface Ethernet2/1 ip address 10.7.7.7 255.255.255.0 no ip directed-broadcast tag-switching ip ! router ospf 1 log-adjacency-changes network 0.0.0.0 255.255.255.255 area 0 !--- BGP is not run on this router. |
PE2-routerconfiguratie |
---|
ip vrf aqua rd 100:1 route-target export 1:1 route-target import 1:1 ! interface Loopback0 ip address 10.5.5.5 255.255.255.0 no ip directed-broadcast ! interface Ethernet0/0 ip vrf forwarding aqua ip address 10.10.10.5 255.255.255.0 no ip directed-broadcast !--- The VRF interface toward the CE router. ! interface Ethernet0/3 ip address 10.8.8.5 255.255.255.0 no ip directed-broadcast tag-switching ip ! router ospf 1 log-adjacency-changes network 0.0.0.0 255.255.255.255 area 0 ! router rip version 2 ! address-family ipv4 vrf aqua version 2 network 10.0.0.0 no auto-summary exit-address-family ! router bgp 1 bgp log-neighbor-changes neighbor 10.2.2.2 remote-as 1 neighbor 10.2.2.2 update-source Loopback0 no auto-summary ! address-family vpnv4 neighbor 10.2.2.2 activate neighbor 10.2.2.2 send-community extended exit-address-family ! address-family ipv4 neighbor 10.2.2.2 activate no auto-summary no synchronization exit-address-family ! address-family ipv4 vrf aqua redistribute connected redistribute rip no auto-summary no synchronization exit-address-family |
Configuratie van CE2-router |
---|
interface Loopback0 ip address 192.168.1.196 255.255.255.192 no ip directed-broadcast ! interface Ethernet1 ip address 10.10.10.6 255.255.255.0 no ip directed-broadcast ! router rip version 2 network 10.0.0.0 network 192.168.1.0 no auto-summary !--- Routing Information Protocol (RIP) is used for the advertisement !--- of routes between the CE and the provider edge (PE) router. ! ip route 0.0.0.0 0.0.0.0 10.10.10.5 |
Opmerking: de CE1-configuratie is weggelaten. De configuratie bestaat alleen uit IP-adressering op de Ethernet-interface en een statische standaardroute naar 10.2.2.2.
De verbinding tussen CE1 en de loopback interface van CE2 is verloren, zoals in het volgende voorbeeld wordt getoond.
CE1#ping 192.168.1.196 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 192.168.1.196, timeout is 2 seconds: ..... Success rate is 0 percent (0/5)
CE1 heeft echter een geldige routingingang voor deze bestemming, zoals in het volgende voorbeeld getoond.
CE1#show ip route 0.0.0.0 Routing entry for 0.0.0.0/0, supernet Known via "static", distance 1, metric 0, candidate default path Redistributing via ospf 100 Routing Descriptor Blocks: * 10.1.1.2 Route metric is 0, traffic share count is 1
Op PE1 (de PE router aangesloten bij CE1) kunt u de specifieke informatie van MPLS VPN controleren. De volgende voorbeelden tonen dat een geldige route naar de bestemming in de VRF-tabel voor dit VPN aanwezig is.
PE1#show ip route vrf aqua 192.168.1.196 Routing entry for 192.168.1.192/26 Known via "bgp 1", distance 200, metric 1, type internal Last update from 10.5.5.5 00:09:52 ago Routing Descriptor Blocks: * 10.5.5.5 (Default-IP-Routing-Table), from 10.5.5.5, 00:09:52 ago Route metric is 1, traffic share count is 1 AS Hops 0, BGP network version 0 PE1#show tag-switching forwarding-table vrf aqua 192.168.1.196 detail Local Outgoing Prefix Bytes tag Outgoing Next Hop tag tag or VC or Tunnel Id switched interface None 16 192.168.1.192/26 0 Et2/0/2 10.7.7.7 MAC/Encaps=14/22, MTU=1496, Tag Stack{16 32} 00603E2B02410060835887428847 0001000000020000 No output feature configured PE1#show ip bgp vpnv4 vrf aqua 192.168.1.192 BGP routing table entry for 100:1:192.168.1.192/26, version 43 Paths: (1 available, best #1, table aqua) Not advertised to any peer Local 10.5.5.5 (metric 21) from 10.5.5.5 (10.5.5.5) Origin incomplete, metric 1, localpref 100, valid, internal, best Extended Community: RT:1:1 PE1#show tag-switching forwarding-table 10.5.5.5 detail Local Outgoing Prefix Bytes tag Outgoing Next Hop tag tag or VC or Tunnel Id switched interface 18 16 10.5.5.5/32 0 Et2/0/2 10.7.7.7 MAC/Encaps=14/18, MTU=1500, Tag Stack{16} 00603E2B02410060835887428847 00010000 No output feature configured Per-packet load-sharing, slots: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Zoals in dit voorbeeld wordt getoond, heeft PE1 geen route voor de BGP volgende hop met het juiste masker.
PE1# PE1#show ip route 10.5.5.5 255.255.255.0 % Subnet not in table PE1#show ip route 10.5.5.5 255.255.255.255 Routing entry for 10.5.5.5/32 Known via "ospf 1", distance 110, metric 21, type intra area Last update from 10.7.7.7 on Ethernet2/0/2, 00:38:55 ago Routing Descriptor Blocks: * 10.7.7.7, from 10.5.5.5, 00:38:55 ago, via Ethernet2/0/2 Route metric is 21, traffic share count is 1
De IGP routinginformatie die door PE1 wordt gebruikt om deze BGP volgende hop te bereiken wordt ontvangen van de router van P. Zoals in het volgende voorbeeld wordt getoond, toont deze router ook een onjuist masker voor de PE2 loopback en heeft geen route voor dit voorvoegsel met het juiste masker.
P#show ip route 10.5.5.5 Routing entry for 10.5.5.5/32 Known via "ospf 1", distance 110, metric 11, type intra area Last update from 10.8.8.5 on Ethernet2/0, 00:47:48 ago Routing Descriptor Blocks: * 10.8.8.5, from 10.5.5.5, 00:47:48 ago, via Ethernet2/0 Route metric is 11, traffic share count is 1 P#show ip route 10.5.5.5 255.255.255.0 % Subnet not in table
De LFIB- en tagbindingen op de P-router tonen de oorzaak van LSP-storing tussen deze router en PE2. Er is geen uitgaande label voor 10.5.5.5. Wanneer het pakje PE1 verlaat, bevat het twee labels, het BGP volgende hoplabel dat door de P-router (16) gegenereerd is en het VPN-label dat door PE2 gegenereerd is (32). Omdat deze ingang op de router van P niet gelabeld, geëtiketteerd-geschakeld pakketten voor deze bestemming toont, zal het zonder om het even welke etiketten worden verzonden. Aangezien het VPN-label 32 verloren is gegaan, zal het nooit door PE2 ontvangen worden, en PE2 zal niet de juiste informatie hebben om het pakket naar de juiste VPN-bestemming door te sturen.
P#show tag-switching forwarding-table 10.5.5.5 detail Local Outgoing Prefix Bytes tag Outgoing Next Hop tag tag or VC or Tunnel Id switched interface 16 Untagged 10.5.5.5/32 5339 Et2/0 10.8.8.5 MAC/Encaps=0/0, MTU=1504, Tag Stack{} No output feature configured Per-packet load-sharing, slots: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Zoals in het volgende voorbeeld wordt getoond, toont de label bindende tabel van de P router aan dat PE2 (tsr: 10.8.8.5:0) adverteert alleen een band voor 10.5.5.5 met een /24 masker. Een etiket voor de 2/32-route wordt geadverteerd door de P-router en PE1 (tsr: 10.2.2.2.2:0), maar niet PE2. Omdat de door PE2 geadverteerde band niet overeenkomt met de route die hij ook adverteert, is er geen etiket aanwezig in de LFIB van de P-router om pakketten naar deze bestemming door te sturen.
P#show tag-switching tdp bindings detail tib entry: 10.5.5.0/24, rev 67(no route) remote binding: tsr: 10.8.8.5:0, tag: imp-null tib entry: 10.5.5.5/32, rev 62 local binding: tag: 16 Advertised to: 10.2.2.2:0 10.8.8.5:0 remote binding: tsr: 10.2.2.2:0, tag: 18
De reden voor de discrepantie tussen de routingupdates en de etiketbindingen die door PE2 worden geadverteerd kan in de routingtabel en de tag-bindende tabel van deze router worden gezien. De direct aangesloten loopback toont het juiste /24 masker, dit wordt gebruikt door de router in het genereren van de labelbinding. Omdat dit netwerk Open Kortste Pad eerst (OSPF) gebruikt, adverteert de router deze interface met een /32 masker, zoals in het volgende voorbeeld getoond.
PE2#show ip route 10.5.5.5 Routing entry for 10.5.5.0/24 Known via "connected", distance 0, metric 0 (connected, via interface) Routing Descriptor Blocks: * directly connected, via Loopback0 Route metric is 0, traffic share count is 1 PE2#show tag-switching tdp bindings detail tib entry: 10.5.5.0/24, rev 142 local binding: tag: imp-null Advertised to: 10.7.7.7:0 tib entry: 10.5.5.5/32, rev 148 remote binding: tsr: 10.7.7.7:0, tag: 16 PE2#show ip ospf interface loopback 0 Loopback0 is up, line protocol is up Internet Address 10.5.5.5/24, Area 0 Process ID 1, Router ID 10.5.5.5, Network Type LOOPBACK, Cost: 1 Loopback interface is treated as a stub Host !--- OSPF advertises all interfaces of Network Type LOOPBACK as host !--- routes (/32).
Omdat de mislukking van de LSP tussen de router P en PE1 werd veroorzaakt door een mismatch tussen de route die voor de loopback wordt geadverteerd en de labelbinding die door PE1 wordt gegenereerd, is de meest eenvoudige oplossing om het masker van de loopback te veranderen om zich aan te passen aan het masker dat door OSPF wordt geadverteerd voor alle netwerken van het type LOOPBACK.
Oplossing 1: Verandering van subnetmasker op PE2
PE2#configure terminal Enter configuration commands, one per line. End with CNTL/Z. PE2(config)#int lo 0 PE2(config-if)#ip add 10.5.5.5 255.255.255.255 PE2(config-if)#end PE2#
De informatie over PE1 lijkt dezelfde als in het scenario waar LSP - falen optreedt, zoals in het volgende voorbeeld wordt getoond.
PE1#show tag-switching forwarding-table vrf aqua 192.168.1.196 detail Local Outgoing Prefix Bytes tag Outgoing Next Hop tag tag or VC or Tunnel Id switched interface None 16 192.168.1.192/26 0 Et2/0/2 10.7.7.7 MAC/Encaps=14/22, MTU=1496, Tag Stack{16 32} 00603E2B02410060835887428847 0001000000020000 No output feature configured PE1#show tag-switching forwarding-table 10.5.5.5 detail Local Outgoing Prefix Bytes tag Outgoing Next Hop tag tag or VC or Tunnel Id switched interface 18 16 10.5.5.5/32 0 Et2/0/2 10.7.7.7 MAC/Encaps=14/18, MTU=1500, Tag Stack{16} 00603E2B02410060835887428847 00010000 No output feature configured Per-packet load-sharing, slots: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
De P router toont aan dat de voorwaarden die de LSP mislukking veroorzaakten niet langer aanwezig zijn. Het label is nu een poptag. Dit betekent dat het label van het bovenste label voor de BGP volgende hop wordt opgefrist wanneer de pakketten de router doorlopen, maar de pakketten zullen nog het tweede VPN-label hebben (de pakketten worden niet meer teruggestuurd zonder label).
De tag-bindtafel toont een etiket (imp-nul) dat door PE2 (tsr: 10.8.8.5:0) voor de route /32.
P#show tag-switching forwarding-table 10.5.5.5 detail Local Outgoing Prefix Bytes tag Outgoing Next Hop tag tag or VC or Tunnel Id switched interface 16 Pop tag 10.5.5.5/32 3493 Et2/0 10.8.8.5 MAC/Encaps=14/14, MTU=1504, Tag Stack{} 006009E08B0300603E2B02408847 No output feature configured Per-packet load-sharing, slots: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 P#show tag-switching tdp bindings detail tib entry: 10.5.5.5/32, rev 71 local binding: tag: 16 Advertised to: 10.2.2.2:0 10.8.8.5:0 remote binding: tsr: 10.2.2.2:0, tag: 18 remote binding: tsr: 10.8.8.5:0, tag: imp-null
Oplossing 2: OSPF-netwerktypewijziging
De tweede oplossing is het OSPF netwerktype van de loopback interface te veranderen. Wanneer het OSPF-netwerktype van PE2-loopback-interface is gewijzigd in point-to-point, wordt het loopback-prefix niet langer automatisch geadverteerd met een /32-masker. Dit betekent dat de labelbinding die door PE2 gegenereerd wordt, wanneer het verwijzen van direct-verbonden Subnet in zijn routeringstabel (die een /24 subnetmasker bevat), de OSPF route op de P router zal passen die van PE2 (die een /24 subnetmasker voor dit voorvoegsel bevat) wordt ontvangen.
De ip ospf netwerk point-to-point opdracht kan worden gebruikt om het netwerktype op de PE2 loopback interface te wijzigen, zoals in het volgende voorbeeld wordt getoond.
PE2#configure terminal Enter configuration commands, one per line. End with CNTL/Z. PE2(config)#interface loopback 0 PE2(config-if)#ip ospf network point-to-point PE2(config-if)#
Zoals hieronder wordt getoond, bevat de tabel met het doorsturen van tags op PE1 een ingang voor BGP volgende hop, die consistent is met het eigenlijke masker van de loopback interface op PE2. De routingtabel toont de route OSPF die met deze doorvoeringang is geassocieerd, ook correct.
PE1#show tag-switching forwarding-table 10.5.5.5 detail Local Outgoing Prefix Bytes tag Outgoing Next Hop tag tag or VC or Tunnel Id switched interface 22 17 10.5.5.0/24 0 Et2/0/2 10.7.7.7 MAC/Encaps=14/18, MTU=1500, Tag Stack{17} 00603E2B02410060835887428847 00011000 No output feature configured Per-packet load-sharing, slots: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 PE1#show ip route 10.5.5.5 Routing entry for 10.5.5.0/24 Known via "ospf 1", distance 110, metric 21, type intra area Last update from 10.7.7.7 on Ethernet2/0/2, 00:36:53 ago Routing Descriptor Blocks: * 10.7.7.7, from 10.5.5.5, 00:36:53 ago, via Ethernet2/0/2 Route metric is 21, traffic share count is 1
In het voorbeeld hieronder, toont de tag die van de IP router wordt verstuurd, de uittredende tag als een poptag, zoals in Oplossing 1, zoals in voorbeeld hieronder wordt getoond. Opnieuw wordt het label van het bovenste label van de BGP volgende hop ingevuld als het pakkettransport naar deze router, maar het tweede VPN-label blijft behouden en zal de LSP niet falen. De band die het juiste Subnet masker toont is ook aanwezig.
P#show tag-switching forwarding-table 10.5.5.5 detail Local Outgoing Prefix Bytes tag Outgoing Next Hop tag tag or VC or Tunnel Id switched interface 17 Pop tag 10.5.5.0/24 4261 Et2/0 10.8.8.5 MAC/Encaps=14/14, MTU=1504, Tag Stack{} 006009E08B0300603E2B02408847 No output feature configured Per-packet load-sharing, slots: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 P#show tag-switching tdp bindings detail tib entry: 10.5.5.0/24, rev 68 local binding: tag: 17 Advertised to: 10.2.2.2:0 10.8.8.5:0 remote binding: tsr: 10.8.8.5:0, tag: imp-null remote binding: tsr: 10.2.2.2:0, tag: 22
Zoals hieronder wordt getoond, bevestigt de uitvoer van deze opdracht dat het netwerktype is veranderd in point-to-point. Volledige connectiviteit is aanwezig van CE1 tot de loopback interface van CE2.
PE2#show ip ospf interface loopback 0 Loopback0 is up, line protocol is up Internet Address 10.5.5.5/24, Area 0 Process ID 1, Router ID 10.5.5.5, Network Type POINT_TO_POINT, Cost: 1 Transmit Delay is 1 sec, State POINT_TO_POINT, Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5 Index 3/3, flood queue length 0 Next 0x0(0)/0x0(0) Last flood scan length is 0, maximum is 0 Last flood scan time is 0 msec, maximum is 0 msec Neighbor Count is 0, Adjacent neighbor count is 0 Suppress hello for 0 neighbor(s) CE1#ping 192.168.1.196 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 192.168.1.196, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 4/4/4 ms CE1.
Revisie | Publicatiedatum | Opmerkingen |
---|---|---|
1.0 |
18-Jan-2008 |
Eerste vrijgave |