bgp选路原则

1 最高有weight优先,默认为0(思科特有,选大的)

2 本地优先级高的优先(只可以在IBGP邻居之间传递)

3 起源本路由器上的路由(network、aggregate-address)

4 as-path最短的优先

5 最小的起源代码 (IGP 优先 EGP 优先 incomplete)

6 最低的med

7 ebgp>ibgp

8 通过最近BGP邻居的路由

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

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

11 更低的router-id

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

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


一、    weight值

理论简介:

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

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

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

修改方法:

1、neighbor  xxx
weight xxx  (从此xxx邻居学到的所有的路由都加)

2、route-map xxx
permit 10

Set weight
 xxx

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


二、local-prefrence

理论简介:

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

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

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

修改方法:

(1)bgp default
local-preference xxx

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

(2)route-map xxx
permit 10

set local-preference
xxx

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

3、local-preference的默认值是100

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

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


三:起源本路由器上的路由 ,

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

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


四、AS-PATH

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

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

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

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

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

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

route-map
xx permit 10

match ip address 1

set as-path prepend last-as 数字(加多少次)

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

set
as-path prepend  23

set
as-path prepend last-as 数字

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

 (1)、聚合   聚合后的{}内的AS算几个?一个

 (2)、联邦   联盟内的()内的AS算几个?一个也不算

 (3)、neighbor xxx
remove-private-AS 删除私有AS号,起源于本AS无效,在出方向做。

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

bgp bestpath as-path ignore


五、起源代码origin

在通过前四条选路原则不能选出最优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 incomplete ?


六、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。

-----以上表示MED值只传递一次EBGP邻居-----

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

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

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

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

优选最小MED 值的路由(范围 0到4,294,967,295).

A.只有在通过两条路径得到第一个AS(对等体)是同一个AS时才进行MED比较;任何子自治域的联盟系统都会被忽略。也就是说,只有在AS序列号中第一个AS号码一致时,才进行MED比较;任何联盟AS序列号(AS_CONFED_SEQUENCE)都会被忽略,也就是说从不同联邦AS学到的路由都会比较MED

B.如果路由器上配置了 bgp
always-compare-med,在全部的路径进行MED比较。但是这需要全体AS都同时启用这个功能,否则有可能发生路由环路。

C.如果路由器上配置了bgp bestpath med
confed,将对所有包括/.AS_CONFED_SEQUENCE的路径进行MED比较。默认不比较

D.如果接收到的路径没有分配MED值,则将此路径分配为0,除非路由器上配置了bgp bestpath med
missing-as-worst,将被看作MED值为4,294,967,295的路由将在注入到路由选择表之前被改为4,294,967,294。

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

6、bgp
deterministic-med

是指把路由过来的MED值进行分组

同一个AS的分一组

其他的AS的分一组

先比较同一个AS的MED值,在和其他AS的MED值比较路由器那个最小的ROUTE-ID


七、EBGP > IBGP

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

EBGP>联盟EBGP>IBGP


八、最近的BGP邻居

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

对EBGP,IBGP邻居都会有效。

r3#sh ip b
22.22.22.0

BGP routing table
entry for 22.22.22.0/24, version 4

Paths: (1
available, best #1, table Default-IP-Routing-Table)

Not
advertised to any peer

1

1.1.1.1 (metric 1) from 1.1.1.1 (1.1.1.1)

Origin IGP, localpref 100, valid, external, best


九、配置了maixmum-path
[IBGP],存在多条等价的路径,会负载均衡

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

r3(config)#router bgp 3

r3(config-router)#maximum-paths ?

<1-6>  Number of paths

ibgp   iBGP-multipath

非等价的负载---bgp dmzlink-bw
–先进程启用

Neighbor xxxx dmzlink-bw  再针对邻居启用


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

bgp bestpath
compare-routerid

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

直接选最小的ROUTE-ID

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

A.此步骤可以将路由摆动的影响减到最小,因为新接收到的路径不会取代老的,即使这条新接收的路径是通过下面提及到的额外路径选择标准来进行选择的。这使得只在iBGP路径下应用额外的选择步骤更有意义。

B.此步骤可以被bgp bestpath
compare_routerid命令语句所关闭。

C.如果路由器标志是一样的,此步骤可以被屏蔽,因为这说明路由器正在从自己那里接收路由。

D.如果当前没有最优路由器,此步骤可以被屏蔽。当提供某个路径的对等体路由器宏机,就会发生丢失


十一、 lowest router-id

最小的IBGP邻居route-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条选路原则。

如果在同一时间学习到多条到同一目的地的路由,优选最小BGP-router-ID的路由,注意,如果一个路径包括路由反射器属性,


十二、cluster list length

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

因为每经过一个RR, cluster-list会加上这个RR的 cluster-id


十三、lowest neihbor address

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

BGP选路原则的更多相关文章

  1. bgp选路原则【第二部】

    面向逻辑谈bgp选路原则(第二部) 终于到了BGP终极解析的第二部曲--BGP选路原则.与题目相呼应,我不会直接介绍选路原则的规则,而是从时间逻辑和空间逻辑上将所有的选路原则分层分类.因为只有从这种角 ...

  2. CCIE路由实验(2) -- BGP选路原则

    BGP路径属性分为4类: 公认必遵(Well-Known Mandatory):BGP更新报文中必须包含的,且必须被所有BGP厂商实现所能识别的,包括ORIGIN,AS-PATH和Next_Hop 1 ...

  3. BGP属性+13条选路原则(转载)

    原文:http://blog.sina.com.cn/s/blog_be409c2f0102x6sg.html BGP(Border Gateway Protocol)边界网关协议 BGP(Borde ...

  4. OSPF选路原则

    1:O路由>Oia路由>external路由! O:计算LSA-1和LSA-2,前提age不能MaxAge,metric不能LSinfinity,计算出来的最小metric的路由放入RIB ...

  5. BGP路由协议详解(完整篇)

    原文链接:http://xuanbo.blog.51cto.com/499334/465596/ 2010-12-27 12:02:45 上个月我写一篇关于BGP协议的博文,曾许诺过要完善这个文档,但 ...

  6. BGP - 5,BGP属性

    metric,自己决定去哪个EBGP邻居 local-pre,影响AS内部IBGP邻居的路由决策 med,影响AS外部EBGP邻居的路由决策   1,BGP属性     公认传递(well-known ...

  7. BGP - 不同 AS 间运行的协议

    在之前介绍的网络场景中,ERGRP,OPSF,RIP 等都是运行在单独一个 AS(自治系统之间).这些协议统称为 IGP - 内部网关协议 ,目的主要是为自治系统内发现邻居和计算路由,从而找到合适的路 ...

  8. BGP总结(三)

    3.BGP路由汇总 在大规模的网络中,BGP路由表十分庞大,给设备造成了很大的负担,同时使发生路由振荡的几率也大大增加,影响网络的稳定性.路由聚合是将多条路由合并的机制,它通过只向对等体发送聚合后的路 ...

  9. HCNP Routing&Switching之BGP路由属性和优选规则

    前文我们了解了BGP防环机制和路由聚合相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15458110.html:今天我们来聊一聊BGP路由属性和选路规 ...

随机推荐

  1. Linux禁止普通用户使用crontab命令

    cron计划任务默认root用户与非root用户都可以执行,当然如果在安全方面想禁用这部分用户,则可以通过两个文件来解决: cron.allow cron.deny cron.allow:定义允许使用 ...

  2. 浅谈const限定符

    什么是const限定符? Const限定符是我们通常所说的常量限定符,被const修饰的对象具有常量性质,只能读,不能写. 为什么使用const限定符? 用const变量取代“魔数”,代码更容易理解和 ...

  3. 对spring boot 之AutoConfiguration 的理解

    来自:http://rensanning.iteye.com/blog/2363467 https://blog.csdn.net/tincox/article/details/79186067 Au ...

  4. 面试代码基础(一)从strstr说起

    对于写程序要注意:要能在面试官的提示下把代码写出来(把思想实现的能力)!还要注意边界检查!递归找到出口! 开场来个简单字符串匹配 int strstr(char* target,char* sourc ...

  5. 修饰器Decorator

    类的修饰 许多面向对象的语言都有修饰器(Decorator)函数,用来修改类的行为.目前,有一个提案将这项功能,引入了 ECMAScript. @testable class MyTestableCl ...

  6. Webstorm: cannot find any declarations

    起因 在调整项目关系时,将根目录的.idea文件删除,导致了对相对路径的资源无法直接command + click进行跳转 尝试 1. 新建quick-link (无效) 2. invalidate ...

  7. xshell5使用ssh连接阿里云服务器

    这里有两种方式,一种是在阿里云的控制台里面进行,另一种是在Xshell里面生成密钥. 阿里云控制台密钥对 点击右上方的创建密钥对 在阿里云里面生成较为简单,点击该页面右上方的“创建密钥对”,在另一个页 ...

  8. Servlet之监听事件细究

    观察者三个模式: ServletContextListener:用于监听WEB 应用启动和销毁的事件,监听器类需要实现javax.servlet.ServletContextListener 接口. ...

  9. Linux命令详解-touch

    linux的touch命令不常用,一般在使用make的时候可能会用到,用来修改文件时间戳,或者新建一个不存在的文件. 1.命令格式: touch [选项]... 文件... 2.命令参数: -a 或- ...

  10. [myeclipse]@override报错问题

    @Override是JDK5 就已经有了,但有个小小的Bug,就是不支持对接口的实现,认为这不是Override 而JDK6 修正了这个Bug,无论是对父类的方法覆盖还是对接口的实现都可以加上@Ove ...