每条BGP路由至少携带3个属性,目的影响选路。
基本概念
- 公认必遵:所有厂家设备都要识别的属性;发送路由时必须携带的属性
- 公认任意:所有厂家设备都要识别的属性;发送路由时候可以携带也可以不携带
- 可选过渡:可以识别也可以不识别;不管是否识别都要进行转发,即过渡
- 可选非过渡:可以识别也可以不识别,可以转发也可以不转发
公认必遵
orgin(起源):i或者?,标识路由什么渠道变为的BGP
as-path:报文经过的所有AS记录,AS-PATH路径列表
next-hop:下一跳
公认任意
Local-preference(本地优先级):影响选路,选择优先级大的路径
Atomic-aggregate(原子聚合):路由汇总,做标识,告知其他设备此条路由被聚合过
可选过渡
aggregator(聚合者):哪台设备聚合的,聚合者RID
community(团体):打tag
可选非过渡
med(多出口鉴别器):cost值
cluster-liet
orginator-id
BGP选路原则
0 | 丢弃下一跳不可达的路由,next-hop-local |
1 | 优选Preferred-value属性值最大的路由 |
2 | 优选Local preference属性值最大的路由 |
3 | 本地始发的BGP路由优于从其他对等体学习到的路由,本地始发的路由优先级:手动聚合>自动聚合>network>import>从对等体学到的路由 |
4 | 优选AS path值最短的路由 |
5 | 优选Origin最优的路由,优先级从高到低是:IGP,EGP及incomplete |
6 | 优选MED值属性值最小的路由 |
7 | EBGP路由高于IBGP |
8 | 优选Next_Hop的IGP度量值最小的路由 |
当前8条属性完全一致,可以实现负载分担 | |
9 | 优选Cluster_List最短的路由 |
10 | 优选Router ID(Orginator_ID)最小的设备通告的路由 |
11 | 优选具有最小IP地址的对等体通告的路由 |
漂亮老男人(PLLAOMEN) | |
P | prefereed-value |
L | local preference |
L | 本地始发 |
A | as_path列表少的优先 |
O | origin聚合者 |
M | MED值 |
E | EBGP由于IBGP |
N | 下一跳 |
实验验证
负载均衡
- R1进入bgp进程宣告11.1.1.1/32,R4 bgp路由表会收到两条去往目的的有效路由
- 虽然有两条,但是最终会选择一条最佳
- 查看路由表,会发现并没有产生负载均衡
- BGP默认支持负载均衡,但是默认负载条目数为一条,如果需要让它支持多条,那么可以使用命令
- [R4-bgp]maximum load-balancing 3 只在本地有效
- 此时,会发现负载路由已经出现
- BGP路由表中,并不会出现两条最佳路由,因为开启负载条目数以后,是把bgp路由表中次优的路由拿出一并使用,最优的永远只有一条,传给其他设备时也只传递最优路由
下一跳开销
优选Next_Hop的IGP度量值最小的路由
- 在R4上面进入L44接口配置ip地址,并把此接口宣告到bgp进程中
- 此时R1会收到去往R4 L44接口的路由,显示有两条,目前去往R2为下一跳的最优
- 在R1中进入连接R2的接口,把度量值开销改大到20,
- 此时因为R1到R3的开销小于R1到R2的开销,所以路由下一跳更新为R3
EBGP由于IBGP
EBGP路由高于IBGP
R2与R3之间建立bgp邻居,此时会发现R3学习到的路由下一跳为R4不是R3
如果R4传给自己一条X,R2也传给自己一条X,R3会判断X为区域外,而R2为区域内,所以直接使用自己学习到的X
MED(多出口鉴别器)
med值类似于cost,越小越优,只在EBGP中传递,用于改变别的设备选路,只有来自同一条AS才会比较MED值
目前,R4前往R1的下一跳为R2,现在把R2的MED值改到大于R3的MED值,此时R4前往R1会改变下一跳为R3
R2:
R3:
一般用于控制入方向流量,影响其他区域从哪台设备进入本区域
优选Origin最优的路由(起源)
优先级从高到低是:IGP(network),EGP及incomplete(import)
- R1上面进入L0口,宣告到ospf中
- R2在bgp中network 11.1.1.1 32
- R3在bgp中import ospf 1 11.1.1.1 32
- 此时在R4上面会发现优先选择下一跳为R2
AS-PATH
优选AS path值最短的路由
- 目前,可以看到R4前往R1时,经过的下一跳是R3,此时去R3上修改AS-path数量多于R2
- 此时可以看到,R4去往R1时,经过的下一跳是R2
R3:
比较列表数量,少的优先,为了防止AS重复,要使用相同的AS号进行添加
本地始发
本地始发,聚合方式的优先级对比,手动聚合>自动聚合
Local Preference(本地优先级)
优选Local preference属性值最大的路由,影响出去的流量,MED影响外部进来的流量,LP影响内部出去的流量;LP默认值100越大越优,MED越小越优。
- 目前,R1去往R4的下一跳为R3
- 修改本地优先级,让去R2的本地优先级更大
- 现代,R1去往R4的下一跳为R2
R2:
PV
优选Preferred-value属性值最大的路由
华为私有属性,本地有效,用于影响自己而不是影响其他设备,用在入方向
- 目前,R1去往R4的下一跳为R2
- 修改R1的PV值,改为R3高于R2
- 现在,R1去往R4的下一跳为R3
R1: