Router Flap Damping

路由翻动惩罚- Route Flap Dampening

一.序言
  在一个运行中的网络中 , 设备常常出现一些不稳定的现象 , 原因可能是设备本身的 bug, 也可能是在搭建网络的时候很多地方遗留下了后患 .
那么面对这些不稳定的现象 , 厂家应该如何来面对呢 ? 显然为了把他们的设备买的更好 , 他们必须替客户考虑的更多 …, 于是他们必须在他们的设备中加入一些预防性的措施 , 比如 route flap dampening.

二. 什么是 route flapping ? 为什么需要 dampening ? 如何实现 route flapping dampening

  现在我们来考虑一种现象 : 由于我们的线缆的问题 , 或者是端口连接问题 , 我们的网络中某一个端口经常性的 up---down , 这种情况出现的频率很高 , 会导致什么样的结果呢 ? 结果是某些路由在设备的路由表里面会消失 --- 出现 --- 消失 --- 出现 --- 消失 ---, 出现了我们称之为 route flapping 的现象 . 这样网络中的很多设备就会因此不断的刷新自己的路由表 , 白白的消耗大量的处理器时间片 .

  这种浪费必须最大程度的避免 , 如何来避免呢 ? 先来分析一下这种现象的因果关系:原因是端口不稳定,结果是导致了路由表的刷新,浪费了处理器时间。这个是必然的因果关系吗?? 答案是否!当我们不采取任何措施的时候的确是这样,但是如果我们采取有效的措施呢?。。。

   现在让我们反过来思考一下,我们在避免什么?我们在避免设备浪费资源,而不是避免端口出现不稳定的情况(很多时候我们只能减少这样的事情发生,而不能杜绝这种情况),所以我们要做的是:即使端口在 flapping ,我们的路由表也不要不停的去刷新!!这就是 dampening 所要实现的功能!所谓 dampening 就是指当某个端口在 flapping 的时候,网络设备会自动的抑制这个端口,直到网络设备确定端口恢复正常才启用这个端口。

   在这个 dampening 过程中,存在着几个问题需要我们去解决:
1
当这个端口处在什么状态时,网络设备应该认为它处在 flapping 状态?
2
网络设备如何确定这个端口已经恢复了正常?然后如何来启用它?
3
如果这个端口一直不稳定,网络设备应该永久性的抑制它吗?
解决了以上的问题,我们就实现了 dampening 的功能。
解决办法(针对以上每一个问题):
1
每当端口 flap 一次之后,就惩罚它一次,用一个值来表示处惩罚的概念。比如说开始当端口稳定的时候,这个端口的惩罚值为 0 ,当它 flap 一次后,我们就给它加 1000 的惩罚值,再 flap 一次就再加 1000 ;并且我们设定一个 dampening 的门限值,比如为 2500 ,那么可以计算出,当这个端口 flap 三次,它的惩罚值为 3000>2500 ,于是它被 dampening 了!
2
接着引用上面的例子,如果当端口 flap 三次后一直都不在 flap 了,那么网络设备是否应该一直抑制它呢(由于 3000>2500 ,所以如果不采取其他措施,这个端口肯定一直会被抑制)?显然这不是我们想要的结果!它稳定了,我们就应该再用它,于是我们需要想办法让它启用,办法就是让惩罚值随着时间的推移自动的减少,引用元素衰减中半衰期的概念(当过了一段时间后,元素的质量会衰减到初始的一半,这儿引申为过了一定的时间后(比如 10 分钟),惩罚值会衰减到当初的一半)。并且设定一个启用的门限值(比如 1800 ),设定当端口的惩罚值衰减到这个以下那么端口就会被重新启用。于是 10 分钟后,惩罚值变成 3000/2=1500<1800 ,端口重新被启用了。
3
很明显,我们用了某个端口,必然是有用处的,所以我们不能一直的抑制它,必须要设定一个最大的抑制时间(比如 40 分钟);
注意:
抑制值 < 最大惩罚值 的条件必须满足!
否则 dampening 的功能自动关闭!
 比如
  dampening 30 500 2500 60 无效
解决了上面的三个问题后,我们完全的实现了 dempening 的功能;
实现的语句为(引用 上面的例子):


dempening 10m   1800 2500 40m
半衰期 启用值 抑制值 最大抑制时间   

三. Route Flap Dampening 应用在哪些地方?
Route flap dampening
主要应用在两个地方,一个比较典型的应用在 BGP 中,另一个是应用在 IGP 中。两个应用的差别在于抑制的时间不同, bgp dampening 中半衰期为 1 45 分钟,最大抑制时间为 255 分钟;而 IGP 中半衰期为 1 30 秒,最大抑制时间为 255 秒。当然两个应用的命令也有差异,这个查看相关的命令文档就可以了。

四.惩罚值是如何衰减的?( Route Flap Dampening 的算法)

你可能感兴趣的:(职场,路由,休闲,思科)