BGP路由选路及配置
BGP路由选路及配置
-
路径属性
-
- 公认属性
- 可选属性
-
路由选路原则
-
配置
-
- 根据local-prefernce控制选路( 越大越优)
- 使用AS_PATH属性控制选路(越少越优)
- 通过MED属性控制选路(越小越优)
在BGP网络中,路由器是怎么在众多的路由线路选择该走哪条线路的呢?
首先,路由器将所有有效线路放到BGP路由表中,
BGP路由表中根据路径属性选出一个最优路径放到路由器本身的路由表中,
最后进行路由转发
路径属性
公认属性
公认:所有BGP设备都要识别
公认必遵,属性必须被Update报文携带
公认自决,属性不要求被Update报文携带,其自身也是可选可不必选的
可选属性
可选:设备可支持,可不支持该属性
可选传递,当设备不支持时,携带该属性的路由仍可以传递给其他对等体
可选非传递,若BGP设备不能识别时,忽略这条Update报文,且不进行传递
注:Update报文时BGP路由之间交换路由信息的报文
路由选路原则
- 如果此路由的下一跳不可达,忽略此路由
- Preferred-Value值数值越高越优先,华为私有属性,仅本地有意义
- Local-Preference值最高的路由优先
- 聚合路由优先于非聚合路由
- 本地手动聚合路由的优先级高于本地自动聚合的路由
- 本地通过Network命令引入的路由的优先级高于本地通过import-route命令引入的路由
- As-path的长度最短的路径优先
- 比较origin属性,IGP优于EGP,EGP优于Incomplete
- 选择MED较小的路由
- EBGP路由优于IBGP路由
- BGP优先选择到BGP下一跳的IGP度量值最低的路径当以上全部相同,则为等价路由,可以负载分担(注意: AS_Path必须一致,当负载分担时,以下3条原则无效)
- 比较C1uster_1ist长度,短者优先
- 比较originator_ID(如果没有originator_ID,则用Router_ID比较),选择数值较小的路径。
- 比较对等体的IP地址,选择IP地址数值最小的路径。
配置
原图如下,BGP已配好,AR1能和AR4ping通

BGP路由默认选路如下,
AR1到R4时,路由默认走R2通过

AR4返回AR1时,路由默认走AR2通过

下面我们用三种原则进行配置,使路由线路改变
根据local-prefernce控制选路( 越大越优)
local-prefernce(本地优先级)为公认自决属性,用于告诉AS中的路由器,哪条路径是离开AS的首选路径, 只在IBGP对等体间传递
因为只能在IBGP中传递,AR3所以无法告诉AR1让去时的优先级改变,
只能对AR4传递,让回来的优先级改变
AR3
[AR3]route-policy lp permit node 10 创建名为 lp 的路由策略
Info: New Sequence of this List.
[AR3-route-policy]apply local-preference 110 设置本地优先级为110 默认是100
[AR3-route-policy]q
[AR3]bgp 200 进入BGP
[AR3-bgp]peer 4.4.4.4 route-policy lp export 对R4执行出口方向的路由策略
[AR3-bgp]q
[AR3]q
<AR3>reset bgp all 重启BGP!!!
关于出口(export)与入口(import)的选择
就此条路由策略而言,是AR3发送给AR4的
就是AR4根据AR3出口发出来的路由策略进行路由选路所以是出口
反之,也可以在AR4发出策略给AR3
就是AR4根据AR3入口接收到的路由策略进行路由选路所以是入口
看看AR4的BGP路由表

路由线路改变
使用AS_PATH属性控制选路(越少越优)
As_Path为公认必遵属性,是前往目标网络的路由经过的AS号列表
通常在EBGP中传递;在华为路由器上,也可以在IBGP中传递
要满足AR1先走AR3通过,必须加长R2上的As_Path的属性,
在AR1上向AR2发送路由策略
AR1
[AR1]route-policy asp permit node 20 建立
Info: New Sequence of this List.
[AR1-route-policy]apply as-path 900 900 additive 在已有As_Path上追加As号
[AR1-route-policy]q
[AR1]bgp 100
[AR1-bgp]peer 2.2.2.2 route-policy asp import 由主体发出,用import
[AR1-bgp]q
[AR1]q
<AR1>reset bgp all
在AR1查看BGP路由表
AR1到AR4时,路径改为先走AR3走了
AR2的As_Path属性多了两个900, 
通过MED属性控制选路(越小越优)
Med为可选非传递属性,是一种度量值
在R2向R1发送路由策略
AR2
[AR2]route-policy med permit node 30
Info: New Sequence of this List.
[AR2-route-policy]apply cost 150 为度量值赋值
[AR2-route-policy]q
[AR2]bgp 200
[AR2-bgp]peer 1.1.1.1 route-policy med export 由主体接收,用export
[AR2]q
<AR2>reset bgp all
查看BGP路由表
我们在R2上增加了度量值, 使得AR1通过AR3到AR4 ,路由线路变更成功

