MPLS VPN故障处理
上一节概述了MPLS VPN网络的正确操作以及LFIB和VRF CEF表的基本验证。但是,当流量未在之前运行时,可以存在歧义。PE可能没有将BGP标签安装到CEF FIB中。如果是这样,请清除VRF路由来解决问题,并使用Cisco Bug Toolkit查找软件错误。你可以启用调试MPLS lfib cef命令获取增加和删除LFIB的更多信息。该命令可以用于FIB和LFIB标签不匹配的故障排除,但在生产路由器上可能比较密集。因此,要小心使用。处理MPLS VPN问题时,一些关键提示和命令如表7-3所示。
表7-3 MPLS VPN常见故障处理方法
症状 | 提示 | 命令 |
---|---|---|
VPNv4流量不会被端到端转发 | 查看发布PE路由器的BGP和LFIB标签信息。 | 显示IP BGP VPN VRF<多联机>标签|包括<前缀> 显示MPLS转发VRF<多联机>|包括<前缀> |
查看接收PE路由器的BGP和FIB标签信息。 | 显示IP BGP VPN VRF<多联机>标签|包括<前缀> 显示IP CEF VRF |
|
MPLS入接口流量在出接口PE上丢弃 | 如果存在,请检查路由处理器(RP),线卡(LCS)和相关硬件引擎上的FIB和LFIB条目。 | 显示MPLS转发VRF<前缀> |
表7-4列表有用显示命令。
表7-4在处理MPLS VPN时有用的显示命令
显示命令 | 目的 |
---|---|
显示IP路由VRF<多联机> | 只显示与指定VRF相关的路由表项 |
显示IP arp VRF<多联机> | 只显示与指定VRF相关的ARP表项 |
显示IP CEF VRF |
显示特定前缀的标签堆栈和输出接口 |
显示MPLS转发VRF |
显示基于VPN前缀的LFIB查找 |
显示MPLS转发| include<前缀> | 显示LFIB中的前缀是否在 |
显示MPLS转发标签<标识> | 显示基于传入标签的LFIB查找 |
显示IP CEF VRF<名称>确切的路线<源地址> <目的地址> | 显示VPN前缀的PE的透视的流量路径 |
表7-5列表有用调试命令。
表7-5处理MPLS vpn故障时有用的调试命令
调试命令 | 目的 |
---|---|
调试IP BGP VPNV4 | 用于处理BGP中标签相关的问题 |
调试MPLS lfib cef(acl) | 用于处理VPN前缀中BGP、FIB、LFIB的标签不匹配问题 |
调试IP路由VRF |
适用于路由器未在VRF路由表中安装VPN前缀的情况 |
CEF在处理跨各种平台的MPLS VPN故障时的注意事项
在处理Cisco设备上的MPLS vpn故障时,需要了解平台架构。不同的体系结构和处理器需要不同的故障排除命令。故障排除在基于软件的平台上是不同的,比如带有NPE-G2处理器的Cisco 7200路由器。为了检查线路卡信息,必须在分布式平台(如Cisco 7500)上采取更多的故障排除步骤。在Cisco Catalyst 6500中,管理器的类型决定了设备在MPLS VPN环境中的可能使用情况和故障排除的类型。基于硬件的转发在Cisco 12000系列路由器上随线路卡引擎类型的不同而不同。通过先进的技术,并行快速转发(PXF)需要在Cisco 10000系列路由器上进行额外的故障排除。以下部分将讨论这些平台的注意事项。
Cisco 7200路由器带NPE-G2
许多客户在MPLS环境中使用带有NPE-G1或NPE-G2的Cisco 7200。在用作PE设备的这些平台上,先前覆盖的相同规则应用。NPE-G2具有优化的性能,但不做基于硬件的交换。因此,在排除MPLS VPN问题时,您必须在一个地方检查路由,CEF和LFIB表。这对于其他基于软件的平台,例如Cisco ISR路由器也是如此。
Cisco 7500路由器
另一方面,在分布式平台上,如Cisco 7500路由器作为PE设备,您需要在路由处理器级别和线卡级别上检查路由、CEF和LFIB表。在具有通用接口处理器(VIP)的7500上,大部分时间转发发生在VIP上。有时RSP (route switch processor)的LFIB和VIP的LFIB不一致。如果在VIP上发生转发,则不应该出现这种情况。如果LFIB和其他信息在RSP上看起来很好,但是流量转发问题仍然存在,那么您可能需要查看VIP上的LFIB。如果存在不一致,很可能是软件错误。在连接到VIP后,您可以运行在RSP上运行的相同的命令来解决MPLS问题,并检查命令的一致性,如显示mpls转发<前缀>或者显示ip欧共体语言教学大纲的<前缀>。示例7-6显示标签和下一次跳数一致地达到RSP和VIP上的10.1.1/32。
例7-6检查RSP和VIP的前缀10.1.1.1/32一致性
7513#查看MPLS转发10.1.1.1本地传出前缀字节标签输出下一跳标签标签或VC或隧道ID交换接口17未标记10.1.1/32 0 et9 / 1/1010.16.1 7513#if-con 9控制台或调试[c]:为vip2输入控制台R5K 9类型“^ c ^ c ^ c”或“if-quit”结束此会话vip-slot9#查看MPLS转发10.1.1.1本地传出前缀字节标签标签外出的下一跳标签标签或VC或隧道ID交换接口17未标记10.1.1/32 0 ET9 / 1/0 10.1.16.1
在一种情况下,vip和RSP之间的MPLS不一致不是一个bug。缺省情况下,慢速串行接口(小于2mbps)使用基于rsp的加权公平队列(WFQ)。如果某个接口使能了RSP WFQ, VIP会将去往VRF的报文从该接口前缀中拨出,由RSP进行WFQ并进行报文交换。由于基于rsp的WFQ,一个分布式的cefpunt发生了,传入的VIP不存储传入的label/LFIB信息。希望由VIP而不是RSP来转发流量。因此,您应该启用基于vip的公平排队,而不是基于rsp的公平排队。启用基于VIP的公平队列后,将在VIP上进行标签交换和WFQ。
思科催化剂6500,主管2
在Cisco Catalyst 6500上有一个监督者2 (SUP2), MPLS VPN的故障排除与路由器的不同,因为体系结构不同。一般情况下,支持MPLS vpn的入接口和出接口必须是使能FlexWAN或OSM pxf的接口。这是因为这些卡片是MPLS感知的,需要强制和处理。由于PFC2 (Policy Feature Card 2)交换asic不能处理MPLS报文,所以MPLS表从路由处理器直接加载到OSM或FlexWAN卡上处理交换。
软件级别的一般故障排除与本章前面的“MPLS VPN故障排除”小节中讨论的故障排除相同。然而,在思科Catalyst 6500平台上,主要的好处是硬件交换。这个因素为解决MPLS vpn故障增加了另一个难点。交换机不使用Supervisor 2的TCAM (FIB Ternary Content Addressable Memory)来实现MPLS功能。OSM或FlexWAN存储所有MPLS转发表和VPN转发表。路由处理器将LFIB表传递给每个卡上的Toaster Tag FIB (TTFIB)。TTFIB是LFIB的浓缩形式,用于PXF处理器和FlexWAN的优化使用。OSM和FlexWAN线卡使用TTFIB在硬件中执行实际的查找和重写MPLS包。
对于用作MPLS PE设备的Cisco Catalyst 6500SUP2,入口卡确定IP数据包所属的VPN,并在TTFIB中执行查找以确定出口接口。入口索引将IP数据包指向出口端口,绕过PFC2。源MAC地址用TTFIB索引编码,以便出口能够确定适当的查找和标签。出口添加了两个标签 - 一个VPN和一个IGP标签 - 并将数据包发送出来。
在标签处理的相反方向,当MPLS报文到达时,SUP2通过标签来确定报文的VPN所有者。入接口索引将报文导向带有特殊信息的出接口。出接口弹出标签,进行TTFIB查找,并转发IP报文。
当Cisco Catalyst 6500 SUP2设备作为P设备时,必须有FlexWAN或OSM作为进出卡。入接口卡根据标签在TTFIB中查找,以确定出接口。设备将报文直接从入接口转发到出接口。数据包到达出接口模块,然后进行另一次TTFIB查找。然后,出口执行适当的标签交换。
当在SUP2平台上用osm或flexwan排除MPLS vpn故障时,必须检查这些卡的硬件表。因此,在排除故障时,需要将RP上的MPLS转发表的结果与入接口卡上的TTFIB进行比较。在线路卡上检查FIB表项、LFIB表项和硬件CEF表项。
催化剂6500与主管720 3BXL
在监管人720 3BXL上,EARL 7/PFC3交换asic可以处理MPLS数据包,不再需要OSM或FlexWAN卡作为输入/输出进行强制和处理。EARL 7上的三层ASIC用MPLS表项填充FIB TCAM。它还处理标签的强制、交换和处置。有了SUP720,任何线路卡都可以成为MPLS链路。与PFC2系统不同的是,在PFC2系统中,OSM PXF接口和FlexWAN接口执行转发决策,而PFC3/ df3对OSM PXF接口和FlexWAN接口执行转发决策。在SUP720上由RP构建VRF表项。它向SP发送信息来编程TCAM。FIB TCAM存储VPN表ID,并保存标签和前缀表项。在MPLS环境下,对于配备了SUP720的P设备进行故障处理时,可以使用如表7-6所示有用命令。
表7-6使用本机SUP720S上的PRevulle故障排除命令
显示命令 | 功能 |
---|---|
显示mpls转发<前缀>细节 | 显示软件信息 |
显示美国英语<前缀>细节 | 显示硬件转发信息 |
显示MLS cef进入<索引>细节 | 显示硬件邻接 |
表7-7显示了在故障排除时使用的MPLS VPN PE设备时使用的有用命令6500具有SUP720。
表7-7本地SUP720s PE故障处理命令
显示命令 | 功能 |
---|---|
显示IP路由VRF<名称> <前缀> | 验证路由条目 |
显示IP CEF VRF<名称> <前缀>细节 | 验证cef条目 |
显示MPLS转发VRF<名称> <前缀>细节 | 显示软件转发信息 |
显示MLS CEF VRF |
显示硬件转发信息 |
显示MLS cef邻接表项<索引>细节 | 显示硬件邻接信息 |
显示VLAN内部用法 | 显示内部VLAN映射和出接口 |
显示MLS cef MPLS标签<标识>细节 | 显示硬件标签信息 |
Cisco Catalyst 6500配置SUP720作为MPLS VPN PE设备,如图7-4所示。
SUP720用于MPLS VPN PE
例7-7包括显示命令,检查在MPLS VPN组网中,SUP720作为PE设备的VRF前缀10.1.1.0/24下的软件数据。在此例中,VRF的名称为“red”。
例7-7查看VRF红色前缀10.1.1.0/24的软件信息
6500体育#显示IP路由VRF红色10.1.1.0路由描述符块:* 192.168.1.1 (Default-IP-Routing-Table), from 192.168.1.1, 00:05:07 ago路由度量为0,流量共享计数为1 AS Hops 0 6500PE#Show IP cef VRF red 10.1.1.0 detail命令10.1.1.0/24,版本33,epoch 0,缓存邻接172.16.1.1 0数据包,0个字节标记信息集,所有重写所拥有的本地标签:VPN-Route-Head快速标签重写与GI1 / 2,172.16.1,标签施加:{17 22}通过192.168.1.1,0依赖项,递归下跳172.16.1.1,GigabitEthernet1 / 2通过192.168.1.1/32(默认)有效缓存的邻接标签重写与Gi1 / 2,172.16.1.1,施加的标签:{17 22} 6500pe#Show MPLS forwarding VRF red 10.1.1.0 detail命令本地传出前缀字节标签输出下一跳标签标签或VC或隧道ID交换接口无17 10.1.1.0 / 24 0 GI1 / 2 172.16.1.1 MAC / ENCAPS = 14/22,MRU = 1496,标签堆栈{17 22} 000F35E4541900CE00142B630088470001100000016000无输出功能配置每包加载共享
示例7-8检查VRF红色中的前缀10.1.1.0 / 24的sup720上的硬件信息。要查看硬件邻接条目,必须从第一个命令的“A:”值中标识索引。
示例7-8检查VRF红色前缀10.1.1.0/24的硬件信息
6500体育#显示MLS CEF VRF RED 10.1.1.0 24详细信息代码:M - 掩模条目,V值输入,A - 邻接索引,P优先级位D - Full Not切换,M - 负载平衡ModNumber,B - BGP桶SEL V0 - VLAN 0,C0 - 术语Comp Bit 0,V1 - VLAN 1,C1 - Not Comp Bit 1 RVTEN - RPF VLAN表启用,RVTSEL - RPF VLAN表选择格式:IPv4_DA - (8 | XTAG VPN PI CR Recirc TOS前缀)格式:IPv4_SA - (9 | XTAG VPN PI CR RECIRC前缀)M(3211):e |1 FFF 0 0 0 0 0 255.255.255.0 V(3211):8 |1 256 0 0 0 0 0 10.1.1.0(A:294912,P:1,D:0,M:0,B:0)6500PE#显示MLS CEF邻接条目294912详细信息索引:294912 smac: 00e0.142b。63.00, dmac: 000f.35e4.5419 mtu: 1518, vlan: 1020, dindex: 0x0, l3rw_vld: 1 format: MPLS, flags: 0x8418 label0: 0, exp: 0, ovr: 0 label1: 22, exp: 0, ovr: 0 label2: 17, exp: 0, ovr: 0 op: PUSH_LABEL2_LABEL1 packets: 0, bytes: 0