BGP的选路原则、BGP联邦、BGP的扩展操作

文章目录

  • 一、选路原则
    • 选路前提
    • 选路规则
  • 二、BGP的联邦问题
    • 出现背景
    • 原理
    • 配置
  • 三、BGP路由的过滤
    • 针对邻居的过滤
    • 针对BGP的路由表
    • 针对重发布的过滤
  • 四、缺省(默认)路由的下发
  • 五、BGP路由惩罚
  • 六、BGP的后门路由

一、选路原则

既然BGP为我们提供了丰富的属性来控制路由条目,那么就应该有各种属性相遇的先后顺序问题,下面我们来介绍BGP的选路原则。

选路前提

选路的前提必须是该条路由是优的,如果不优BGP没办法传递,因为BGP只会传递最优的路由。
下面我们来看不优的几种情况:
1、BGP路由表中下一跳不可达,该条路由不优
2、如果开启了BGP的同步,在没有同步的情况 下,BGP的路由不优
3、r标记的路由表示不优
所以路由可优的条件是关闭同步、下一跳可达才为可优;

选路规则

前提:BGP的负载均衡条目数置1,也就是说它默认没有负载均衡,可以修改 max-path参数来设置负载均衡条目数量,一旦修改值大于1,那么选路规则只会执行到第八条;
选路规则:
BGP的选路原则、BGP联邦、BGP的扩展操作_第1张图片1、首先比较weight,越大越优–不传递 ,Cisco私有; EBGP/IBGP
2、比较本地优先级local-pref,默认100;仅IBGP邻居传递,大优; IBGP
3、优选本地下一跳,从本地宣告默认为0.0.0.0;
4、比较as-pash,经过的AS数量少优,EBGP邻居可增添; EBGP/IBGP
5、起源码最小 i-igp=0 e-egp=1 ?-incomplete=3 ; EBGP/IBGP
6、MED(metric)值最小
EBGP/IBGP
7、普通的EBGP邻居优于联邦内EBGP邻居优于IBGP邻居;
8、优选最近的IGP邻居(IGP度量小的)
9、优选最先建立EBGP邻居的router-id,建立时间久的;
10、BGP邻居的RID,越小越优;
11、优选最小的建邻地址;

总结:一般来讲,如果只是一台ASBR和一台ASBR相连接,首选weight值(前提是支持weight属性);若有多个路由器,首选local-pref本地优先级;若需要影响其它AS的选路,选用MED属性;若有多个 AS串联,考虑使用AS-path属性;

二、BGP的联邦问题

出现背景

因为BGP存在路由黑洞的情况,前面介绍了RR反射器,这是一种解决办法;但如果一个AS内部路由器非常多,RR反射器显得还是不太够用,因此我们有了BGP联邦。

原理

联邦的做法是再一个原来的AS内部再划分出多个小的AS区域,小AS区域采用私有AS号(64512-65535),利用IBGP邻居之间不能连续传递路由而再EBGP邻居之间可以传递路由的原则,就可以解决黑洞问题;

其小AS内部管理距离依然为200,且内部不能修改属性,其他AS也不知道某个大的AS内部存在那些小的AS,这样就解决了与大AS冲突的问题;

小AS内部传递路由时携带AS-path,用来做内部防环,其经历的AS用{}标注,小AS宣告的时候用自己的小AS号,再声明自己所在的大AS号(只要有EBGP邻居就要声明自己的大AS,若无EBGP邻居可以不用声明,但为了保险起见,建议都声明),联邦内部也可以使用RR反射器,一般再IBGP邻居之间使用;

配置

router bgp 64512
bgp confederation identifier 2//声明所在大AS
2、小AS间互指peer
r3(config-router)#bgp confederation peers 64513// 对端小AS的编号;
总结:一般用于解决bgp路由传递问题采用RR反射器和BGP联邦相互配合的方法。

三、BGP路由的过滤

BGP路由表传递的流程:
BGP路由表》》发送策略》》发送路由表》》接受路由表》》BGP路由表

针对邻居的过滤

一般使用前缀列表
ip prefix-list xx permit/deny xxxx/x
router bgp x
neighbor 10.1.1.1 prefix-list xx in/out

针对BGP的路由表

一般使用分发列表
access-list x permit/deny xxxx xxxx
router bgp x
distribute-list x

针对重发布的过滤

一般使用route-map,route-map的用法在前几篇文章中已经给大家详细介绍过了,这里不再赘述。

四、缺省(默认)路由的下发

1、针对单个邻居下发:
neighbor 10.1.1.1 default-origninate
2、针对所有邻居下发(全局下发)
default-origninate+ network 0.0.0.0 (origin属性为0)
或者default-origninate+重发布全局默认路由(origin属性为?)

五、BGP路由惩罚

BGP 路由惩罚:针对 EBGP 邻居传递的路由有效

目的:抑制路由摆动,就是说某条路由连续的消失或者出现;
被惩罚的路由不能参与选路,不能传递,惩罚是针对该路由的路径;
惩罚值:默认是 0,路由每翻滚一次,惩罚值增加 1000,路由属性每改变一次,惩罚值增 加 500;
惩罚门限:开始进行惩罚的惩罚值,默认 2000(大于 2000 是开始惩罚);
重用门限:当惩罚值降低到该值回复路由,默认 750,当惩罚值降低到重用门限一半时,清除惩罚的记录 ;
半衰期:经过一个半衰期,惩罚值减半,默认 15 分钟 ;
最大惩罚时间:最大路由时间,默认 60 分钟 ;
最大惩罚值:重用门限2^(最大惩罚时间/半衰期)
默认 12000, 中间 4 个可以修改 Max penalty=reuse-limit
2^(maxinum suppress time/half time)
开启惩罚配置:
bgp dampening xx
查看惩罚的相关参数:
show ip bgp dampening paremeters
查看惩罚的相关路由:
show ip bgp dampening dampening-paths
消除惩罚路由信息:
clear ip bgp dampening

六、BGP的后门路由

EBGP 邻居间非直连建邻(假如说使用环回),使用动态路由协议产生到达对放建立邻居关 系的地址路由(到达环回的路由),建立后使用 network 宣告到 BGP 中,则其 BGP 产生的 路由 AD 值为 20(EBGP 关系),这样会覆盖 IGP 学习到的路由表,然后 IGP 路由没有到达对 方建立邻居关系地址的路由(到达环回的路由)则邻居关系会 down 掉,然后通过 BGP 学 习的路由在路由表消失,则通过 IGP 学习的路由又会加表,这样会出现邻居翻滚的现象。
Network对端建立邻居关系的地址,使通过 bgp 学习到其他路由的 AD 为 200 就不会挤掉 IGP 学习的路由,这条路由不会加表(AD 值小)但会传递,这样就不会出现邻居翻滚:
R1(config)#router bgp 1 R1(config-router)#network 2.2.2.0 mask 255.255.255.0 backdoor

你可能感兴趣的:(BGP的选路原则、BGP联邦、BGP的扩展操作)