BGP的属性和选路规则

一、BGP的属性—基础属性

                    

1、PrefVal(优先级/权重)

传播范围                  默认值             大/小 优

 不传播                   0-65535            越大越好

该属性为私有属性(华为) --本地有效(因为不传播,所以要修改只能在入口修改

[r3]bgp 2

[r3-bgp]peer  4.4.4.4 preferred-value 1  (全局性)

本地所有通过4.4.4.4邻居学习到的BGP路由,优先级全部修改为1;

负载分担:访问不同目标时,让路由器选择不同的路径;起到所有路径被使用效果;

路由策略来实现—在BGP路由控制层面传递的过程中,抓取路由修改属性

[r3]ip ip-prefix p permit 1.1.1.0 24   抓住网络号

[r3]route-policy p permit node 10    定制策略

[r3-route-policy]if-match ip-prefix p    匹配流量

[r3-route-policy] apply preferred-value 1   修改优先级属性

[r3-route-policy]q

[r3]route-policy p permit node 20    由于路由策略存在分发列表的功能,必须考虑空表

[r3-route-policy]q

[r3]bgp 2

[r3-bgp]peer 4.4.4.4 route-policy p import   和邻居传递路由的控制层面方向调用;

优先级不传播的特性,只能在本地的入方向调用;

                      

2、LocPrf 本地优先级   

  传播范围                                      默认值                      大/小 优

  整个AS内部-IBGP邻居间            100(0-255)          越大越好

用于干涉IBGP邻居关系下选路最常用属性

[r4-bgp]default local-preference 101 本地传递路由给本地所有IBGP邻居时修改属性为101;(全局性)

负载分担:

[r3]ip ip-prefix l permit 1.1.1.0 24

[r3]route-policy l permit node 10     

[r3-route-policy]apply local-preference 101

[r3-route-policy]if-match ip-prefix l

[r3-route-policy]q

[r3]route-policy l permit node 20

[r3-route-policy]q

[r3]bgp 2

[r3-bgp]peer  4.4.4.4 route-policy l import    该属性可以传,所以可以在IBGP邻居关系间的出或入方向调用

3、优先本地下一跳 NextHop   

下一跳可达才标志该条目能优

本地在bgp协议中宣告本地路由表中的IGP路由时,在本地的BGP表中下一跳地址为0.0.0.0;

而通过BGP从其他邻居处学习到的路由,下一跳地址正常不为0.0.0.0;本地优选0.0.0.0的路由传递给本地的其他BGP邻居;优选本地下一跳

4、AS-PATH – 记录条目经过的所有AS编号(EBGP水平分割)   

注意AS号的添加,一定是在EBGP邻居间进行的;   

优选经过的AS号数量最少的路径;同时该属性用于EBGP水平分割,接收到路由条目中若存在本地的AS号将拒绝接收;

可以人为的在EBGP邻居关系间,增加AS号的数量来干涉选路;修改A路径,优选B路径;

因为人为操作只能添加,不能减少;减少会打破防环机制

可以干涉到EBGP关系/IBGP关系选路,但只能在EBGP关系设备间配置

[r2]ip ip-prefix as index 10 permit 1.1.1.0 24



[r2]route-policy as permit node 10

[r2-route-policy]if-match ip-prefix as

[r2-route-policy]apply as-path 3 4 5 additive

[r2]route-policy as permit node 20

[r2]bgp 2

[r2-bgp]peer 12.1.1.1 route-policy as import

出向调用为  x 3 4 5   X代表实际经过过的AS

入向调用为  3 4 5 X   X代表实际经过过的AS

新增AS号处于列表的最左端

注:以上配置方式,若网络后端真实存在AS3/4/5.那么由于EBGP水平分割,将导致这些路由无法被学习;

解决方案:重复添加实际已经经过的AS编号来增加数量

[r2-route-policy]apply  as-path  1 1 1 additive
5、起源属性(Ogn) – 该条目的来源—通过什么方法进入到BGP协议的

BGP宣告本地路由表中路由   Network                  i 

将本地路由表中IGP路由重发布到BGP协议 import      

将本地路由表中EGP(EGP最早的协议就叫EGP)路由重发布到BGP协议      e

规则 i优于e优于?

[r3]ip ip-prefix o permit 1.1.1.0 24

[r3]route-policy o permit node 10

[r3-route-policy]if-match  ip-prefix o

[r3-route-policy]apply origin egp 2    编写对端设备的AS号

[r3-route-policy]q

[r3]route-policy o permit node 20

[r3-route-policy]q

[r3]bgp 2

[r3-bgp]peer  2.2.2.2 route-policy o import

控制层面流量的入或出接口调用均可;

6、MED -多出口鉴别属性(度量值)

将本地通过IGP协议学习到的路由重发布或宣告到BGP协议,将携带本地IGP度量值到BGP路由中  

BGP协议默认没有度量值,没有cost;所谓的MED就是人为的在路由条目中编写一个cost数值(度量)来影响路由器加表,从而干涉选路;

可用于干涉EBGP/IBGP关系下的选路;最常用于干涉EBGP关系选路

常常用于AS1干涉AS2对AS1的选路;

<r1>ping -r -a 1.1.1.1 3.3.3.3  (-r)扩展ping,记录来回的下一跳

[r1]ip ip-prefix med permit 1.1.1.0 24

[r1]route-policy med permit node 10

[r1-route-policy]if-match ip-prefix med

[r1-route-policy]apply cost 2

[r1-route-policy]q

[r1]route-policy med permit node 20

[r1-route-policy]q

[r1]bgp 1

[r1-bgp]peer  12.1.1.2 route-policy med export

二、BGP选路规则

比较前提,多条BGP路由目标相同,且均可优(下一跳可达、同步关闭),具有相同的优先级(管理距离)

与属性有关:

1.优选Preference_Value值最高的路由(私有属性,仅本地有效)。

不传递  权限最高属性    可以干涉EBGP/IBGP选路

2.优选本地优先级(Local_Preference)最高的路由。

IBGP邻居关系间传递    只能,最常干涉IBGP关系的选

3.优选手动聚合>自动聚合>network>import>从对等体学到的。

4.优选AS_Path短的路由。

EBGP/IBGP关系均可被干涉,但只能在EBGP邻居间修改;

5.起源类型IGP>EGP>Incomplete。

起源属性 i优于e优于?; 可在控制层面任意接口修改;

6.对于来自同一AS的路由,优选MED值小的。

默认为0,宣告或重发布(关闭自动汇总)路由时携带本地到达目标的cost

最常用于干涉EBGP选路的属性

与属性无关:

1.优选从EBGP学来的路由(EBGP>联邦类EBGP>IBGP)。

2.优选AS内部IGP的Metric最小的路由。

3.优选Cluster_List最短的路由。(反射器)也相当于选Router_ID小的

4.优选Orginator_ID最小的路由。

5.优选Router_ID最小的路由器发布的路由

6.优选具有较小IP地址的邻居学来的路由。

三、BGP的社团属性

–BGP的扩展属性   默认大多数厂商的产品在BGP协议中不携带社团属性

例:控制传播范围的社团属性

[r1]route-policy com permit node 10

[r1-route-policy]apply community no-advertise  针对所有的流量修改属性S



[r1]bgp 1

[r1-bgp]peer 12.1.1.2 route-policy com export

默认华为设备也不传递社团属性,故使用社团属性时,必须定义传递性 

[r1-bgp]peer 12.1.1.2 advertise-community   逐跳行为,每台设备均需开启传递性(传播时带上社团属性)

no-advertise  接收到的条目中若存在该社团属性,将不再传递该路由

no-export   接收到的条目若存在该社团属性,将不传递给下一个AS

no-export-subconfed  接收到的条目若存在该社团属性,将不传递给下一个小AS

若网络没有小AS,仅存在大AS时no-export和no-export-subconfed作用一致

四、BGP协议开启负载均衡

[r1-bgp]load-balancing as-path-ignore  BGP协议开启负载均衡,仅针对EBGP路由有效

条件为均衡的这些路径,其对端一定为同一个AS;且在BGP表中仅显示优最佳;但路由表中出现负载均衡现象;

上一篇:RabbitMQ