路由振荡检测方法及自治系统的制作方法

文档序号:7700926阅读:216来源:国知局
专利名称:路由振荡检测方法及自治系统的制作方法
技术领域
本发明涉及异构网络路由传输领域,尤其涉及一种路由振荡检测方法及
自治系统(Autonomous Sys tem,简称AS )。背景4支术
随着Internet规模的迅速膨胀,整个Internet被划分为不同的AS,由于商业或技术等原因,AS在拓朴结构、网络性能或网络策略等方面存在异构特性。各AS内部通过内部网关协议交换路由信息,例如,各AS内部通过选3各信息协议(Routing Information Protocol,简称RIP)、开力文式最短路径优先协议(Open Shortest Path First,简称0SPF)等交换路由信息。各AS间通过外部网关协议交换路由信息,边界网关协议(Border GatewayProtocol,简称BGP)已成为目前Internet事实上的外部网关协议。
BGP是运行于Internet上用于AS之间相互交换路由信息的路径向量路由协议。该协议允许AS独立地定义自己的路由策略,这样虽然保证了AS局部的合理性,但却无法保证全局的合理性,可能引起AS间路由策略冲突,从而导致BGP不能收敛,产生路由振荡(routing oscillation)。路由振荡是指多个AS之间不断反复交换相同的路由信息,而不能建立一个稳定的路由。
路由振荡导致数据包在网络的几个路由器之间循环传递而不能及时到达目的地,还会导致数据包丢失和乱序以及网络收敛延迟,从而加重网络负担,影响网络性能和服务质量。
针对BGP路由振荡问题,现有技术提供了如下的技术方案
一类是静态解决方案,即在没有发生路由振荡的情况下,对路由策略进行预先分析,;险测路由策略冲突是否存在,从而可以避免路由振荡,例如路由仲裁计划。这类解决方案存在问题是 一方面是由于商业关系或出于安全保密的考虑,AS不便于公开其内部的路由策略信息和内部拓朴结构信息,或者AS提供的路由策略信息不能及时更新,也就是说路由策略信息的完备性和及时性缺乏;另一方面是,研究表明,即使能够掌握全部的路由策略信息,分析路由策略冲突也是一个NP完全问题或NP难题(NP完全问题或NP难题是指理论信息学中计算复杂度理论领域里至今没有解决的问题),显然,这类技术方案的可操作程度低。
另一类是动态解决方案,即在协议中设计额外的路由振荡检测机制和评判标准,当发现路由振荡时再去消除,例如,路由抖动抑制(RFD)算法或者Griffin等人提出的简单路径向量协议(Simple Path Vector Protocol,简称SPVP)等。这类技术方案存在的问题是这类方案在路由更新通告中增加了各AS路径历史信息,通过附加在路由更新通告中的路径变化历史信息,发现路由策略冲突的AS,并抑制相关的路由。这类解决方案存在的问题是需要各AS公开自身的路径历史信息,而路径历史信息也是各AS不便于公开的。
综上所述,现有的解决方案中需要各个AS相互合作,提供相关路由策略或路径历史信息,而仅根据单一AS路由信息并不能独自检测到路由振荡,然而由于商业关系或出于安全保密的考虑,各AS的相关路由策略或路径历史信息是不便于公开的,因此现有技术的解决方案可操作性低,不利于准确检测到路由振荡。

发明内容
本发明的目的是针对现有技术中存在的问题,提供一种路由振荡检测方法及自治系统,不需要各自治系统公开路由策略信息或路径历史信息,方法简单,可操作性高,能够准确4企测到路由振荡。
为实现上述目的,本发明提供了一种路由振荡检测方法,包括接收相邻自治系统发送的路由变化标记和路由更新通告,所述路由变化标记包括发生路由变化的源自治系统的标识、路由更新信息和路由策略变化4吕息5
判断自身是否发生了被动路由变化事件,所述被动路由变化事件是指由
于所述路由更新通告导致自身发生路由变化的事件;当自身发生被动路由变化事件时,
(1 )比较当前接收到的路由变化标记的源自治系统的标识是否与自身的标识相同;并且
(2 )比较当前接收到的路由变化标记的路由更新信息与自身的被动路由变化事件中的路由更新信息是否相同;
如果所述(1)和(2)的比较结果均为相同,则确定发生了路由振荡;如果所述(1)和(2)的比较结果中有一个为不相同,则确定没有发生路由振荡。
本发明还提供了一种自治系统,包括
接收模块,用于接收相邻自治系统发送的路由变化标记和路由更新通告,所述路由变化标记包括发生路由变化的源自治系统的标识、路由更新信息和路由策略变化信息;
判断模块,用于判断自身是否发生了被动路由变化事件,所述被动路由变化事件是指由于所述接收模块接收到的所述路由更新通告导致自身发生路由变化的事件;
比较模块,用于当所述判断模块判断自身发生了被动路由变化事件时,比较所述接收模块当前接收到的路由变化标记的源自治系统的标识是否与自身的标识相同,并比较当前接收到的路由变化标记的路由更新信息与自身的被动路由变化事件中的路由更新信息是否相同;
确定模块,用于根据所述比较模块的比较结果确定是否发生了路由振荡,如果所述接收模块当前接收到的路由变化标记的源自治系统的标识与自身的标识相同,并且当前接收到的路由变化事件的路由更新信息与自身的被动路由变化事件中的路由更新信息相同时,则确定发生了路由振荡,否则,确定没有发生路由振荡。
本发明提供的路由振荡检测方法和AS,对于网络中的单个AS,如果接收到来自相邻AS的路由更新通告后导致自身产生被动路由变化事件,则比较当前接收到的路由变化标记的源AS的标识与自身的标识,和当前接收到的^各由变化标记的路由更新信息与自身产生的被动路由变换事件的路由更新信息是否均相同,如果二者均相同,则可以判断发生了路由振荡,否则,可以判断没有发生路由振荡。本发明提供的路由振荡检测方法,不需要各AS公开自身的路由策略或路径历史信息,方法简单,可操作性高,能够准确斥企测到路由振荡。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。


图1所示为本发明路由振荡检测方法流程图2所示为本发明涉及到的一种网络系统结构示意图3所示为本发明AS实施例一结构示意图4所示为本发明AS实施例二结构示意图。
具体实施例方式
如图1所示为本发明路由振荡检测方法流程图,包括步骤IOI、 AS接收相邻AS发送的路由变化标记和路由更新通告,该路由变化标记包括发生路由变化的源AS、路由更新信息和路由策略变化信息。路由更新通告用于通知相邻AS该本地AS的路由更新信息,而路由变化标记则反映的是发生路由变化的源AS的路由更新信息和路由策略变化信息等。路由变化标记可以携带在路由更新通告中与路由更新通告一起发送给相邻AS。
步骤102、 AS判断自身是否发生被动路由变化事件;如果该AS在接收到相邻AS发送的路由更新通告后,经过路由决策,确定自身发生了被动路由变化事件,则执行步骤103;否则,执行步骤104。
步骤103、 AS比较当前接收到的路由变化标记的AS的标识是否与自身的标识相同,并且比较当前接收到的路由变化标记中的路由更新信息与自身的被动路由变化事件中的路由更新信息是否相同;如果这两种比较结果均为相同,则执行步骤105;如果这两种比较结果中有一个为不相同,则执行步骤106。
步骤104、不进行路由振荡检测,不将接收到的路由变化标记传递给相邻AS。
步骤105、确定发生了路由振荡,结束本次检测流程。步骤106、确定没有发生路由振荡,将接收到的路由变化标记随同自身的本地路由更新通告一起发送给相邻AS。
本发明提供的路由振荡检测方法中,对于网络中的单个AS,如果接收到来自相邻AS的路由更新通告后导致自身产生被动路由变化事件,则比较当前接收到的路由变化标记的源AS的标识与自身的标识,和当前接收到的路由变化标记的路由更新信息与自身产生的被动路由变换事件的路由更新信息是否均相同,如果二者均相同,则可以判断发生了路由振荡,否则,可以判断没有发生路由振荡。本发明提供的路由振荡检测方法,不需要各AS公开自身的路由策略或路径历史信息,方法简单,可搮:作性高。
下面通过具体的例子来介绍本发明路由检测方法的实现方式。如图2所示为本发明涉及到的一种网络系统结构示意图,在该网络系统中包括三个相邻的AS,分别是AS1、 AS2和AS3,这三个AS分别是三个异构AS,这三个AS到达相同的目的地0,各个AS旁边是各自到目的地0的可选路径列表,各路由的优先级按照从高到低排列,例如,AS1到目的地0共有两条可选路径(10) (120),并且路径(10)的优先级大于路径(UO)。图2所示的系统中,在初始情况下,各个AS之间存在稳定路由树(IO) (20)(310),不会发生路由振荡。在某个时刻,由于某种原因或需求需要,如果某个AS,例如ASl,路由策略需要被修改,AS1的路径(120)的优先级变为大于路径(10),则AS1生成路由变化标记P,并将路由变化标记P连同自身的路由更新通告一起发送给相邻的AS2和AS3。
路由变化标记P由路由策略发生变化的AS生成,路由变化标记P的内容包括发生路由变化事件的源AS的标识、路由策略变化信息RC和路径更新信息RI。其中,在路由变化标记P中,源AS的表示可以是该AS的网络ID,路由策略变化记录RC描述本次路由策略变化的详细内容,路径更新信息RI记录路由变化事件发生后的最佳路径和路由变化事件发生前的最佳路径。
对于如图2所示的系统,当AS1的路由策略发生变化时,生成的路由变化标记P可以描述为
P",rc, R" = [l, (10i 120", (120/10)]。
其中,1为AS的网络ID,路由策略变化内容RC为路径(10)的优先级下降,路径(120)的优先级上升,路径更新信息RI的内容为路径变化事件P发生后的最佳路径为(120),路由变化事件P发生前的最佳路径为(10)。AS1发送给相邻AS的路由更新通告中也包括AS1发生的路由变化信息。
AS2收到AS1发送过来的路由变化标记P和路由更新通告后,进行路由决策,判断路由更新通告是否会导致自身发生被动路由变化事件,本发明中,被动路由变化事件是指由于接收到相邻AS的路由更新通告而导致自身产生的被动的路由变化事件,区别于由于自身路由策略更改而主动产生的路由变化事件。具体地,AS2可以判断路由更新通告中路径(10)的优先级下降和路径(120 )的优先级上升没有对自身的最佳路径造成影响,即自身不需要产生被动路由变化事件,于是AS不需要将路由变化标记P发送给相邻AS1和AS3,也不需要进行路由振荡检测。
AS3收到AS1发送过来的路由变化标记P和3各由更新通告后,进行路由决策,判断路由更新通告是否会导致自身发生被动路由变化事件。具体地,
9AS3可以判断路由更新通告中路径(10)的优先级下降和路径(120)的优先级上升会对自身的最佳路径造成影响,AS3的路径(310)会由于AS1的路径(10)的撤销而无效,于是AS3需要将路径(30)选择为最佳路径,即AS3
自身需要产生被动路由变化事件。
AS3确定自身产生^皮动路由变化事件后,判断i 各由变化标记P中的源AS是否是自身,并且判断路由变化标记P中的路由更新信息是否与自身的被动路由变化事件中的路由更新信息相同。具体地,可以判断路由变化标记P中的源AS的网络ID是否与自身相同。由于路由变化标记P的源AS的网络ID是l,而AS3的网络ID是3,并且路由变化标记P中的路由更新信息与自身的被动路由变化事件中的路由更新信息不同,所以AS3不进行路由振荡检测。由于AS3发生了被动路由变化事件,AS3的最佳路径由于AS1的最佳路径发生变化而变化了,所以AS3需要发送路由更新通告发送给AS1和AS2,并同时附上路由变化标记P。 AS3发送的路由更新通告表明AS3的路径(30 )的优先级上升,路径(310)的优先级下降。
AS1在接收到AS3转发的路由变化标记P和路由更新通告后,判断自身不会发生被动路由变化事件,于是AS1不需要将路由更新标记P发送给AS2和AS3。 AS2在收到AS3发送的路由变化标记P和路由更新通告后,判断自身需要发生被动路由变化事件,由于AS3的路径(310)撤销,所以AS2的路径(230 )无效,AS2需要将路径(20)上升为最佳路径。AS2经过比较后发现路由变化标记P中的源AS的网络ID与自身不相同,并且路由变化标记P中的路由更新信息与自身的被动路由变化事件中的路由更新信息不同,则AS2将路由变化标记P和路由更新通告一起发送给AS1和AS3, AS2发送的路由更新通告表明AS2中的路径(230 )的优先级下降,路径(20)的优先级上升。
当AS1接收到AS2发送的路由变化标记P和路由更新通告后,由于AS2的路径(230 )的撤销而导致AS1的路径(10)无效,所以AS1需要将路径(120)的优先级上升,将路径(10)的优先级下降,即AS1产生了被动路由变化事件。AS1比较路由变化标记P中的源AS的网络ID和自身的网络ID,并且比较路由变化标记P中的路由更新信息和自身的被动路由变化事件中的路由更新信息,二者比较结果均为相等,则AS1确定发生了路由振荡,同时ASl指出产生此次路由振荡的原因为RC(IO丄120 T )。
在前述的实施例中,当一个AS发生了路由策略变化时,需要发送路由变化标记P和路由更新通告给相邻AS,相邻的AS在收到路由变化标记P和路由更新通告后,如果发生了被动路由变化事件,则需要发送用于表明该被动路由变化事件的路由更新通告给相邻的AS,并将接收到的路由变化标记P —同发送给相邻的AS。也就是说,每个AS在收到路由变化标记P和路由更新通告之后,如果没有引起自身产生被动路由变化事件P,则不需要将接收到的路由变化事件发送给相邻AS。
如果引起了自身被动路由变化事件的发生,则AS需要进一步判断是否产生了路由振荡,如果没有产生路由振荡,则AS需要将路由变化标记P转发,并且发送用于表明自身被动路由变化事件的路由通告给相邻AS。
由于现有的BGP协议中不涉及发送i 各由变化标记的内容,所以为了能够发送本发明各实施例中涉及到的路由变化标记,可以通过扩展BGP协议来实现。具体地,可以通过扩展BGP协议构造路由变化标记,路由变化标记的格式可以如前述各实施例所示,BGP协议的属性包括必选/可选、过度/非过度属性,增加自定义的可选过度属性OTP用以装载路由变化标记,数据行代码可以选用自定义区域的30,属性长度可以为2字节,即可装载长达65536字节的路由变化标记。
如图3所示为本发明AS实施例一结构示意图,该AS包括接收模块11、判断模块12、比较模块13和确定模块14,判断模块12分别与接收模块11和比较模块13连接,确定模块14和比较模块13连接。该方法的工作原理为接收模块11接收相邻的AS发送的路由变化标记和路由更新通告,判断模块12判断自身是否发生被动路由变化事件,如果所述判断模块l2判断自身发生了被动路由变化事件,则比较模块13比较当前接收到的路由变化标记的源 AS与自身是否是同一 AS,并且比较当前接收到的路由变化标记中的路由更新 信息与自身发生的被动路由变化事件中的路由更新信息是否相同,如果二者 比较的结果均为相同,则确定模块14确定发生了路由振荡,否则确定模块 14确定没有发生路由振荡。
如图4所示为本发明AS实施例二结构示意图,该AS在图3所示实施例 一的基础上还包括第一发送模块15,分别与判断模块12、接收模块ll和 确定模块14连接,用于当确定模块14确定没有发生路由振荡时,将接收模 块11接收到的路由变化标记P转发给相邻AS,并且发送用于表明自身产生 的被动路由变化事件的路由更新通告给相邻AS,当判断模块12判断自身没 有发生被动路由变化事件时,不将接收到的路由变化标记P发送给相邻AS。
图4所示的AS还可以包括第二发送模块,用于将由于自身策略变化而发 生的路由变化事件发送给相邻的AS。
本发明提供的AS中,对于网络中的单个AS,如果接收到来自相邻AS的
前接收到的路由变化标记中的源AS与自身是否是同一 AS,并比较当前接收 到的路由变化标记的路由更新信息与自身产生的被动路由变换事件中的路由 更新信息是否相同,如果二者均相同,则可以判断发生了路由振荡,否则, 可以判断没有发生路由振荡。本发明提供的AS,不需要各AS公开自身的路 由策略或路径历史信息,结构简单,可操作性高,能够准确检测出路由振荡。 最后应说明的是以上实施例仅用以说明本发明的技术方案而非对其进 行限制,尽管参照较佳实施例对本发明进行了详细的说明,本领域的普通技 术人员应当理解其依然可以对本发明的技术方案进行修改或者等同替换, 而这些修改或者等同替换亦不能使修改后的技术方案脱离本发明技术方案的 4青神和范围。
1权利要求
1、一种路由振荡检测方法,其特征在于,包括接收相邻自治系统发送的路由变化标记和路由更新通告,所述路由变化标记包括发生路由变化的源自治系统的标识、路由更新信息和路由策略变化信息;判断自身是否发生了被动路由变化事件,所述被动路由变化事件是指由于所述路由更新通告导致自身发生路由变化的事件;当自身发生被动路由变化事件时,(1)比较当前接收到的路由变化标记的源自治系统的标识是否与自身的标识相同;并且(2)比较当前接收到的路由变化标记的路由更新信息与自身的被动路由变化事件中的路由更新信息是否相同;如果所述(1)和(2)的比较结果均为相同,则确定发生了路由振荡;如果所述(1)和(2)的比较结果中有一个为不相同,则确定没有发生路由振荡。
2、 根据权利要求l所述的方法,其特征在于,所述路由变化标记携带在 所述路由更新通告中。
3、 根据权利要求1或2所述的方法,其特征在于,还包括,当发生被动 路由变化事件后,如果确定没有发生路由振荡,则将所接收到的所述路由变 化标记随同自身的路由更新通告一起发送给相邻自治系统。
4、 一种自治系统,其特征在于,包括接收模块,用于接收相邻自治系统发送的路由变化标记和路由更新通告, 所述路由变化标记包括发生路由变化的源自治系统的标识、路由更新信息和 路由策略变化信息;判断模块,用于判断自身是否发生了被动路由变化事件,所述被动路由 变化事件是指由于所述接收模块接收到的所述路由更新通告导致自身发生路由变化的事件;比较模块,用于当所述判断模块判断自身发生了被动路由变化事件时, 比较所述接收模块当前接收到的路由变化标记的源自治系统的标识是否与自 身的标识相同,并比较当前接收到的路由变化标记的路由更新信息与自身的 被动路由变化事件中的路由更新信息是否相同;确定模块,用于根据所述比较模块的比较结果确定是否发生了路由振荡, 如果所述接收模块当前接收到的路由变化标记的源自治系统的标识与自身的 标识相同,并且当前接收到的路由变化事件的路由更新信息与自身的被动路 由变化事件中的路由更新信息相同时,则确定发生了路由振荡,否则,确定 没有发生路由振荡。
5、根据权利要求4所述的自治系统,其特征在于,还包括第一发送模块, 用于当所述确定模块确定没有发生路由振荡时,将所述接收模块接收到的路 由变化标记随同自身的路由更新通告一起发送给相邻自治系统。
全文摘要
本发明公开了一种路由振荡检测方法及自治系统,其中方法包括接收相邻AS发送的路由变化标记和路由更新通告;判断自身是否发生了被动路由变化事件,所述被动路由变化事件是指由于接收到的所述路由更新通告导致自身发生路由变化的事件;当自身发生被动路由变化事件时,当前接收到的路由变化标记的源AS的标识是否与自身的标识相同;并且当前接收到的路由变化标记的路由更新信息与自身的被动路由变化事件中的路由更新信息相同;确定发生了路由振荡。本发明提供的路由振荡检测方法,不需要各AS公开自身的路由策略或路径历史信息,方法简单,可操作性高。
文档编号H04L12/56GK101582847SQ200910086979
公开日2009年11月18日 申请日期2009年6月12日 优先权日2009年6月12日
发明者军 张, 涛 张, 胡字滢 申请人:北京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1