BGP选路原则
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选路原则的更多相关文章
- bgp选路原则【第二部】
面向逻辑谈bgp选路原则(第二部) 终于到了BGP终极解析的第二部曲--BGP选路原则.与题目相呼应,我不会直接介绍选路原则的规则,而是从时间逻辑和空间逻辑上将所有的选路原则分层分类.因为只有从这种角 ...
- CCIE路由实验(2) -- BGP选路原则
BGP路径属性分为4类: 公认必遵(Well-Known Mandatory):BGP更新报文中必须包含的,且必须被所有BGP厂商实现所能识别的,包括ORIGIN,AS-PATH和Next_Hop 1 ...
- BGP属性+13条选路原则(转载)
原文:http://blog.sina.com.cn/s/blog_be409c2f0102x6sg.html BGP(Border Gateway Protocol)边界网关协议 BGP(Borde ...
- OSPF选路原则
1:O路由>Oia路由>external路由! O:计算LSA-1和LSA-2,前提age不能MaxAge,metric不能LSinfinity,计算出来的最小metric的路由放入RIB ...
- BGP路由协议详解(完整篇)
原文链接:http://xuanbo.blog.51cto.com/499334/465596/ 2010-12-27 12:02:45 上个月我写一篇关于BGP协议的博文,曾许诺过要完善这个文档,但 ...
- BGP - 5,BGP属性
metric,自己决定去哪个EBGP邻居 local-pre,影响AS内部IBGP邻居的路由决策 med,影响AS外部EBGP邻居的路由决策 1,BGP属性 公认传递(well-known ...
- BGP - 不同 AS 间运行的协议
在之前介绍的网络场景中,ERGRP,OPSF,RIP 等都是运行在单独一个 AS(自治系统之间).这些协议统称为 IGP - 内部网关协议 ,目的主要是为自治系统内发现邻居和计算路由,从而找到合适的路 ...
- BGP总结(三)
3.BGP路由汇总 在大规模的网络中,BGP路由表十分庞大,给设备造成了很大的负担,同时使发生路由振荡的几率也大大增加,影响网络的稳定性.路由聚合是将多条路由合并的机制,它通过只向对等体发送聚合后的路 ...
- HCNP Routing&Switching之BGP路由属性和优选规则
前文我们了解了BGP防环机制和路由聚合相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15458110.html:今天我们来聊一聊BGP路由属性和选路规 ...
随机推荐
- swift学习笔记 - 判断当前运行的系统和平台
最近代码需要判断代码运行的系统与平台,下面总结了一下swift下一些可以用来判断的属性: // 代码运行在32位的 Windows public var TARGET_OS_MAC: Int32 { ...
- jackson序列化字段字母大小写及字段名重复
一:Jackson默认的属性发现规则将会查找到如下所述的属性: 1.所有被public修饰的字段(成员变量): 2.所有被public修饰的getter(即形如“getXxx()”的方法): 3.所有 ...
- 解题报告:hdu1012
2017-09-07 21:46:53 writer:pprp 写一下水题,调节一下心情~ /* @theme: hdu 1012 u calculate e @writer:pprp @begin: ...
- ABP 源码分析汇总之 IOC
IOC的优点: 1. 依赖接口,而非实现,如下代码, 这样的好处就是,客户端根本不知道PersonService的存在,如果我们换一下IPersonService的实现,客户端不用任何修改, 说的简单 ...
- IIS服务器管理学习
工欲善其事必先利其器 首先给服务器配上强力的软件,用于安全防护和监控. 公司服务器用的阿里云的ECS,已经有防护和监控了,之后又选择额外加了一个安全狗 为了监控服务器上系统的各项运行指标,又买了听云平 ...
- centos添加php及mysql环境变量
在Linux CentOS系统上安装完php和MySQL后,为了使用方便,需要将php和mysql命令加到系统命令中,如果在没有添加到环境变量之前,执行 “php -v”命令查看当前php版本信息时时 ...
- sprites.png雪碧图
长时间不用把精灵图怎么用给忘了... 一.PC端 给所用到精灵图的元素设置background:url(sprites.png路径); background-position: -x -y; 其中: ...
- 【三小时学会Kubernetes!(三) 】Service实践
服务Service Kubernetes 服务资源可以作为一组提供相同服务的 Pod 的入口.这个资源肩负发现服务和平衡 Pod 之间负荷的重任,如图 16 所示. 图16:Kubernetes 服务 ...
- 最优化问题 Optimization Problems & 动态规划 Dynamic Programming
2018-01-12 22:50:06 一.优化问题 优化问题用数学的角度来分析就是去求一个函数或者说方程的极大值或者极小值,通常这种优化问题是有约束条件的,所以也被称为约束优化问题. 约束优化问题( ...
- JS书籍推荐
JS书籍推荐 一.总结 一句话总结: 二.JS进阶书籍 第一阶段:<JavaScript DOM编程艺术> 看这本书之前,请先确认您对Javascript有个基本的了解,应该知道if el ...