Contenu

Introduction

Conditions préalables

Conditions requises

Components Used

Conventions

Diagramme du réseau

Configurations du routeur

Problème

Cause de l'échec LSP

Solutions

Informations connexes

Introduction

Ce document suppose que vous avez une connaissance préalable des concepts de base de la commutation multiprotocole par étiquette (MPLS). Les paquets commutés MPLS sont transférés en fonction des informations contenues dans la base d'informations de transfert d'étiquette (LFIB). Un paquet quittant un routeur sur une interface à commutation d’étiquettes reçoit des étiquettes avec des valeurs spécifiées par la LFIB. Les étiquettes sont associées aux destinations dans la LFIB en fonction des classes d'équivalence de transfert (FEC). Une FEC est un groupe de paquets IP qui circulent sur le même chemin et reçoivent le même traitement de transfert. L’exemple le plus simple d’une FEC est tous les paquets qui se rendent sur un sous-réseau donné. Un autre exemple pourrait être tous les paquets avec une priorité IP donnée allant à un prochain saut IGP (Interior Gateway Protocol) associé à un groupe de routes BGP (Border Gateway Protocol).

La LIB (Label Information Base) est une structure qui stocke les étiquettes reçues de tous les voisins LDP (Label Distribution Protocol) ou TDP (Tag Distribution Protocol). Pour la mise en oeuvre de Cisco, des étiquettes sont envoyées pour toutes les routes de la table de routage d'un routeur donné (à l'exception des routes BGP) à tous les voisins LDP ou TDP. Toutes les étiquettes reçues des voisins sont conservées dans la LIB, qu'elles soient utilisées ou non. Si les étiquettes sont reçues d'un voisin en aval pour leur FEC, les étiquettes stockées dans la LIB sont utilisées pour le transfert de paquets par la LFIB. Les étiquettes utilisées pour le transfert sont celles reçues du tronçon suivant d'un routeur vers une destination, selon les tables de routage et de transfert CEF (Cisco Express Forwarding) du routeur.

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

Ce document donne un exemple de ce type de défaillance LSP et de plusieurs solutions possibles. Le document couvre un scénario dans lequel les liaisons d'étiquette reçues par un routeur ne sont pas utilisées pour transférer des paquets commutés MPLS. Cependant, les étapes utilisées pour diagnostiquer et corriger ce problème sont applicables à tout problème impliquant des liaisons d'étiquette et la LFIB sur les routeurs configurés pour MPLS.

Conditions préalables

Conditions requises

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

Components Used

L’information contenue dans le présent document est fondée sur cette version logicielle:

- Logiciel Cisco IOS® version 12.0(21)ST2

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

Configurations du routeur

Configuration du 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 du 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 du 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 du 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 uniquement de l’adressage IP sur l’interface Ethernet et d’une route statique par défaut vers 10.2.2.2.

Problème

La connectivité entre CE1 et l’interface de bouclage de CE2 a été perdue, comme illustré dans 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 dispose d’une entrée de routage valide pour cette destination, comme illustré dans 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 connecté à CE1), vous pouvez vérifier les informations spécifiques au VPN MPLS. Les exemples suivants montrent qu'une route valide vers la destination est présente dans la table 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

Comme indiqué dans cet exemple, PE1 n'a pas de route pour le prochain saut BGP avec le masque approprié.

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 IGP utilisées par PE1 pour atteindre ce tronçon suivant BGP sont reçues du routeur P. Comme indiqué dans l'exemple suivant, ce routeur affiche également un masque incorrect pour le bouclage PE2 et ne dispose pas d'une route 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 l'échec LSP

Les liaisons LFIB et de balise sur le routeur P indiquent la cause de la défaillance LSP entre ce routeur et PE2. Il n'existe pas d'étiquette sortante pour 10.5.5.5. Lorsque le paquet quitte PE1, il porte deux étiquettes, l'étiquette de tronçon suivant BGP générée par le routeur P (16) et l'étiquette VPN générée par PE2 (32). Comme cette entrée sur le routeur P affiche des paquets commutés par étiquette non balisés pour cette destination, elle sera envoyée sans étiquette. Comme l'étiquette VPN 32 a été perdue, elle ne sera jamais reçue par PE2 et PE2 ne disposera pas des informations correctes pour transférer le paquet vers la destination VPN appropriée.

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

Comme indiqué dans l'exemple suivant, la table de liaison d'étiquette du routeur P indique que PE2 (tsr : 10.8.8.5:0) annonce uniquement une liaison pour 10.5.5.5 avec un masque /24. Une étiquette pour la route /32 est annoncée par le routeur P et PE1 (tsr : 10.2.2.2:0), mais pas PE2. Comme la liaison annoncée par PE2 ne correspond pas à la route qu’elle annonce également, aucune étiquette n’est présente dans la LFIB du routeur P pour transférer les paquets vers 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 de l’écart entre les mises à jour de routage et les liaisons d’étiquette annoncées par PE2 apparaît dans la table de routage et la table de liaison de balise de ce routeur. Le bouclage directement connecté affiche le masque /24 correct, utilisé par le routeur pour générer la liaison d'étiquette. Comme ce réseau utilise le protocole OSPF (Open Shortest Path First), le routeur annonce cette interface avec un masque /32, comme illustré dans 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

Comme la défaillance du LSP entre le routeur P et PE1 a été causée par une non-correspondance entre la route annoncée pour le bouclage et la liaison d’étiquette générée par PE1, la solution la plus simple consiste à modifier le masque du bouclage pour le rendre conforme au masque annoncé par OSPF pour tous les réseaux du type LOOPBACK.

Solution 1 : Modification du 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 sont les mêmes que dans le scénario où une défaillance LSP se produit, comme illustré dans 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

Le routeur P montre que les conditions qui ont causé la défaillance du LSP ne sont plus présentes. L'étiquette sortante est maintenant une balise pop. Cela signifie que l'étiquette supérieure du prochain saut BGP sera affichée lorsque les paquets traversent le routeur, mais les paquets auront toujours la deuxième étiquette VPN (les paquets ne sont plus envoyés sans étiquette).

La table de liaison de balise affiche une étiquette (imp-null) annoncée par PE2 (tsr : 10.8.8.5:0) pour la 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

Solution 2 : Modification du type de réseau OSPF

La deuxième solution consiste à modifier le type de réseau OSPF de l'interface de bouclage. Lorsque le type de réseau OSPF de l'interface de bouclage de PE2 est changé en point à point, le préfixe de bouclage n'est plus automatiquement annoncé avec un masque /32. Cela signifie que la liaison d’étiquette générée par PE2, lors du référencement du sous-réseau directement connecté dans sa table de routage (contenant un masque de sous-réseau /24), correspondra à la route OSPF sur le routeur P reçu de PE2 (contenant un masque de sous-réseau /24 pour ce préfixe).

La commande ip ospf network point-to-point peut être utilisée pour modifier le type de réseau sur l'interface de bouclage PE2, comme illustré dans 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 indiqué ci-dessous, la table de transfert de balise sur PE1 contient une entrée pour le prochain saut BGP, ce qui est cohérent avec le masque réel de l'interface de bouclage sur PE2. La table de routage indique que la route OSPF associée à 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 du routeur P affiche la balise sortante sous la forme d'une balise pop, comme dans la solution 1, comme illustré dans l'exemple ci-dessous. Une fois de plus, l'étiquette supérieure du prochain saut BGP sera affichée lorsque le paquet traversera ce routeur, mais la deuxième étiquette VPN sera conservée et le LSP ne échouera pas. La liaison indiquant 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 indiqué ci-dessous, le résultat de cette commande confirme que le type de réseau a été changé en 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

- Page d'assistance technologique de routage IP

- Comment dépanner le VPN MPLS

- Support technologique MPLS

- Support et documentation techniques - Cisco Systems