路由抖动衰减:RFC 2439 1.提供了一种机制,减少由于不稳定路由引起的路由器处理负载. 2.防止持续的路由抖动 3.增强了路由稳定性,但不牺牲表现良好的路由收敛时间.
算法包含以下参数: 历史状态---当一条路由抖动后,该路由会被分配一个罚值,并且它的状态设置为history 惩罚penalty-------路由每抖动一次,这个罚值就会增加.默认的路由抖动罚值为1000,如果只是路由属性变化,那么罚值为500.此值为硬件编码不可更改. 抑制门限值--------(suppress limit)如果罚值超过了抑制门限,该路由将会被惩罚或衰减(dampen).路由状态就会由历史转变为惩罚状态.默认抑制门限是2000,此值可以设置. 惩罚状态(damp state)------当路由处于此状态时,此路由就不会成为最佳路径也就不会传给其他设备 半衰期(half life)---------在一半的生命周期内,路由的惩罚值将被减少.半衰期的默认值是15分钟.路由的惩罚值每5秒钟减少一次.半衰期值可以设置. 再使用门限(reuse limit)--------路由的惩罚值不断的递减.当罚值降到再使用门限以下时,该路由就不在被抑制.默认此值是750,路由器每10秒一次那些不需要被抑制的前缀.当惩罚值到达了再使用门限的一半时默认375,这条前缀的历史记录就被清除,以便更有效使用内存.此值可以设置. 最大抑制门限----这是前缀抑制的上限,默认60分钟,是可以被设置的.
最大罚值=再使用门限*2(最大抑制时间/半衰期) (最大罚值不可超过20000,一旦超过damp不生效了.) 默认采用此公式,如果参数变了就不一定啦. 对于一条路由来说惩罚值必须可以超过抑制门限damp才有意义.如果有人将抑制门限的默认2000改为3000 ,而后将半衰期改为20,再将最大抑制门限改为40,而再使用门限是600的话.最大罚值=600*2(40/20)=600*4=2400 2400<3000 也就意味最大罚值超不过抑制门限,那么damp就不会出现.
BGP衰减特性仅仅影响外部的BGP路由.
bgp dampening 开启BGP衰减.
R3#sho ip bgp dampening parameters dampening 15 750 2000 60 (DEFAULT) Half-life time : 15 mins Decay Time : 2320 secs Max suppress penalty: 12000 Max suppress time: 60 mins Suppress penalty : 2000 Reuse penalty : 750
d damped,目前收到前缀更新但是被damp了,不能发送出去. h history,目前不存在路由表但是保留下来了. 将被宣告的物理接口,数次重启,最终致使路由出现问题.
案例一: file:///C:/Users/LISUIB~1/AppData/Local/Temp/msohtmlclip1/01/clip_image001.png R3属于AS300,R1属于AS100,在R1上宣告了1.1.1.1/32位的环回接口,现在如果将环回接口不断的开启和关闭会导致R3接收的1.1.1.1/32前缀被damp. 第一步:在R3上开启damp,并且只针对1.1.1.1/32这个前缀. ip prefix-list DAMP permit 1.1.1.1/32 route-map DAMP permit 10 match ip address prefix-list DAMP 只关心此前缀 set dampening 16 500 2000 80 设置1.half life 16分钟 2. 再次使用门限 500 (低于此值路由重新被使用) 3.一旦超过2000这个值就会被damp 4.最大抑制时间80分钟
bgp dampening route-map DAMP 在进程下调用. R3(config-route-map)#do sho ip bgp da pa dampening 16 500 2000 80 (route-map DAMP 10) Half-life time : 16 mins Decay Time : 2880 secs Max suppress penalty: 16000 Max suppress time: 80 mins Suppress penalty : 2000 Reuse penalty : 500
第二步:测试 将R1接口关闭和开启一次:
R3#clear ip bgp * sof in 让条目刷新 R3#sho ip bgp dampening flap-statistics 查看翻动后状态 BGP table version is 14, local router ID is 3.3.3.3 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete
Network From Flaps Duration Reuse Path h 1.1.1.1/32 13.13.13.1 1 00:00:35 100
R3#sho ip bgp 1.1.1.1 BGP routing table entry for 1.1.1.1/32, version 14 Paths: (1 available, no best path) Flag: 0x820 Not advertised to any peer 100 (history entry) 13.13.13.1 from 13.13.13.1 (1.1.1.1) Origin IGP, metric 0, localpref 100, external Dampinfo: penalty 967, flapped 1 times in 00:00:46
R3#sho ip bgp 1.1.1.1 BGP routing table entry for 1.1.1.1/32, version 16 Paths: (1 available, no best path) Flag: 0x820 Not advertised to any peer 100 (history entry) 13.13.13.1 from 13.13.13.1 (1.1.1.1) Origin IGP, metric 0, localpref 100, external Dampinfo: penalty 1853, flapped 2 times in 00:03:49 一旦超过2000罚值就会damp了. R3#sho ip bgp 1.1.1.1 BGP routing table entry for 1.1.1.1/32, version 18 Paths: (1 available, no best path) Flag: 0x820 Not advertised to any peer 100 (history entry) 13.13.13.1 from 13.13.13.1 (1.1.1.1) Origin IGP, metric 0, localpref 100, external Dampinfo: penalty 2764, flapped 3 times in 00:05:24
R3#sho ip bgp 1.1.1.1 BGP routing table entry for 1.1.1.1/32, version 18 Paths: (1 available, no best path) Flag: 0x820 Not advertised to any peer 100, (suppressed due to dampening) (history entry) 13.13.13.1 from 13.13.13.1 (1.1.1.1) Origin IGP, metric 0, localpref 100, external Dampinfo: penalty 3546, flapped 4 times in 00:07:51, reuse in 00:01:28 |