Este documento supone que el usuario posee un conocimiento previo de los conceptos básicos sobre Multiprotocol Label Switching (MPLS). Los paquetes conmutados por medio de MPLS son reenviados en base a la información contenida en la Base de información del reenvío de etiquetas (LFIB). Un paquete que sale de un router sobre una interfaz conmutada por etiquetas recibirá etiquetas con valores especificados por el LFIB. Las etiquetas se asocian con destinos en la LFIB según las clases de equivalencia de reenvío (FEC). Un FEC es una agrupación de paquetes IP que viajan por la misma trayectoria y reciben el mismo tratamiento de reenvío. El ejemplo más simple de un FEC son todos los paquetes en viaje hacia cierta subred. Otro ejemplo podría ser todos los paquetes con una precedencia IP determinada que vayan a un siguiente salto de protocolo de gateway interior (IGP) asociado a un grupo de rutas de protocolo de gateway fronterizo (BGP).
La Base de la información de reenvío (LIB) es una estructura que almacena las etiquetas recibidas de todos los vecinos del Protocolo de distribución de etiquetas (LDP) o del Protocolo de distribución de etiquetas (TDP). Para la implementación de Cisco, las etiquetas se envían para todas las rutas en la tabla de ruteo de un router dado (con excepción de las rutas BGP), a todos los vecinos LDP o TDP. Todas las etiquetas recibidas desde los vecinos son retenidas en la LIB ya sea que se utilicen o no. Si las etiquetas son recibidas desde un vecino en sentido descendente para sus FEC entonces las etiquetas almacenadas en la LIB son usadas para el envío de paquetes por medio de LFIB. Esto quiere decir que las etiquetas que se utilizan para el reenvío son aquellas que se reciben desde el salto siguiente del router a un destino, de acuerdo con el Cisco Express Forwarding (CEF) y las tablas de ruteo del router.
No se utilizarán las vinculaciones de etiquetas que se reciban desde un vecino descendente para los prefijos (que incluyen la máscara de subred) que no aparezcan en las tablas de ruteo y CEF del router. De manera similar, si un router anuncia etiquetas para un par de máscara de subred/subred, que no corresponden a las actualizaciones de ruteo también anunciadas por este router para el mismo par de máscara de subred/subred, estos rótulos no serán utilizados por los vecinos ascendentes y la ruta conmutada de etiquetas (LSP) entre estos dispositivos fallará.
Este documento brinda un ejemplo de ese tipo de falla LSP y varias soluciones posibles. Este documento examina una situación en la cual las vinculaciones de etiquetas que recibe un router no se utilizan para enviar paquetes conmutados de MPLS. No obstante, los pasos que se utilizan para diagnosticar y corregir este problema se aplican a cualquier problema relacionado con los vínculos de etiquetas y el LFIB de los routers configurados para MPLS.
No hay requisitos específicos para este documento.
La información de este documento se basa en esta versión del software:
Versión 12.0(21)ST2 del software del IOS® de Cisco
Configuración del router PE1 |
---|
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 |
Configuración del router P |
---|
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. |
Configuración del router PE2 |
---|
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 |
Configuración del router CE2 |
---|
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 |
Nota: Se ha omitido la configuración CE1. La configuración consiste solamente en el direccionamiento IP en la interfaz Ethernet y una ruta estática predeterminada a 10.2.2.2.
Se ha perdido la conectividad entre CE1 y la interfaz de loopback de CE2, como se muestra en el siguiente ejemplo.
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)
Sin embargo, CE1 tiene una entrada de ruteo válida para este destino, como se muestra en el siguiente ejemplo.
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
En PE1 (el router PE conectado a CE1), puede verificar la información específica de MPLS VPN. Los siguientes ejemplos muestran que una ruta válida al destino está presente en la tabla VRF para esta VPN.
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
Como se muestra en este ejemplo, el PE1 no tiene una ruta para el próximo salto de BGP con la máscara correcta.
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
La información de ruteo de IGP utilizada por PE1 para alcanzar este próximo salto de BGP es recibida desde el router P. Como se presenta en el siguiente ejemplo, este router también muestra una máscara incorrecta para el loopback PE2 y no posee una ruta para este prefijo con la máscara adecuada.
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
Las vinculaciones del FIB y de etiqueta en el router P muestran la causa de la falla LSP entre este router y PE2. No existe etiqueta de salida para 10.5.5.5. Cuando el paquete abandona el PE1, lleva dos etiquetas, la siguiente etiqueta de salto BGP, generada por el router P (16), y la etiqueta VPN, generada por el PE2 (32). Debido a que esta entrada en el router P muestra paquetes conmutados por etiquetas sin etiqueta para este destino, se enviará sin etiquetas. Debido a que la etiqueta 32 de VPN se ha perdido, nunca la recibirá el PE2 y éste no tendrá la información correcta para reenviar el paquete al destino VPN adecuado.
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
Como se muestra en el siguiente ejemplo, la tabla de enlace de etiquetas del router P muestra que PE2 (tsr: 10.8.8.5:0) sólo anuncia un enlace para 10.5.5.5 con una máscara /24. El router P y PE1 anuncian una etiqueta para la ruta /32 (tsr: 10.2.2.2:0), pero no PE2. Debido a que el enlace anunciado por PE2 no coincide con la ruta que también anuncia, no hay ninguna etiqueta presente en el LFIB del router P para reenviar paquetes a este destino.
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
El motivo para la discrepancia entre las actualizaciones de ruteo y las vinculaciones de etiquetas promocionadas por PE2 se puede ver en la tabla de ruteo y en la tabla de vinculación de etiquetas de este router. El loopback conectado directamente muestra la máscara /24 correcta, que el router utiliza para generar el enlace de etiquetas. Debido a que esta red utiliza OSPF (Open Shortest Path First), el router anuncia esta interfaz con una máscara /32, como se muestra en el siguiente ejemplo.
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).
Debido a que la falla del LSP entre el router P y PE1 fue ocasionada por una discordancia entre la ruta anunciada para el loopback y la vinculación de etiqueta generada por PE1, la solución más simple es cambiar la máscara del loopback para ajustarse a la máscara anunciada por OSPF para todas la redes del tipo LOOPBACK.
Solución 1: Cambio de la máscara de subred en 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#
La información en PE1 aparece igual que en el escenario en el que se produce una falla de LSP, como se muestra en el siguiente ejemplo.
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
El router P muestra que las condiciones que causan la falla LSP ya no están presentes. La etiqueta de salida es ahora un indicador que salta. Esto significa que la etiqueta superior para el salto siguiente BGP se mostrará cuando los paquetes atraviesen el router, pero los paquetes aún tendrán la segunda etiqueta VPN (los paquetes ya no se envían sin etiqueta).
La tabla de enlace de etiquetas muestra que PE2 anuncia una etiqueta (imp-null) (tsr: 10.8.8.5:0) para la ruta /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
Solución 2: Cambio de tipo de red OSPF
La segunda solución es cambiar el tipo de red OSPF de la interfaz de loopback. Cuando el tipo de red OSPF de la interfaz de loopback de PE2 se cambia a punto a punto, el prefijo de loopback ya no se anuncia automáticamente con una máscara /32. Esto significa que la vinculación de etiquetas generada por PE2, al hacer referencia a la subred conectada directamente en la tabla de ruteo (que contiene una máscara de subred /24), coincidirá con la ruta de OSPF del router P recibido desde PE2 (que contiene una máscara de subred /24 para este prefijo).
El comando ip ospf network point-to-point puede utilizarse para cambiar el tipo de red en la interfaz del loopback PE2, como se muestra en el siguiente ejemplo:
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)#
Como se muestra a continuación, la tabla de reenvío de etiquetas en PE1 contiene una entrada para el siguiente salto BGP, que es consistente con la máscara real de la interfaz de loopback en PE2. La tabla de ruteo muestra que la ruta OSPF asociada con esta entrada de reenvío también es correcta.
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
En el siguiente ejemplo, la entrada de reenvío de etiquetas del router P muestra la etiqueta saliente como etiqueta emergente, como en la Solución 1, como se muestra en el ejemplo siguiente. Una vez más, la etiqueta superior para el salto siguiente BGP se mostrará cuando el paquete atraviese este router, pero la segunda etiqueta VPN se retendrá y el LSP no fallará. También está presente el enlace que muestra la máscara de subred correcta.
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
Como se muestra a continuación, la salida de este comando confirma que el tipo de red se ha cambiado a punto a punto. Existe conectividad completa desde CE1 a la interfaz de loopback de 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.
Revisión | Fecha de publicación | Comentarios |
---|---|---|
1.0 |
18-Jan-2008 |
Versión inicial |