BGP概述及基础配置(二)
一、BGP路径属性
1、BGP路由优选规则
- 优选具有最大Preferred-Value的路由
- 优选具有最大Local_Preference的路由
- 优选起源于本地的路由
- 优选AS_Path最短的路由
- Origin
- 优选MED最小的路由
- 优选EBGP对等体所通告的路由
- 优选到Next_Hop的IGP度量值最小的路由
- BGP路由负载分担
- 优选Cluster_List最短的路由
- 优选Router-ID最小的BGP对等体发来的路由
- 优选Peer-IP地址最小的对等体发来的路由
2、BGP路径分类
公认属性
-
公认必遵
所有BGP设备都可以识别此类属性,且必须存在于Update报文中。 -
公认自觉
所有BGP设备都可以识别此类属性,但不要求必须存在于Update报文中。
可选属性
-
可选传递
BGP设备可以不识别此类属性,如果BGP设备不识别此类属性,但它仍然会接收这类属性,并通告给其他对等体。 -
可选非传递
BGP设备可以不识别此类属性,如果BGP设备不识别此类属性,则会被忽略该属性,且不会通告给其他对等体。
属性:
- 公认必遵:Origin、AS_Path、Next_Hop
- 公认自觉:Local_Preference、ATOMIC_Aggregate
- 可选传递:community、Aggregator
- 可选非传递:Originator_ID、MED、Cluster_List、pre_value
二、BGP属性选路配置
1、根据Local_preference控制选路(越大越优)
- 为公认自觉属性,用于告诉AS中的路由器,哪条路径是离开AS的首选路径
- Local_preference属性只能在IBGP对等体间传递(除非做了策略,否则Local_preference值在IBGP对等体间传递过程中不会丢失),而不能再EBGP对等体间传递,若在EBGP对等体间收到的路由的路径属性中携带了Local_preference,则会触发Notification报文,造成会话中断
- 但可在AS边界路由器上使用import方向的策略来修改Local_preference属性值。也就是收到路由之后,在本地为路由赋予Local_preference。
[R3]route-policy lop permit node 10 ##创建名为lop的路由策略
[R3-route-policy]apply local-preference 222 ##设置本地优先级
[R3]bgp 200
[R3-bgp]peer 4.4.4.4 route-policy lop export
在R3对R4执行出站export方向的路由策略,使其在收到对方通告后,在路由的local-preference的属性值改为222,使R4优先选R3通告的路由。若在R4配置此策略,则改为入站import
refresh bgp all export ##刷新BGP
2、使用As_path属性控制选路(越少越优)
- 为公认必遵属性,是可前往目标网络的路由经过的AS号列表
- 作用:确保路由在EBGP对等体之间传递无环,另外也作为路由优选的衡量标准之一
- 路由在被通告给EBGP对等体时,路由器会在该路由的 As_path中追加上本地的AS号。路由被通告给IBGP对等体时, As_path不会发生改变
- 使用的route-policy修改BGP路由的As_path:
- apply as-path xxx additive #在已有As_path基础上追加xxx
- apply as-path xxx overwrite #将已有As_path值替换(覆盖)成xxx
- apply as-path none overwrite #清空路由的As_path属性
- 使用route-policy修改BGP路由的As_path时,可以在EBGP对等体之间改变EBGP路由的As_path属性,从而影响BGP路由的优选。在华为路由器上,zaiEBGP对等体之间,也可使用route-policy修改BGP路由的As_path。无论何种场景,改变BGP路由的As_path都必须十分谨慎,建议跟上一个经过的AS号保持一致。
- Bestroute as-path-ignore命令
用来配置BGP在选择最优路由时忽略AS路径属性。配置该命令后,BGP将不比较AS路径的长度,越小越优
[R2]route-policy as permit node 10
[R2-route-policy]apply as-path 123 123 additive ##在已有AS-path基础上追加
[R2]bgp 200
[R2-bgp]peer 4.4.4.4 route-policy as export
refresh bgp all export
3、通过MED属性控制选路(越小越优)
- 为可选非传递属性,是一种度量值
- 一般情况下,BGP设备只比较来自同一AS(不同对等体)的路由的MED值。可以通过配置命令来允许BGP比较来自不同AS的路由的MED属性值
[R2]route-policy med permit node 10
[R2-route-policy]apply cost + 500
[R2]bgp 200
[R2-bgp]peer 1.1.1.1 route-policy med export
refresh bgp all export
4、多网段情况下只匹配某一网段选路
- Origin属于公有必遵,用来定义路径信息的来源,其作用是标记一条路由时如何成为BGP路由的,EBGP邻居之间起作用。
- 它有三种属性:①IGP:优先级最高,②EBGP:优先级次之,③Incomplete:优先级最低
三、BGP路由聚合(汇总)
- 静态汇总路由
[R2]ip route-static 192.168.0.0 255.255.252.0 null 0
[R2-bgp]net 192.168.0.0 255.255.252.0
将聚合的路由通告出去,同为手动汇总的192.168.0.0是不存在的,要把它加入Null 0 里才能在BGP进程里用上面的network来通告这条路由。
- 方案2
[R2-bgp] aggregate 192.168.0.0 255.255.252.0 detail-supperessed as-set
手动路由聚合用aggregate,detail-supperessed是抑制明细路由的通告,增加as-set关键词后,该汇总路由将继承明细路由的路径属性,其中对明细路由As_path属性起汇总防环作用。