BGP的属性和选路原则

一、BGP 的路由优先问题
BGP同步问题:
通过IBGP学习路由必须通过IGP学习,否则路由不优;为了解决技术层面的路由黑洞问题,一般建立关闭,使用MPLS标签转换技术解决。
下一条问题:next-hop下一跳属性在路由传递时,是否改变规则:
1、将IBGP邻居学习到的路由传递给EBGP时,next-hop为建立EBGP邻居的更新源地址。
特例:若边界设备与EBGP邻居使用MA网络并直连建立邻居,并且边界设备学习到达该路由的路由下一跳(递归后的)接口也为该MA网络接口,则使用EBGP学习的下一跳为IBGP邻居的MA接口地址(ICMP重定向),注意该特性也使用与EBGP学习路由传递给其他EBGP邻居时。
2、将EBGP邻居学习的路由传递给IBGP邻居时,next-hop不发生改变;传递个其他EBGP邻居时下一跳为建立EGBP邻居的更新源地址。

二、BGP路由导入和导出

BGP 路由引入:
1、Network
2、重发布
3、聚合产生

1、network引入时,若为直连路由、静态出接口写法路由(包含出接口为null 0),next-hop为0.0.0.0;若为IGP路由,本路由器中IGP路由的下一跳地址为next-hop地址。
当接收到的next-hop为自己直连接口BGP路由条目,不学习,直接忽略,防止出环。

2、重发布引入时,与next-hop一致。(必须关闭自动汇总,若开启,则next-hop为0.0.0.0)
注意:将OSPF路由重发布引入BGP时,默认不会将OSPF中的5类和7类LSA引入, 若要引入,则重发布过程中增加match匹配5类和7类LSA.

3、聚合产生的路由条目,next-hop为0.0.0.0。

BGP路由导出:
将BGP重发布进入IGP中,默认仅将EBGP邻居学习到的路由和本路由network引入的路由重发布引入。若要将IBGP邻居学习到的路由重发布引入BGP,则使用命令:
R(config)#router bgp 1
R(config-router)#bgp redistribute-internal

三、BGP后门路由
1、Backdoor属性是使router优选从IGP学习到的路由,而不是优选从IBGP邻居学习到的路由,因为缺省情况下,EBGP邻居AD为20,会始终优先选择,而不会选择其他AD的IGP路由协议传递过来的路由。
2、后门路由用于一些特殊的情况,将IGP路由的优先级调高于EBGP。

四、BGP路由惩罚
目的:抑制路由摆动
被惩罚的路由不能参与选路,不能传递,惩罚是针对该路由的路径。

惩罚值:路由每翻滚一次,惩罚值增加1000,路由属性每改变一次,惩罚值增加500
惩罚门限:开始进行惩罚的惩罚值,默认2000
重用门限:当惩罚值降低到该值是,恢复路由,默认750
半衰期:每经过一个半衰期,惩罚值减半,默认15分钟
最大惩罚时间:最大惩罚路由时间,默认60分钟
最大惩罚值:重用门限*2^(最大惩罚时间/半衰期),默认12000

五、BGP的属性
一共10条,Cisco有11条,weight是Cisco私有属性
1、公认必遵:Origin,AS-path,Next-hop
2、公认可遵:local-pref,auto-aggregate
3、可选传递:aggregator,community
4、可选非传递:MED,Originator-ID,cluster-list,weight
(1)Origin属性:记录了路由是如何进入路由表的。
Origin code:i--IGP,e--EGP,?--incomplete
使用i标示——管理员使用network宣告引入
使用e标记——通过EGP协议学习后,重发布到BGP协议中的路由
使用?标记——通过IGP协议学习后,重发布进入BGP协议中的路由
优先级:i > e > ?
(2)AS-path属性:指出包含在update报文中的路由信息所经过的自治系统号。
1、路由条目在一个AS内部传递时,不会添加该AS的编号,而是在传递给其他EBGP邻居时,才添加该参数;并且优选经过的AS数量少的路径。
2、管理员可以通过添加AS来干涉选路,添加后即可干涉EBGP邻居关系选路,也可干涉IGBP邻居关系选路,但只能在EBGP邻居修改该参数。
(3)Next-hop属性:
1、将IBGP邻居学习到的路由传递给EBGP邻居时,next-hop为建立EBGP邻居的更新源地址。
2、将EBGP邻居学习到的路由传递给IBGP邻居时,next-hop不发生改变;传递个其他EBGP邻居时下一跳为建立EGBP邻居的更新源地址。
(4)Local-pref属性:
1、local-pref称为本地优先级,其中的(local)本地就是指AS,local-pref属性的传递范围只能在同一个AS内部有效,出了本AS就会被还原成默认值100.
2、local-pref属性在BGP邻居之间自动传递时,只有将路由发给IBGP时才会传递,而发给EBGP时,没有local-pref值。一条路由在AS内所有路由器上的默认local-pref值是100。
3、local-pref的值越高,路由的优先级就越高。
(5)auto-aggregate属性:
用来警告下游路由器路由聚合后产生的路由路径丢失。
BGP支持向BGP邻居传递重叠路由,可以选择多种方式:
1、明细和粗略的都公布
2、只公布明细
3、只公布没有重叠的
4、公布聚合后的路由
5、明细和粗略都不公布
(6)Aggregator属性:
用来通告汇总路由的汇聚路由器BGP_ID(Cisco)和聚合路由的路由器的AS号。
(7)community属性:
标准community (Standard community)做路由标示
扩展community(extended community)用于MPLS ×××
(8)MED多出口鉴别属性:
MED就是BGP中的metric,在不同AS间传递。在有多个下一跳EBGP邻居时,会优先选择MED值最小的路径;在同一个AS内部不传递该属性,同一AS内的MED的默认值为0,这是为了在同一个AS内的路由器拥有等同的选路结果。
(9)Originator-ID属性:
路由反射器使用该属性,不接收与自己相同的起源者ID的路由,防止环路。
(10)Cluster-list属性:
路由反射器使用该属性,不接收与自己相同的簇列表的路由,防止环路。
(11)Weight属性:
Weight属性是Cisco私有属性,只有Cisco的路由器才能识别weight。
1、路由的weight属性只在本地路由器起作用,BGP将路由传递给邻居时,并不保留weight。Weight值的范围0~65535,默认为0,如果是BGP本地发起路由,weight值32768。
2、当到达同一目的地存在多条路径时,优选weight值大的。在Cisco路由器中,比较最优路径的第一条规则就是比较weight值,所以只要改动weight值,就能控制Cisco路由器的BGP选路。

六、BGP的选路原则(13条)
BGP选路:a、无环(AS转发环路)
b、路由优化(IBGP同步已解决;下一跳可达)
c、路由不能是被惩罚状态

1、最高weight值 (选最高weight值的路由,Cisco私有,默认为0,如果是BGP本地发起路由,weight值32768)
2、最高Local-pref值(若weight值相同,则选择拥有最高local-pref值的路由,默认100)
3、本地发起(起源)路由(若local-pref值相同,则选择BGP本地发起的路由:也就是下一跳为0.0.0.0的路由。本地发起的路由有多种方式:network命令引入,重发布,汇总。)
4、最短AS-path(若本地发起路由无法比出最有路径,则选择拥有最短AS-path的路由。可以使用bgp bestpath as-path ignore 命令来忽略对AS-path的比较,而直接比较下一属性。)
5、最低origin类型(若AS-path无法比较出最优路径,则选择拥有最低origin类型的路由。origin记录了路由是如何进入路由表的,有三种方法:从IGP导入,从EGP导入,以及重发布。优先级:IGP > EGP > Incomplete)
6、最小MED值(若origin类型无法比较出最优路径,则选择拥有最小MED值的路由,并且只有当多个下一跳邻居在同一个AS时,才能比较MED值。如果在多个不同AS的下一跳中比较MED,可使用命令bgp always-compare-med,需注意此命令在整个AS的路由器上配置,否则可能产生环路。MED默认值为0,如果收到一条没有MED值的路由,也认为是0)
7、EBGP优于IBGP(若MED无法比较出最优路径,则选择下一跳为EBGP的邻居。EBGP的路由AD为20,而IBGP的路由AD为200,但BGP并不在EBGP与IBGP间比较AD值,比到此步时,是邻居类型影响了最优路径的选择,而不是AD值的影响。注意:BGP联邦内部没有改规则)
8、在下一跳地址中,选择拥有IGP metric最小的路由
9、如果配置了maximum-path,若存在多条等价路径,会同时进路由表,即负载均衡
10、若下一跳都为EBGP,则选择最早学习到的路由,即时间最长的路由。(前提必须是external路由,联邦内的EBGP路由当做IBGP处理)
11、选择拥有最低router-id的下一跳路由
12、选择拥有最短cluster-list的路由
13、选择下一跳邻居拥有最小IP地址的路由

七、BGP路由过滤
1、route-map
2、Prefix-list
3、Distribute-list
4、As-path ACL(基于正则表达式)
可以将ip as-path access-list 命令中的正则表达式用于BGP
关于正则表达式,下篇讲解

原文地址:http://blog.51cto.com/13596342/2143717

时间: 2024-10-13 20:57:42

BGP的属性和选路原则的相关文章

BGP选路13条原则全实战,一条条帮你梳理支撑整个互联网的选路原则

BGP选路原则实验 11.7.1 BGP选路原则理论 BGP不是简单的通过metric来选路最优的路由所有的路径属性归为一下四类:? 周知强制属性? 周知自选属性? 可选传递性属性? 可选非传递属性以上属性分为两类,首先,周知属性,即所有BGP实现都必须能识别这些属性:其次是可选属性,即并不要求bgp实现支持这些属性如果可选属性是传递的,那么bgp进程应该接收该属性中包含的路径(即使不支持),并将路径传递给邻居如果可选属性是非传递的,那么无法识别该属性的bgp进程忽略update消息中包含的属性

【RS】BGP14条选路原则(1)

BGP是一个路径矢量路由协议,它的工作就是在自主系统间交换路由信息,以便发现访问互联网某处数据的最有效路径.如何选择最佳路径进行路由?思科无边界网络为我们揭示了BGP的14条选路原则: BGP的选路原则:前提(路由的下一跳可达.关闭同步.路由没有被惩罚.前缀没有被入境路由策略拒绝),具体原则如下:         1:weight先比较管理权重(越大越优先),这个参数本地有效.虽然Weight属性是Cisco私有的,但是很多厂商也是内置该属性(但无法显示及修改),这样就保证了本地始发的路由是最优

Cisco学习笔记--BGP14条选路原则

BGP是一个路径矢量路由协议,它的工作就是在自主系统间交换路由信息,以便发现访问互联网某处数据的最有效路径.如何选择最佳路径进行路由?思科无边界网络为我们揭示了BGP的14条选路原则: BGP的选路原则:前提(路由的下一跳可达.关闭同步.路由没有被惩罚.前缀没有被入境路由策略拒绝),具体原则如下: 1:weight先比较管理权重(越大越优先),这个参数本地有效.虽然Weight属性是Cisco私有的,但是很多厂商也是内置该属性(但无法显示及修改),这样就保证了本地始发的路由是最优先的,因为本地始

华为BGP选路原则

BGP路由最优,在没有过滤的情况下,有两个条件相关:下一跳可达,同步关闭.如果不满足此两条件,则路由不优. BGP选路原则: 如果此路由的下一跳不可达,忽略此路由 Preferred-Valnue值数值越高越优先,华为私有属性,仅本地有意义 Local-Preference值最高的路由优先 聚合路由优先于非聚合路由 本地手动聚合路由的优先级高于本地自动聚合的路由 本地通过Network命令引入的路由的优先级高于本地通过Import-route命令引入的路由 AS路径的长度最短的路径优先 比较Or

利用BGP origin-code 属性修改BGP选路

实验拓扑 基本配置: R1 L0:1.1.1.1/32 L1:11.1.1.1/32 E1/0:10.1.12.1/24 E1/1:10.1.14.1/24 R2 L0:2.2.2.2/32 L1:22.2.2.2/32 E1/0:10.1.12.2/24 E1/1:10.1.24.2/24 R4 L0:4.4.4.4/32 L1:44.4.4.4/32 E1/0:10.1.24.4/24 E1/1:10.1.14.4/24 配置IGP(RIP): R1 router rip version 2

[RS]BGP14条选路原则(2)

       8.BGP优先选择到下一跳IGP度量值最低的路径.        不管都是EBGPpeer还是都是IBGPpeer还是分别是联邦EBGP和联邦IBGP都比较这一步.         9.当前面的8条选路原则都无法优选出最优路由时,并且在BGP进程下面配置了maximum-paths [ibgp] <1-16>,那么将执行等价负载均衡,如果没有ibgp关键字,那么只会对EBGP对等体收到的路由执行等价负载均衡,如果不配置maximum-paths那么将进行到下一条选路原则. 不管是

BGP13条选路原则

BGP选路原则 最高有weight优先,默认为0(思科特有,选大的) 本地优先级高的优先(只可以在IBGP邻居之间传递) 起源本路由器上的路由(network.aggregate-address) as-path最短的优先 最小的起源代码 (IGP 优先 EGP 优先 incomplete) 最低的med ebgp>ibgp 通过最近BGP邻居的路由 如果配置了maixmum-path[IBGP],就负载均衡 最老的EBGP邻居学到的路由,是路由最老 更低的router-id 始发路由器ID相同

RIP、OSPF、BGP、动态路由选路协议、自治域AS

相关学习资料 tcp-ip详解卷1:协议.pdf http://www.rfc-editor.org/rfc/rfc1058.txt http://www.rfc-editor.org/rfc/rfc1388.txt http://www.rfc-editor.org/rfc/rfc1247.txt http://www.rfc-editor.org/rfc/rfc1267.txt http://www.rfc-editor.org/rfc/rfc1268.txt http://www.cnpa

BGP community 属性

BGP communities  属性 BGP 的community 属性属于可选可传递属性,不支持该属性的路由器会原封不动的将community 值传递给下游BGP邻居(前提是配置了传递community 属性). BGP 的community 属性可以简化网络中路由器对相同路由条目的匹配工作,如果在一个大型网络中所有路由器上都需要匹配相同的路由条目,如果用ACL或者前缀列表进行匹配,则工作量比较大,所以可以在一台路由器上为相应的路由条目打上community 属性值,在其他路由器上可以通过匹