Commutation multiprotocole par étiquette (MPLS) : MPLS

Dépannage des défaillances LSP dans VPN MPLS

18 octobre 2016 - Traduction automatique
Autres versions: PDFpdf | Anglais (22 août 2015) | Commentaires


Contenu


Introduction

Ce document suppose que vous avez une compréhension antérieure des concepts de base de Commutation multiprotocole par étiquette (MPLS). des paquets MPLS-commutés sont expédiés basés sur les informations contenues dans le Forwarding Information Base d'étiquette (LFIB). Un paquet partant d'un routeur au-dessus d'une interface étiquette-commutée recevra des étiquettes avec des valeurs spécifiées par le LFIB. Des étiquettes sont associées avec des destination in le LFIB selon les Classes d'équivalence de transfert (FEC). Une FEC est un groupement des paquets IP qui voyagent au-dessus du même chemin et reçoivent le même traitement d'expédition. L'exemple le plus simple d'une FEC est tous les paquets voyageant à un certain sous-réseau. Un autre exemple a pu être tous les paquets avec une Priorité IP donnée allant au Protocole IGP (Interior Gateway Protocol) ensuite un saut associé avec un groupe d'artères de Protocole BGP (Border Gateway Protocol).

La base d'informations d'étiquette (BIBLIOTHÈQUE) est une structure qui enregistre des étiquettes reçues de tous les voisins du protocole de distribution d'étiquette (LDP) ou du protocole de distribution de balise (Protocole TDP). Pour l'implémentation de Cisco, des étiquettes sont envoyées pour toutes les artères dans la table du routage d'un routeur donné (excepté des routes BGP), à tous les voisins LDP ou de Protocole TDP. Toutes les étiquettes reçues des voisins sont retenues dans la BIBLIOTHÈQUE, si elles sont utilisées. Si les étiquettes sont reçues d'un voisin en aval pour leur FEC, alors les étiquettes enregistrées dans la BIBLIOTHÈQUE sont utilisées pour le transfert de paquet par le LFIB. En signifiant les étiquettes utilisées pour expédier soyez ceux reçus du prochain saut d'un routeur à une destination, selon le Technologie Cisco Express Forwarding (CEF) du routeur et les tables de routage.

Si des attaches d'étiquette sont reçues d'un voisin en aval pour les préfixes (masque de sous-réseau y compris) qui n'apparaissent pas dans le routage et les tables CEF d'un routeur, ces attaches ne seront pas utilisées. D'une manière semblable, si un routeur annonce des étiquettes pour une paire de sous-réseau/masque de sous-réseau, qui ne correspond pas aux mises à jour de routage a également annoncé par ce routeur pour les mêmes paires de sous-réseau/masque de sous-réseau, ces étiquettes ne seront pas utilisées par des voisins en amont et le chemin commuté par étiquette (LSP) entre ces périphériques échouera.

Ce document donne un exemple de ce genre de panne LSP et de plusieurs solutions possibles. Le document couvre un scénario où des attaches d'étiquette reçues par un routeur ne sont pas utilisées pour expédier les paquets MPLS-commutés. Cependant, les étapes utilisées pour diagnostiquer et corriger ce problème s'appliquent à n'importe quel problème comportant des attaches d'étiquette et au LFIB sur des Routeurs configurés pour le MPLS.

Conditions préalables

Conditions requises

Aucune spécification déterminée n'est requise pour ce document.

Composants utilisés

Les informations dans ce document sont basées sur cette version de logiciel :

  • Version de logiciel 12.0(21)ST2 de ½ du ¿  de Cisco IOSïÂ

Conventions

Pour plus d'informations sur les conventions utilisées dans ce document, reportez-vous à Conventions relatives aux conseils techniques Cisco.

Diagramme du réseau

troubleshoot_mpls_vpn-1.gif

Configurations de routeur

Configuration de routeur 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

Configuration de routeur 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.

Configuration de routeur 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

Configuration de routeur 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

Remarque: La configuration CE1 a été omise. La configuration se compose seulement de l'adressage IP sur l'interface Ethernet et d'une route statique par défaut à 10.2.2.2.

Problème

La Connectivité entre CE1 et l'interface de bouclage de CE2 a été perdue, suivant les indications de l'exemple suivant.

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)

Cependant, CE1 a une entrée valide de routage pour cette destination, suivant les indications de l'exemple suivant.

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

À PE1 (le routeur PE relié à CE1), vous pouvez vérifier les informations de particularité MPLS VPN. Les exemples suivants prouvent qu'une artère valide à la destination est présente dans la table de VRF pour ce 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

Suivant les indications de cet exemple, PE1 n'a pas une artère pour le prochain saut BGP avec le masque correct.

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

Les informations de routage d'IGP utilisées par PE1 pour atteindre ce prochain saut BGP sont reçues du routeur P. Suivant les indications de l'exemple suivant, ce routeur également affiche un masque incorrect pour le bouclage PE2 et n'a pas une artère pour ce préfixe avec le masque correct.

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

Cause de la panne LSP

Les attaches LFIB et de balise sur le routeur show P la cause de la panne LSP entre ces routeur et PE2. Il n'y a aucune étiquette sortante pour 10.5.5.5. Quand le paquet laisse PE1 il porte deux étiquettes, l'étiquette de saut BGP ensuite générée par le routeur P (16) et l'étiquette VPN générée par PE2 (32). Puisque cette entrée sur les routeurs show P non-marqués, les paquets étiquette-commutés pour cette destination, il ne sera envoyée sans aucune étiquette. Puisque l'étiquette 32 VPN a été perdue, elle ne sera jamais reçue par PE2, et PE2 n'aura pas les informations correctes pour expédier le paquet à la destination appropriée VPN.

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

Suivant les indications de l'exemple suivant, la table de corrélation d'étiquette des routeurs show P que PE2 (tsr : 10.8.8.5:0) annonce seulement une attache pour 10.5.5.5 avec un masque de /24. Une étiquette pour l'artère de /32 est annoncée par le routeur P et le PE1 (tsr : 10.2.2.2:0), mais pas PE2. Puisque l'attache annoncée par PE2 n'apparie pas l'artère qu'il annonce également, aucune étiquette n'est présente dans le LFIB du routeur P pour expédier des paquets à cette destination.

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

La raison pour l'anomalie entre les mises à jour de routage et les attaches d'étiquette annoncées par PE2 peut être vue dans la table de routage et la table de corrélation de balise de ce routeur. Le bouclage directement connecté affiche le masque correct de /24, ceci est utilisé par le routeur en générant l'attache d'étiquette. Puisque ce réseau utilise le Protocole OSPF (Open Shortest Path First), le routeur annonce cette interface avec un masque de /32, suivant les indications de l'exemple suivant.

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).

Solutions

Puisque la panne du LSP entre le routeur P et le PE1 a été provoqué par par une non-concordance entre l'artère annoncée pour le bouclage et l'attache d'étiquette générée par PE1, la solution la plus simple est de changer le masque du bouclage pour se conformer au masque annoncé par OSPF pour tous les réseaux du type de BOUCLAGE.

Solution 1 : Modification de masque de sous-réseau sur 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#

Les informations sur PE1 apparaissent les mêmes que dans le scénario où la panne LSP se produit, suivant les indications de l'exemple suivant.

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

Les routeurs show P que les conditions qui ont entraîné la panne LSP ne sont plus présentes. L'étiquette sortante est maintenant une balise pop. Ceci signifie que l'étiquette supérieure pour le prochain saut BGP sera sautée comme paquets traversent le routeur, mais les paquets auront toujours la deuxième étiquette VPN (les paquets ne sont plus non-marqués envoyé).

La table de corrélation de balise affiche qu'une étiquette (lutin-null) est annoncée par PE2 (tsr : 10.8.8.5:0) pour l'artère 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

Solution 2 : Modification de type de réseau OSPF

La deuxième solution est de changer le type de réseau OSPF de l'interface de bouclage. Quand le type de réseau OSPF d'interface de bouclage PE2 est changé au Point à point, le préfixe de bouclage plus n'est automatiquement annoncé avec un masque de /32. Ceci signifie que l'attache d'étiquette générée par PE2, quand mettant en référence le sous-réseau direct-connecté dans sa table de routage (contenant un masque de sous-réseau de /24), appariera l'artère OSPF sur le routeur P reçu de PE2 (contenant un masque de sous-réseau de /24 pour ce préfixe).

La commande point par point d'ip ospf network peut être utilisée pour changer le type de réseau sur l'interface du bouclage PE2, suivant les indications de l'exemple suivant.

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)#

Comme affiché ci-dessous, la table d'expédition de balise sur PE1 contient une entrée pour le prochain saut BGP, qui est compatible au masque réel de l'interface de bouclage sur PE2. La table de routage affiche que l'artère OSPF associée avec cette entrée de transfert est également correcte.

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

Dans l'exemple ci-dessous, l'entrée de transfert de balise des routeurs show P la balise sortante comme balise pop, comme en solution 1, suivant les indications de l'exemple ci-dessous. De nouveau, l'étiquette supérieure pour le BGP que le prochain saut sera sauté comme paquet traverse ce routeur, mais la deuxième étiquette VPN sera retenue et le LSP n'échouera pas. L'attache affichant le masque de sous-réseau correct est également présente.

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

Comme affiché ci-dessous, la sortie de cette commande confirme que le type de réseau a été changé au Point à point. La connectivité complète est présente de CE1 à l'interface de bouclage 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.

Informations connexes


Document ID: 23565