路由老化处理方法及装置与流程

文档序号:11623637阅读:1259来源:国知局
路由老化处理方法及装置与流程

本发明涉及通信领域,具体而言,涉及路由老化处理方法及装置。



背景技术:

动态路由协议主要分为两种,一种是距离矢量路由算法,一种是链路状态路由算法。在距离矢量路由算法中,每一台路由器维护一张路由表,表中列举了当前已知的到每个目标的最佳路径,这些路由表通过邻居路由器之间的信息交换而不断被更新,从而保证每台路由器都有到达每个目的地的最佳路径信息。路由信息协议(routinginformationprotocol,简称为rip)是基于距离矢量路由算法的一种路由协议,利用跳数来作为计量标准。

rip和相邻路由器交换自己的路由表,并按照固定的时间间隔周期性的交换信息。当一个rip更新报文到达时,接收到该报文的路由器将该报文与自己的rip路由表中的每一项进行比较,并按照距离矢量路由算法对自己的rip路由表进行维护。

rip中每个路由具有周期更新定时器和老化定时器。上述定时器的时间参数都由路由信息协议来设置。该周期更新定时器用来激发rip路由器路由表的更新,以更新周期为发送时间间隔向邻居路由器发送自己的路由。路由器接收到邻居路由器发送来的路由更新报文,将该报文中携带的路由添加到本地路由表中,并为该路由设置老化定时器。该老化定时器用来判定是否老化一个路由,在老化时间间隔内收到邻居路由器发送的路由,会重置对应的路由老化定时器。在老化时间间隔内未收到邻居路由器发来的路由,会将该路由设置为无效。可以通过将路由花费值置于无穷大值16,表示该路由不可达,无效该邻居路由器。在一个稳定的系统中,路由老化时间间隔大于发送时间间隔,并通常存在强关联,即老化时间间隔为发送时间间隔的倍数值。一般情况下,路由老化时间间隔至少为发送时间间隔的三倍值,以保证路由更新出现丢失的情况下,该路由仍然可达。

针对相关技术在路由信息协议中,路由老化时间设置不合理导致相应路由出现震荡的问题,还未提出有效的解决方案。



技术实现要素:

本发明提供了一种路由老化处理方法及装置,以至少解决相关技术在路由信息协议中路由老化时间设置不合理导致相应路由出现震荡的问题。

根据本发明的一个方面,提供了一种路由老化处理方法,应用于路由信息协议,包括:第二路由器接收第一路由器发送的携带路由的老化时间间隔值的路由更新报文,其中,该老化时间间隔值是该第一路由器从本地配置中获取的;该第二路由器根据该老化时间间隔值设置路由的老化时间。

进一步地,该第二路由器根据该老化时间间隔值设置路由的老化时间包括:该第二路由器判断该老化时间间隔值是否为0;在判断结果为否,且路由需要添加到该第二路由器的路由表中的情况下,该第二路由器添加路由到该第二路由器的路由表中,并将老化定时器设置为该老化时间间隔值。

进一步地,该路由老化处理方法还包括:在判断结果为是且该路由表中存在该第一路由器发送的路由的情况下,该第二路由器老化该路由。

进一步地,该路由老化处理方法还包括:该第二路由器判断该路由是否存在于该第二路由器的路由表中;在判断结果为否的情况下,该第二路由器确定该路由需要添加到该第二路由器的路由表中,并打开该老化定时器;或者,在判断结果为是的情况下,该第二路由器通过判断已存在的路由是否为该第一路由器发送的方式确定是否需要将该路由添加到该第二路由器的路由表中;在判断结果为是的情况下,该第二路由器确定该路由需要添加到该第二路由器的路由表中,并重置该老化定时器;在判断结果为否,且该路由优于该路由表中已存在的路由的情况下,该第二路由器确定该路由需要添加到该第二路由器的路由表中,并打开该老化定时器。

根据本发明的另一个方面,提供了一种路由老化处理方法,应用于路由信息协议,包括:第一路由器从本地配置中获取路由的老化时间间隔值;该第一路由器向第二路由器发送携带该老化时间间隔值的路由更新报文,其中,该路由更新报文用于指示该第二路由器根据该老化时间间隔值设置路由的老化时间。

进一步地,在第一路由器从本地配置中获取路由的老化时间间隔值之后,该路由老化处理方法还包括:该第一路由器判断该路由更新报文中携带的老化时间间隔值是否全部为0;在判断结果为是的情况下,该第一路由器不添加路由到该路由更新报文。

根据本发明的另一个方面,提供了一种路由老化处理装置,应用于第二路由器,且应用于路由信息协议,包括:接收模块,用于接收第一路由器发送的携带路由的老化时间间隔值的路由更新报文,其中,该老化时间间隔值是该第一路由器从本地配置中获取的,设置模块,用于根据该老化时间间隔值设置该路由的老化时间。

进一步地,该设置模块还包括:判断单元,用于判断该老化时间间隔值是否为0;设 置单元,用于在判断结果为否,且该路由需要添加到该第二路由器的路由表中的情况下,添加该路由到该第二路由器的路由表中,并将老化定时器设置为该老化时间间隔值。

根据本发明的另一个方面,提供了一种路由老化处理装置,应用于第一路由器,且应用于路由信息协议,包括:获取模块,用于从本地配置中获取路由的老化时间间隔值;发送模块,用于向第二路由器发送携带该老化时间间隔值的路由更新报文,其中,该路由更新报文用于指示该第二路由器根据该老化时间间隔值设置路由的老化时间。

进一步地,该路由老化处理装置还包括:判断模块,用于判断该路由更新报文中携带的老化时间间隔值是否全部为0;在判断结果为是的情况下,不添加路由到该路由更新报文。

通过本发明,采用第一路由器通告第二路由器路由的老化间隔时间。解决了相关技术在路由信息协议中时间设置不合理导致相应路由出现震荡的问题,进而提高系统的稳定性。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的路由老化处理方法的流程图(一);

图2是根据本发明实施例的路由老化处理方法的流程图(二);

图3是根据本发明实施例的路由老化处理装置的结构框架图(一);

图4是根据本发明优选实施例的路由老化处理装置的结构框图(一);

图5是根据本发明实施例的路由老化处理装置的结构框图(二);

图6是根据本发明优选实施例的路由老化处理装置的结构框图(二);

图7a是根据本发明实施例的路由更新报文格式的示意图(一);

图7b是根据本发明实施例的路由更新报文格式的示意图(二);

图8是根据本发明实施例的路由老化处理方法的流程图(三)。

具体实施方式

下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

在本实施例中提供了一种路由老化处理方法,应用于路由信息协议,图1是根据本发明实施例的路由老化处理方法的流程图(一),如图1所示,该流程包括如下步骤:

步骤s102,第二路由器接收第一路由器发送的携带路由的老化时间间隔值的路由更新 报文,其中,该老化时间间隔值是该第一路由器从本地配置中获取的;

步骤s104,该第二路由器根据该老化时间间隔值设置路由的老化时间。

通过上述步骤,在路由信息协议中,采用第一路由器通告第二路由器路由的老化间隔时间,解决了相关技术在路由信息协议中时间设置不合理导致相应路由出现震荡的问题,进而提高系统的稳定性。

优选地,该第二路由器根据该老化时间间隔值设置路由的老化时间可以具体包括:判断该老化时间间隔值是否为0;在判断结果为否,且路由需要添加到该第二路由器的路由表中的情况下,添加路由到该第二路由器的路由表中,并将老化定时器设置为该老化时间间隔值。

可选地,该第二路由器根据该老化时间间隔值设置该路由的老化时间进一步还可以包括:该第二路由器判断该老化时间间隔值是否为0;在判断结果为是,且该路由表中存在该第一路由器先前发送的路由的情况下,老化该路由;在判断结果为否,且该路由表中存在该第一路由器先前发送的路由的情况下,该第二路由器确定该路由需要更新到该第二路由器的路由表中,将该路由添加到该第二路由器的路由表中,并且重置该老化定时器。优选地,该老化时间间隔值全部为0的情况下,第一路由器不添加相应的路由到路由更新报文,优化了相关技术中为老化相关路由而采取的发送花费值为16且携带有路由的路由更新报文,节约了带宽资源。

可选地,在该路由不存在于该第二路由器的路由表中,或该路由优于该路由表中已存在的路由且该已存在的路由不是由该第一路由器先前发送的情况下,该第二路由器确定该路由需要添加到该第二路由器的路由表中,将该路由添加到该第二路由器的路由表中,并且打开该老化定时器。优选地,在该路由优于该路由表中已存在的路由且该已存在的路由不是由该第一路由器先前发送的情况下,该第二路由器删除该已存在的路由。

图2是根据本发明实施例的路由老化处理方法的流程图(二),该方法应用于路由信息协议,如图2所示,该方法包括如下步骤:

步骤s202,第一路由器从本地配置中获取路由的老化时间间隔值;

步骤s204,该第一路由器向第二路由器发送携带该老化时间间隔值的路由更新报文,其中,该路由更新报文用于指示该第二路由器根据该老化时间间隔值设置路由的老化时间。

优选地,在第一路由器从本地配置中获取路由的老化时间间隔值之后,该第一路由器判断该路由更新报文中携带的老化时间间隔值是否全部为0;在判断结果为是的情况下, 该第一路由器不添加路由到该路由更新报文。通过在老化时间间隔值为0的情况下,该路由更新报文不携带路由,优化了相关技术中为老化相关路由而采取的发送花费值为16且携带有路由的路由更新报文,节约了带宽资源。

图3是根据本发明实施例的路由老化处理装置的结构框图(一),该装置应用于路由信息协议中的第二路由器,如图3所示,该装置包括接收模块32和设置模块34,下面对各个模块进行简要说明。

接收模块32,用于接收第一路由器发送的携带路由的老化时间间隔值的路由更新报文,其中,该老化时间间隔值是该第一路由器从本地配置中获取的,

设置模块34,用于根据该老化时间间隔值设置该路由的老化时间。

图4是根据本发明优选实施例的路由老化处理装置的结构框图(一),如图4所示,该设置模块还包括:

判断单元42,用于判断该老化时间间隔值是否为0;

设置单元44,用于在判断结果为否,且该路由需要添加到该第二路由器的路由表中的情况下,添加该路由到该第二路由器的路由表中,并将老化定时器设置为该老化时间间隔值。

图5是根据本发明实施例的路由老化处理装置的结构框图(二),该装置应用于路由信息协议中的第一路由器,如图5所示,该装置包括获取模块52和发送模块54,下面对各个模块进行简要说明。

获取模块52,用于从本地配置中获取路由的老化时间间隔值;

发送模块54,用于向第二路由器发送携带该老化时间间隔值的路由更新报文,其中,该路由更新报文用于指示该第二路由器根据该老化时间间隔值设置路由的老化时间。

图6是根据本发明优选实施例的路由老化处理装置的结构框图(二),如图6所示,该路由老化处理装置还包括:

判断模块62,用于判断该路由更新报文中携带的老化时间间隔值是否全部为0;在判断结果为是的情况下,不添加路由到该路由更新报文。

术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以上实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

下面结合不同的实施例对本发明进行进一步的说明。

本发明实施例包括邻居路由器(相当于上文中的第一路由器,简称邻居)生成并发送路由更新报文和本地路由器接收并响应路由更新报文两个过程。

该邻居路由器生成并发送路由更新报文的流程包括:路由器在相应的接口上使能路由信息协议后,接口开始周期性地发送路由更新报文,路由更新报文携带本地路由表中所有需要通告出去的路由。获取本地配置的路由老化时间间隔值;当获取到的路由老化时间间隔值不为0的情况下,将需要发送的路由添加到路由更新报文的路由字段中,且将获取到的路由老化时间间隔值添加到路由更新报文扩展使用的timeout字段中;当获取到的路由老化时间间隔全部为0的情况下,老化掉先前通告的所有路由,设置timeout字段数值为0,并且不添加路由至路由更新报文中;将添加完毕的路由更新报文发送出去。

该本地路由器(对应于上文中的第二路由器)接收并响应路由更新报文的流程包括:接收到邻居发来的路由更新报文时,判断路由更新报文是否携带路由,如果路由更新报文没有携带路由并且timeout字段值为0,本地路由器将该邻居路由器先前通告的所有路由老化;如果路由更新报文中携带了路由,需要逐个遍历处理路由更新报文中的所有路由。所谓老化是指将所述路由置于无效状态。

处理路由更新报文中携带的每一个路由。在timeout值为0的情况下,将该邻居路由器先前通告的路由置为无效状态。在timeout值不为0的情况下,判断该路由更新报文携带的路由是否需要添加到本地路由表中,如果该路由需要添加到本地路由表中并且本地路由表中已经存在该邻居路由器先前通告的路由,重置该路由老化定时器,设置老化时间间隔为路由更新报文timeout字段携带的数值;如果该路由需要添加到本地路由表中并且本地路由表中不存在该邻居路由器先前通告的路由,将对应路由添加到本地路由表中,打开路由老化定时器,设置老化时间为路由更新报文timeout字段携带的数值。该老化时间内没有接收到该邻居路由器发来的相应路由更新报文,设置该邻居路由器先前通告的路由为无效状态。

图7a是根据本发明实施例的路由更新报文格式的示意图(一),图7b是根据本发明实施例的路由更新报文格式的示意图(二)。

如图7a所示,目前rip协议使用的路由更新报文格式,其中有两个字节的未使用字段。如图7b所示,扩展使用该未使用字段为timeout字段用于携带路由老化时间间隔。正常情况下路由老化时间间隔参数设置的最大值为65535,两个字节长度的timeout能够满足需求。优选地,timeout字段的数值可以为0,当接收到timeout值为0的路由更新报文,该路由立刻被无效掉。在需要无效掉先前通告给邻居路由器的所有路由的情况下,现行的作法是发送路由花费值为16且包含所有先前通告路由的路由更新报文,采取发送没有携带任何路由且timeout为0的空路由更新报文的方案,可以大大节约带宽资源。

图8是根据本发明实施例的路由老化处理方法的流程图(三),该方法应用于路由信息协议,如图8所示,该方法包括如下步骤:

步骤s802,接收到邻居发来的路由更新报文;

步骤s804,判断路由更新报文中是否携带路由,在判断结果为是的情况下,执行步骤s806,在判断结果为否的情况下,跳转步骤s830;

步骤s806,遍历路由更新报文中的路由条目;

步骤s808,处理路由条目;

步骤s810,判断老化时间是否为0,在判断结果为是的情况下,执行步骤s812,在判断结果为否的情况下,跳转步骤s816;

步骤s812,判断路由表是否存在该邻居先前通告路由,在判断结果为是的情况下,执行步骤s814,在判断结果为否的情况下,跳转步骤s828;

步骤s814,将路由表中邻居通告的对应路由置为无效,跳转步骤s828;

步骤s816,判断路由表中是否存在对应通告的路由,在判断结果为是的情况下,执行步骤s818,在判断结果为否的情况下,跳转步骤s826;

步骤s818,判断路由表是否存在该邻居先前通告路由,在判断结果为是的情况下,跳转步骤s824,在判断结果为否的情况下,执行步骤s820;

步骤s820,判断是否需要将路由添加到路由表,在判断结果为是的情况下,执行步骤s822,在判断结果为否的情况下,跳转步骤s828;

步骤s822,添加路由至路由表中,打开添加路由的老化定时器,定时器时长为路由更新报文中携带的老化时间间隔值,跳转步骤s828;

步骤s824,更新路由,重置老化定时器,时长为路由更新报文中携带的老化时间间隔值,跳转步骤s828;

步骤s826,添加路由至路由表中,打开添加路由的老化定时器,定时器时长为路由更新报文中携带的老化时间间隔值;

步骤s828,判断是否还有未遍历完路由条目,在判断结果为是的情况下,跳转步骤s808,在判断结果为否的情况下,结束路由老化处理方法;

步骤s830,判断老化时间间隔值是否为0,在判断结果为是的情况下,执行步骤s832,在判断结果为否的情况下,结束路由老化处理方法;

步骤s832,将路由表中邻居通告的所有路由置为无效,结束路由老化处理方法。

路由器在相应的接口上使能rip协议后,接口开始周期性地发送路由更新报文,其中 路由更新报文会携带本地路由表中所有需要通告出去的路由。获取本地配置的路由老化时间间隔值,将获取到的路由老化时间间隔值添加到路由更新报文扩展使用的timeout字段中,通知邻居路由器相应路由的老化时间间隔为timeout字段携带的数值,邻居保持接收到路由有效状态的最长时间为timeout值。

除了周期性发送路由更新报文外,可能需要老化先前通告的所有路由或者其中一部分路由。如果需要老化先前通告的所有路由,发送timeout字段数值为0的不携带任何路由的路由更新报文。如果需要老化其中一部分路由,将携带相应路由的路由更新报文中的timeout字段设置为0或者直接设置对应路由花费值为16。

本地路由器接收到邻居路由器发来的路由更新报文,判断路由更新报文是否携带路由,如果路由更新报文没有携带路由并且timeout字段数值为0,说明邻居路由器通知本地路由器将该邻居先前通告的所有路由置为无效状态;如果路由更新报文中携带了路由,需要逐个遍历路由更新报文携带的路由。

逐个处理路由更新报文中携带的每一个路由。如果timeout字段数值为0,说明邻居路由器通知本地路由器将先前通告的该路由置为无效;如果timeout值不为0,判断该路由是否需要添加到路由表中。如果先前有该路由并且新接收到的路由花费值为16,判断结果为否,设置该路由为无效状态。如果先前有该路由并且新接收到的路由没有路由表中已存在路由优,不做处理。所谓先前有该路由并且新接收到的路由没有路由表中已存在路由优,是指路由表中先前存在的该路由的跳数小于新接收到的路由的跳数。如果路由表中已经存在该邻居路由器先前通告的路由且新接收到的路由优于已经存在于路由表中的路由,将该路由添加到路由表中,重置该路由老化定时器。所谓重置该路由老化定时器是指,以路由更新报文中timeout字段携带的数值为老化时间,该路由老化定时器重新开始计时。如果该路由需要添加到路由表中并且路由表中不存在该邻居路由器先前通告的路由,将路由添加到路由表中,打开路由老化定时器,设置老化时间间隔为路由更新报文timeout字段的数值。

如果老化时间间隔内没有接收到邻居路由器发来的路由更新,将路由表中的对应路由设置为无效;如果老化时间间隔内再次接收到邻居路由器发来的路由更新,重置该路由老化定时器。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在 存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1