BGP是一个应用广泛的边界网关路由协议,定义了多种路径属性,拥有丰富的路由策略工具
BGP路由的各种属性的操作会影响路由的优选,从而对网络流量产生影响,BGP路由的优选规则十分重要
BGP路由优选的规则
当到达同一个目的网段存在多条路由时,BGP通过如下的次序进行路由优选:
最开始,要丢弃下一跳不可达的路由
1. 优选Preferred-Value属性值最大的路由,值越大越优先
2. 优选Local-Preference属性值最大的路由,值越大越优先
3. 路由优先级:优选手动聚合>自动聚合>network>import>从对等体学到的,值越小越优先,后面都是
4. 优选AS_Path属性值最短的路由
5. 优选Origin属性值最优的路由,从高到低排列为:IGP,EGP和incomplete
6. 优选MED属性值最小的路由
7. 优选从EBGP对等体学来的路由
8. 优选Next_Hop的GP度量值最小的路由
9. 优选Cluster_List最短的路由
10. 优选Router ID(Orginator_ID)最小的设备通告的路由
11. 优选具有最小IP地址的对等体通告的路由
丢弃下一跳不可达路由
外部路由器将BGP路由通告给AS内部的路由器,会经过与外部连接的边界路由器
边界路由器不会改变next_hop属性值,而且其本身没u有激活连接外部AS接口的OSPF
内部收到BGP路由的路由器进行查询时,无法查到下一跳的地址,从而丢弃该路由
在边界路由器上面通告**next-hop-local**修改Next_Hop属性值为本地更新源地址
于是下一跳地址就可达了
在可达的情况下,如果有多条路径,就会开始选择最优路由
1,优选Preferred_value属性值最大的路由
值越大越优先
默认情况下为0,使用prefetted-value修改
2,优选Local_Preference属性值最大的路由
相同preferred——vlaue情况下比较
数值越大越优先
3,路由优先级:优选手动聚合>自动聚合>network>import>从对等体学到
在相同条件下,优选本地生成的路由,从对等体学习的路由条目为次优
手动aggregate聚合生成 > 通告summary automatic自动聚合 > newwork方式注入 > import-route注入的路由
4, 优选AS_Path属性值最短的路由
通告路由策略修改通告的BGP路由的AS_Path属性,比如 A:300,B:400 100。那么优选A
注意需要在前几条优先规则一致的情况
5,优选Origin属性值最优的路由
从高到低排列为:IGP,EGP和incomplete
6,优选MED属性值最小的路由
默认情况下BGP只会对来自同一个AS的相同路由比较MED值
可以通过命令开启来自不同AS的相同路由比较MED值
值越小越优先
7,优选从EBGP对等体学来的路由
在前面几条规则优选相同的情况下
EBGP对等体通告的BGP路由优于IBGP对等体通告的BGP路由
8,优选到NEXT——Hop的IGP度量值最小的路由
当前7条优选规则无法比较出优选BGP路由时将会比较前往下一跳地址的IGP cost值
值越小越优先
BGP路由等价负载分担:
大型网络中,如果就选一条最优路由,会再次流量负载不均衡的情况
因此需要配置BGP负载分担,可以使设备同时将多条等价路由的BGP路由加载到路由表, 实现流量负载分担
虽然存在多条到达同一目的地的BGP路由,但只会优选一条路由
满足条件的多条BGP路由才会成为等价路由,进行负载分担
也就是两条路由如果满足上面八个条件全部相同,就是等价发在分担
9,优选Cluster_List最短的路由
需要通过BGP详细路由来查看
10,优选Router ID最小的设备通告的路由
需要通过BGP详细路由来查看
11,优选具有最小IP地址的对等通告的路由
当前面所有规则都无法比较出优选路由时,此时会根据对等体地址大小来进行优选,对等体地址较小者发送的路由较优
总结
BGP采用路径属性进行路由优选,具有丰富的可比较项
是得路由器可以在任何复杂的网络环境下选择出最优的路径
以上均为个人笔记,总结于华为技术有限公司学习资料和网络平台资源
如有问题,谢谢指正