目录

简介

先决条件

要求

使用的组件

规则

故障排除步骤

验证路由协议可以运行

验证 CEF 交换

验证 MPLS

ping 邻居

验证标签分配

验证标签绑定

验证标签已设定

相关信息

简介

本文档介绍如何对多协议标签交换 (MPLS) 进行故障排除。

先决条件

要求

本文档读者应了解以下主题的知识：

- MPLS 基础知识

使用的组件

本文档以使用 OSPF 配置基本的 MPLS 配置示例为基础，并且假定您已配置以下要素：

- IP 地址和路由协议，例如开放最短路径优先协议（OSPF 协议）或 Intermediate System-to-Intermediate System Protocol (IS-IS Protocol)

- 所有路由器上的 Cisco Express Forwarding (CEF) 或分布式 CEF 交换

- 所有路由器上的常规 MPLS 或标签交换

- 所有必需接口上的 MPLS 或标签交换

如果有关于哪种硬件或 Cisco IOS® 软件版本支持 MPLS 的疑惑，请使用 Software Advisor。

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始（默认）配置。如果您使用的是真实网络，请确保您已经了解所有命令的潜在影响。

规则

有关文档规则的详细信息，请参阅 Cisco 技术提示规则。

故障排除步骤

本部分包含几个 MPLS 故障排除步骤。

验证路由协议可以运行

发出 show ip protocols 命令，以显示活动路由协议进程的参数和当前状态：

Pomerol# show ip protocols

Routing Protocol is "ospf 1"

Outgoing update filter list for all interfaces is not set

Incoming update filter list for all interfaces is not set

Router ID 10.10.10.3

Number of areas in this router is 1. 1 normal 0 stub 0 nssa

Maximum path: 4  Routing for Networks:

10.1.1.0 0.0.0.255 area 9

10.10.10.0 0.0.0.255 area 9

Routing Information Sources:

Gateway         Distance      Last Update

10.10.10.2           110      10:41:55

10.10.10.3           110      10:41:55

10.10.10.1           110      10:41:55

10.10.10.6           110      10:41:55

10.10.10.4           110      10:41:55

10.10.10.5           110      10:41:55

Distance: (default is 110)

确保 MPLS 网络及所有邻居的协议路由都存在。也可以发出 show ip route 命令，以验证路由表：

Pomerol# show ip route

Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP

D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area

N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP

i - ISIS, L1 - ISIS level-1, L2 - ISIS level-2, ia - ISIS inter area

* - candidate default, U - per-user static route, o - ODR

Gateway of last resort is 10.200.28.1 to network 0.0.0.0

10.0.0.0/8 is variably subnetted, 13 subnets, 3 masks

C       10.1.1.8/30 is directly connected, Serial0/1.2

O       10.1.1.12/30 [110/390] via 10.1.1.5, 15:26:38, Serial0/1.1

O       10.10.10.2/32 [110/196] via 10.1.1.10, 15:26:38, Serial0/1.2

C       10.10.10.3/32 is directly connected, Loopback0

O       10.1.1.0/30 [110/390] via 10.1.1.5, 15:26:38, Serial0/1.1

[110/390] via 10.1.1.10, 15:26:38, Serial0/1.2

O       10.10.10.1/32 [110/196] via 10.1.1.5, 15:26:38, Serial0/1.1

O       10.10.10.6/32 [110/98] via 10.1.1.22, 15:26:38, Serial0/1.3

O       10.10.10.4/32 [110/391] via 10.1.1.5, 15:26:38, Serial0/1.1

C       10.1.1.4/30 is directly connected, Serial0/1.1

C       10.1.1.20/30 is directly connected, Serial0/1.3

如果路由器或路由不存在，请检查路由协议进程。要检查路由协议进程，请参阅 OSPF 支持页。

验证 CEF 交换

发出 show ip cef summary 命令，以根据 IP 地址信息显示转发信息库 (FIB) 中的特定条目。此输出显示 Normal 状态：

Pomerol# show ip cef summary

IP CEF with switching (Table Version 131), flags=0x0, bits=8

32 routes, 0 reresolve, 0 unresolved (0 old, 0 new)

32 leaves, 18 nodes, 23004 bytes, 125 inserts, 93 invalidations

1 load sharing elements, 336 bytes, 1 references

universal per-destination load sharing algorithm, id B642EBCF

1 CEF resets, 6 revisions of existing leaves

6 in-place modifications

refcounts:  4909 leaf, 4864 node

发出 show ip cef 和 show ip cef interface 命令，以验证 CEF 状态。如果 CEF 未启用，则不出现任何内容：

Pomerol# show ip cef

%CEF not running

Prefix              Next Hop             Interface

如果在 CEF 的启用方面依然有问题，请参阅 Cisco Express Forwarding 概述。

验证 MPLS

发出 show mpls interfaces 命令，以确保 MPLS 已全局启用。此命令也验证了标签分配协议 (LDP) 在请求的接口上运行：

Pomerol# show mpls interfaces

Interface              IP            Tunnel   Operational

(...)

Serial0/1.1            Yes (tdp)     Yes      Yes

Serial0/1.2            Yes           Yes      No

Serial0/1.3            Yes (tdp)     Yes      Yes

(...)

show mpls interfaces 命令输出字段说明

字段

描述

IP

此字段显示针对某个接口配置了 MPLS IP。LDP 出现在 IP 状态右边的括号内。LDP 是以下情况之一：

- 标记分配协议 (TDP)，由 Cisco 标签交换体系结构定义

- LDP，如 Internet 工程任务组 (IETF) 在 RFC 3036 中所定义

隧道

此字段指示接口上的流量工程容量。

运营

此字段显示 LDP 的状态。
注意：在示例输出中，Serial0/1.2上的Operational字段关闭，因为接口关闭。

ping 邻居

每对路由器邻居之间必须有一个未标记的连接处于打开状态。路由协议和 LDP 使用该未标记连接生成路由表和标签转发信息库 (LFIB)。

Pomerol# ping 10.10.10.6

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 10.10.10.6, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 56/56/60 ms

验证标签分配

发出 show tag-switching tdp discovery 命令，以显示发现的邻居：

Pomerol# show tag-switching tdp discovery

Local TDP Identifier:

10.10.10.3:0

Discovery Sources:

Interfaces:

Serial0/1.1 (tdp): xmit/recv

TDP Id: 10.10.10.1:0

Serial0/1.2 (tdp): xmit/recv

TDP Id: 10.10.10.2:0

Serial0/1.3 (tdp): xmit/recv

TDP Id: 10.10.10.6:0

在 show tag-switching tdp discovery 命令输出中，通过使用 TDP 将标签与路由绑定。如果任意一个假定的邻居不存在，并且您无法 ping 通该假定邻居，则说明存在连接问题，而且无法运行 LDP。如果 LDP 正确运行，它将根据每个转发等效类分配一个标签。

注意：如果无法从全局路由表到达LDP的路由器ID，则无法建立邻居关系。

验证标签绑定

发出 show tag-switching tdp bindings 命令，以确保为每个目标分配标签。可以使用 show tag-switching forwarding-table {ip address | prefix} detail命令，以验证不同的路由和与路由关联的标签。

本部分显示的输出包含 10.10.10.x/32 网络的标签绑定，这些是指每个标签交换路由器 (LSR) 的接口：

注意：每个LSR有多个标签。每个标签对应一个不同的路径。

Pomerol# show tag-switching tdp bindings

(...)

tib entry: 10.10.10.1/32, rev 31

local binding:  tag: 18

remote binding: tsr: 10.10.10.1:0, tag: imp-null

remote binding: tsr: 10.10.10.2:0, tag: 18

remote binding: tsr: 10.10.10.6:0, tag: 21

tib entry: 10.10.10.2/32, rev 22

local binding:  tag: 17

remote binding: tsr: 10.10.10.2:0, tag: imp-null

remote binding: tsr: 10.10.10.1:0, tag: 19

remote binding: tsr: 10.10.10.6:0, tag: 22

tib entry: 10.10.10.3/32, rev 2

local binding:  tag: imp-null

remote binding: tsr: 10.10.10.2:0, tag: 17

remote binding: tsr: 10.10.10.1:0, tag: 20

remote binding: tsr: 10.10.10.6:0, tag: 23

tib entry: 10.10.10.4/32, rev 40

local binding:  tag: 20

remote binding: tsr: 10.10.10.1:0, tag: 16

remote binding: tsr: 10.10.10.2:0, tag: 20

remote binding: tsr: 10.10.10.6:0, tag: 24

tib entry: 10.10.10.5/32, rev 44

local binding:  tag: 22

remote binding: tsr: 10.10.10.1:0, tag: 17

remote binding: tsr: 10.10.10.2:0, tag: 22

remote binding: tsr: 10.10.10.6:0, tag: 25

tib entry: 10.10.10.6/32, rev 48

local binding:  tag: 23

remote binding: tsr: 10.10.10.6:0, tag: imp-null

remote binding: tsr: 10.10.10.1:0, tag: 22

remote binding: tsr: 10.10.10.2:0, tag: 24

(...)

Pomerol# show tag-switching forwarding-table 10.10.10.4 detail

Local  Outgoing    Prefix            Bytes

tag  Outgoing   Next Hoptag    tag or VC   or Tunnel Id      switched   interface

20     16          10.10.10.4/32     0          Se0/1.1    point2point

MAC/Encaps=4/8, MTU=1500, Tag Stack{16}

48D18847 00010000

No output feature configured

Per-packet load-sharing

验证标签已设定

使用 debug mpls packet 命令或 MPLS 感知型 traceroute 命令功能，以确保标签已设定。

Pesaro# traceroute 10.10.10.4

Type escape sequence to abort.

Tracing the route to 10.10.10.4

1 10.1.1.21 [MPLS: Label 20 Exp 0] 272 msec 268 msec 300 msec

2 10.1.1.5 [MPLS: Label 16 Exp 0] 228 msec 228 msec 228 msec

3 10.1.1.14 92 msec * 92 msec

相关信息

- MPLS 支持页

- OSPF 支持页

- 技术支持和文档