CN102868603B - 基于链路破坏度的动态自适应的路由震荡抑制方法 - Google Patents
基于链路破坏度的动态自适应的路由震荡抑制方法 Download PDFInfo
- Publication number
- CN102868603B CN102868603B CN201210355432.5A CN201210355432A CN102868603B CN 102868603 B CN102868603 B CN 102868603B CN 201210355432 A CN201210355432 A CN 201210355432A CN 102868603 B CN102868603 B CN 102868603B
- Authority
- CN
- China
- Prior art keywords
- link
- router
- concussion
- value
- state
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种基于链路破坏度的动态自适应的路由震荡抑制方法,是在路由器检测到链路发生故障时,根据该故障链路的当前链路破坏度值调整震荡抑制模型中的各个参数值;再基于振荡抑制模型的传统震荡抑制方法抑制震荡,以实现动态自适应的路由震荡抑制。本发明优点有两个:(1)自适应调整震荡抑制策略:由于破坏度体现链路的实时状态,本发明设置的参数都能够随着破坏度的变化而变化,实现了自适应的路由震荡抑制技术。(2)操作步骤简单,无需对传统路由协议做大量修改,工程上便于部署与实施。因此,本发明具有很好的推广应用前景。
Description
技术领域
本发明涉及一种动态自适应的路由震荡抑制方法,确切地说,涉及一种根据当前链路在网络中的重要性(即链路破坏度),尽快检测到链路震荡,并及时调整震荡抑制模型中各个参数值,再依据链路重要性采取相应震荡抑制策略,以便尽快实现动态自适应的路由震荡抑制方法;属于网络通信的技术领域。
背景技术
路由震荡是多个路由器之间不断反复交换相同的路由信息,造成这些路由器的路由表中的某条路由不停地出现“消失—再现—消失—再现”的现象。路由震荡的原因有两个:一是由于链路状态的改变所造成的路由的改变。此时,链路不停地处于“断—通—断—通”状态,造成路由器不断更新自己的链路状态通告LSA(Link State Acknowledge),从而不断地进行路由表的重计算,使得路由表里的一些路由不断地消失与再现,即造成路由震荡。且因为路由协议的内部机制问题,在邻居路由器发现故障并重新计算路由表前,这段时间就会不断丢失数据。二是网络设计不严谨,造成大量的同值选路或路由状态更新出现震荡。在震荡期间,由于路由器对路由的错误认知,数据丢失也就不可避免,同时影响网络的稳定性与可靠性。参见图1所示,因路由器r2和r4之间的链路r2-r4发生故障,使得路径r2-r4在路由器r2和r4的路由表中时而出现、又时而消失,路由器r2和r4之间不断地反复交换有关r2-r4相同的路由信息,此时r2-r4就是震荡的路由。
网络状态的频繁变化将引起路由协议不断进行路由重计算和路由表更新,导致路由震荡。路由震荡为网络带来巨大危害,由于网络动态路由协议的存在,网络的故障会被迅速扩散到全网,使路由震荡的影响范围被扩大,例如2007年,由于多厂家对ISIS报文更新实现机制的不同而产生了路由震荡,震荡就像“非典”疾病一样在全网相互“传染”,严重影响了业务转发。震荡期间产生的错误路由直接导致数据丢失,因此如何抑制震荡、尽可能减少因震荡而导致的数据丢失,已经成为一项当前急需解决的关键技术。
OSPF拥有自身的震荡抑制机制,这种震荡抑制是通过它的三对定时器:HelloInterval与RouterDeadInterval、MinLSInterval与MinLSArrval、SpfDelay与SpfHoldTime实现的。下面分别介绍这三对定时器及其工作机理。
(1)HelloInterval与RouterDeadInterval
HelloInterval是路由器接口发送Hello包的时间间隔定时器,即每个路由器接口在HelloInterval内只发送一次Hello包;其默认的设置值为10s。
RouterDeadInterval是路由器死亡间隔定时器,用于指定路由器不响应的时间达到多长时间(以秒计),相邻路由器就认为该路由器有故障。通常为HelloInterval的4倍值。
这两个定时器负责控制OSPF全网链路状态检测的速度,OSPF将Hello包的发送频率控制在10s,当图1中的链路r2-r4在10s内发生故障又恢复时,OSPF将忽略这一变化,同时,对这样的链路状态变化不进行洪泛,从而减少了不必要的路由表重计算,也相应减少了路由震荡的发生。
(2)MinLSInterval与MinLSArrval
MinLSInterval是路由器更新LSA的最高频率定时器,即每个路由器在MinLSInterval内,只能形成并发送一次LSA;其数值设定为5秒。
MinLSArrival是路由器能够承受的给定的LSA泛洪更新的最高频率定时器,即每个路由器在MinlsArrival内,只能接收一个从指定路由器发来的LSA;其数值通常设置为1秒。
这两个定时器用于控制每个OSPF路由器收发LSA的频率:其中MinLSInterval定时器将每个路由器发送LSA的频率限制在5s,MinLSInterval定时器将接收LSA的频率限制在1s。当图1中的链路r2-r4状态频繁发生改变时,如果路由器r2和r4分别检测到该链路状态的变化,也不会立即生成LSA。且对于连续到达的LSA,路由器也不会全部接收,只是在定时器到达设定时间才接收。这样就不会引起频繁的路由表重计算,在一定程度上抑制了路由震荡。
(3)SpfDelay与SpfHoldTime
SPFDelay是从OSPF收到拓扑改变信息,到开始进行路由表重计算的时间间隔定时器,即OSPF开始计算路由表时需要等待的时长。该值默认设置为5s。
SPFHoldTime是OSPF两次路由表重计算的最小时间间隔定时器,其默认设置为10s。
当图1中的链路r2-r4状态每次发生变化时,两个路由器r2和r4的路由表均需要进行重计算,并由上述两个定时器直接控制对路由表重计算的频率,使得路由表的重计算次数尽可能地减少,从而达到抑制路由震荡的目的。
但是,这种机制会导致邻居路由器不能及时获知与认识当前网络中的故障,从而延长错误路由的存在时间,使得这种震荡机制尽管能减少路由波动的次数,但不能有效抑制振荡及其带来的危害。
参见图2和图3,介绍当前典型的震荡抑制方法:
图2是介绍震荡识别模型及其参数:包括惩罚值最大值、抑制门限、重用门限、惩罚值最小值和惩罚值。在振荡抑制方案中,这些参数的作用是:在路由器的每个接口设定惩罚值,每个惩罚值都有其最大值和最小值,每次路由振荡都会使该路由的惩罚值增大,而在路由稳定时,惩罚值会随着时间减小。当惩罚值超过抑制门限时,表明该接口处于抑制状态,路由器就向外通告该接口的状态为不可用,即使其状态偶尔反转为可用时,亦不作改变;只有当接口状态恢复正常、且持续时间足够令惩罚值减小至低于重用门限时,才向外通告该接口的状态为可用。
图3中的实线方波表示图1中链路r2-r4随时间变化的状态。实线折线表示链路r2-r4两端接口的惩罚值。在0秒时,路由器r2和r4的每个接口设定惩罚值时,链路r2-r4损坏,r2-r4两端接口的惩罚值增大,在10秒时,r2-r4恢复连接,其惩罚值随着时间减小。当链路r2-r4在20秒时再次损坏时,惩罚值再次增大。在30秒时,r2-r4故障排除,其惩罚值再次减小,但尚未衰减至重用门限时,r2-r4在40秒时再次发生故障,惩罚值持续增加,当惩罚值超过抑制门限时,r2和r4分别向外通告该链路两端接口的状态为不可用。只有当r2-r4不再发生故障后,惩罚值才随着时间减小,重新恢复至低于重用门限时,链路r2-r4两端接口的状态才向外通告为可用。
这种典型的震荡抑制方法增加了对路由链路状态的智能判断功能,通过统计历史信息判定链路状态。但是,该震荡抑制方法中决定震荡抑制效果的多个参数(如惩罚值最大值、抑制门限、重用门限、惩罚值最小值、惩罚力度和衰减周期)都是固定值;且由管理员一旦设定后,在运行过程中不会改变。因此其对路由震荡的抑制效果与震荡链路的重要性无关。在实际网络中,由于链路的重要性不同(如核心网中的链路重要性远远高于边缘网络中的接入链路),因此需要对不同属性链路执行差异化的震荡抑制。这就如同在城市交通网中,主干道和小街小巷应该采取不同的交通管制措施。
现在,由于VOIP等实时业务对网络服务质量的要求越来越高,现有路由协议的震荡抑制机制已不能满足其需求,因此,业内许多科技人员都对此进行了攻关研发,且也提出了一些解决方法。
例如:中国专利申请《路由震荡的抑制方法及设备》(申请号:200710305699.9)公开的路由震荡抑制方法是:在路由发生初次改变时,开始计时并记录路由的改变程度和路由的变好程度;当改变程度达到预设程度门限时,抑制路由;当变好程度达到或超过预设抑制窗口而关闭门限时,将改变程度置为预设常量,并结束计时。当计时结束时,如果所记录的改变程度大于或等于预设的路径探索门限,就解除对路由的抑制。
文献《BGP Route Flap Damping》(刊于RFC2439,Nov.1998.9)的路由震荡抑制方法是:为路由设置惩罚值、重用门限、抑制门限、半衰期和最大抑制时间,每次路由状态为不可用时,惩罚值会根据默认惩罚值的增量而增大;当惩罚值超过抑制门限时,震荡的路由不向外宣告;且惩罚值会随着半衰期而减小,当其低于重用门限时,被抑制的路由再次向外宣告。震荡路由的抑制时间不超过设定的最大抑制时间。
文献《Osamu Nakamura,er al.Route Flapping Effects on OSPF.Symposium onApplications and the Internet Workshops》(刊于IEEE Computer Society Washington,DC,USA,2003)的路由震荡抑制方法与前一文献基本一致,只缺少最大抑制时间。
再介绍一种比较典型的震荡抑制方法现有技术的操作流程(参见图4),其各操作步骤如下:
步骤1:根据震荡情况初始化设置震荡抑制模型中各参数(包括惩罚值、惩罚值增量、抑制门限、重用门限和衰减值):其中惩罚值是为每个路由器接口设置的标识其接口状态的参数;惩罚值增量是当链路每次发生故障,惩罚值就根据该惩罚值增量而增加一个设定值;抑制门限是标识链路是否发生震荡的门限值:当震荡链路对应的路由器接口的惩罚值超过抑制门限时,表明该震荡链路需要进行震荡抑制;重用门限是标识震荡链路是否恢复的门限值:当震荡链路对应的路由器接口的惩罚值低于重用门限时,表明震荡链路需要解除震荡抑制;衰减值是路由器接口的惩罚值随时间减小的设定值。这些参数都是固定值,且一旦设定后,在运行过程中不再改变。
步骤2:路由器检测链路中是否存在故障链路。
步骤3:路由器若发现故障链路,则依据初始设定的惩罚值增量增大故障链路的惩罚值;若未发现故障链路,则检测网络中是否存在曾经发生故障的链路。
步骤4:在增大惩罚值后,路由器判断其接口的惩罚值是否大于初始设定的抑制门限;若网络中存在曾经发生故障的链路,就依据初始设定的衰减值减小故障链路对应的路由器接口的惩罚值;若网络中不存在曾经发生故障的链路,则返回步骤2,继续监测网络链路状态。
步骤5:若故障链路对应的路由器接口的惩罚值大于抑制门限,路由器就将该故障链路对应的路由器接口设置为不可用而实现震荡抑制;否则,即故障链路对应的路由器接口的惩罚值小于抑制门限,就返回步骤2。
步骤6:对曾经发生故障的链路对应的路由器接口判断其惩罚值是否低于重用门限,若是,路由器将该接口置为可用状态,即解除震荡抑制;否则,返回步骤2。
从上述介绍可知:震荡抑制现有技术的各个参数都是初始设定的,且不能随着网络状态的变化而变化。其有两大缺点:一是路由振荡的检测时间长,使得网络中错误路由的存在时间也相应延长;二是各个参数都是初始设定,不能随着网络状态的变化而变化,使得振荡抑制方法缺少灵活性和自适应性。另外,现有的路由震荡抑制方法均基于全网执行的分布式处理,占用大量网络资源,还大大延长网络收敛时间。因此,如何解决上式难题,已经成为业内科技人员关注的焦点。
发明内容
有鉴于此,本发明的目的是提供一种基于链路破坏度的动态自适应的路由震荡抑制方法,本发明能够较好地解决现有技术的缺陷,依据链路破坏度,调整震荡抑制模型中的各个参数值,以便能够针对不同重要性的链路实现不同的震荡抑制策略,即实现自适应的路由震荡抑制技术。
为了达到上述目的,本发明提供了一种基于链路破坏度的动态自适应的路由震荡抑制方法,其特征在于:当路由器检测到链路发生故障时,根据该故障链路的当前链路破坏度值调整震荡抑制模型中的各个参数值;再基于振荡抑制模型的传统震荡抑制方法抑制震荡,以实现动态自适应的路由震荡抑制;所述方法包括下列操作步骤:
(1)路由器按照设定周期检测网络中的各个链路状态:判断网络中是否出现故障链路,若未出现故障链路,则继续执行该步骤(1)的周期检测网络的操作;若发现网络中存在故障链路,则执行后续步骤(2);
(2)路由器判断该故障链路是否为该路由器的直连链路,若是直连链路,则计算故障链路的破坏度,否则,不执行此操作;
(3)路由器根据该故障链路的故障链路破坏度值,从震荡抑制策略表中读取其所对应的各个抑制参数值:
(4)路由器根据震荡抑制策略表中对应的震荡抑制参数值,调整震荡抑制模型中的各个相应抑制参数;
(5)路由器根据震荡抑制模型中调整后的抑制参数执行震荡抑制操作;启动决定惩罚值的衰减速率的衰减定时器,即从衰减定时器启动到其定时结束期间,根据链路状态的下述三种变化,分别执行相应的不同操作内容;
(A)链路状态发生多次翻转,即至少发生一次由坏变好和一次由好变坏;
根据链路状态(A)情况,路由器执行的震荡抑制流程包括下列操作内容:
(5A1)若检测到链路状态由坏变好时,不改变该链路两端的路由器接口的惩罚值,路由器继续执行震荡抑制操作;或
(5A2)若检测到链路状态由好变坏,就根据惩罚值增量增加该故障链路两端路由器接口的惩罚值,并判断该惩罚值是否超过抑制门限;若未超过,则不对该故障链路的路由器接口执行任何操作,并继续监测链路的状态;若该惩罚值超过了抑制门限值,表明该链路需要进行震荡抑制,则执行后续步骤(5A3);
(5A3)路由器不论该故障链路两端的路由器接口为何种状态,都将这些接口状态设置为不可用,并关闭接口;直到衰减定时器定时结束后,路由器重启衰减定时器,即返回执行步骤(5A1);
(B)链路状态未发生变化,始终处于坏的状态;
根据链路状态(B)情况,路由器执行的震荡抑制流程包括下列操作内容:该故障链路两端的路由器接口的惩罚值维持不变,路由器继续监测该故障链路的状态;直到衰减定时器定时结束后,路由器重启衰减定时器;
(C)链路状态未发生变化,始终保持好的状态;
根据链路状态(C)情况,路由器执行的震荡抑制流程包括下列操作内容:根据衰减值增量减小该链路两端的路由器接口的惩罚值,并判断该调整后的惩罚值是否小于重用门限,若是,则不论该链路两端的路由器接口为何种状态,都将该链路两端的路由器接口状态设置为可用;否则,即该惩罚值大于重用门限,则对该链路继续执行震荡抑制,也就是不开启该链路的路由器接口;直到衰减定时器定时结束后,路由器重启衰减定时器;
(6)当故障链路恢复正常后,该故障链路两端的路由器接口的惩罚值根据衰减值增量而随时间减小,当该惩罚值小于重用门限时,路由器解除该故障链路的震荡抑制,即将抑制的路由器接口置为可用状态,重新开启接口。
本发明动态自适应的路由震荡抑制方法的创新关键技术或优点是:利用链路破坏度对震荡抑制的参数进行自适应控制。当链路每次发生故障时,由于破坏度体现了该故障链路在当前网络路由结构中的重要程度,因此根据震荡链路的破坏度值调整震荡抑制模型中的各个参数值(即依据破坏度值对应策略表中的策略动态调整震荡抑制模型的各个参数),然后按照基于震荡抑制模型的传统震荡抑制方法进行震荡抑制,实现了根据故障链路对全网的影响控制震荡抑制模式的发明目的,从而实现自适应震荡抑制的功能。
与传统震荡抑制算法相比,本发明具有明显的优势:
(1)自适应调整震荡抑制策略:由于破坏度体现该故障链路在当前网络路由结构中的重要程度,本发明设置的参数都能够随着破坏度的变化而变化,实现了自适应的路由震荡抑制技术。
(2)操作步骤简单,无需对传统路由协议做大量修改,工程上便于部署与实施。因此,本发明具有很好的推广应用前景。
附图说明
图1是路由振荡示意图。
图2是震荡识别模型示意图。
图3是振荡抑制模型图。
图4是现有技术的网络振荡抑制方法流程图。
图5是本发明基于链路破坏度的动态自适应的路由震荡抑制方法流程图。
图6是本发明动态自适应的路由震荡抑制方法实施例的网络架构示意图。
图7是图6中本发明实施例的接口s1,s2时间状态图。
图8是图6中本发明实施例的路由器接口s1,s2惩罚值时间变化图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图和实施例对本发明作进一步的详细描述。
本发明基于链路破坏度的动态自适应的路由震荡抑制方法,是在路由器检测到链路发生故障时,根据该故障链路的当前链路破坏度值调整震荡抑制模型中的各个参数值;再基于振荡抑制模型的传统震荡抑制方法抑制震荡,以实现动态自适应的路由震荡抑制。该方法适用于包括开放式最短路径优先OSPF(Open Shortest Path First)和中间系统到中间系统ISIS(Intermediatesystem to intermediate system)的链路状态路由协议。
参见图5,介绍本发明方法的下列操作步骤:
步骤1,路由器按照设定周期检测网络中的各个链路状态:判断网络中是否出现故障链路,若未出现故障链路,则继续执行该步骤1的周期检测网络的操作,无需执行后续步骤;若发现网络中存在故障链路,则执行后续步骤2。
步骤2,路由器判断该故障链路是否为该路由器的直连链路,若是直连链路,则计算故障链路的破坏度,否则,不执行此操作。故障链路破坏度的数值是由管理员自行设定或者从链路状态数据库(LSDB)中读取后进行计算而得到的。
下面表1为管理员自行设定的故障链路破坏度值表,其中第1列为故障的链路,例如R1-R2就是一条链路,R1和R2分别为该链路两端的路由器。第2列为管理员设定的破坏度值,例如故障链路R1-R2的破坏度值为0.1。
故障链路 | 破坏度 |
R1-R2 | 0.1 |
该步骤中,路由器首先判断故障链路R1-R2是直连链路后,从LSDB中读取数据。接着,路由器根据从LSDB读取的数据计算故障链路破坏度。破坏度数值的计算方法是:也就是:故障链路破坏度是:包含故障链路的最短路径的总数与网络中所有路由器节点之间的最短路径的总数之比值。
步骤3,路由器根据该故障链路的故障链路破坏度值,从震荡抑制策略表中读取其所对应的各个抑制参数值。
震荡抑制策略表是由网络管理员自行设定的,并可以根据需要实时进行调整(如下面的表2所示)。该震荡抑制策略表中的每一行是以链路破坏度的一个取值范围作为索引,所对应的各列为链路两端的路由器接口的七个振荡抑制参数:初始惩罚值、惩罚值增量、惩罚值最小值、惩罚值最大值、抑制门限值、重用门限值和衰减值;所述初始惩罚值为故障链路两端的路由器接口状态第一次由好变坏后的惩罚值。例如,下表2中,当计算出的破坏度为0.3时,在该震荡抑制策略表中查找0.3对应的策略信息,即初始惩罚值、惩罚值增量、惩罚值最小值、惩罚值最大值、抑制门限、重用门限和衰减值分别为0、2、0、10、4、1、1。
步骤4,路由器根据震荡抑制策略表中对应的震荡抑制参数值,调整震荡抑制模型中(包括故障链路两端对应的路由器接口)的各个相应抑制参数。
步骤5,路由器根据震荡抑制模型中调整后的抑制参数执行震荡抑制操作;启动决定惩罚值的衰减速率的衰减定时器,即从衰减定时器启动到其定时结束期间,根据链路状态的下述三种变化,分别执行相应的不同操作内容;
(A)链路状态发生多次翻转,即至少发生一次由坏变好和一次由好变坏。此时,路由器根据链路状态(A)情况执行的震荡抑制流程包括下列操作内容:
(5A1)若检测到链路状态由坏变好时,不改变该链路两端的路由器接口的惩罚值,路由器继续执行震荡抑制操作;或
(5A2)若检测到链路状态由好变坏,就根据惩罚值增量增加该故障链路两端路由器接口的惩罚值,并判断该惩罚值是否超过抑制门限;若未超过,则不对该故障链路的路由器接口执行任何操作,并继续监测链路的状态;若该惩罚值超过了抑制门限值,表明该链路需要进行震荡抑制,则执行后续步骤(5A3);
(5A3)路由器不论该故障链路两端的路由器接口为何种状态,都将这些接口状态设置为不可用,并关闭接口;直到衰减定时器定时结束后,路由器重启衰减定时器,即返回执行步骤(5A1)。
(B)链路状态未发生变化,始终处于坏的状态。此时,路由器根据链路状态(B)情况执行的震荡抑制包括下列操作内容:该故障链路两端的路由器接口的惩罚值维持不变,路由器继续监测该故障链路的状态;直到衰减定时器定时结束后,路由器重启衰减定时器。
(C)链路状态未发生变化,始终保持好的状态。此时,路由器根据链路状态(C)情况执行的震荡抑制流程包括下列操作内容:根据衰减值增量减小该链路两端的路由器接口的惩罚值,并判断该调整后的惩罚值是否小于重用门限,若是,则不论该链路两端的路由器接口为何种状态,都将该链路两端的路由器接口状态设置为可用;否则,即该惩罚值大于重用门限,则对该链路继续执行震荡抑制,也就是不开启该链路的路由器接口;直到衰减定时器定时结束后,路由器重启衰减定时器。
步骤6,当故障链路恢复正常后,该故障链路两端的路由器接口的惩罚值根据衰减值增量而随时间减小,当该惩罚值小于重用门限时,路由器解除该故障链路的震荡抑制,即将抑制的路由器接口置为可用状态,重新开启接口。
本发明已经进行了多次实施试验和模拟验证,下面简要说明仿真试验情况:
参见图6,设置网络中路由器R1的S1接口和路由器R3的S2接口相连的链路从0秒开始发生震荡,直到30秒震荡停止。再设置该链路的震荡周期为10秒,即5秒链路断开,5秒链路正常。也即5s-10s,链路断开,10s-15s链路恢复正常,15s-20s链路断开,依次类推。在震荡发生前,根据当前的破坏度初始化设置衰减定时器的衰减值、惩罚值最大值、惩罚值最小值、抑制门限、重用门限和惩罚值增量。
下面参见图7和图8介绍该实施例的震荡抑制操作流程:其中,图7是两个接口S1和S2的时间状态图:接口状态为1表示该接口可用,为0表示该接口不可用。图8是路由器接口S1和S2的惩罚值随时间的变化情况示意图(因在图7和图8中接口S1和S2的相应曲线完全重合一致,故都只画了一条)。
下面的表3是震荡抑制策略表:破坏度与上述这些参数之间的计算关系从策略表中获取。
实施例的具体震荡抑制操作如下:
(1)0秒时,初始化设置路由器R1,R2,R3,R4,R5的各个接口参数,然后,每个接口启动衰减定时器。
(2)5秒时,S1-S2之间的链路发生故障,由于S1-S2是直连链路,因此依据破坏度的计算公式:
计算链路S1-S2的破坏度,得到此时的网络破坏度为0.3。从策略数据库中读取破坏度为0.3对应的震荡抑制参数初始惩罚值、惩罚值增量、惩罚值最小值、惩罚值最大值、抑制门限、重用门限和衰减值,分别为0、2、0、10、5、1、2。再依据惩罚值增量增大初始惩罚值后,得到的惩罚值为2,因该惩罚值2未超过抑制门限5,因此此时不需要进行震荡抑制。
(3)10秒时,S1-S2之间的链路恢复正常。衰减定时器到达设定时间,在此期间,S1-S2的状态发生多次翻转,最终S1-S2状态由坏变好,因此惩罚值不变,再重新启动衰减定时器。
(4)15秒时,S1-S2之间的链路发生故障,由于同一条链路再次发生故障,且网络拓扑未改变,因此链路破坏度仍为0.3。该破坏度值所对应的震荡抑制参数值也不变。但需要依据惩罚值增量增大惩罚值,得到的惩罚值为4,由于此时的惩罚值4仍未超过抑制门限5,因此也不需要进行震荡抑制。
(5)20秒时,S1-S2之间的链路恢复正常。衰减定时器到达设定时间,在此期间,S1-S2的状态发生多次翻转,最终S1-S2状态由坏变好,因此惩罚值不变,再重新启动衰减定时器。
(6)25秒时,S1-S2之间的链路发生故障,由于同一条链路再次发生故障,且网络拓扑未改变,因此链路破坏度仍为0.3。该破坏度值所对应的震荡抑制参数值也不变。但依据惩罚值增量增大惩罚值后,得到的惩罚值为6,。这时,接口S1和S2的惩罚值分别大于抑制门限,表明链路S1-S2发生震荡,需要进行震荡抑制:也就是分别将S1和S2的接口置为不可用。
(11)30秒时,S1-S2之间的链路恢复正常。衰减定时器到达设定时间,在此期间,S1-S2的状态发生多次翻转,最终S1-S2状态由坏变好,因此惩罚值不变,重新启动衰减定时器。
(12)40秒时,衰减定时器到达设定时间,在此期间,没有发生链路故障,惩罚值6依据衰减值减2变为4,重新启动衰减定时器。
(13)50秒时,衰减定时器到达设定时间,在此期间,没有发生链路故障,惩罚值4依据衰减值减2变为2,重新启动衰减定时器。
(14)60秒时,衰减定时器到达设定时间,在此期间,没有发生链路故障,惩罚值依据衰减值减2变为0,这时惩罚值小于重用门限,表明震荡结束,解除震荡抑制。
为了验证本发明动态自适应的路由震荡抑制方法的可行性和有效性,还利用网络路由协议仿真工具SSFNET实现的OSPFv2协议,以采用网络拓扑生成器BRITE根据Waxman算法生成具有100个节点、167个链路的随机网络拓扑作为输入进行了网络性能仿真。仿真试验设置了多种故障场景,分别统计了ospf协议和加载了本发明方法的ospf协议对同一种故障场景中的各项测试指标值。
在用例设计中,由单链路故障引起的震荡分别对应三个不同的破坏度值,均位于0到30%以内。此外,设置了单链路故障的两种震荡周期,分别为2s与12s,震荡时间为从第60s到246s。仿真试验中,OSPF的配置均采用默认值。
这里在对所有故障场景下仿真试验输出进行统计的基础上,对测试结果进行分析:结合仿真输出图,从链路震荡时的网络中无效路由数目的变化情况来分析使用本发明方法后的ospf性能。所谓无效路由是指含有失效链路的错误路由。这里的无效路由数量都以条为单位,无效路由的持续时间均以秒为单位。
根据仿真结果,不同场景下,路由协议和使用本发明方法的路由协议在不同故障场景下,网络中无效路由数量如下表所示:
由上表可知,相同故障场景下,运行使用本发明方法的路由协议的网络中无效路由的总数远小于运行传统路由协议的网络。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (5)
1.一种基于链路破坏度的动态自适应的路由震荡抑制方法,其特征在于:当路由器检测到链路发生故障时,根据该故障链路的当前链路破坏度值调整震荡抑制模型中的各个参数值;再基于振荡抑制模型的传统震荡抑制方法抑制震荡,以实现动态自适应的路由震荡抑制;所述方法包括下列操作步骤:
(1)路由器按照设定周期检测网络中的各个链路状态:判断网络中是否出现故障链路,若未出现故障链路,则继续执行该步骤(1)的周期检测网络的操作;若发现网络中存在故障链路,则执行后续步骤(2);
(2)路由器判断该故障链路是否为该路由器的直连链路,若是直连链路,则计算故障链路的破坏度,否则,不执行此操作;
(3)路由器根据该故障链路的故障链路破坏度值,从震荡抑制策略表中读取其所对应的各个抑制参数值;
(4)路由器根据震荡抑制策略表中对应的震荡抑制参数值,调整震荡抑制模型中的各个相应抑制参数;
(5)路由器根据震荡抑制模型中调整后的抑制参数执行震荡抑制操作;启动决定惩罚值的衰减速率的衰减定时器,即从衰减定时器启动到其定时结束期间,根据链路状态的下述三种变化,分别执行相应的不同操作内容;
(A)链路状态发生多次翻转,即至少发生一次由坏变好和一次由好变坏;
根据链路状态(A)情况,路由器执行的震荡抑制流程包括下列操作内容:
(5A1)若检测到链路状态由坏变好时,不改变该链路两端的路由器接口的惩罚值,路由器继续执行震荡抑制操作;或
(5A2)若检测到链路状态由好变坏,就根据惩罚值增量增加该故障链路两端路由器接口的惩罚值,并判断该惩罚值是否超过抑制门限;若未超过,则不对该故障链路的路由器接口执行任何操作,并继续监测链路的状态;若该惩罚值超过了抑制门限值,表明该链路需要进行震荡抑制,则执行后续步骤(5A3);
(5A3)路由器不论该故障链路两端的路由器接口为何种状态,都将这些接口状态设置为不可用,并关闭接口;直到衰减定时器定时结束后,路由器重启衰减定时器,即返回执行步骤(5A1);
(B)链路状态未发生变化,始终处于坏的状态;
根据链路状态(B)情况,路由器执行的震荡抑制流程包括下列操作内容:该故障链路两端的路由器接口的惩罚值维持不变,路由器继续监测该故障链路的状态;直到衰减定时器定时结束后,路由器重启衰减定时器;
(C)链路状态未发生变化,始终保持好的状态;
根据链路状态(C)情况,路由器执行的震荡抑制流程包括下列操作内容:根据衰减值增量减小该链路两端的路由器接口的惩罚值,并判断该调整后的惩罚值是否小于重用门限,若是,则不论该链路两端的路由器接口为何种状态,都将该链路两端的路由器接口状态设置为可用;否则,即该惩罚值大于重用门限,则对该链路继续执行震荡抑制,也就是不开启该链路的路由器接口;直到衰减定时器定时结束后,路由器重启衰减定时器;
(6)当故障链路恢复正常后,该故障链路两端的路由器接口的惩罚值根据衰减值增量而随时间减小,当该惩罚值小于重用门限时,路由器解除该故障链路的震荡抑制,即将抑制的路由器接口置为可用状态,重新开启接口。
2.根据权利要求1所述的方法,其特征在于:所述方法适用于包括开放式最短路径优先OSPF和中间系统到中间系统ISIS的链路状态路由协议。
3.根据权利要求1所述的方法,其特征在于:所述故障链路破坏度的数值是由管理员自行设定或者从链路状态数据库LSDB中读取后进行计算而得到的。
4.根据权利要求1所述的方法,其特征在于:所述震荡抑制策略表是由网络管理员自行设定并根据需要能够实时调整的索引表;该震荡抑制策略表中的每一行是以链路破坏度的一个取值范围作为索引,所对应的各列为链路两端的路由器接口的七个振荡抑制参数:初始惩罚值、惩罚值增量、惩罚值最小值、惩罚值最大值、抑制门限值、重用门限值和衰减值;所述初始惩罚值为故障链路两端的路由器接口状态第一次由好变坏后的惩罚值。
5.根据权利要求1所述的方法,其特征在于:所述步骤(2)中,路由器从链路状态数据库LSDB中读取数据后,计算故障链路破坏度数值的方法是:
先根据LSDB计算网络中所有路由器节点之间的最短路径的总数,再统计出包含故障链路的最短路径的总数,最后根据下述公式计算故障链路破坏度:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210355432.5A CN102868603B (zh) | 2012-09-21 | 2012-09-21 | 基于链路破坏度的动态自适应的路由震荡抑制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210355432.5A CN102868603B (zh) | 2012-09-21 | 2012-09-21 | 基于链路破坏度的动态自适应的路由震荡抑制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102868603A CN102868603A (zh) | 2013-01-09 |
CN102868603B true CN102868603B (zh) | 2015-01-07 |
Family
ID=47447206
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210355432.5A Active CN102868603B (zh) | 2012-09-21 | 2012-09-21 | 基于链路破坏度的动态自适应的路由震荡抑制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102868603B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105591904B (zh) * | 2015-09-08 | 2019-05-07 | 新华三技术有限公司 | 一种抑制bgp邻居震荡的方法及装置 |
CN108337101B (zh) * | 2017-01-19 | 2023-01-03 | 中兴通讯股份有限公司 | 一种链路震荡测试方法、装置及系统 |
CN107066417A (zh) * | 2017-02-28 | 2017-08-18 | 郑州云海信息技术有限公司 | 一种链路参数在线调整的方法与装置 |
CN109729020B (zh) * | 2017-10-27 | 2022-05-20 | 中兴通讯股份有限公司 | 会话传输的方法、装置、存储介质及处理器 |
CN112965831B (zh) * | 2021-02-18 | 2023-06-13 | 新华三信息安全技术有限公司 | 抑制数据反复平滑的方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101094119A (zh) * | 2007-07-26 | 2007-12-26 | 清华大学 | 基于快速切换的覆盖网络故障检测与恢复方法 |
CN101594300A (zh) * | 2009-06-29 | 2009-12-02 | 清华大学 | Ospf快速恢复方法 |
-
2012
- 2012-09-21 CN CN201210355432.5A patent/CN102868603B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101094119A (zh) * | 2007-07-26 | 2007-12-26 | 清华大学 | 基于快速切换的覆盖网络故障检测与恢复方法 |
CN101594300A (zh) * | 2009-06-29 | 2009-12-02 | 清华大学 | Ospf快速恢复方法 |
Non-Patent Citations (1)
Title |
---|
动态自适应的本地路由振荡避免机制;王芳等;《北京邮电大学学报》;20090630;第32卷(第3期);第118-122页 * |
Also Published As
Publication number | Publication date |
---|---|
CN102868603A (zh) | 2013-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102868603B (zh) | 基于链路破坏度的动态自适应的路由震荡抑制方法 | |
US8948021B2 (en) | Methods and apparatus to monitor border gateway protocol sessions | |
US7961601B2 (en) | Lesser disruptive open shortest path first handling of bidirectional forwarding detection state changes | |
Malhotra et al. | Exact top-k queries in wireless sensor networks | |
CN103888994B (zh) | 一种具有热灾备能力的多网关处理方法及系统 | |
CN104539461A (zh) | 一种抑制协议端口振荡上报的装置及方法 | |
CN103001799B (zh) | 基于链状网络的冗余实现方法及节点 | |
CN103001879B (zh) | 减少链路状态通告洪泛次数的方法及设备 | |
KR20140053265A (ko) | 분할 아키텍처 시스템에서의 제어 트래픽의 탄력적 라우팅을 위한 방법 및 장치 | |
CN114726772B (zh) | 一种基于优化网络拓扑结构的路由保护方法 | |
CN103973466B (zh) | 一种唤醒休眠链路的方法及装置 | |
CN107302500B (zh) | 一种基于逐跳方式的单节点故障保护方法 | |
CN103634218B (zh) | 路由快速收敛的方法及装置 | |
CN102316029B (zh) | 一种快速重路由方法及路由设备 | |
CN102752200B (zh) | 一种网络节能的方法和装置 | |
Zhang et al. | Timer interaction in route flap damping | |
US11018935B1 (en) | Network traffic quality-based dynamic path change | |
CN103746853B (zh) | 一种端口生成树角色的计算方法及装置 | |
CN102055656B (zh) | 一种生成树协议网络中链路振荡的处理方法及交换机 | |
CN109981407A (zh) | 防攻击报文方法及装置 | |
CN101594300B (zh) | Ospf快速恢复方法 | |
Baek et al. | An enhancement of mSCTP handover with an adaptive primary path switching scheme | |
Wei | BGP route flap damping algorithms | |
CN116319512B (zh) | 一种基于节点反序关系的域内路由保护方法 | |
Chen et al. | Stabilizing inter-domain routing in the internet |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |