bgp选路原则

本文详细介绍了BGP(边界网关协议)的选路原则,包括weight、local preference、起源路由、AS-path属性、起源代码、MED值、EBGP与IBGP的优先级、最近BGP邻居的路由、负载均衡、路由的年龄、路由器ID、cluster-list的长度等13个方面,阐述了如何在多条BGP路由中选择最优路径。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最高有weight优先,默认为0

本地优先级高的优先

起源本路由器上的路由

4 as-path最短的优先

最小的起源代码 

最低的med

7 ebgp>ibgp

通过最近BGP邻居的路由

9  如果配置了maixmum-path,就负载均衡。

10 最老的EBGP邻居学到的路由,是路由最老. 

11 更低的router-id

12 始发路由器ID相同,那么选择 cluster-list短的

13 优选来自于最低的邻居地址的路径,是BGP的neigbor配置中地址

一、weight

定义:

1.优选有最大Weight的路由 (范围0-65535) weight是CISCO私有的参数,路由器配置了Weight在本地有效。

2.缺省情况下,通过本路由器宣告、重分布或者汇总的路由的weight为32768,从BGP邻居学习到的路由的weight为0

3:只在本地(影响自己一个路由器)有用,影响本路由的选路.

修改方法:

1、neighbor 对等体地址 weight 值  (从该对等体学到的所有的路由都会加上设定的权重值)

2、route-map 名字 permit 10 

Set weight 值

只能在本路由器的入方向上做.

二、local preference

定义:

1.通过第一条选路原则不能选出最优BGP条目的情况下,优选有最大local preference值的BGP条目。

2.local preference值只可以在IBGP邻居之间传递,在EBGP邻居之间不能传递,也就是说不能在EBGP的出方向上做,因为只在本AS内生效。

3.对于从EBGP邻居学习到的BGP条目,local preference缺省值为100,这个值可以通过命令bgp default local-preference修改

修改方法:

第一种:bgp default local-preference xxx

修改后,对IBGP学来的路由不起作用,只对EBGP传来的和自己产生的路由起作用。

第二种:

route-map xxx permit 10

set local-preference xxx

不能在EBGP邻居关系的出方向做修改。

注:local-preference的默认值是100

在show ip bgp 中看到是空,其实也是100,

show ip bgp xxxx 看明细的时候可看见路由的local-preference

三、起源本路由器上的路由

优选从本路由器始发的路由(包括本地network配置的重分布,或者在IGP表中已经有一些需要被配置路由聚合的地址,在BGP中用aggregate-address命令配置的路由聚合)

注:对于思科设备来说,如果是从本地往BGP里注入一条路由,缺省的weight值为32768,由于这个weight值很大,对于该注入路由,会根据第一条选路原则成为最优BGP条目。因此对于思科设备,第三条选路原则作用不大。然而考虑到第一条选路原则为思科私有,不是所有厂家都支持,第三条选路原则的作用就显现出来了。

四、AS-path属性

在通过前三条选路原则不能选出最优BGP条目的情况下,优选AS path长度短的路由条目

注意:修改AS path长度只能在EBGP邻居关系之间进行,IBGP邻居关系是不可以的

1、as-path只可以在EBGP邻居关系的out方向和in的方向去修改

out方向做:加在本来AS号的前面(右边)

in方向做: 加在本来AS号的后面(左边) 

2、last-as 表示在离这个路由器最近的AS号,重复加次数

3、当写下面两个命令时,哪个先生效?

set as-path prepend  数值

set as-path prepend last-as 数字(1-10)

入/出方向的时候,as-path prepend与last-as同时使用,都是last-as先生效,然后as-path prepend才生效

5、如何跳过as-path选路原则

bgp bestpath as-path ignore 

五 起源代码

在通过前四条选路原则不能选出最优BGP条目的情况下,优选最低起源类型的BGP路由

最低起源类型的顺序是 IGP 优先 EGP 优先 incomplete,其中EGP的方式现在已经不用了。

通过Network,aggregate方式产生的BGP路由的起源属性是i,通过重分布产生的BGP路由的起源属性是incomplete。

1:

i-------igp  network xxxxx   

e-------egp  (没有了)

?-------重分发

2、origin在 EBGP/或IBGP的in和out方向都可以做

route-map xxx permit 10

match ip address pre 1

set origin 属性

六 MED值

MED值的用途:在两个相临AS之间有多个BGP连接的情况下,MED值用于影响从相邻AS到本AS的路由选择,即用于影响邻居AS到本AS的流量从哪个接口进来,这是通过向相邻AS的EBGP邻居发送具有不同MED值的路由条目来实现的,但是需要注意选路过程的实现是相邻AS的路由器自身根据13条选路原则独立完成,MED值的的比较是前面的五条选路原则都不能选出最优的情况下才起作用。

MED的生成: 

1本地network方式生成的BGP条目,会带上IGP的metric,(同时也会带上路由的下一跳,开启汇总后会被取消)会传给所有邻居。

2:如果从EBGP邻居学习到的BGP条目的metric值传递给其他IBGP邻居,但不传给EBGP。        

3:如果从IBGP邻居学习到一条BGP条目的metric为0或者其他值,缺省不会传给给EBGP邻居,显示为空

4汇总方式生成的BGP条目,metric值为空

5重分布方式生成的BGP条目,metric值为IGP的cost、metric、hop,如果开启自动汇总会被清除。

6:缺省情况下,空的metric当0看待 

优选最小MED 值的路由(范围 0到4294967295). 

7只能在相邻的AS传递,一般在EBGP邻居的OUT方向的做。影响入站的流量。(IBGP之间是可以修改的)

七  EBGP优于IBGP

与EBGP的AD小于IBGP的AD是无关的 

八 通过最近bgp的路由

指的去往BGP邻居用的IGP路由的metric值最小

对EBGP,IBGP邻居都会有效。

九 配置了maximum-paths命令,会产生负载均衡

其实这不算选路的原则,是指当前面的八条选不出最优路由时,在BGP 的进程下配置maximum-paths 命令后,会产生负载均衡

十 存在时间最长的EBGP路由优先

优选最老的路由(最先被学习到的路由). 

可以用bgp bestpath compare_routerid命令语句关闭。

bgp bestpath compare-routerid 

这句命令的意思是指,选路是前8条都选不出来时,跳过第十条最老的EBGP邻居,直接选最小的ROUTE-ID 

注:如果路由器标志是一样的,此步骤可以忽略,因为这说明路由器正在从自己那里接收路由。 

如果当前没有最优路由器,此步骤可以被忽略

十一 最小的IBGP邻居route-id

如果在同一时间学习到多条到同一目的地的路由,优选最小BGP-router-ID的路由

注:在有RR的情况下不比邻居的route-ID,起源ID将代替route-id在路径选择过程中起作用。将不会用到第11条选路原则,会用到12或者13条选路原则。

一个路由器从多个RR收到相同路由进行最优路径选择时,第11条选路原则用的Router-ID被更改为originator ID(起源ID就是在本AS学得路由的第一跳路由器的Router-ID,是RR的一个client),而不是RR的Router-ID,因此如果BGP路由只是从一个ASBR学习到然后传入AS内部,将不会用到11条选路原则,会用到12或者13条选路原则。

十二 cluster-id 的长度

多条路径的始发路由器ID相同,那么选择 cluster-list短的,因为每经过一个RR, cluster-list会加上这个RR的 cluster-id

十三 BGP优选来自于最低的邻居地址的路径,是BGP的neigbor配置中地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值