一种动态路由协议路由收敛方法

文档序号:7654257阅读:180来源:国知局
专利名称:一种动态路由协议路由收敛方法
技术领域
本发明涉及数据通讯,具体涉及一种动态路由协议路由收敛方法。
技术背景动态路由协议(RIP)通过互相学习通告路由来实现本地的路由收敛和 更新。RIP是第一个实现动态选路的路由协议,该协议是基于本地网络的矢 量距离算法而实现的。主要应用于规模较小、拓朴结构不是频繁变化、内部 构成相似的自治系统。在RFC1058, RFC2453中详细描述RIP路由的学习 收敛实现。自治系统内运行RIP路由协议的任一路由器将本路由器的可达路 由信息通过RIP报文格式通告给相邻路由器,相邻路由器接收到RIP报文后, 根据报文所携带的路由信息,按照距离矢量法推断本路由器的可达路由,并 将这些可达路由再用RIP报文以定时更新方式或触发更新方式通告给其相 邻路由器,最终使所有路由器都能获得本自治系统内的所有可达路由。根据协议标准,RIP路由的学习收敛依靠两个过程,①路由的发送过程 和②路由的接收过程。其中①RIP路由的发送更新依靠的是周期更新和触 发更新。RIP的实现会建立一个定时器,定时发送本地的所有路由到其邻居 路由器,同时在本地路由发生变化时,RIP会发出触发更新将变化路由通告 给邻居,实现路由的相互学习。②路由器在接收到RIP路由报文时,有两种 处理方式 一是接收的路由是新的路由,或好于本地路由,这是将更新本地 路由,这个过程就实现了路由的再学习收敛;二是,接收到的路由并不优于 本地路由,此时将丟弃该路由(除非本地路由就是由该邻居学来的,即无 论优劣都更新本地路由)。因此,RIP路由的收敛时间依赖于更新报文的发送。在目前的实现中, 周期更新是为了定期实现路由的统一、收敛,这个收敛时间局限于更新的周 期,触发更新的引入就是为了能使路由收敛加快,在本地路由发生变化时能立即发出,不用等到周期更新,这样会大大加快运行RIP协议的路由器的路 由收敛时间。但是目前的路由收敛所依靠的更新报文的发送只能由本地触发,周期更 新是因为本地周期更新计时器到时才发送,触发更新是因为本地路由发生变 化所触发的。路由器之间缺少协商的过程,路由器在接收到邻居的报文时, 缺少对邻居路由器的路由收敛支持,即上述的接收报文的处理方式或接受, 或直接丢弃。具体地说,路由器在接收到邻居来的路由报文时,如果优于本 地的,则更新本地路由,而对于差于本地路由的报文,路由器只是简单的丢 弃,没有相应的处理。因此,当一个路由器上到达某地的路由发生变化时, 只能被动的等待其邻居路由器发来各自到达该目的地的路由,然后再重新进 行收敛,而且往往都是需要等待邻居路由器的周期更新来重新获取路由。这 个收敛过程时间比较长,显然有优化的空间。发明内容本发明需要解决的技术问题是提供一种动态路由协议路由收敛方法,能 使路由器在接收到邻居的报文时,同时具备对邻居路由器的路由收敛支持。本发明的上述技术问题这样解决,提供一种动态路由协议路由收敛方 法,包括以下步骤1.1) 网络中的路由器发现并将变化的路由通告给邻居路由器;1.2) 所述邻居路由器接收所述变化的路由、判断对应本地路由来源并与 非来源于所述网络中的路由器的对应本地路由比较,如果相减大于一个度 量,所述邻居路由器将所述本地路由通过触发更新通告给所述网络中的路由 哭.如,1.3) 所述网络中的路由器接收并根据所述触发更新通告重新收敛路由。按照本发明提供的收敛方法,所述如果相减大于一个度量是指(邻居 路由器到某网段A的路由的度量-本地路由器到某网段A的路由的度量)> + 1,某网段A是所述变化的路由和本地路由的共同目的网络。按照本发明提供的收敛方法,所述步骤1,2)还包括如果所述对应本地路由不存在,则更新本地^各由在本地路由中增加所述变化的路由。按照本发明提供的收敛方法,所述步骤1.2)还包括所述步骤1.2)还包 括如果所述对应本地路由存在但来源于所述网络中的路由器,则更新本地 路由将对应本地路由替换为所述变化的路由。按照本发明提供的收敛方法,所述步骤L2)还包括所述步骤1.2)还包 括如果所述非来源于所述网络中的路由器的对应本地路由减所述变化的路 由小于负一个度量,则更新本地路由将对应本地路由替换为所述变化的路 由。按照本发明提供的收敛方法,所述如果所述非来源于所述网络中的i 各由 器的对应本地路由减所述变化的路由小于负一个度量是指(邻居路由器到 某网段A的路由的度量-本地路由器到某网段A的路由的度量)<-1,某网 段A是所述变化的路由和本地3各由的共同目的网络。按照本发明提供的收敛方法,所述网络中的路由器或所述邻居路由器不 可配置接口度量,能够根据度量判断对应路由的优劣。在比较邻居路由和本 地路由时,不仅仅是比较谁的路由度量更小,而是加了一个差值,实际上是 将两路由器之间的度量值考虑进去。根据本方法的假设,这个度量就是l。 因为如果本地路由器需要采用邻居路由器发来的路由的话,在本地路由器上 重新生成的路由的度量应该是当前邻居路由器上路由的度量值加上两路由 器之间的度量1。按照本发明提供的收敛方法,如果路由器可配接口度量时,就无法比较 本地路由和邻居通告来的路由,本地是否有更优路由的条件不能确定。如果 只是简单的判断本地路由的度量优于邻居路由的度量,而没有一个差值,则 会行成无效的报文发送,造成网络阻塞。并且路由器的路由更新采用了 RFC 1058的方式, "Update the metric by adding the cost of the network on which themessage arrived."即某条路由被通告时,其度量的更新,是由接收 方加上其接口度量,而不是在路由被通告出去时加上通告方的度量。因此, 本发明前提是路由器不可配置接口度量。按照本发明提供的收敛方法,所述对应的本地路由的下一跳地址不是发 送所述变化的路由的邻居路由器。按照本发明提供的收敛方法,所述对应的本地路由是与所述变化的路由 具有相同目的网络的本地路由。按照本发明提供的收敛方法,所述路由器都运行动态路由协议。按照本发明提供的收敛方法,所述网络中的路由器是网络中任一个路由器。按照本发明提供的收敛方法,所述邻居路由器可以是一个或多个。本发明提供的一种动态路由协议路由收敛方法,基于传统RIP路由收 敛,进一步使运行RIP协议的路由器能根据收到的报文对邻居路由器进行回 应;在组网环境中,当某一路由器上路由发生变化时,相邻路由器能快速的 发出触发更新,从而减少路由器重新获得路由信息的时间,加快路由器的路 由收敛。


下面结合附图和具体实施例进一步对本发明进行详细说明。 图l是本发明路由收敛方法流程示意图; 图2是一个具体组网实例图;图3是图2所示网络故障后路由器D使用传统方法进行路由收敛的过 程示意图;图4是图2所示网络故障后路由器D使用本发明方法进行路由收敛的 过程示意图。
具体实施方式
首先,说明本发明思想增加路由器接收到邻居报文时的处理,在收到报文时,如果路由差于本 地路由(不是从该邻居学到的),不是简单的丢弃,而是将收到的路由条目 与本地的路由条目进行比较,当满足一定条件时,本地路由器立即通过触发 更新向邻居通告本地路由,从而使邻居路由器上的路由能快速收敛。第二步,说明本发明基础和具体实现 (-)基础①维持原有对收到更优报文和与现有本地路由来源同一邻居路由器报 文的处理,不影响路由器原有本地路由的更新;②增加接收到可丢弃报文的 处理,即收到的路由劣于本地路由(不是从该收到的路由发送邻居学到的), 发送触发更新通告帮助邻居路由器收敛路由。(二)具体实现如图l所示,本发明方法的关键具体应用,包括以下步骤100 )路由器Routerl发现自身路由route发生变化;101 )路由器Routerl将变化的路由route通告给邻居路由器Router2;102 )路由器Router2发现自身有目的网络和变化的路由route相同的对 应本地路由且不是通过路由器Routerl通告的。这时在路由器Router2上会 将变化的路由route和本地路由进行比较,判断发现变化的路由route比本地 路由差了超过一个度量;(如果判断发现变化的路由route比本地路由更好, 则更新本MJ洛由)103)路由器Router2则将相应的本地路由通过触发更新通告给路由器 Routerl;104 )路由器Routerl接收并根据触发更新通告重新收敛路由。 最后,结合一个简单组网实例的两种情况对比说明本发明方法 (-)原始情况如图2所示,网络中A、 B、 C、 D四个路由器运行RIP协议,各路由 器之间的度量为1.Rl为路由器C到网段N的路由,下一跳为路由器B,度量为2; R2为路由器D到网段N的路由,下一跳为路由器A,度量为1。图2中的组网已经稳定。路由器C会在周期更新中将路由Rl通告给路 由器D。在路由器D上,由于R1的度量和R2的度量之差不大于1,所以 路由器D在收到路由器C来的更新时,按本发明方法和传统方法都不会向路由器C发送触发更新报文。 (二)故障情况在图2的组网在路由发生变化时,如图3和图4所示,对采用①传统和 ②本发明方法的路由收敛分别描述如下① 采用传统方法,如图3所示,其if各由收敛流程包括以下步骤301 )路由器C发现到路由器B的连接断了 ,则将路由器C上的路由 Rl度量变为16,同时路由器C会立即将度量为16的路由Rl通告给路由器 D;302 )路由器D丟弃掉从路由器C收到的路由;303 )路由器C等待路由器D周期更新通告路由,重新计算路由,进行 收敛。即当路由器上路由发生变化时,路由器只能被动的等邻居通告路由才 能重新进行路由收敛,且往往需要等长达一个更新周期的时间才能收到邻居 报文。② 采用本发明方法,如图4所示,其路由收敛流程包括以下步骤401 )路由器C发现到路由器B的连接断了 ,则将路由器C上的路由 Rl度量变为16,同时路由器C会立即将度量为16的路由R1通告给路由器 D;402)路由器D收到度量为16的路由R1后,首先进行比较,因为Rl 的度量metric〉 (R2的度量+l),路由器D会立即向路由器C发出触发 更新,将度量为1的路由通告给路由器C;403 )路由器C收到R2后,重新进行路由收敛。即当路由器路由发生变化通告给邻居路由器时,邻居路由器可以根据 路由的好坏比较立即发送触发更新,本地路由器可以立即收到周围邻居路由 器的路由信息,重新进行路由收敛,这个过程省去等待邻居通告路由的时间, 大大提高了路由器的路由收敛速度。进一步,本发明方法考虑到网络阻塞问题,避免不必要的报文被触发出去。邻居路由器只有在其路由优于收到的路由超过一个度量,才会发出触发 更新,通告本地路由器。在比较邻居路由和本地路由时,不仅仅是比较谁的 路由度量更小,而是加了一个差值,实际上是将两路由器之间的度量值考虑 进去。根据本方法的假设,这个度量就是l。因为如果本地路由器需要采用 邻居路由器发来的路由的话,在本地路由器上重新生成的路由的度量应该是 当前邻居路由器上路由的度量值加上两路由器之间的度量1。这种处理方式 有效的避免了无用报文被触发造成的网络负担。通过①和②比较可以看出,在使用本发明后,发生路由变化的路由器c很快重新收敛了路由,关键步骤是402),这里原先只能等待周期更新时路 由器D通告过来路由,路由器C再进行收敛。而在使用本发明方法后,路 由器D能立刻生成触发更新,路由器C的收敛速度大大加快。
权利要求
1、一种动态路由协议路由收敛方法,其特征在于,包括以下步骤1.1)网络中的路由器发现并将变化的路由通告给邻居路由器;1.2)所述邻居路由器接收所述变化的路由、判断对应本地路由来源并与非来源于所述网络中的路由器的对应本地路由比较,如果相减大于一个度量,所述邻居路由器将所述本地路由通过触发更新及时通告给所述网络中的路由器;1.3)所述网络中的路由器接收并根据所述触发更新通告重新收敛路由。
2. 根据权利要求1所述收敛方法,其特征在于,所述步骤1.2)还包 括如果所述对应本地;洛由不存在,则更新本地路由。
3. 根据权利要求1所述收敛方法,其特征在于,所述步骤1.2)还包 括如果所述对应本地路由存在但来源于所述网络中的路由器,则更新本地 路由。
4. 根据权利要求1所述收敛方法,其特征在于,所述步骤1.2)还包 括如果所述非来源于所述网络中的路由器的对应本地路由减所述变化的路 由小于负一个度量,则更新本地路由。
5. 根据权利要求1-4任一项所述收敛方法,其特征在于,所述网络 中的路由器或所述邻居路由器不可配置接口度量。
6. 根据权利要求1-4任一项所述收敛方法,其特征在于,所述对应 本地路由的下一跳地址不是发送所述变化的路由的邻居路由器。
7. 根据权利要求1-4任一项所述收敛方法,其特征在于,所述对应 本地路由是与所述变化的路由具有相同目的网络的本地路由。
8. 根据权利要求1-4任一项所述收敛方法,其特征在于,所述路由 器都运行动态^各由协议。
9、 根据权利要求1-4任一项所述收敛方法,其特征在于,所述网络 中的路由器是网络中任一个路由器。
10、 根据权利要求1-4任一项所述收敛方法,其特征在于,所述邻居 路由器可以是一个或多个。
全文摘要
本发明涉及一种动态路由协议路由收敛方法,包括路由器发现并将变化的路由通告给邻居路由器;邻居路由器接收所述变化的路由、判断其对应本地路由来源并与非来源于路由器的对应本地路由比较,如相减大于一个度量,则将该本地路由通过及时触发更新通告给路由器;路由器接收并根据该通告重新收敛路由。这种方法增加收到的路由劣于本地路由,发送触发更新通告帮助邻居路由器收敛路由的处理,这样当某一路由器上路由发生变化时,相邻路由器能快速的发出触发更新,从而减少路由器重新获得路由信息的时间,加快路由器的路由收敛。
文档编号H04L12/56GK101335688SQ20071010948
公开日2008年12月31日 申请日期2007年6月26日 优先权日2007年6月26日
发明者闯 刘, 周广腾, 柳海宁 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1