控制路由震荡的方法和设备的制作方法

文档序号:7661536阅读:92来源:国知局
专利名称:控制路由震荡的方法和设备的制作方法
控制路由震荡的方法和设备
坊犬緬城
#* ^' , _ V、 - 7、
本发明涉及通信领域,特别涉及一种控制路由震荡的方法和设备。
背景技术
一条路由间断性地出现并消失称为路由震荡,网络链路故障、网络维护以及网络误配置
均会导致某些路由发生震荡。当有新的路由出现时,路由器会向邻居发送更新(update)消 息;当有新的路由消失时,路由器会向邻居发送撤销(w池draw)消息;路由震荡会导致路 由器在Intemet内周期性地传播大量的更新或撤销消息。这些更新或撤销消息会占用链路的带 宽以及增加路由器CPU的负荷。
现有技术提供了一种BGP (Border Gateway Protocol,边界网关协议)抑制路由震荡的 方法,该方法给每条路由设置一个惩罚值(Penalty),当某条路由发生震荡时,将其惩罚值 增加一个量(例如1000)。当惩罚值达到规定的抑制门限(Suppress-limit)时,对该路由 抑制(不向邻居路由器通告这条路由)。经过一段规定的时间后,如果该路由没有再次发生 震荡,则将其惩罚值减少一半(即以指数速率减少惩罚值的值)。当惩罚值下降到规定的再 使用门限(reuse-limit)时,解除对该路由的抑制,重新向其它路由器通告该路由。如果该路 由被抑制后,再次波动,相应的惩罚值会继续累加。
发明人在实现本发明的过程中,发现上述抑制路由震荡的方法存在以下问题
1) 该方法将一段时间内路由震荡的次数作为判断一条路由未来是否稳定的基础,仅通过 路由震荡的频率决定是否对路由进行抑制。 一条路由震荡的愈快,它被抑制的愈快。如果一 条路由震荡频率很低,该路由对应的惩罚值累加很少,能够在较短的时间将路由的惩罚值减 少到再使用门限reuse-limit,这种方法不能对震荡频率很低的路由进行抑制。
2) 该方法没有找到真正导致网络震荡的路由,例如在Internet中,如果多条路由都经 过某一条公共链路,当这条链路发生故障时,这些路由都会失效。但是,通常情况下,由于 路由器的处理速度和网络的传播速度的差异,对这些路由的撤销消息会在不同的时刻到达同 一个路由器,导致这个路由器会选中实际上己经无效的路由作为最佳路由,并通告这个新的 最佳路由,然而,针对这条新的最佳路由的撤销消息会很快到达该路由器,导致该路由器对
刚通吿的最佳路由发送撤销消息,结果会导致在短时间内会有大量的路由撤销消息,当所有 针对该公共链路的路由的撤销消息都到达时,路由收敛完毕,不会再次发生震荡,上述过程 称为路径探索(path hunting或path exploration)。路径探索将导致一条路由在短时间内 以极高的频率发生变化,其对应的惩罚值很大,通过上述抑制路由震荡的方法将会对这类路 由进行抑制,并且抑制时间很长,大约15分钟,造成路由的收敛速度减慢。

发明内容
为了合理地控制对震荡路由的抑制,本发明实施例提供了一种控制路由震荡的方法和设 备。所述技术方案如下-
一种控制路由震荡的方法,所述方法包括 路由初次发生改变时,开始计时,并记录路由的改变程度; 当所述改变程度达到预设程度门限时,抑制所述路由;
当达到预设计时时长时,如果所记录的改变程度大于等于预设路径探索门限,解除所述 路由的抑制。
本发明实施例还提供了一种设备,所述设备包括
计时模块,用于路由初次发生改变时,开始计时,达到预设计时时长时,停止计时; 改变程度记录模块,用于在所述计时模块计时的过程中记录所述路由的改变程度; 抑制模块,用于当所述改变程度记录模块记录的改变程度达到预设程度门限时,抑制所 述路由;
抑制解除模块,用于当所述改变程度记录模块所记录的改变程度大于等于预设路径探索 门限,解除所述路由的抑制。
本发明实施例提供的技术方案的有益效果是
本发明实施例对计时过程中改变程度超过预设改变程度门限的路由进行抑制,通过预设 计时时长内路由的改变程度判断路由所处的状态,对处于路由探索状态的路由解除抑制,防 止了错误抑制路由震荡引起路由收敛慢的问题,并能够对真正震荡的路由进行抑制。


图1是本发明实施例1提供的控制路由震荡的方法流程图; 图2是本发明实施例2提供的设备示意图。
具体实施例方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进 一步地详细描述。
本发明实施例通过判断震荡路由的状态,将路由的状态分为稳定状态、路径探索状态和 震荡状态,对震荡状态的路由进行抑制。 实施例1
本实施例提供了一种控制路由震荡的方法,包括 路由初次发生改变时,开始计时,并记录路由的改变程度; 当改变程度达到预设程度门限时,抑制此路由;
当达到预设计时时长时,如果所记录的改变程度大于等于预设路径探索门限,解除此路 由的抑制;
如果所记录的惩罚值小于预设路径探索门限,跟踪此路由;每隔预设半衰周期,对此路 由的惩罚值进行减半;
当此路由的惩罚值小于再使用门限时,不对此路由进行抑制;当此路由的惩罚值大于预 设抑制门限时,对此路由进行抑制。
其中,路由改变指节点收到其它节点的通知,通知中指示将某一路由改变为其它路由或 者撤销该路由。改变程度可以通过两种方式体现 一种是通过路由的惩罚值大小,另一种是 通过改变次数的多少;根据经验,可以预先设定路由处于不同状态时对应的改变程度范围, 例如设定路由探索状态的改变程度为大于50次/分钟,真正震荡状态的改变程度大于10次 /分钟等。路由初次发生改变指处于稳定状态的路由发生改变,处于稳定状态的路由指路由的 惩罚值小于再使用门限。
下面以惩罚值表示改变程度为例,具体说明控制路由震荡的方法,该方法首先为每条路 由设定如下参数
计时时长T:当某条路由发生改变时,对该路由计时的长度为T,默认时长为1分钟, 当然也可以是其他时间;本实施例采用计时窗口进行计时,也可以采用计时器进行计时,计 时窗口的时长为T;
程度门限N:计时时长内,对路由进行抑制时对应的改变程度,可以为O到抑制门限之 间的任一值,包括O和抑制门限;为O时,即路由初次发生改变时,就对该路由进行抑制, 也可以为其它数值;
惩罚值Penalty:当某条路由发生改变时,将其惩罚值增加一个常量,每次默认增加1000,
当然也可以是其他数值;
半衰周期HL (Half-life):表示惩罚值减到一半所经历的时间;
最大抑制时间MAX—S (Maximum Suppress): —条路由最长抑制时间,默认60分钟, 或者4HL;
再使用门限REUSE (ReuseThreshold):当惩罚值小于此值时,解除抑制,默认750; 抑制门限SUPPRESS (Suppress Threshold):当惩罚值超过此值时,进行抑制,默认2000; 路径探索门限PATH—HUNT ( Path Hunting Threshold ):当计时T内惩罚值超过此门限时, 将惩罚值置1000或其它增量;
其中,T<HL, 0《N《SUPPRESS<PATH—HUNT。
参数设定完成后,参见图1,本实施例控制路由震荡的方法包括 步骤101:监测路由的状态。 ,步骤102:当路由初次发生震荡时,开始计时,并将惩罚值增加一个预先规定的常量m。 如果在计时过程中,该路由再次震荡,将继续对其惩罚值增加规定的常量m。 步骤103:判断该路由的惩罚值是否达到或超过预设程度门限,如果是,执行步骤104;
否则,执行步骤105。
步骤104:对此路由进行抑制,然后执行步骤106。
这种抑制是将该路由置于不可用状态,BGP不使用这条路由,不会对这条路由进行最优 路径选择,也不会向外通告这条路由。
步骤105:不对此路由进行抑制,然后执行步骤106。
步骤106:判断是否达到预设时长,如果是,执行步骤107;否则,返回步骤103。 步骤107:停止计时。
本实施例当计时达到预设的窗口时长时,关闭计时窗口。
步骤108:根据计时过程中记录的惩罚值判断路由的状态,如果所记录的惩罚值大于等
于预先设定的抑制门限,且小于预先设定的路径探索门限,说明该路由处于震荡状态,执行
步骤109;如果所记录的惩罚值大于等于预先设定的路径探索门限,说明该路由处于路径探 索状态,执行步骤110;如果所记录的惩罚值小于抑制门限,说明该路由可能处于震荡状态, 需要进一步确定其所处状态,执行步骤lll; 步骤109:继续对该路由进行抑制。
对该路由进行抑制的过程中,如果该路由再次震荡,则在原惩罚值的基础上再增加一个 常量。步骤110:将该路由的惩罚值置为上述预先规定的常量m,解除对该路由的抑制。
解除对路由的抑制表现在使用这条路由,可以对这条路由进行最优路径选择,也可以向 外通告这条路由等。
路由稳定后,重新执行上述步骤对其进行监测。
步骤lll:对该路由进行跟踪,跟踪的过程中,当该路由再次震荡时,在计时过程中记录 的惩罚值基础上再增加一个常量;如果该路由多次震荡,则每震荡一次,对其惩罚值累加一 个常量。
本步骤对惩罚值所增加的常量可以与步骤102中增加的预先规定的常量不同,也可以相同。
步骤112:每当该路由的惩罚值发生变化,判断其惩罚值是否达到或超过抑制门限,如果 是,执行步骤113;否则,执行步骤114。
步骤113:判断该路由的状态,如果该路由为抑制状态,继续对该路由进行抑制,如果是 不抑制状态,对该路由进行抑制。
步骤114:判断该路由的状态,如果该路由为抑制状态,解除对该路由的抑制,如果是不 抑制状态,继续对该路由不抑制。
对该路由进行抑制的过程中,如果该路由再次震荡,则将其惩罚值再增加一个常量,直 到跟踪时间达到预设的最大抑制时间时,不再增加。
同时,在这个过程中,如果开启了路由抑制功能,则每隔一个预设的半衰周期,路由的 惩罚值将减少一半(即以指数速率减少惩罚值的值);如果该路由一直没有震荡或者震荡增
加的惩罚值速率小于半衰减少惩罚值的速率,当惩罚值下降到小于等于预先设定的再使用门
限时,不对该路由进行抑制,即对原来处于抑制状态的路由解除抑制,对原来处于不抑制
状态的路由,继续不抑制,重新向其它路由器通告该路;如果该路由还在震荡,当该路由的
惩罚值大于等于预设抑制门限时,对该路由迸行抑制。
上述方法关闭计时窗口时,如果该路由不需要进行抑制,可以强行解除该路由的抑制。 以震荡次数表示震荡程度的控制路由震荡的方法同上,将上述惩罚值除以增量即为震荡
次数,预先设定的路径探索门限改为设定震荡次数等,这里不再详述。
以上实施例以路由每改变一次,对路由的惩罚值增加一个常量为例进行说明的,在实际
实现时,也可以预先设置每个路由的初始惩罚值或者初始次数不为0,为一个合理的常数,
路由每改变一次,对初始惩罚值减一个常量,或者初始次数减1;同时,对应此惩罚值和次
数也有相应的门限值,具体过程同上,这里不再赘述。 本实施例对计时过程中改变程度超过预设改变程度门限的路由进行抑制,通过预设计时 时长内路由的改变程度(惩罚值或改变次数)判断路由所处的状态,对处于路由探索状态的 辟由解除抑制,防止了错误抑制路由震荡引起路由收敛慢的问题,并能够对真正震荡的路由 进行抑制。
实施例2
参见图2,本实施例提供了一种设备,包括
计时模块,用于路由初次发生改变时,开始计时,达到预设计时时长时,停止计时;
改变程度记录模块,用于在计时模块计时的过程中记录路由的改变程度;
抑制模块,用于当改变程度记录模块记录的改变程度达到预设程度门限时,抑制路由;
抑制解除模块,用于当改变程度记录模块所记录的改变程度大于等于预设路径探索门限,
解除路由的抑制。
其中,改变程度记录模块包括-'惩罚值记录单元,用于在计时模块计时的过程中路由每改变一次,对路由的惩罚值增加
一个常量;
相应地,抑制解除模块具体用于当惩罚值记录单元所记录的惩罚值大于等于预设路径探 索门限,将惩罚值置为常量,解除路由的抑制。 或者,改变程度记录模块包括-
改变次数记录单元,用于在计时模块计时的过程中记录路由的改变次数;
相应地,抑制解除模块具体用于当改变次数记录单元所记录的震荡次数大于等于预设路
径探索门限,将震荡次数置l,解除路由的抑制。 进一步地,该设备还包括 .跟踪模块,用于计时模块停止计时,如果所记录的惩罚值小于预设路径探索门限,跟踪
路由;
控制模块,用于当跟踪模块跟踪路由的过程中,每隔预设半衰周期,对路由的惩罚值进 行减半;当路由的惩罚值小于等于再使用门限时,,不对路由进行抑制;当路由的惩罚值大于 等于预设抑制门限时,对路由进行抑制。
本实施例对计时过程中改变程度超过预设改变程度门限的路由进行抑制,通过预设计时 时长内路由的改变程度(惩罚值或改变次数)判断路由所处的状态,对处于路由探索状态的 路由解除抑制,防止了错误抑制路由震荡引起路由收敛慢的问题,并能够对真正震荡的路由
进行抑制。
本发明实施例可以通过软件实现,相应的软件可以存储在可读取的存储介质中,例如计 算机的硬盘、光盘或者软盘中。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之 内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1. 一种控制路由震荡的方法,其特征在于,所述方法包括路由初次发生改变时,开始计时,并记录路由的改变程度;当所述改变程度达到预设程度门限时,抑制所述路由;当达到预设计时时长时,如果所记录的改变程度大于等于预设路径探索门限,解除所述路由的抑制。
2. 如权利要求l所述的控制路由震荡的方法,其特征在于,所述记录路由的改变程度的 步骤具体为在预设计时时长内所述路由每改变一次,对所述路由的惩罚值增加一个常量; 相应地,所述如果所记录的改变程度大于等于预设路径探索门限,解除所述路由的抑制 的步骤具体为如果所记录的惩罚值大于等于预设路径探索门限,将所述惩罚值置为所述常量,解除所 述路由的抑制。
3. 如权利要求l所述的控制路由震荡的方法,其特征在于,所述记录路由的改变程度的 步骤具体为记录所述路由在预设计时时长内的改变次数;相应地,所述如果所记录的改变程度大于等于预设路径探索门限,解除所述路由的抑制 的步骤具体为如果所记录的改变次数大于预设路径探索门限,将所述改变次数置1,解除所述路由的 抑制。
4. 如权利要求l所述的控制路由震荡的方法,其特征在于,所述路由初次发生改变时, 开始计时的步骤具体为路由初次发生改变时,打开所述路由的计时窗口进行计时。
5. 如权利要求l所述的控制路由震荡的方法,其特征在于,所述路由初次发生改变时, 开始计时的步骤具体为 路由初次发生改变时,打开所述路由的计时器。
6. 如权利要求2所述的控制路由震荡的方法,其特征在于,所述方法还包括 达到预设计时时长时,如果所记录的惩罚值小于预设路径探索门限,跟踪所述路由;每隔预设半衰周期,对所述路由的惩罚值进行减半;当所述路由的惩罚值小于等于再使用门限时,不对所述路由进行抑制;当所述路由的惩 罚值大于等于预设抑制门限时,对所述路由进行抑制。
7. —种设备,其特征在于,所述设备包括计时模块,用于路由初次发生改变时,开始计时,达到预设计时时长时,停止计时; 改变程度记录模块,用于在所述计时模块计时的过程中记录所述路由的改变程度; 抑制模块,用于当所述改变程度记录模块记录的改变程度达到预设程度门限时,抑制所 述路由;抑制解除模块,用于当所述改变程度记录模块所记录的改变程度大于等于预设路径探索 门限,解除所述路由的抑制。
8. 如权利要求7所述的设备,其特征在于,所述改变程度记录模块包括 惩罚值记录单元,用于在所述计时模块计时的过程中所述路由每改变一次,对所述路由的惩罚值增加一个常量;相应地,所述抑制解除模块具体用于当所述惩罚值记录单元所记录的惩罚值大于等于预 设路径探索门限,将所述惩罚值置为所述常量,解除所述路由的抑制。
9. 如权利要求7所述的设备,其特征在于,所述改变程度记录模块包括 改变次数记录单元,用于在所述计时模块计时的过程中记录所述路由的改变次数; 相应地,所述抑制解除模块具体用于当所述改变次数记录单元所记录的震荡次数大于等于预设路径探索门限,将所述震荡次数置l,解除所述路由的抑制。
10. 如权利要求8所述的设备,其特征在于,所述设备还包括跟踪模块,用于所述计时模块停止计时,如果所记录的惩罚值小于预设路径探索门限, 跟踪所述路由; 控制模块,用于当所述跟踪模块跟踪所述路由的过程中,每隔预设半衰周期,对所述路 由的惩罚值进行减半;当所述路由的惩罚值小于等于再使用门限时,不对所述路由进行抑制; 当所述路由的惩罚值大于等于预设抑制门限时,对所述路由进行抑制。
全文摘要
本发明公开了一种控制路由震荡的方法和设备,属于通信领域。所述方法包括路由初次发生改变时,开始计时,并记录路由的改变程度;当所述改变程度达到预设程度门限时,抑制所述路由;当达到预设计时时长时,如果所记录的改变程度大于等于预设路径探索门限,解除所述路由的抑制。所述设备包括计时模块、改变程度记录模块、抑制模块和抑制解除模块。本发明对路由刚震荡时进行计时和抑制该路由,通过预设计时时长内路由的震荡程度判断路由所处的状态,对处于路由探索状态的路由解除抑制,防止了错误抑制路由震荡引起路由收敛慢的问题,并能够对真正震荡的路由进行抑制。
文档编号H04L12/24GK101394302SQ20071015220
公开日2009年3月25日 申请日期2007年9月19日 优先权日2007年9月19日
发明者张仁海, 陈国义, 马怀远 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1