Switching por etiquetas multiprotocolo (MPLS) : MPLS

Solución de problemas de errores de LSP en MPLS VPN

17 Octubre 2016 - Traducción Automática
Otras Versiones: PDFpdf | Inglés (22 Agosto 2015) | Comentarios


Contenido


Introducción

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 de etiquetas recibirá las escrituras de la etiqueta con los valores especificados por el LFIB. Las escrituras de la etiqueta se asocian a los destinos en el LFIB según las clases de equivalencia de la expedición (FEC). Un FEC es el agrupar de los paquetes del IP que viajan sobre la misma trayectoria y reciben el mismo tratamiento de la expedición. El ejemplo más simple de un FEC son todos los paquetes en viaje hacia cierta subred. Otro ejemplo podía ser todos los paquetes con una Prioridad IP dada que iba a un salto siguiente del Interior Gateway Protocol (IGP) asociado a un grupo de rutas del Border Gateway Protocol (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 escrituras de la etiqueta se envían para todas las rutas en la tabla de ruteo de un router dado (a excepción de las rutas BGP), a todo el LDP o vecinos 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 la misma manera, si un router hace publicidad de las escrituras de la etiqueta para un par de la subred/de la máscara de subred, que no corresponden a las actualizaciones de ruteo también hicieron publicidad por este router para los pares de la misma subred/de la máscara de subred, estas escrituras de la etiqueta no serán utilizadas por los vecinos en sentido ascendente y la trayectoria 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.

prerrequisitos

Requisitos

No hay requisitos específicos para este documento.

Componentes Utilizados

La información de este documento se basa en esta versión del software:

  • Versión de software 12.0(21)ST2 del ½ del ¿Â de Cisco IOSïÂ

Convenciones

Consulte Convenciones de Consejos TécnicosCisco para obtener más información sobre las convenciones del documento.

Diagrama de la red

troubleshoot_mpls_vpn-1.gif

Configuración del router

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 de CE1. La configuración consiste en solamente el IP Addressing en la interfaz de Ethernet y una Static Default ruta a 10.2.2.2.

Problema

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, el CE1 tiene una entrada de ruteo válida para este destino, tal y como se muestra en del 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 asociado al CE1), usted puede marcar la información del específico del MPLS VPN. Los siguientes ejemplos muestran que una ruta válido al destino está presente en la tabla VRF para este 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

Causa de la falla LSP

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). Porque esta entrada en el router P muestra los paquetes untagged, conmutados por etiqueta para este destino, será enviada sin ningunas escrituras de la etiqueta. 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

Tal y como se muestra en del siguiente ejemplo, la tabla de vinculación de etiquetas del router P muestra ese PE2 (tsr: 10.8.8.5:0) hace publicidad solamente de un atascamiento para 10.5.5.5 con una máscara de /24. Una escritura de la etiqueta para la ruta de /32 es hecha publicidad por el router y el PE1 (tsr P: 10.2.2.2:0), pero no PE2. Porque el atascamiento de divulgación por el PE2 no hace juego la ruta que también hace publicidad, no hay escritura de la etiqueta presente en el LFIB del router P remitir los 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 directamente conectado muestra la máscara correcta de /24, esto es utilizado por el router en la generación de la vinculación de etiquetas. Porque este Open Shortest Path First (OSPF) de los usos de la red, el router hace publicidad de esta interfaz con una máscara de /32, tal y como se muestra en del 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).

Soluciones

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 el 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 sobre el PE1 aparece lo mismo que en el escenario donde ocurre la Falla del LSP, tal y como se muestra en del 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 escritura de la etiqueta superior para el salto siguiente BGP será hecha estallar como los paquetes atraviesa al router, pero los paquetes todavía tendrán la segunda escritura de la etiqueta VPN (los paquetes son no más untagged enviado).

La tabla de vinculación de la etiqueta muestra que una escritura de la etiqueta (IMP-nula) es hecha publicidad por PE2 (tsr: 10.8.8.5:0) para la ruta de /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 del Loopback Interface. Cuando cambian al tipo de red OSPF del Loopback Interface PE2 al Punto a punto, el prefijo del loopback se hace publicidad no más automáticamente con una máscara de /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 abajo, la tabla de reenvío de la etiqueta en el PE1 contiene una entrada para el salto siguiente BGP, que es constante con la máscara real del Loopback Interface en el 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 ejemplo abajo, la entrada de reenvío de la etiqueta del router P muestra la etiqueta saliente como una etiqueta del estallido, como en la solución 1, tal y como se muestra en del ejemplo abajo. De nuevo, la escritura de la etiqueta superior para el salto siguiente BGP será hecha estallar como el paquete atraviesa a este router, pero la segunda escritura de la etiqueta VPN será conservada y el LSP no fallará. El atascamiento que muestra a la máscara de subred correcta está también presente.

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. El total conectividad está presente del CE1 al Loopback Interface del 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.

Información Relacionada


Document ID: 23565