Technorati 标签: CCIE,MPLS ×××,故障排查,troubleshooting,MPLS

Troubleshooting主要从两个层面来进行:

1, 控制层面---路由(和LDP,CEF没有关系)

控制平面主要管的事情是CE之间能通过MPLS ×××相互能学习到路由.

No.1 : CE和CE之间,检查路由相互之间是否学习到。

在图中是R10和R2.

如果R10上面没有通过R8学习到对端R2的CE路由.

No.2 : 这个时候需要到R1的vrf路由表查询是否有学习到R2的路由.

因为路由是从R2往R10反方向传递的。所以本端CE没有路由,需要到对端的PE先进行查看. 在R1上面查看vrf Hank的路由表:

show ip route vrf Hank

如果,R1 vrf没有收到R2的路由,那么应该检查R1 vrf接口下面链接的CE,是否有进行网络的宣告.链路是否有问题等等。这个时候就是IGP的故障排查.R1到R2之间.

如果, R1的vrf学习到了R2宣告过来的路由.那么,

No.3 : 这个时候应该检查R1的MP-BGP中的***v4路由表中,是否有R2宣告的路由.

show ip bgp ***v4 all

如果没有,那说明可能问题存在于:在bgp中的address-family ipv4 vrf xxx中是否没有重分布vrf的IGP路由协议.导致***v4本地没有CE的路由.

那么对于IGP OSPF来说,重分布进入BGP的地址族vrf中,缺省是只重分布Internal的路由.

如果要重分布所有的。应该这样写:

router bgp xxx

address-family ipv4 vrf xxx

redistribute ospf 22 match internal external nssa-external //如果不加,R2上面如果重分布一个外部路由到ospf中,通告到R1 vrf,因为重分布只重分布内部,所以这个时候在R1上面show ip bgp ***v4 all 就绝对看不到那个外部路由.

exit

exit

如果R1上面show ip bgp ***v4能看到相关CE R2宣告的路由,说明重分布是没有问题的.这个时候:

No.4 : R1会通过MP-IBGP将这些×××V4路由传递给R8去.

在R8也是一样, show ip bgp ***v4 all查看***v4路由是否送过来了.

如果这个时候在R8上面看不到路由前缀,可能有下面问题存在:

1)R1和R8的IBGP没有建立邻居. 因为使用的是MP-BGP作为承载协议。

所以使用命令:show ip bgp ***v4 all summary

来查看***v4邻居是否UP起来. 如果没有UP起来,那么就用普通的BGP故障排查来进行查看。

--本端PE的/32环回要ping到对端PE的/32环回口.

--update-source 需要使用loopback x

--在address-family ***v4中,是否有把neighbor acitve.

2)如果邻居起来了,可是依然没有***v4的路由信息在R8上面.

这个时候有可能的原因是:

---RT的EXPORT和IMPORT有问题. export和import不匹配.

           show ip vrf detail

在显示信息中,RT的export和import都有明确的说明.

如果两边的PE彼此RT的export和import都相互匹配,还是没有对端CE的路由信息.那么

---有可能R1根本就没有发送RT. RT是一个扩展的MP-BGP的团体属性.需要在R1上面检查,是否在address-family ***v4中,neighbor x.x.x.x send community extend.该项默认加载,有可能被人为手工删除.***的时候可能会被删除掉.这个时候虽然两边RT相互匹配,但是因为MP-BGP的扩展属性没有发送,所以RT是不能携带到路由前缀中的.

---如果上面说的都有了,那么在R8上面, show ip bgp ***v4 all应该是能看到R2宣告的CE的路由的.这个时候和重分布一点关系都没有.

No.5 : R8收到了×××V4的路由,也正确的重分布了,但是R10收不到.

有可能的原因:

-----R8关掉基于RT值的过滤,这样的话即使RT不匹配,我这段也能收到相关的***v4路由,但是重分布的时候,即使做对了,也不能重分布进入.例如:

router bgp xxx

no bgp default route-target filter

exit

检查命令,在R8上面:

             show ip bgp ***v4 all 22.1.1.1 //可以查看相关发送过来的RT export.

             show ip vrf detail //可以看到本端需要接收的RT import是多少.

------R8需要重分布bgp到vrf的IGP路由协议中.

否则的话, 在R8上面***v4的路由表有相关条目,但是show ip route vrf Hank中,是没有对端R2 CE宣告的路由的.

如果IGP是EIGRP的话,在做重分布的时候,需要将Metric的K1-5写进去,默认是无穷大.

router eigrp 99

!

address-family ipv4 vrf Hank autonomous-system 10

redistribute bgp 65000 metric 1000000 1 255 1 1500

network 17.1.1.1 0.0.0.0

exit-address-family

------如果R8 vrf有相关的CE2的路由,那R8到R10之间就用基本的IGP故障排查思路进行故障排查.

2, 数据平面---报文转发(LDP,CEF,label)

当控制层面工作正常以后,数据平面的作用是CE之间相互能传递数据报文.

测试拓扑图,R2--发送数据包--->R10:

当控制层面的问题解决完了,这个时候路由已经相互通告到对端的CE了.

现在是说R2 发送数据包,到R10,是否能正常转发的问题.

No.1 在R1上面看MPLS LDP label.

对于R1来说,标签有两层,

外层标签: LDP: 88.1.1.1

×××标签:CE的路由(R10的环回口).由MP-BGP进行标签的分发.

所以,在R1上面,需要查询VRF HANK的cef表.

     show ip cef vrf Hank detail

外层标签,是为bgp路由的下一跳88.1.1.1分配的标签.

这里再说一下309这个公网标签是如何分配过来的.实际上是R3分配的标签通告给R1的.使用LDP协议分配的.为88.1.1.1(R8的环回口)分配的标签.通告给R1.

如果发现,R1只有***v标签(内层标签),没有外层的LDP标签,可能的问题有:

---LDP邻居是否有起来.在R1和R3上面show mpls ldp neighbor进行验证.

如果连LDP邻居都没有起来,可能的问题有:

----1)ISP域之间采用的标签协议不同导致. LDP && TDP,可能性比较小,***的时候不排除.

----2)LDP的transport地址相互不可达. (使能了LDP协议以后,默认的情况是会自动选举一个LDP router-id,默认用环回口,而transport IP默认也是环回口,如果transport IP不可达,LDP的邻居建立无法成功,因为是用transport IP TCP的方式来建立邻居.)------>检查路由器是否忘记宣告环回口进入IGP路由协议中.

R1和R8一般不容易出问题. 而R3很容易出该问题.

用扩展ping来检查即可在R1和R3上面.

如果LDP邻居R1和R3起来了,但是R1依然没有收到公网标签,原因如下:

1)是否有一些标签的控制机制在作怪.

R3通告标签的控制.

R1接收标签的控制.

               show run | in mpls //推荐使用,直接看有没有策略.

需要关注是否结果包含下面语句:

发送:

no mpls ldp advertise-labels //标签发送

mpls ldp advertise-labels for x to y //标签发送

标签接收:

mpls ldp neighbor 55.1.1.1 label accept 1 //仅仅接收LDP neighbor 55.1.1.1所定义的ACL1的允许的标签.

2)路由器没有启用CEF.

CEF是FIB表,如果没有cef,那么也就没有LFIB.所以对于cisco设备来说,CEF是一定要启用的.否则的话是全部的前缀状态都是no label.

3) 对于标签,不能只看其中的某个点,而是端到端一路从PE到对端PE看过去.每个设备上面都要有标签。其实简单的办法就是在R1 PE1上面,traceroute 88.1.1.1,看结果是否全部都有标签.能从R1到R8的环回口,那么外层标签是没有问题了.

因为数据到R5出口的时候,因为PHP倒数第二跳弹出机制,已经pop label了,那么最后在R8上面收到数据包的时候只有一个***v4的标签,是mp-bgp分配的,其中可以看到, local=811,而且后面是[V],说明是一个***v4的标签:

最后数通通讯成功:

label=112, 是***v4的内层标签,R1通过MP-BGP分配给22.1.1.1的***v4标签.

506和306都是P设备通过LDP向11.1.1.1(BGP的下一跳)分配的标签.

转载于:https://blog.51cto.com/361531/1708085

MPLS *** 故障排查详解—Yeslab 彭Sir笔记相关推荐

  1. kernel_mktime() 详解 —— Linux-0.11 学习笔记(四)

    题目:kernel_mktime() 详解 -- Linux-0.11 学习笔记(四) 在init/main.c文件中,有一个函数static void time_init(void) 该函数读取 C ...

  2. python opencv 直方图均衡_详解python OpenCV学习笔记之直方图均衡化

    本文介绍了python OpenCV学习笔记之直方图均衡化,分享给大家,具体如下: 官方文档 – https://docs.opencv.org/3.4.0/d5/daf/tutorial_py_hi ...

  3. 【 数据集加载 DatasetDataLoader 模块实现与源码详解 深度学习 Pytorch笔记 B站刘二大人 (7/10)】

    数据集加载 Dataset&DataLoader 模块实现与源码详解 深度学习 Pytorch笔记 B站刘二大人 (7/10) 模块介绍 在本节中没有关于数学原理的相关介绍,使用的数据集和类型 ...

  4. 【分类器 Softmax-Classifier softmax数学原理与源码详解 深度学习 Pytorch笔记 B站刘二大人(8/10)】

    分类器 Softmax-Classifier softmax数学原理与源码详解 深度学习 Pytorch笔记 B站刘二大人 (8/10) 在进行本章的数学推导前,有必要先粗浅的介绍一下,笔者在广泛查找 ...

  5. 【 反向传播算法 Back-Propagation 数学推导以及源码详解 深度学习 Pytorch笔记 B站刘二大人(3/10)】

    反向传播算法 Back-Propagation 数学推导以及源码详解 深度学习 Pytorch笔记 B站刘二大人(3/10) 数学推导 BP算法 BP神经网络可以说机器学习的最基础网络.对于普通的简单 ...

  6. 【 卷积神经网络CNN 数学原理分析与源码详解 深度学习 Pytorch笔记 B站刘二大人(9/10)】

    卷积神经网络CNN 数学原理分析与源码详解 深度学习 Pytorch笔记 B站刘二大人(9/10) 本章主要进行卷积神经网络的相关数学原理和pytorch的对应模块进行推导分析 代码也是通过demo实 ...

  7. 【 梯度下降算法 Gradient-Descend 数学推导与源码详解 深度学习 Pytorch笔记 B站刘二大人(2/10)】

    梯度下降算法 Gradient-Descend 数学推导与源码详解 深度学习 Pytorch笔记 B站刘二大人(2/10) 数学原理分析 在第一节中我们定义并构建了线性模型,即最简单的深度学习模型,但 ...

  8. 【多输入模型 Multiple-Dimension 数学原理分析以及源码详解 深度学习 Pytorch笔记 B站刘二大人 (6/10)】

    多输入模型 Multiple-Dimension 数学原理分析以及源码源码详解 深度学习 Pytorch笔记 B站刘二大人(6/10) 数学推导 在之前实现的模型普遍都是单输入单输出模型,显然,在现实 ...

  9. 【 线性回归 Linear-Regression torch模块实现与源码详解 深度学习 Pytorch笔记 B站刘二大人(4/10)】

    torch模块实现与源码详解 深度学习 Pytorch笔记 B站刘二大人 深度学习 Pytorch笔记 B站刘二大人(4/10) 介绍 至此开始,深度学习模型构建的预备知识已经完全准备完毕. 从本章开 ...

最新文章

  1. Zabbi监控系统搭建
  2. 50行代码串行Promise,koa洋葱模型原来这么有趣?
  3. C 桥接模式 - 开关和电器
  4. tomcat学习笔记——lifecycle(容器)启动都干了什么
  5. 大分区表高并发性能提升100倍?阿里云 RDS PostgreSQL 12 解读
  6. mysql异机备份_RMAN异机恢复备份集权限问题
  7. spring中配置quartz定时器
  8. 通过HTML5 Visibility API检测页面活动状态
  9. excel字符串和单元格拼接_Excel工作表中带单位求和的4个技巧,不掌握就真的Out了!...
  10. cmd net命令详解与图片示意
  11. python 中英文 分离_Python 将字符串的中英文分离的完整代码
  12. 软件数字签名 c语言,C语言实现的SM2数字签名验证
  13. 【圆梦名企第三季】4月12日软件业“人才留湘 引才入湘”专项行动
  14. EfficientDet: Scalable and Efficient Object Detection
  15. 基于WebGIS的电子政务应用(基于J2EE的MVC架构)
  16. 语法树的Java代码自动化插桩
  17. (2018)All-optical machine learning using diffractive deep neural networks
  18. 【论文阅读笔记】Structured-light 3D surface imaging: a tutorial(结构光三维表面成像)
  19. Ubuntu安装以及简单设置
  20. P3654 First Step (ファーストステップ)——暴力枚举

热门文章

  1. 有什么语音翻译软件?语音翻译软件怎么用?
  2. java毕业生设计校园绿化管理系统计算机源码+系统+mysql+调试部署+lw
  3. python爬虫学习:第一章:爬虫基础
  4. python进制转化bin oct dec hex_进制的英文表示法:BIN、OCT、HEX、DEC分别代表二、八、十六、十进制~BINOCTHEXDEC在英语中什么意思?...
  5. 多个相机工作可能解决办法
  6. 18650圆柱锂电池comsol5.6模型
  7. MiCTeX MiniFAQ
  8. excel 预测工作表,趋势
  9. 21 张速查表,高清图
  10. linux从NTFS优盘复制,如何将Mac电脑中的文件拷贝到U盘中