MPLS *** 故障排查详解—Yeslab 彭Sir笔记
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笔记相关推荐
- kernel_mktime() 详解 —— Linux-0.11 学习笔记(四)
题目:kernel_mktime() 详解 -- Linux-0.11 学习笔记(四) 在init/main.c文件中,有一个函数static void time_init(void) 该函数读取 C ...
- python opencv 直方图均衡_详解python OpenCV学习笔记之直方图均衡化
本文介绍了python OpenCV学习笔记之直方图均衡化,分享给大家,具体如下: 官方文档 – https://docs.opencv.org/3.4.0/d5/daf/tutorial_py_hi ...
- 【 数据集加载 DatasetDataLoader 模块实现与源码详解 深度学习 Pytorch笔记 B站刘二大人 (7/10)】
数据集加载 Dataset&DataLoader 模块实现与源码详解 深度学习 Pytorch笔记 B站刘二大人 (7/10) 模块介绍 在本节中没有关于数学原理的相关介绍,使用的数据集和类型 ...
- 【分类器 Softmax-Classifier softmax数学原理与源码详解 深度学习 Pytorch笔记 B站刘二大人(8/10)】
分类器 Softmax-Classifier softmax数学原理与源码详解 深度学习 Pytorch笔记 B站刘二大人 (8/10) 在进行本章的数学推导前,有必要先粗浅的介绍一下,笔者在广泛查找 ...
- 【 反向传播算法 Back-Propagation 数学推导以及源码详解 深度学习 Pytorch笔记 B站刘二大人(3/10)】
反向传播算法 Back-Propagation 数学推导以及源码详解 深度学习 Pytorch笔记 B站刘二大人(3/10) 数学推导 BP算法 BP神经网络可以说机器学习的最基础网络.对于普通的简单 ...
- 【 卷积神经网络CNN 数学原理分析与源码详解 深度学习 Pytorch笔记 B站刘二大人(9/10)】
卷积神经网络CNN 数学原理分析与源码详解 深度学习 Pytorch笔记 B站刘二大人(9/10) 本章主要进行卷积神经网络的相关数学原理和pytorch的对应模块进行推导分析 代码也是通过demo实 ...
- 【 梯度下降算法 Gradient-Descend 数学推导与源码详解 深度学习 Pytorch笔记 B站刘二大人(2/10)】
梯度下降算法 Gradient-Descend 数学推导与源码详解 深度学习 Pytorch笔记 B站刘二大人(2/10) 数学原理分析 在第一节中我们定义并构建了线性模型,即最简单的深度学习模型,但 ...
- 【多输入模型 Multiple-Dimension 数学原理分析以及源码详解 深度学习 Pytorch笔记 B站刘二大人 (6/10)】
多输入模型 Multiple-Dimension 数学原理分析以及源码源码详解 深度学习 Pytorch笔记 B站刘二大人(6/10) 数学推导 在之前实现的模型普遍都是单输入单输出模型,显然,在现实 ...
- 【 线性回归 Linear-Regression torch模块实现与源码详解 深度学习 Pytorch笔记 B站刘二大人(4/10)】
torch模块实现与源码详解 深度学习 Pytorch笔记 B站刘二大人 深度学习 Pytorch笔记 B站刘二大人(4/10) 介绍 至此开始,深度学习模型构建的预备知识已经完全准备完毕. 从本章开 ...
最新文章
- Zabbi监控系统搭建
- 50行代码串行Promise,koa洋葱模型原来这么有趣?
- C 桥接模式 - 开关和电器
- tomcat学习笔记——lifecycle(容器)启动都干了什么
- 大分区表高并发性能提升100倍?阿里云 RDS PostgreSQL 12 解读
- mysql异机备份_RMAN异机恢复备份集权限问题
- spring中配置quartz定时器
- 通过HTML5 Visibility API检测页面活动状态
- excel字符串和单元格拼接_Excel工作表中带单位求和的4个技巧,不掌握就真的Out了!...
- cmd net命令详解与图片示意
- python 中英文 分离_Python 将字符串的中英文分离的完整代码
- 软件数字签名 c语言,C语言实现的SM2数字签名验证
- 【圆梦名企第三季】4月12日软件业“人才留湘 引才入湘”专项行动
- EfficientDet: Scalable and Efficient Object Detection
- 基于WebGIS的电子政务应用(基于J2EE的MVC架构)
- 语法树的Java代码自动化插桩
- (2018)All-optical machine learning using diffractive deep neural networks
- 【论文阅读笔记】Structured-light 3D surface imaging: a tutorial(结构光三维表面成像)
- Ubuntu安装以及简单设置
- P3654 First Step (ファーストステップ)——暴力枚举
热门文章
- 有什么语音翻译软件?语音翻译软件怎么用?
- java毕业生设计校园绿化管理系统计算机源码+系统+mysql+调试部署+lw
- python爬虫学习:第一章:爬虫基础
- python进制转化bin oct dec hex_进制的英文表示法:BIN、OCT、HEX、DEC分别代表二、八、十六、十进制~BINOCTHEXDEC在英语中什么意思?...
- 多个相机工作可能解决办法
- 18650圆柱锂电池comsol5.6模型
- MiCTeX MiniFAQ
- excel 预测工作表,趋势
- 21 张速查表,高清图
- linux从NTFS优盘复制,如何将Mac电脑中的文件拷贝到U盘中