多协议标签交换 (MPLS) : MPLS

MPLS 故障排除

2016 年 10 月 27 日 - 机器翻译
其他版本: PDFpdf | 英语 (2015 年 8 月 22 日) | 反馈


目录


简介

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

先决条件

要求

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

  • MPLS 基础知识

使用的组件

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

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

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

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

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

如果有硬件或思科IOSï ¿  ½软件版本支持MPLS的疑惑,参考软件顾问

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

规则

有关文档规则的详细信息,请参阅 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 cefshow 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 中所定义leavingcisco.com
通道 此字段指示接口上的流量工程容量。
可操作 此字段显示 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

相关信息


Document ID: 12492