BGP dampening

对于BGP这种运用于Internet网络中的路由协议,网络的不稳定很大一部分和路由翻动有关。当一条路由反复被宣告为有效,无效的时候就会产生翻动现象。路由翻动会造成路由器CPU和网络带宽的极大消耗。
路由翻动和路由震荡:翻动多是无规律,无周期性的行为。震荡属于周期性行为。
开启此机制的路由器会为每条路由分配一个动态的特征值,用于反映其稳定程度。
某条路由翻动的时候,会给该路由一个惩罚值。可累加
惩罚值每个半衰期会降到原值的一半,
惩罚值 抑制门限的时候路由被抑制
降到重用门限的时候,再次对外宣告

BGP(Border Gateway Protocol )边界网关协议04_第1张图片

BGP dampening 只针对EBGP路由有效

进程中 BGP dampening开启 BGP dampening XX 修改参数

show ip bgp XXX 明细路由去查看惩罚值

 

half-time 是指半衰期,单位min,每经过half-time的时间,抑制值就会减半,默认15min。 

reuse 当一条被抑制路由的惩罚值低于该值后,该路由重新被标记为可用。默认750 

suppress 该值就是抑制阀值,超过该值路由被抑制。默认2000 

max-suppress 最大抑制时间,被抑制路由的抑制时间超过该值后,不管惩罚值为多少,都会重新标记为可用,默认60min。 

bgp dampening 只对EBGP学习过来的路由起作用.对IBGP不起作用.

 

路由反射器

用来有条件的打破IBGP水平分割

IBGP水平分割:从IBGP收到的路由不会传给IBGP邻居

当一个AS内的路由器数量足够大的时候,如果要解决黑洞问题,只能将IGP重分布进IBGP,或将IBGP逻辑上全互联。

全互联需要建立的IBGP连接n(n-1)/2,增加了拓扑的复杂程度。

路由反射器提供了一种解决IBGP全互联的方案,选出一个RR,所有的IBGP路由器与RR建立对等体关系

簇:路由反射器及其客户被称为簇。

路由反射器不可以更改从客户接受到得路由属性。为了防止可能出现的有关路由的差错。

路由反射器中,RR连接的客户不能是EBGP邻居,因为从EBGP过来的路由,是优的,肯定能透传给我下一个IBGP邻居。

如果RR收到去往同一目的地的多条路由,将会根据BGP的路由选择来选择最佳路径。然后通告给其他的客户或非客户。

路由反射器不会更改路由的下一跳

BGP(Border Gateway Protocol )边界网关协议04_第2张图片

RR需要对等体关系的建立为前提,

RR的路由来源无非三种情况,   不能把EBGP当做客户,只有从EBGP学来的路由或者从客户学来的,从IBGP非客户学来的。  针对于上图,变换RR的位置,查看两条路由的通告情况。

RR决定宣告路由的规则:

1.学习自非客户IBGP对等体,仅反射给客户                     R3是RR  R4仅和R3是IBGP对等体(非客户关系)  R2是R3的客户

2.学习自客户,反射给所有客户和非客户。                      R3将R4作为客户

3.学习自EBGP对等体,反射给所有客户和非客户。          R1作为RR,R2为客户

 

当RR的客户full mesh时,可以用

no bgp client-to-client reflection

一般IBGP在建邻居的时候,有可能会出现RR的客户全互联的情况

这时候RR就不需要把一个客户的路由反射给另外一个客户了,这样浪费

但是RR还需要承担对客户和非客户之间路由的反射

 

bgp cluster-id 1.1.1.1 可以来修改cluster-id

 

单个RR存在单点故障,如果RR失效,那么所有客户都将失去唯一的NLRI源,

可以做多个RR的冗余。需要注意,如果如下图

BGP(Border Gateway Protocol )边界网关协议04_第3张图片

R1,R2为RR,建立逻辑上的全互联,但是R3,R4只有一条物理链路连接RR,还是会存在单点故障。

 

由上面可见,由于客户并不知道他们是客户,因而路由反射器本身也可以是其他路由反射器的客户

 

ORIGINATOR_ID:是本地AS中路由发起者的路由器ID,路由反射器不会将某路由宣告回该路由的发起者,如果收到这样的信息,则忽略这样的Update消息。

CLUSTER_ID:当RR将来自客户的路由反射给非客户时,将自己的CLUSTER_ID加入到CLUSTER_LIST中,如果RR接收到的Update中有自己的CLUSTER_ID,则忽略此Update消息,类似于AS_LIST 的作用。

 

当RR的客户full mesh时,可以用

no bgp client-to-client reflection

禁止客户到客户的路由反射。可以减少路由更新。

bgp cluster-id 1.1.1.1 可以来修改cluster-id

 

联盟:

联盟是一个被细分为一组子自治系统的AS,BGP为联盟分配一个联盟ID,此联盟ID被联盟之外的对等体视为整个联盟的AS号,外部无法看见联盟的内部结构。

联盟两种AS_PATH属性:

AS_CONFED_SEQUENCE:有序的AS号,用法和AS_SEQUENCE一样,区别在于该列表AS号属于本地联盟中的自治系统

AS_CONFED_SET:无序,同样代表本地联盟中的自治系统。

 

将Update消息发送给联盟之外的对等体时,将从AS_PATH属性中剥离AS_CONFED_SEQUENCE和AS_CONFED_SET属性,将联盟ID附加到AS_PATH上。

联盟外部的EBGP由于成员AS的外部EBGP,成员AS的外部EBGP优于IBGP路由

BGP(Border Gateway Protocol )边界网关协议04_第4张图片

 

BGP(Border Gateway Protocol )边界网关协议04_第5张图片