一种快速路由收敛方法及装置与流程

文档序号:14914535发布日期:2018-07-11 00:21阅读:192来源:国知局

本发明实施例涉及通信技术领域,具体涉及一种快速路由收敛方法及装置。



背景技术:

现代IP网络中,网络拓扑复杂、路由节点数量巨大,一旦链路状态发生改变时,每次都要执行一遍SPF算法,会导致系统资源大量被占用,链路状态数据库LSDB增加,对硬件性能要求很高,每次SPF的计算时间也会很长,不利于路由的快速收敛。而增量SPF算法实现流程复杂,有时甚至比不上SPF算法,例如:当某一链路的变化引起整个网络拓扑结构的改变,则增量路由计算的时间其实是整个拓扑计算的时间,使用增量SPF算法还增加了搜寻受影响节点的时间,此时增量SPF算法开销比SPF算法还大。

在实现本发明实施例的过程中,发明人发现现有技术在进行路由计算的过程中,大多数重新计算是没必要的,从而浪费了大量的系统资源,降低了路由收敛速度。



技术实现要素:

本发明实施例的一个目的是解决现有技术由于存在大量不必要路由计算,导致响应拓扑变化速度低的问题。

本发明实施例提出了一种快速路由收敛方法,包括:

S1、当网络中的任意一个路由节点接收到链路状态分组LSP时,根据所述网络的最短路径优先树SPT、链路状态信息库LSDB和所述LSP所含的邻居节点信息,获取网络拓扑的变化情况所属类型;

S2、根据所述变化情况的类型执行对应的更新策略;

所述步骤S2包括:

若所述变化情况为仅有部分路由信息发生变化,则执行第一更新策略;

若所述变化情况为有新增节点加入所述网络,则执行所述第一更新策略;

若所述变化情况为在所述SPT上的链路断开,则判断受影响节点的层次,并根据受影响节点的层次与所述网络的层次之间的关系,执行所述第二更新策略或者第三更新策略;

其中,所述第一更新策略包括:采用部分路由计算PRC算法更新发生变化的路由可达信息;所述第二更新策略包括:采用简化SPF算法查找受影响节点,采用SPF算法重构所述网络的SPT,采用PRC算法更新路由可达信息;所述第三更新策略包括:采用SPF算法更新路由可达信息。

可选的,所述根据受影响节点的层次与所述网络的层次之间的关系,执行所述第二更新策略或者第三更新策略包括:

对比受影响节点的层次和所述网络的层次;

根据对比结果判断所述受影响节点的层次占所述网络的层次的比例是否小于预设阈值,若是,则确认所述网络的上层网络受影响,执行所述第二更新策略;若否,则确认所述网络的下层网络受影响,执行所述第三更新策略。

可选的,所述采用SPF算法更新路由可达信息包括:

以受影响节点为根节点重新执行完整的SPF计算,并根据计算结果更新所有的路由可达信息。

可选的,所述LSP为一个路由节点的链路状态信息,所述LSP中记录了邻居LSP的ID信息和路由可达信息;

所述LSDB中存有每个路由节点的LSP以及所述路由节点从其他节点接收到的LSP。

可选的,所述根据所述网络的最短路径优先树SPT、链路状态信息库LSDB和所述LSP所含的邻居节点信息,获取网络拓扑的变化情况所属类型包括:

S11、根据LSP的ID信息,判断所述LSDB中是否存在与新接入所述网络的LSP相匹配的LSP,若否,则执行步骤S12;若是,则执行步骤S13;

S12、根据新接入的LSP中记录的邻居LSP的ID信息,判断新接入的LSP中是否仅有一个邻居LSP,若是,则确认所述变化情况为有新增节点加入所述网络;若否,则不进行路由计算;

S13、判断新接入的LSP和旧的LSP的邻居信息是否相同,若是,则确认所述变化情况为仅有部分路由信息发生变化;若否,则执行步骤S14;

S14、对比所述新接入的LSP和旧的LSP的邻居信息,若对比获知所述旧的LSP的邻居中有且仅有一个邻居不存在在所述新接入的LSP的邻居中,则确认所述变化情况为在所述SPT上的链路断开。

本发明实施例提出了一种快速路由收敛装置,包括:

类型分析模块,用于当网络中的任意一个路由节点接收到链路状态分组LSP时,根据所述网络的最短路径优先树SPT、链路状态信息库LSDB和所述LSP所含的邻居节点信息,获取网络拓扑的变化情况所属类型;

策略执行模块,用于根据所述变化情况的类型执行对应的更新策略;

所述策略执行模块,具体用于若所述变化情况为仅有部分路由信息发生变化,则执行第一更新策略;若所述变化情况为有新增节点加入所述网络,则执行所述第一更新策略;若所述变化情况为在所述SPT上的链路断开,则判断受影响节点的层次,并根据受影响节点的层次与所述网络的层次之间的关系,执行所述第二更新策略或者第三更新策略;

其中,所述第一更新策略包括:采用部分路由计算算法PRC更新发生变化的路由可达信息;所述第二更新策略包括:采用简化SPF算法查找受影响节点,采用SPF算法重构所述网络的SPT,采用PRC算法更新路由可达信息;所述第三更新策略包括:采用SPF算法更新路由可达信息。

可选的,所述策略执行模块,用于对比受影响节点的层次和所述网络的层次;根据对比结果判断所述受影响节点的层次占所述网络的层次的比例是否小于预设阈值,若是,则确认所述网络的上层网络受影响,执行所述第二更新策略;若否,则确认所述网络的下层网络受影响,执行所述第三更新策略。

可选的,所述第三更新策略包括:以受影响节点为根节点重新执行完整的SPF计算,并根据计算结果更新所有的路由可达信息。

可选的,所述LSP为一个路由节点的链路状态信息,所述LSP中记录了邻居LSP的ID信息和路由可达信息;

所述LSDB中存有每个路由节点的LSP以及所述路由节点从其他节点接收到的LSP。

可选的,所述类型分析模块,具体用于根据LSP的ID信息,判断所述LSDB中是否存在与新接入所述网络的LSP相匹配的LSP,若否,则执行第一步骤;所述第一步骤包括:根据新接入的LSP中记录的邻居LSP的ID信息,判断新接入的LSP中是否仅有一个邻居LSP,若是,则确认所述变化情况为有新增节点加入所述网络;若否,则不进行路由计算;

若是,则执行第二步骤,所述第二步骤包括:判断新接入的LSP和旧的LSP的邻居信息是否相同,若是,则确认所述变化情况为仅有部分路由信息发生变化;若否,则执行第三步骤;

所述第三步骤包括:对比所述新接入的LSP和旧的LSP的邻居信息,若对比获知所述旧的LSP的邻居中有且仅有一个邻居不存在在所述新接入的LSP的邻居中,则确认所述变化情况为在所述SPT上的链路断开。

由上述技术方案可知,本发明实施例提出的快速路由收敛方法及装置通过对网络拓扑的变化情况进行分类,以针对每类拓扑变化选择性地采用合适的算法更新路由,降低不必要的路由计算量,与现有技术相比,具有节约路由计算时间,减少CPU负载的优点。

附图说明

通过参考附图会更加清楚的理解本发明的特征和优点,附图是示意性的而不应理解为对本发明进行任何限制,在附图中:

图1示出了本发明一实施例提供的一种快速路由收敛方法的流程示意图;

图2示出了本发明一实施例提供的一种快速路由收敛方法中选取更新策略的流程示意图;

图3示出了本发明另一实施例提供的一种快速路由收敛方法中SPT树的结构示意图;

图4示出了本发明另一实施例提供的一种快速路由收敛方法的流程示意图;

图5示出了本发明一实施例提供的一种快速路由收敛装置的结构示意图;

图6示出了本发明一实施例提供的一种电子设备的结构框图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

在介绍本发明的技术方案之前,首先介绍常用的几种路由算法;

SPF(最短路径优先)算法,在链路状态路由协议中,采用计算到网络的最短路径。每台路由器都以自己为根节点,其他路由器为叶子节点,根据网络拓扑生成一根最短路径树SPT,然后计算出根节点到叶子节点的最短路径,但SPF并不保存这颗最短路径树,当链路状态发生改变时(链路UP、DOWN或开销改变等),不论是否影响网络拓扑结构,网络中的所有路由节点都会再次全部重新计算一遍最短路径树。

增量SPF算法:指增量路由计算,它只对变化的一部分路由进行计算,而不是对全部路由重新计算。增量SPF算法改进了SPF算法,只需首次计算全部节点,之后只计算受影响节点,极大地降低了系统资源占用,提高了路由收敛速度。增量SPF算法的关键点是如何选择要计算的最小范围和如何在选定的范围内重新计算,同时要求,每次计算完后保存SPT(最短路径树),记录SPT上每个节点的路径,建立节点同路由之间的对应关系,每次只更新变化节点的路由信息。

PRC算法:指部分路由计算,它与增量SPF配合使用。PRC的原理也只是计算变化的一部分路由,但PRC不需要计算节点路径,而是根据增量SPF计算出来的SPT来更新路由。如果增量SPF计算出的SPT改变,PRC处理所有变化节点上的路由;如果增量SPF计算出的SPT不变,只有叶子节点变化,则PRC只处理变化的叶子节点的路由信息。PRC用来处理网络拓扑不变而路由信息改变的情况,增量SPF用来处理网络拓扑改变的情况。

简化SPF算法:先判断链路的变化是否需要重构SPT,如果不影响SPT结构,采用PRC进行路由信息更新;如果影响SPT,则所有节点进行全部SPF计算并重构SPT。简化SPF算法需要记录整个网络的拓扑关系,保存每次SPF计算生成的SPT树,此时PRC用来处理网络拓扑不变和路由信息发生改变的情况,这样使得路由计算量降到最低,节约路由计算所用时间。

总的来说,PRC算法用来处理网络拓扑不变而路由信息发生改变的情况。

下面基于上述几种路由算法对本方案进行说明。

图1示出了本发明一实施例提供的一种快速路由收敛方法的流程示意图,参见图1,该方法包括:

110、当网络中的任意一个路由节点接收到链路状态分组LSP时,根据所述网络的最短路径优先树SPT、链路状态信息库LSDB和所述LSP所含的邻居节点信息,获取网络拓扑的变化情况所属类型;

120、根据所述变化情况的类型执行对应的更新策略;

下面参见图2对步骤120进行详细说明:

210、在检测获知有新的LSP接入网络时,开始路由计算;

220、判断网络拓扑是否发生变化,若是,则执行步骤230;若否,则执行步骤240;

需要说明的是,若确认所述变化情况为网络拓扑没有发生变化,而是仅有部分路由信息发生变化,则将该变化情况记为TP1,并执行第一更新策略;

230、判断网络的SPT是否受影响,若否,则执行步骤240;若是,则执行步骤250;

需要说明的是,若网络拓扑发生变化,而SPT没有发生变化,即所述变化情况为有新增节点(叶子节点)加入所述网络,参见图3中的新增节点N,则将该变化情况记为TP2,由于新增节点N不影响SPT,因此,不需要重新计算最短路径树,仅执行所述第一更新策略即可;

另外,新增节点刚加入时是没有网络拓扑层次的,但和相邻节点建立邻居关系后,相邻节点会发LSP给新增节点(其中携带了相邻节点的网络拓扑层次信息,开销等信息),新增节点也会发lsp给相邻节点,新增节点通过比较LSP中的网络拓扑层次信息获知自己的父节点。

240、采用PRC算法更新路由,结束;

250、计算网络拓扑的层次;

需要说明的是,在构建网络的SPT时,已采用SPF算法对网络的全部路由节点进行处理,并标记每个路由节点的网络层次,参见图3,首次计算时对全部节点进行SPF计算、构造SPT,同时标记每个路由器所在的网络层次,因为实际拓扑中考虑到安全性会存在等价路由,所以此发明中路由器节点所属层次按较小的进行标记,例如:图3中的路由器A,既可属于层次2,也可属于层次3,此时该路由器所在的网络层次标记为2。

260、判断受影响链路只想的网络拓扑层次是否限于预设值,若是,则执行步骤270;若否,则执行步骤280;

需要说明的是,若变化情况为在所述SPT上的链路断开,即网络拓扑发生变化而且SPT发生了变化,则记为TP3,并判断受影响节点的层次,并根据受影响节点的层次与所述网络的层次之间的关系,执行所述第二更新策略或者第三更新策略;

其中,所述第一更新策略包括:采用部分路由计算算法PRC更新发生变化的路由可达信息;所述第二更新策略包括:采用简化SPF算法查找受影响节点,采用SPF算法重构所述网络的SPT,采用PRC算法更新路由可达信息;所述第三更新策略包括:采用SPF算法更新路由可达信息,即:以受影响节点为根节点重新执行完整的SPF计算,并根据计算结果更新所有的路由可达信息。

本实施例中,步骤260具体包括:

对比受影响节点的层次和所述网络的层次;

根据对比结果判断所述受影响节点的层次占所述网络的层次的比例是否小于预设阈值,若是,则确认所述网络的上层网络受影响,执行所述第二更新策略;若否,则确认所述网络的下层网络受影响,执行所述第三更新策略。

需要说明的是,当链路变化影响拓扑结构时,找出该链路的目的节点,若该节点所在层次小于全网层次的50%,则可认为是上层网络受影响,否则就是下层网络受影响。参见图3,首次用SPF计算并记录的网络层次共6层,若1层和2层节点受影响,则全部节点进行SPF计算重构SPT,其他节点受影响时,则采用增量SPF找出受影响的节点进行增量路由计算。

270、采用ISPF算法查找受影响节点,重构SPT后,采用PRC更新路由,结束;

280、以自身为根节点重新执行完整的SPF计算,更新所有的路由可达信息,结束。

可见,本实施例通过对网络拓扑的变化情况进行分类,以针对每类拓扑变化选择性地采用合适的算法更新路由,降低不必要的路由计算量,与现有技术相比,具有节约路由计算时间,减少CPU负载的优点。

图4示出了本发明另一实施例提供的一种快速路由收敛方法的流程示意图,下面参见图4对该方法进行详细说明:

401、接收新接入网络的LSP;

402、根据LSP的ID信息,判断所述LSDB中是否存在与新接入所述网络的LSP相匹配的LSP,若否,则执行步骤406;若是,则执行步骤403;

需要说明的是,所述LSDB中存有每个路由节点的LSP以及所述路由节点从其他节点接收到的LSP;参见图3,新增节点N的LSP[A,6],[B,4];路由器A的LSP:[B,6,3/6],[C,8,2/6],[R,10,1/6];路由器B的LSP:[A,6,1/6],[E,5,4/6],[F,3,4/6]。

403、根据新接入的LSP中记录的邻居LSP的ID信息,判断新接入的LSP中是否仅有一个邻居LSP,若是,则执行步骤405;若否,则执行步骤404;

需要说明的是,LSP为一个路由节点的链路状态信息,LSP中记录了邻居LSP的ID信息和路由可达信息。

404、不进行路由计算,结束;

405、确认所述变化情况为有新增节点加入所述网络,结束;

406、判断新接入的LSP和旧的LSP的邻居信息是否相同,若是,则执行步骤407;若否,则执行步骤408;

407、确认所述变化情况为仅有部分路由信息发生变化;

408、对比所述新接入的LSP和旧的LSP的邻居信息;

409、对比获知所述旧的LSP的邻居中有且仅有一个邻居不存在在所述新接入的LSP的邻居中,则执行步骤410;

410、确认所述变化情况为在所述SPT上的链路断开。

可见,本实施例基于LSP和LSDB中记录的数据判断新接入网络的LSP影响的网络拓扑的变化情况的类型,能准确地判定拓扑变化的类型,进而可以基于拓扑变化的类型选择合适的算法更新路由。

对于方法实施方式,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施方式并不受所描述的动作顺序的限制,因为依据本发明实施方式,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施方式均属于优选实施方式,所涉及的动作并不一定是本发明实施方式所必须的。

图5示出了本发明一实施例提供的一种快速路由收敛装置的结构示意图,参见图5,该装置包括:类型分析模块510和策略执行模块520,其中:

类型分析模块510,用于当网络中的任意一个路由节点接收到链路状态分组LSP时,根据所述网络的最短路径优先树SPT、链路状态信息库LSDB和所述LSP所含的邻居节点信息,获取网络拓扑的变化情况所属类型;

策略执行模块520,用于根据所述变化情况的类型执行对应的更新策略;

下面对类型分析模块510和策略执行模块520的工作原理进行详细说明:

策略执行模块52的工作原理如下:

若所述变化情况为仅有部分路由信息发生变化,则执行第一更新策略;

若所述变化情况为有新增节点加入所述网络,则执行所述第一更新策略;

若所述变化情况为在所述SPT上的链路断开,则判断受影响节点的层次,并根据受影响节点的层次与所述网络的层次之间的关系,执行所述第二更新策略或者第三更新策略,具体包括:对比受影响节点的层次和所述网络的层次,根据对比结果判断所述受影响节点的层次占所述网络的层次的比例是否小于预设阈值,若是,则确认所述网络的上层网络受影响,执行所述第二更新策略;若否,则确认所述网络的下层网络受影响,执行所述第三更新策略;

其中,所述第一更新策略包括:采用部分路由计算算法PRC更新发生变化的路由可达信息;所述第二更新策略包括:采用简化SPF算法查找受影响节点,采用SPF算法重构所述网络的SPT,采用PRC算法更新路由可达信息;所述第三更新策略包括:采用SPF算法更新路由可达信息,具体包括:受影响节点为根节点重新执行完整的SPF计算,并根据计算结果更新所有的路由可达信息。

类型分析模块510的工作原理如下:

根据LSP的ID信息,判断所述LSDB中是否存在与新接入所述网络的LSP相匹配的LSP,若否,则执行第一步骤;所述第一步骤包括:根据新接入的LSP中记录的邻居LSP的ID信息,判断新接入的LSP中是否仅有一个邻居LSP,若是,则确认所述变化情况为有新增节点加入所述网络;若否,则不进行路由计算;

其中,所述LSP为一个路由节点的链路状态信息,所述LSP中记录了邻居LSP的ID信息和路由可达信息;所述LSDB中存有每个路由节点的LSP以及所述路由节点从其他节点接收到的LSP;

若是,则执行第二步骤,所述第二步骤包括:判断新接入的LSP和旧的LSP的邻居信息是否相同,若是,则确认所述变化情况为仅有部分路由信息发生变化;若否,则执行第三步骤;

所述第三步骤包括:对比所述新接入的LSP和旧的LSP的邻居信息,若对比获知所述旧的LSP的邻居中有且仅有一个邻居不存在在所述新接入的LSP的邻居中,则确认所述变化情况为在所述SPT上的链路断开。

对于装置实施方式而言,由于其与方法实施方式基本相似,所以描述的比较简单,相关之处参见方法实施方式的部分说明即可。

应当注意的是,在本发明的装置的各个部件中,根据其要实现的功能而对其中的部件进行了逻辑划分,但是,本发明不受限于此,可以根据需要对各个部件进行重新划分或者组合。

图6示出了本发明一实施例提供的一种电子设备的结构框图,参照图6,所述电子设备,包括:处理器(processor)601、存储器(memory)602和总线603;

其中,

所述处理器601、存储器602通过所述总线603完成相互间的通信;

所述处理器601用于调用所述存储器602中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:S1、当网络中的任意一个路由节点接收到链路状态分组LSP时,根据所述网络的最短路径优先树SPT、链路状态信息库LSDB和所述LSP所含的邻居节点信息,获取网络拓扑的变化情况所属类型;

S2、根据所述变化情况的类型执行对应的更新策略。

本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:S1、当网络中的任意一个路由节点接收到链路状态分组LSP时,根据所述网络的最短路径优先树SPT、链路状态信息库LSDB和所述LSP所含的邻居节点信息,获取网络拓扑的变化情况所属类型;

S2、根据所述变化情况的类型执行对应的更新策略。

本实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:S1、当网络中的任意一个路由节点接收到链路状态分组LSP时,根据所述网络的最短路径优先树SPT、链路状态信息库LSDB和所述LSP所含的邻居节点信息,获取网络拓扑的变化情况所属类型;

S2、根据所述变化情况的类型执行对应的更新策略。

本发明的各个部件实施方式可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本装置中,PC通过实现因特网对设备或者装置远程控制,精准的控制设备或者装置每个操作的步骤。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样实现本发明的程序可以存储在计算机可读介质上,并且程序产生的文件或文档具有可统计性,产生数据报告和cpk报告等,能对功放进行批量测试并统计。应该注意的是上述实施方式对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施方式。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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