D是RR反射器,BCE与D建立IGBP邻居。B、C发布路由1.1.1.1,D可以学习到两条1.1.1.1的路由,并形成负载,但是D通告给E的路由只有一条,并且下一跳指向10.3.1.2的。正常来说,BGP路由表存在目的地址为1.1.1.1的两条最佳路由,应该都会通告给E,实际情况E的BGP路由表里面只有1条。这是什么原因?
援引GPT回答:
这种情况可能是由于D是RR反射器(Route Reflector)引起的。RR反射器用于简化BGP路由的分发,它会将学习到的路由反射给其他BGP邻居。但是,RR反射器在反射路由时会根据一定的规则选择反射的路由,通常选择最佳路由进行反射。
在这种情况下,D作为RR反射器可能会根据某些规则选择其中一条1.1.1.1的路由进行反射给E,而另一条则被忽略。这样就导致了E的BGP路由表中只有一条1.1.1.1的路由。
要解决这个问题,可以调整RR反射器的配置,使其能够将所有学习到的路由都反射给E,而不仅仅是选择最佳路由进行反射。具体的配置方法可能因厂商和设备型号而有所不同,建议参考设备的官方文档或联系网络设备厂商获取更详细的配置指导。
BGP有13条选路原则,既然你用的是H3C的模拟器,那我就用华为的选路原则来给你解释一下,理论上来说13条选路原则一定是能选出一条最优路由出来的。我学习的时候Cisco思科设备满足前9条是可以实现负载均衡,也就是选两条的但是需要开设置。模拟器不知道支不支持,设备肯定是支持负载均衡的
1. 丢弃下一跳不可达路由
//显然你这个环境都是可达的,那第1条就没法比较出谁更优
2.优选Preferred_Value值高的路由
//图中显示2条路由都是0那就是没设置,第2条没法比较出谁更优
3.优选Local_Preference值最高的
//图中是默认值100,第3条没法比较出谁更优
4.优选本地生成的路由
//图中对于D来说,1.1.1.1是B和C传过来的路由,
//没有本地生成的,第4条没法比较出谁更优
5.优选AS_Path短的路由
//2个AS_Path是一样长的
//可以从后面的Path/Origin参数看出来,第5条没法比较出谁更优
6.Origin属性,起源类型IGP>EGP>Incomplete
// IGP的标志是i,Incomplete是引入的路由标志是?
//从Path/Origin看出来都是i,第6条没法比较出谁更优
7.对于来自同一AS的路由,优选MED值小的路由
//其实这个MED是以路由表的值为基础的,
//当然图中MED的值都是0,第7条没法比较出谁更优
8.优选从EBGP学来的路由
//全IBGP互联的,就不存在这一点,第8条没法比较出谁更优
9.优选AS内部IGP Metric最小的路由
//这条选的是IGP表中的Metric,其实看路由表也行,第9条没法比较出谁更优
下面第10条和第11条是和反射器或者联盟有关的
10.优选Cluster_List最短的路由
//这条也是一样的,因为cluster-id长度都是2,{10.3.1.2,10.3.1.1}和{10.4.1.2,10.3.1.1},第10条没法比较出谁更优
11.优选Originator_ID最小的路由
//这条就很明显的会优选10.3.1.2的路由,
//因为Originator_ID的话10.3.1.2肯定是比10.4.1.2小的,所以第11条就优选10.3.1.2传过来的路由