1、错误的配置
2、人为的故障
3、版本兼容问题
建议:对已排除的故障,都应该准确记录故障描述,解决办法。为以后的工程提供参考和经验。
三、BGP路径选择故障
在BGP故障中最难的就是路径选择了。因为此项涉及到的项目太多,并且也很重要,如果做不好路径选择会导致网络的拥塞等情况,网络的利用率会大大降低。
学习前必须回顾一下路径选择的规则:
1、如果此路由的下一跳不可达,忽略此路由。
2、preferred-vaue高者优先。
3、Local-pref 高的优先。
4、聚合路由优先于非聚合路由。
5、本地手动聚合路由优先于自动聚合路由。
6、通过network宣告的路由优先级高于通过import引入的路由。
7、AS路径长度最短的优先。
8、 比较origin属性,IGP优先EGP,EGP优先incomplete
9、MED较小的路由优先。
10、EBGP优先于IBGP。
11、BGP选择到BGP的下一跳IGP度量最低的路径。
因为配置不合理产生次优路由故障举例:
以上图中因为配置不合理的度量值,产生了次优路由。影响BGP选路的度量值有 as-path 、 med 、igp cost 值, RT7收到来自RT4、5、6路由器的三条路由更新,分别各自都带了度量值,路由器4、5、8都配置了TTL。
该配置可能产生的路径故障一:
路径3(和RT4相连)为最佳路由,但是实际上路径3并不是最佳的路由。产生原因:
BGP会根据接受到的路由信息进行先后比较,最终选举路径作为BGP的最佳路径。首先通过比较路径1(RT5相连)和路径2(RT8相连),由于具有相同的as-path,所以med越低的越优先,路径1被选出,再与路径3比,由于as-path不同,所以不会比较med,而是比较IGP度量值,越小越好,所以最终路径3被选举为最佳路径。
该配置可能产生的路径故障二:
假设现在R7先收到的是R4的路由更新,会产生新的路径信息:路径1(与RT4相连)、路径2(与RT8相连)、路径3(与RT5连)。首先比较路径1、2得出路径2优,在与路径3比较,选出路径3为最佳。由于R7是发射器,选举结果会反射到RT4、6上,当RT4、6接受到RT7的反射信息,由于EBGP的优先级要高于IBGP,所以R4使用原路由表。RT6收到RT7的反射路由以及RT8的路由后,相比较,具有相同as-path,比较med,最终选择RT7的反射路由。路径2被选后RT6会发一个update消息撤销之前发往RT7的路由信息。RT7又作相应的处理。结果就导致路径选择故障。
以上情况观察可看出,由于外部的med值发送到AS内,默认情况下BGP不修改med,从而导致不可以预料的结果,所以我们在AS内部应该不要用外部的med来参与计算路径的选择,当然这只是其中一种解决办法。
解决办法是将AS内部的MED值全部置为0。
BGP对等体故障排错和处理办法参考:
http://www.elvhome.com/html/2014-5-15/20145151223064983.html
BGP路由学习故障的排错和处理办法参考:
http://www.elvhome.com/html/2014-5-15/201451513474142311.html
BGP路径选择馆长的排错和处理办法参考:
http://www.elvhome.com/html/2014-5-15/201451514503444822.html





