前面我们已经学习了BGP的基础概念、对等体建立、报文类型等,也通过实践完成了IBGP和EBGP的实验配置,其实这些路由协议都是理论比较复杂,但是配置其实比较简单的,今天我们来学习BGP的路由优选原则。
一、IGP路由优选
前面我们学习了IGP的OSPF、IS-IS、RIP等路由,IGP路由一般情况下是通过路由优先级和Cost进行优选的。路由器根据IP数据包的目的地址进行查找路由表,路由表选举最优路由放到本地核心路由表项,然后下发到FIB转发表项,实际是依据转发表进行数据转发。
那比如OSPF间怎么比较哪个最优呢,因为协议优先级都是10,因此通过Cost值来比较谁最优选,在OSPF中通过修改接口的Cost值来实现选路。其它路由协议也是类似。那不同协议怎么比较呢,从OSPF、IS-IS、RIP同时学习到一条路由呢?这就需要通过路由优先级来判断。在华为设备中优先级一般如下:
路由协议 | 优先级 |
---|---|
Direct | 0 |
OSPF | 10 |
IS-IS | 15 |
Static | 60 |
OSPF ASE | 150 |
OSPF NSSA | 150 |
IBGP | 255 |
EBGP | 255 |
也是就是对于相同的路由条目优先比较路由协议优先级,优先级相同比较Cost值。
二、BGP路由属性
BGP定义了多种路径属性,并且拥有丰富的路由策略工具,这使得BGP在路由操控和路径决策上变得非常灵活,针对BGP路由的各种属性的操作都可能影响路由的优选,从而对网络的流量产生影响。
也就是说BGP的路由属性中可以设置为条件的字段比IGP路由多。
三、BGP路由优选原则概览
当到达同一个目的网段存在多条路由时,BGP通过如下的次序进行路由优选:(前提:丢弃下一跳不可达的路由。)
-
1、优选Preferred-Value属性值最大的路由。(↑ 取值越大越优) -
2、优选Local_Preference属性值最大的路由。(↑ 取值越大越优) -
3、本地始发的BGP路由优于从其他对等体学习到的路由,本地始发的路由优先级:优选手动聚合>自动聚合>network>import>从对等体学到的。(↓ 取值越小越优,后面几条规则是越小越优) -
4、优选AS_Path属性值最短的路由。 -
5、优选Origin属性最优的路由。Origin属性值按优先级从高到低的排列是:IGP、EGP及Incomplete。 -
6、优选MED属性值最小的路由。 -
7、优选从EBGP对等体学来的路由(EBGP路由优先级高于IBGP路由)。 -
8、优选到Next_Hop的IGP度量值最小的路由。(当前8条属性全部相同时可以形成路由负载分担) -
9、优选Cluster_List最短的路由。 -
10、优选Router ID(Orginator_ID)最小的设备通告的路由。 -
11、优选具有最小IP地址的对等体通告的路由。
总结:复习了一下IGP路由优选的大概步骤,根据路由协议优先级和Cost值进行选路。BGP有很多字段用于进行路由优选,如Preferred-Value、Local_Preference、AS_Path、MED等等,通过修改这些属性可以实现复杂的选路,如果前8条选路原则一致可以实现路由负载分担。
如果对文章感兴趣欢迎微信搜索公众号:不喜欢热闹的孩子
本文由 mdnice 多平台发布