一种路由信息协议优化方法及装置的制作方法

文档序号:7714518阅读:206来源:国知局

专利名称::一种路由信息协议优化方法及装置的制作方法
技术领域
:本发明涉及通信
技术领域
,尤其涉及一种路由信息协议优化方法及装置。
背景技术
:如图1所示,DUT(DeviceUnderTest,净皮观'J设备)为汇聚层或核心层设备,具有很高的路由性能。LSW(LocalSwitch,本地交换机)1,LSW2,...,LSWn为接入层设备,路由性能相对较低。各设备都使用RIP(RoutingInformationProtocol,路由信息协议)作为路由协议。当DUT有较多路由信息要向LSW同步时,DUT会将这些路由信息分别组包成更新报文发送到LSW;LSW接收到更新报文后,先存放到緩沖区,然后从緩沖区读取并处理。由于LSW性能较低,在收到一定数量的更新报文后,出现緩沖区满的现象,而后续的更新报文无法收到。另外,由于RIP没有确认机制,路由信息更新时,被LSW无法学习到被緩沖区丟弃的报文中的路由信息。且RIP是周期性更新路由的,在下次更新时,会遇到与上次相同的情况,这样,上次被丢弃的部分路由信息仍然无法被学习到。这种情况在使用RIPng(RIPnextgeneration,下一代RIP协议)时同样存在。现有技术中,一种解决方案是增大低端路由器的緩沖区大小,使緩冲区的緩冲队列可以緩冲更新周期内的所有更新报文,使接入层设备可以学习到所有路由信息。然而,由于低端路由器性能较低,没有足够大的緩冲区,很难将緩沖队列扩到足够大。另一种方案是降低发送更新报文的速率,使低端路由器处理速度高于緩冲时间,不会因为緩沖溢出导致路由信息丟失。但是这样可能大幅降低路由收敛速度,并且在有大量接口和路由时会造成有能力发报文但报文却发送不出去的现象。
发明内容本发明提供了一种路由信息协议优化方法及装置,以避免因低端路由器緩沖不足造成的路由信息无法学习的缺陷。本发明提供了一种路由信息协议优化方法,应用于包括高端路由设备和低端路由设备的系统中,所述方法包括以下步骤所述高端路由设备设置路由信息更新定时器,及第一次获取路由信息的指针位置;在每次更新定时器超时,所述高端路由设备将所述指针相对于前次获取路由信息的位置进行偏移后,获取对应位置中的路由信息;所述高端路由设备将所述路由信息组包发送给所述低端路由设备。在每次更新定时器超时后,所述高端路由设备将指针相对于前次获取路由信息的位置进行偏移,获取路由信息,具体包括当所述更新定时器第一次超时后,所述高端路由设备从第一次获取路由信息的指针对应的位置获取路由信息。所述相对于前次获取路由信息的位置进行偏移,通过以下方式实现相对于前次偏移到本次路由信息发送总数S*(当前计数值global—count/最大计数值MAX_I)个节点,所述当前计数值global_count为0到最大计数值MAXJ之间的数值,在每次路由信息更新后加一。所述MAXJ为超时周期与发送周期的比值。所述获取对应节点中的路由信息,还包括如果所述节点中没有路由信息或路由信息失效,则向后查找到最近的有效节点,如果后面没有有效节点,则将指针指向根节点,同时将当前计数值置为0。本发明提供了一种路由信息协议优化装置,应用于包括高端路由设备和低端路由设备的系统中,所述装置包括定时模块,用于设置路由信息更新定时器;指针设置模块,用于设置第一次获取路由信息的指针位置;路由信息获取模块,与所述配置模块和所述指针设置模块连接,用于在每次更新定时器超时,所述高端路由设备将所述指针相对于前次获取路由信息的节点进行偏移后,获取对应节点中的路由信息;发送模块,与所述路由信息获取模块连接,用于将所述路由信息组包发送给所述低端路由设备。所述路由信息获取模块,具体用于当所述更新定时器第一次超时后,所述高端路由设备从第一次获取路由信息的指针对应的节点获取路由信息。所述路由信息获取模块,具体用于相对于前次偏移到本次路由信息发送总数S承(当前计数值global一count/最大计数值MAX一I)个节点,所述当前计数值global—count为0到最大计数值MAXJ之间的数值,在每次路由信息更新后加一。所述MAXj为超时周期与发送周期的比值。所述路由信息获取模块,还用于如果所述节点中没有路由信息或路由信息失效,则向后查找到最近的有效节点,如果后面没有有效节点,则将指针指向根节点,同时将当前计数值置为0。与现有技术相比,本发明具有以下优点本发明中,通过发送端更改路由信息发送顺序,使接收端可以接受到所有路由信息,可以防止低端路由器由于緩沖区满造成的路由信息丢失。图1是现有技术中接入层设备与核心层设备组网结构图;图2是本发明中一种路由信息协议优化方法流程图;图3是本发明中第一次计数发送路由信息示意图;图4是本发明中第二次计氣良送路由信息示意图;图5是本发明中第三次计数发送路由信息示意图;图6是本发明中一种路由信息协议优化装置结构图。具体实施例方式针对现有技术中由于低端路由设备的緩沖性能较低,使得每个周期的更新报文中都有相同的路由信息被丢弃,进而使这些路由信息可能永远无法学习到的缺陷,本发明提出在每次发送更新报文时都从不同的位置获取路由信息进行组包,在更新超时前,尽量使低端路由设备可以接收到不同路由信息。本发明提供了一种路由信息协议优化方法,应用于包括高端路由设备和低端路由设备的系统中,所述方法如图2所示,包括以下步骤步骤201,所述高端路由设备设置路由信息更新定时器,及第一次获取路由信息的指针位置。步骤202,在每次更新定时器超时,所述高端路由设备将所述指针相对于前次获取路由信息的位置进行偏移后,获取对应位置中的路由信息。其中,为了实现从不同的位置获取路由信息进行组包,需要设置计数器global—count。global—count={0,1,2,…,min(用户定义值I,超时周期/发送周期};当global—count达到最大值后,global—count应该变为0,global—count初始值建议为0,当然也可以是0到MAX一I之间的随机值;设置本次起始位置指针ST,本次路由信息发送总数S。其中,超时周期是低端路由设备对已获取的路由信息的老化时间,例如,低端路由设备接收到一条更新报文,启动超时定时器(例如50秒周期),当超时定时器超时时,将该更新报文老化掉;发送周期也即更新周期,即高端路由设备需要向低端路由设备发送更新报文的周期,例如高端路由设备每隔5秒种向低端路由设备发送更新报文,以同步路由信息。其中,将min(用户定义值I,超时周期/发送周期}称为MAX_I,MAX一I为大于0的整数。超时周期/发送周期的比值可以确定一次超时周期内接收的更新报文数量,可以按该数量分别从不同位置作为获取路由心得的起点,进行组包发送,使得在一个超时周期内可以收到所有路由信息。当用户定义值I比超时周期/发送周期小时,MAX—I取值为用户定义值I,当用户定义值I比超时周期/发送周期大时,MAX_I取值为超时周期/发送周期的值。步骤203,所述高端路由设备将所述路由信息组包发送给所述低端路由设备。下面以RIP为例进行说明。RIP路由信息一4殳以Radix树的形式存放,路由信息挂在Radix树中节点上,一个确定的路由(由路由前缀和掩码确定)会存i文在树的确定位置,即路由前缀和掩码相同的路由信息存放在相同的节点上,一个节点上可能存在多个路由信息,也可能没有路由信息。更新定时器超时后,高端路由设备将遍例对应的Radix树。设Radix树根节点为T,将ST指向发送队列中如下位置从T开始偏移到第S*(global—count/MAX_I)个路由信息所在节点位置。例如,S-5,MAX—1=5,当global—count=0时,ST指向发送队列的位置为T,没有发生偏移;当global一count-l时,ST指向发送队列的位置为T+1,ST指向发送队列的位置为根节点偏移1个节点;当global_count=5时,ST指向发送队列的位置为T+5,ST指向发送队列的位置为根节点偏移5个节点。表1:<table>tableseeoriginaldocumentpage8</column></row><table>本实施例中以每次偏移一个节点去路由信息进行说明,实际应用中,也可以每次偏移多个节点获取路由信息。高端路由设备在每次发送路由信息更新时,从ST位置开始取路由信息并组包发送,遍例后续Radix树,直到取完后续所有路由信息。然后再从队列头T开始取路由信息组包发送路由,直到ST的位置(这时不取ST位置的路由)。例如,S=5,MAX_I=5,当global—count=0时,ST指向发送队列的位置为T,该次组包由根节点开始,到根节点结束;当global—count=l时,ST指向发送队列的位置为T+l,该次组包由T+l开始,到顺序最后一个节点后,再指向T,即该次组包由T+1开始,到根节点结束;当global_count=5时,ST指向发送队列的位置为T+5,该次组包由T+5开始,然后指向T,最后到T+4,即该次组包由T+5开始,到T+4结束。高端路由设备处理一次路由信息更新后,global—count加1。ST位置变为S*(global—count/MAX一I)个路由信息所在节点位置,如果此位置为无效路由信息节点(即节点下不存在路由信息),则在该Radix树中向后查找到最近的有效节点(即节点下存在路由信息),如果后面没有存》文路由信息的节点,则将ST置为T(指针复位),同时将global—count置为0(计数器清零)。当ST所在节点变为无效节点(原来存》文路由信息,更新后不存力文路由信息)时,则在该Radix树中向后查找到最近的有效节点,如果后面没有有效节点,则将ST置为T,同时将global_count置为0。本发明中,每次发送路由信息时都从不同的位置开始,并可以在MAXJ个周期内将不同位置的路由信息在"前期"(低端设备的有效緩沖区处理能力内)发送。在缺省情况下,本发明解决问题的最佳范围是路由信息量为1到3倍的低端路由器緩沖区大小。而当前实际使用时,出现上述描述问题的情况,基本落在这个区间。当然,配合已有实现的Timeout参数,可以解决所有路由量下的问题。举例如下RIP路由表中有若干条路由,如图3所示,存储顺序为1.0.0.0/24、2.0.0.0/24和3.0.0.0/24:若MAX_I为3(依次在3个发送周期发送),第一次发送时,从1.0.0.0/24开始将3个路由信息组包发送;当更新定时器超时时,从2.0.0.0/24开始将3个路由信息组包发送路由,如图4所示;当更新定时器再次超时时,从3.0.0.0/24开始将3个路由信息组包发送if各由,如图5所示;到此为止,通过3次开始位置不同的组包发送,将所有路由信息都发送到了接收端。本发明提供了一种路由信息协议优化装置,应用于包括高端路由设备和低端路由设备的系统中,所述装置如图6所示,包括定时模块610,用于设置路由信息更新定时器;指针设置模块620,用于设置第一次获取路由信息的指针位置;路由信息获取模块630,与配置模块610和指针设置模块620连接,用于在每次更新定时器超时,所述高端路由设备将所述指针相对于前次获取路由信息的节点进行偏移后,获取对应节点中的路由信息;发送模块640,与路由信息获取模块630连接,用于将所述路由信息组包发送给所述低端路由设备。路由信息获取模块630,具体用于当所述更新定时器第一次超时后,所述高端路由设备从第一次获取路由信息的指针对应的节点获取路由信息。路由信息获取模块630,具体用于相对于前次偏移到本次路由信息发送总数S*(当前计数值global—count/最大计数值MAXJ)个节点,所述当前计数值global—count为0到最大计数值MAX一I之间的数值,在每次路由信息更新后加一。所述MAX一I为超时周期与发送周期的比值,和用户预先设置值中较小的一个。路由信息获取模块630,还用于如果所述节点中没有路由信息或路由信息失效,则向后查找到最近的有效节点,如果后面没有有效节点,则将指针指向根节点,同时将当前计数值置为0。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。上述本发明序号仅仅为了描述,不代表实施例的优劣。以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。权利要求1、一种路由信息协议优化方法,应用于包括高端路由设备和低端路由设备的系统中,其特征在于,所述方法包括以下步骤所述高端路由设备设置路由信息更新定时器,及第一次获取路由信息的指针位置;在每次更新定时器超时,所述高端路由设备将所述指针相对于前次获取路由信息的位置进行偏移后,获取对应位置中的路由信息;所述高端路由设备将所述路由信息组包发送给所述低端路由设备。2、如权利要求l所述的方法,其特征在于,在每次更新定时器超时后,所述高端路由设备将指针相对于前次获取路由信息的位置进行偏移,获取路由信息,具体包括当所述更新定时器第一次超时后,所述高端路由设备从第一次获取路由信息的指针对应的位置获取路由信息。3、如权利要求1或2所述的方法,其特征在于,所述相对于前次获取路由信息的位置进^f亍偏移,通过以下方式实现相对于前次偏移到本次路由信息发送总数S"当前计数值global—count/最大计数值MAX_I)个节点,所述当前计数值global—count为0到最大计数值MAX一I之间的数值,在每次路由信息更新后加一。4、如权利要求3所述的方法,其特征在于,MAX一I取值为用户设定值、超时周期与发送周期的比值之间较小的一个。5、如权利要求l所述的方法,其特征在于,所述获取对应位置中的路由信息,还包括如果所述节点中没有路由信息或路由信息失效,则向后查找到最近的有效节点,如果后面没有有效节点,则将指针指向根节点,同时将当前计数值置为0。6、一种路由信息协议优化装置,应用于包括高端路由设备和低端路由设备的系统中,其特征在于,所述装置包括定时模块,用于设置路由信息更新定时器;指针设置模块,用于设置第一次获取路由信息的指针位置;路由信息获取模块,与所述配置模块和所述指针设置模块连接,用于在每次更新定时器超时,所述高端路由设备将所述指针相对于前次获取路由信息的位置进行偏移后,获取对应位置中的路由信息;发送模块,与所述路由信息获取模块连接,用于将所述路由信息组包发送给所述低端路由设备。7、如权利要求6所述的装置,其特征在于,所述路由信息获取才莫块,具体用于当所述更新定时器第一次超时后,所述高端路由设备从第一次获取路由信息的指针对应的位置获取路由信息。8、如权利要求6所述的装置,其特征在于,所述路由信息获取模块,具体用于相对于前次偏移到本次路由信息发送总数S*(当前计数值global_count/最大计数值MAX一I)个节点,所述当前计数值global—count为0到最大计数值MAX—I之间的数值,在每次路由信息更新后加一。9、如权利要求8所述的装置,其特征在于,所述MAXJ取值为用户设定值、超时周期与发送周期的比值之间较小的一个。10、如权利要求8所述的装置,其特征在于,所述路由信息获取模块,还用于如果所述节点中没有路由信息或路由信息失效,则向后查找到最近的有效节点,如果后面没有有效节点,则将指针指向根节点,同时将当前计数值置为0。全文摘要本发明公开了一种路由信息协议优化方法,包括以下步骤所述高端路由设备设置路由信息更新定时器,及第一次获取路由信息的指针位置;在每次更新定时器超时,所述高端路由设备将所述指针相对于前次获取路由信息的节点进行偏移后,获取对应节点中的路由信息;所述高端路由设备将所述路由信息组包发送给所述低端路由设备。本发明中,通过发送端更改路由发送顺序,使接收端可以接受到所有路由,可以防止低端路由器由于缓冲满造成的路由信息丢失。文档编号H04L12/56GK101656680SQ20091018054公开日2010年2月24日申请日期2009年10月20日优先权日2009年10月20日发明者赵昌峰申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1