1 前言
) ]3 D7 z# w% u" Z. Q2 H 因为路由器及其链路的失踪效和修复,达到或者经由此路由器的路由会响应的消逝踪又发生。对于一个大的收集,这种情形可能经常呈现。于是便发生了路由的不不变。在 RFC2439中,这种路由的不不变称为路由摆动(route flap)。如不美观不作任何限制,路由摆动会引起路由器不竭地发送路由更新报文,同时也会不竭的收到(当然还要措置)其它路由器发送过来的路由更新报文。如不美观路由更新报文很是大,这在一个大的收集中是完全可能的,很可能会导致收集拥塞和增添路由器CPU的承担,这又可能会导致新的不成达路由。BGP路由按捺(BGP Route Flap Damping)就是BGP用来解决路由摆动问题的一个方案。以VRP 1.74为例声名路由摆动按捺实现体例与设置装备摆设。
5 i9 @2 m: p9 ~1 F, i; T9 } 2 BGP路由摆动按捺算法
# a* K7 m9 v1 c6 ^. X( R) Y BGP路由按捺的首要事理是这样的:BGP给每条路由设置一个值,称为赏罚值(penalty value)。当某条路由发生摆动时,就给以其赏罚——将其赏罚质ё裒加一个量(固定值:1000)。当赏罚达到一个设定的按捺门限(cutoff value,往后简称cut)时,就将该路由按捺住(不向邻人路由器书记这条路由)。为了让被按捺的路由在不再摆动时能够解除按捺(向邻人路由器书记这条路由),赏罚值可跟着时刻推移按指数(半衰期法例)递减,当赏罚值下降到一个设定的再使用门限(reuse value,往后简称reuse)时,就解除对该路由的按捺,从头向其它路由器书记该路由。& i( T. _) ?, [& Q
路由按捺的示意图 4 w% q' V2 N, J- ~- `
, Z9 y& a9 s3 H8 A; s4 ^& C+ N, I# Y4 o+ A$ L
i+ S4 D* _' `) M; r [2 y
路由在t1、t2、t3、t4时刻因为摆动而受到赏罚,而在t3时刻的赏罚值已经超出按捺门限,路由被按捺。t4后,路由不再摆动,跟着时刻的推移,赏罚值逐渐降低,在t5时刻已下降到再使用门限,路由按捺被解除,路由器又将其书记给邻人路由器。
. D- m* F) p5 z9 c# G% ?8 A0 a 半衰期(half-time):权衡赏罚值衰减水平的指标,暗示赏罚值衰减到一半时所履历的时刻。与赏罚值的具体数值,以及从何时进行计较是没有关系的。
* p6 i$ K/ C9 z/ d4 t# |7 z8 ^ 赏罚值最高上限(ceiling):当某路由的可达、不成达信息在短时刻内频仍呈现时,赏罚值会很是高。当路由不变后,赏罚值回到reuse门限的时刻会很是长,为了避免这么长的时刻,故设置了赏罚值最高上限。7 ~* L6 Y, h5 y$ `
算法:
+ I- j# G( A5 b 1) 赏罚值的初值为f = 0% V: W0 F" E( B9 l
2) 当收到该路由可达的信息时,f = f +1000
- v- k' }" F: Z; c3 v 3) 当收到该路由不成达的信息时,f = f +1000/ h5 ]( a. l* _5 z! F+ M7 b
4) f 值按照以下算法递减' q$ v. T0 K9 g4 B# W8 b* V
f ( t ) = K * f ( t ? delta)- ?/ p' O2 M, Y
其中
4 P9 L& S% A% q 0 < K < 1
`) ?6 \, |& `. V* ]) c delta为计较侍旧肃离,为恒定值& d# w1 y) ~& Y8 {! {0 i
K = K1, 如不美观上次收到的是路由可达信息* ^& t5 F" t4 w1 w
K = K2, 如不美观上次收到的是路由不成达信息
3 b9 u6 y1 ]* J, ]$ G( t. F( \ K1 = e (- delta * ln( 2 ) / T1) , K2 = e (- delta * ln( 2 ) / T2)# z7 }! d- u6 ^: r0 u
T1:half-time-reachable (路由可达半衰期)
6 `# k# v' d; D) z. o7 S T2:half-time-unreachable (路由不成达半衰期)
2 t9 O" C+ Q, C2 w: ] 5) 当f >= cut值(cutoff value)时,按捺将该路由(不向邻人路由器书记这条路由)。cut的缺省值是2000。
7 a3 g& T0 Q. j 6) 当f > celling制瘫,f = ceiling。这是为了防止按捺时刻过长而采纳的限制。最大按捺时刻可以按照ceiling,reuse,T1,T2算出来。Ceiling的缺省值是16000。! z& y- H* {2 ?
7) 当f |