路径属性
路径属性对于BGP而言,BGP路径属性描述了该条路由的各项特征,同时,路由携带的路径属性也在某些场景下影响BGP路由优选的决策。
- 公认属性-----所有的BGP路由器均可以识别的属性
- 强制属性-----指当BGP路由器使用update报文通报路由更新时,必须携带的路径属性
- 自由决定属性---指当BGP路由器使用update报文通告路由更新时,不要求必须携带的路径属性
- 可选属性-----不要求所有的BGP路由器都可以识别的路径属性
- 传递属性----如果BGP路由器不能识别该路径属性,那么也应该接受携带该路径属性的BGP路由更新报文,并且当路由器将该路由通告给其他对等体时必须携带该路径属性。
- 非可传递属性----如果BGP路由器不能识别该路径属性,那么该路由器将会忽略携带该属性的BGP更新报文,并且不会将路由通告给其他BGP对等体。
属性名 类型 AS_Path(AS路径属性) 公认 强制 Origin(起源属性) 公认 强制 Atomic_Aggregate(预警属性) 公认 自由决定 Aggregator 可选 传递 Originator-ID(起源ID) 可选 非传递
Cluster-List(集群列表) 可选 非传递
Next-Hop (下—跳属性) 公认 强制 Local_Preference (本地优先级) 公认 自由决定 MED(多出口区分属性) 可选 非传递
Preferen-value(优选值) 华为私有属性 Community(团体属性) 可选 传递
BGP的优选规则
当到达同一个目的网段存在多条路由时,BGP通过如下的次序进行路由优选:丢弃下一跳不可达的路由。
1.优选Preferred-Value属性值最大的路由。2.优选Local_Preference属性值最大的路由。
3本地始发的BGP路由优于从其他对等体学习到的路由,本地始发的路由优先级:优选手动聚合 > 自动聚合 > networkoimport > 从对等体学到的.
4.优选AS_Path属性值最短的路由。
5.优选origin属性最优的路由。Origin属性值按优先级从高到低的排列是:IGP、EGP及incamplete。
6.优选MED属性值最小的路由,
7.选从EBGP对等体学来的路由(EBGP路由优先级高于IBGP路由).
8.优选到Next_Hop的IGP度量值最小的路由,
9.优选Cluster_List最短的路由。
10.优选Router lD (orginator__ID)最小的设备通告的路由。
11.优选具有最小护地址的对等体通告的路由.
选路的前提条件:任何一条BGP路由在参与优选之前都必须先经过检查。设备会检查BGP路由的next-hop是否可达(在本地路由表中检查),若不可达,则BGP路由被视为不可用,该路由将无论如何都不会被优选,也不会被设备使用或通告给其他对等体。在优选规则之前,还有需要保证所有的路由的优先级相同,也即是255.
1.优选Preferred-Value属性值最大的路由。
PreVal----PV 属性,是华为的私有属性,可以看做权重,数值越大,对应的路由优先级越高,默认值为0。
因为PV值是所有选路原则中的第一条原则,所以,该属性是本设备上选路最方便的一个属性。-…-该属性只有在本地生效,无法传递给任何BGP对等体。
方法一:全局修改
[r4-bgp]peer 10.1.34.3 preferred-value 60000 ---该命令用于将对等体10.1.34.3传递过来的路由的PV值在本地修改为60000。pv值范围(0-65535)。
该命令是全局修改方式,可能会导致R3压力过大,最终设备宕机。而我们更希望实现的效果是负载分担。---.让不同的流量走不同的线路,分担单—线路的数据压力。
方法二:精细化修改
1、抓取流量
[r4]ip ip-prefix PV permit 10.10.0.0 16
2、配置策略[r4]route-policy Pv permit node 10
[r4-route-policy]if-match ip-prefix PV
[r4-route-policy]apply preferred-value 100
[r4]route-policy Pv permit node 20
3、调用策略[r4-bgp]peer 10.1.34.3 route-policy PV import----因为该属性为私有不传递属性,故调用时,只能在本地的入方向调用,来影响本地的BGP路由表。
(出--影响别人;入:影响别人和自己)
属性名称 传播范围 默认值 评判标准
preferred-value 不传播 0(0-65535) 越大越优先
2.优选Local_Preference属性值最大的路由
该属性的默认值为100,并且LP属性只能在IBGP对等体之间传递,而不能在EBGP对等体之间传递。如果路由在传递到本地时并不携带LP属性,则BGP在决策时,使用缺省值来计算。该属性越大越优。该属性的传递范围为本AS内部。该属性是AS内部优选路由的最佳选择。
方法一:全局修改
[r3]bgp 234
[r3-bgp]default local-preference 200---修改全局默认LP值,R3之后发给IBGP对等体的路由的LP属性都将被修改为200
方法二:精细化修改
1.抓取流量
[r4]ip ip-prefix LP permit 10.11.0.0 16
2.配置策略
[r4]route-policy LP permit node 10
[r4-route-policy]if-match ip-prefix LP
[r4-route-policy]apply local-preference 200[r4]route-policy LP permit node 20
3.调用策略
[r4-bgp]peer 3.3.3.3 route-policy LP import
属性名称 传播范围 默认值 评判标准
Local_Preference AS内部0 100 越大越优先
3.本地始发的BGP路由优于从其他对等体学习到的路由,本地始发的路由优先级:优选手动聚合>自动聚合>network>import>从对等体学到的。
4.优选AS_Path属性值最短的路由。
AS-Path属性
一台路由器将BGP路由通告给自己的EBGP对等体时,会将本地的AS号插入到该路由原有的AS_Path之前。
作用:
- 可以实现EBGP路由的环路避免
- 用于BGP路由优选的决策
- AS-Path属性越短则该路由越优,因为这条路径距离目的地所要经过的AS个数更少。
AS_Path属性最开始是空的列表,当该路由被通告给一个EBGP对等体邻居时,才会被加上一个AS号,在每次经过一个AS时,都会在AS_Path属性的最前端增加最新的AS号。而该属性在IBGP对等体之间传播时,这条属性是不会发生改变的。
方法一:
1.抓取流量 [r1]ip ip-prefix AS permit 10.13.0.0 16 2.配置策略 [r1]route-policy AS permit node 10 [r1-route-policy]if-match ip-prefix AS [r1-route-policy]apply as-path 11 22 33 overwrite -----覆盖操作 [r1]route-policy AS permit node 20 3.调用策略 [r1-bgp]peer 10.1.13.3 route-policy As export
方法二:
1.抓取流量 [r3]ip ip-prefix AS permit 10.13.0.0 162 2.配置策略 [r3]route-policy As permit node 10 [r3-route-policy]if-match ip-prefix AS [r3-route-policy]apply as-path 11 22 33 additive [r3]route-policy AS permit node 20 3.调用策略 [r3-bgp]peer 10.1.13.1 route-policy AS import
additive参数(只能在前面添加AS)
- 在原有AS_Path属性的基础上添加配置的AS号,在最前方添加。
overwrite参数(常用,随机位置添加AS)
- 直接覆盖原有的AS-Path属性
- 优势在于灵活多变
- 隐藏陆游的真实路径信息
- 用于形成负载均衡
- 缩短AS-Path长度
[r3-route-policy]apply as-path none overwrite将AS_Pah属性列表更改为空表
overwrite重写参数 additive添加参数 出方向 先重写,在添加上发出者的AS号 先添加,再增加发出者的AS号 入方向 直接覆盖原有的所有内容 直接在原本的AS之前添加内容
强调一下,AS_Path属性是BGP非常重要的属性,EBGP路由的防环依赖于AS_Path属性的正常工作,因此,如果出于影响路由优选的目的修改AS_Path属性,操作需要非常慎重,一般情况下,不建议修改AS_Path属性值。若不得不修改该参数,建议添加或覆盖的AS号为曾经出现过的AS号,这样既加长了AS_Path长度,又对网络的影响降低到最小。
[r3-bgp]bestroute as-path-ignore ----让路由器在选路时,忽略对AS_Path属性的检查。该命令经常会被使用在实现BGP负载分担时。
属性名称 传播范围 默认值 评判标准 AS-Path BGP所有对等体之间 该属性为列表,初始为空 记录的数据越少越好
5.优选Origin属性最优的路由。Origin属性值按优先级从高到低的排列是:lGP、EGP及lncomplete。
OGN起源码一共存在三种
- i --- 代表该条路由信息起源于AS内部使用network通告出来的(不限于IGP)
- e --- 代表该条路由信息起源于EGP协议
- ? --- 除了以上两种
1.抓取流量 [r2]ip ip-prefix aa permit 10.14.0.0 16 2.配置策略00 r2]route-policy aa permit node 10 [r2-route-policy]if-match ip-prefix aa [r2-route-policy]apply origin egp 23 [r2]route-policy aa permit node 20 3.调用策略 [r2-bgp]peer 10.1.24.4 route-policy aa export
6.优选MED属性值最小的路由
MED----多出口鉴别属性
MED值是继承了IGP协议的度量值。
MED属性值可以传递给自己的EBGP对等体,并且该EBGP对等体可以将该路由传递给自己的IBGP对等体,并且因为AS-BY-AS规则,该属性在IBGP对等体之间传递时不变。
MED属性可以干扰访问本地的流量走向。也就是说,本AS的调整可以影响到别的AS对路径的判断,这是在BGP选路中唯一一个可以影响到其他AS的属性。
BGP规定,非本地始发的BGP路由信息,在传递给自己的EBGP对等体时,将MED值修改为0.
边界设备均发布路由信息。
总结:
MED值默认初始值并不为0,而是继承了路由表中该路由条目的开销值,所以,MED参数可以反映到达目的网段在本AS内部的开销大小,通过这个参数,别的AS的流量在进入本AS时可以选择开销较小的入口进入。通过修改该属性,可以影响其他AS的流量流入本AS路径。
若本地通过IBGP对等体学习到一条BGP路由,其中存在MED值,之后需要将这条路由在传递给本地的EBGP对等体时,则不再携带该属性。这种设置将有可能造成选路不佳的情况,所以,建议,如果存在多组边界设备需要将路由发送给EBGP对等体关系时,需要将所有的路由信息均发布。
MED的传播范围只能是在发布该路由的AS以及他直连的AS内部。
注意:
MED值影响的是别的AS的流量通过多个出口进入到本AS内部,如果流入的不是同一个AS,也就是说收到的路由条目中的AS_Path属性最左边的AS号不同,则将不比较第六条,直接比较第七条。
[r4-bgp]default med 10----全局修改MED值
该命令仅对本地聚合路由或者引入的路由才有意义,并且是在传递给EBGP对等体时才会携带。
出方向---R2
1.抓取流量 [r2]ip ip-prefix MED permit 10.14.0.0 16 2.配置策略 [r2]route-policy MED permit node 10 [r2-route-policy]if-match ip-prefix MED [r2-route-policy]apply cost 20 [r2]route-policy MED permit node 20 3调用策略 [r2-bgp]peer 10.1.24.4 route-policy MED export
属性名称 传播范围 默认值 评判标准
MED 本AS及直连AS内部 继承全局路由表中的开销值 越小越优