BGP的路径属性及选路规则

路径属性


路径属性对于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属性值最大的路由。

BGP的路径属性及选路规则_第1张图片

 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属性值最大的路由

BGP的路径属性及选路规则_第2张图片

该属性的默认值为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>从对等体学到的。
BGP的路径属性及选路规则_第3张图片

4.优选AS_Path属性值最短的路由。

AS-Path属性

一台路由器将BGP路由通告给自己的EBGP对等体时,会将本地的AS号插入到该路由原有的AS_Path之前。

作用:

  • 可以实现EBGP路由的环路避免
  • 用于BGP路由优选的决策
    • AS-Path属性越短则该路由越优,因为这条路径距离目的地所要经过的AS个数更少。

AS_Path属性最开始是空的列表,当该路由被通告给一个EBGP对等体邻居时,才会被加上一个AS号,在每次经过一个AS时,都会在AS_Path属性的最前端增加最新的AS号。而该属性在IBGP对等体之间传播时,这条属性是不会发生改变的。
 

BGP的路径属性及选路规则_第4张图片

方法一: 

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协议
  • ? --- 除了以上两种
    BGP的路径属性及选路规则_第5张图片

 

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属性值最小的路由

BGP的路径属性及选路规则_第6张图片

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内部 继承全局路由表中的开销值 越小越优

你可能感兴趣的:(网络)