bgp dampening思科和锐捷

发布时间 2023-07-26 11:21:10作者: 学好声韵辩四声

锐捷

half-life:半衰期,规定间隔多长时间对惩罚值进行减半,取值范围为1~45,单位为分钟,缺省值为15。

reusing:惩罚值降到该值时撤销对路由的抑制,取值范围为1~10000,缺省值为750。

suppressing:惩罚值达到该值时对路由进行抑制,取值范围为1~20000,缺省值为2000。

maximun-supress-time:对路由的抑制最长时间,超过该设置时间自行撤销对路由的抑制,取值范围为1~255, 单位为分钟,缺省值为60。

 

BGP使用惩罚值的概念来描述路由的稳定性,惩罚值越大说明路由越不稳定。

路由每震荡一次(收到Withdraw报 文时)惩罚值增加1000。惩罚值增加到一定程度之后,便不会再增加,这个值称为惩罚上限值。该值取决用户配 置的maximun-supress-time值,计算公式是:惩罚上限值 = 2 ^ (maximun-supress-time / half-life) * reusing。

因为惩罚上限值不能大于20000,所以配置时需要根据网络状况来调整maximun-supress-time、half-life和reusing 值,这些参数大致满足如下关系:

1) half-time和maximun-supress-time之间须满足关系:half-time ≤ maximum-supress-time;(若半衰期太长,则最大抑制时间可能到了,惩罚值还没变。)

2) reusing、suppressing和惩罚上限值之间须满足如下关系:reusing ≤ suppressing ≤ 惩罚上 限值。

用户也可以只指定half-life的值,此时maximun-supress-time的值为(half-life * 4),而reusing和suppressing值分别 为750和2000。 惩罚值超过suppressing值的EBGP路由会被抑制,被抑制的路由在BGP路由选举的过程中不会被使用,也不会被 通告给其它BGP对等体。被抑制的路由如果继续震荡,惩罚值会继续上升到惩罚上限值。 被抑制的路由每经过half-life时间,惩罚值便会减少一半。当惩罚值降到reusing值时,最后一次更新时为Update 报文的路由将会重新参与BGP路由选举。当惩罚值降为0时,最后一次更新时为Withdraw报文的路由会从BGP路 由表中删除。 默认情况下,对于路由撤消增加1000惩罚值,对于路由更新增加500惩罚值。 VSU环境下进行主备切换时,设备会重新计算抑制路由信息。

思科

历史状态
——当一条路由抖动后,该路由就会被分配一个惩罚值,并且它的惩罚状态被设置为历史(History)。
· 惩罚(Penalty)
——路由每抖动一次,这个惩罚值就会增加。默认的路由抖动惩罚值是1000。如果只有路由属性发生了变化,那么惩罚值为500。这个值是硬件编码的。(属性变化惩罚值+500?)
· 抑制门限(suppress limit)
——如果惩罚值超过了抑制门限,该路由将被惩罚或衰减(dampen)。路由状态将由历史(History)状态转变为惩罚(Damp)状态。默认的抑制门限是2000,它可以被设置。
· 惩罚状态(或衰减状态,damp state)
——当路由处于惩罚状态时,路由器在最佳路径选择中将不考虑这条路径,因此也不会把这条前缀通告给它的对等体。
· 半衰期(Half life)
——在一半的生命周期的时间内,路由的惩罚值将被减少,半衰期的默认值是15分钟。路由的惩罚值每5秒钟减少一次。半衰期的值可以被设置。
· 再使用门限(reuse limit)
——路由的惩罚值不断地递减。当惩罚值降到再使用门限以下时,该路由将不再被抑制。默认的再使用门限值为750。路由器每10秒钟检查一次那些不需要被抑制的前缀。再使用门限是可以被配置的。当惩罚值达到了再使用门限的一半时,这条前缀的历史记录将被清除,以便更有效地使用内存。
· 最大抑制门限(最大抑制时间)
——这是前缀抑制的上限。如果路由在短时间内表现出极端的不稳定性,然后又稳定下来,那么累积的惩罚值可能会导致这条路由在过长的时间里一直处于惩罚状态。这就是设置惩罚值上限的基本目的。如果路由表现出连续的不稳定性,那么惩罚值就停留在它的上限上,使得路由保持在惩罚状态。默认的最大抑制门限是60分钟,它是可以被配置的。
当路由抖动时,惩罚值就会被分配给该路由,该路由也会被标记为具有不稳定的历史。后续发生的路由抖动会增加这个惩罚值。当惩罚值的增加超过了抑制门限的时候,这条路由就会被抑制,或被称为惩罚。
图3-6显示了一条前缀的路由惩罚。

 


默认的抑制门限是2000;然而,这在出现3次路由抖动后才会触发抑制。这是因为,为每次路由抖动分配的惩罚值是1000;但是,惩罚值会立即开始衰减。在第一次和第二次路由抖动之间的衰减会使惩罚值保持在抑制门限2000之下,直到出现第三次路由抖动为止。

分配给路由的惩罚值不断地衰减。当该路由的惩罚值衰减到再使用门限以下时,它就会再次被通告给它的对等体。这种机制使表现良好的路由可以快速地收敛;然而,那些表现不稳定的路由将会得到惩罚,直到不稳定性衰退为止。

如果不小心地配置了BGP惩罚参数的值,那么它可能会引起意想不到的行为出现。分配给一条前缀的最大惩罚值可以通过一个公式来确定。如果最大惩罚值不大于抑制门限,那么前缀将不会达到一个足够高的惩罚值而被抑制,使BGP的惩罚变得无用。该公式如下: