首页> 中国专利> 基于开放式最短路径优先路由协议的路由计算方法

基于开放式最短路径优先路由协议的路由计算方法

摘要

本发明涉及一种基于开放式最短路径优先路由协议的路由计算方法。该方法为:采用哈希表组织第五类LSA链路状态数据库,且链路状态数据库的各个哈希单元及其中组织的LSA分别设有路由计算标识;当接收到新的LSA时,将其加入相应的哈希单元,并将该单元和该单元中与该LSA目的地址相同的LSA的路由计算标识分别置位;然后,在进行路由计算时,仅对路由计算标识被置位的LSA进行计算;最后,根据路由计算结果更新路由表。本发明采用部分路由计算的方法,减少了对处理器的占用时间,提高路由计算的效率;对于网络中运行OSPF协议的各节点,可以防止产生业务瞬间间断,路由器等设备瞬间无响应等问题。

著录项

  • 公开/公告号CN1469587A

    专利类型发明专利

  • 公开/公告日2004-01-21

    原文格式PDF

  • 申请/专利权人 华为技术有限公司;

    申请/专利号CN02125218.1

  • 发明设计人 张仁海;

    申请日2002-07-16

  • 分类号H04L12/28;H04L29/06;H04L12/24;H04Q3/00;

  • 代理机构11227 北京集佳知识产权代理有限公司;

  • 代理人逯长明

  • 地址 517057 广东省深圳市科技园科发路华为用户服务中心大厦知识产权部

  • 入库时间 2023-12-17 15:05:30

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2012-09-12

    未缴年费专利权终止 IPC(主分类):H04L12/28 授权公告日:20050810 终止日期:20110716 申请日:20020716

    专利权的终止

  • 2005-08-10

    授权

    授权

  • 2004-03-31

    实质审查的生效

    实质审查的生效

  • 2004-01-21

    公开

    公开

说明书

技术领域

本发明涉及网络通信技术领域,尤其涉及一种基于开放式最短路径优先路由协议的路由计算方法。

背景技术

随着网络通信技术的发展,OSPF(开放式最短路径优先)路由协议已经成为网络中应用最广泛的路由协议,该路由协议是一种采用链路状态算法的协议,即各个路由器收集生成自己周围的链路状态信息,形成LSA(链路状态通告)在区域内传播,从而使区域内的每个路由器都拥有相同的LSA,即区域内所有的LSA,所有的LSA组成了链路状态数据库,描述了区域的网络拓扑信息,每台路由器根据收到的所有的LSA通过SPF(最短路径优先)算法计算出路由信息,生成用于指导报文转发的路由表。

不同类型的LSA标示了不同类型的网络拓扑,按照优先级,拓扑(即路由)类型可分为:区域内部路由,区域间路由,自治系统外部类型1路由,自治系统外部类型2路由,优先级依次降低。当路由器收到一个新的LSA时,将按照LSA的类别分别将其放入各自的链路状态数据库中,然后标识该链路状态数据库拓扑发生变化,并按照SPF算法对其重新计算,以更新路由表,使路由表可以反映出链路状态信息的变化。当区域内部网络发生变化,会使所有的路由重新计算;当自治系统间网络拓扑发生变化,导致自治系统间和自治系统外部路由重新计算;而自治系统外部的拓扑变化时,只引起该种类型的路由重新计算。SPF算法就是根据LSA类型的不同按照相应路由类型优先级的顺序进行计算。

随着网络规模的日益发展,LSA的数目将逐渐增多,尤其是OSPF中的外部路由使用的第五类LSA数目将会越来越大,可达数十万之多。当第五类LSA发生变化时,导致网络拓扑结构发生变化,触发OSPF协议对该类型的链路状态数据库中所有的LSA重新计算,当LSA频繁变换,OSPF就会不断的进行SPF计算,其中包括一些对没有变化的LSA进行的非必要的路由计算占用了路由器中处理器的大量资源,从而使路由器等网络设备的处理器效率降低,产生业务瞬间间断,路由器等设备瞬间无响应等问题,影响了网络设备的正常工作。

发明内容

本发明的目的是提供一种基于开放式最短路径优先路由协议的路由计算方法,该方法可以仅对发生变化的第五类LSA进行SPF计算,减少了计算量,避免了SPF计算过多占用路由器等网络设备的处理器资源,保证了网络设备的正常工作。

本发明的目的是这样实现的:所述的基于开放式最短路径优先路由协议的路由计算方法,包括:

a、将基于OSPF(开放式最短路径优先)路由协议的LSA(链路状态信息通告)的链路状态数据库分成多个单元,各单元中分别组织有多个LSA;

b、为链路状态数据库的各个单元及各个单元中的LSA分别设置路由计算标识,路由计算标识用于标示各个单元及其中的LSA是否需要进行路由计算;

c、当接收到新的LSA时,根据LSA的ID(标识)将其加入到链路状态数据库中相应的单元,并将该单元和该单元中与该LSA目的地址相同的LSA的路由计算标识分别置位;

d、触发路由计算时,遍历各单元及各单元中LSA的路由计算标识,并仅对置位的LSA进行路由计算;

e、根据路由计算结果更新路由表。

所述的步骤a为:采用哈希表组织第五类LSA链路状态数据库。

所述的步骤c包括:

c1、当接收到新的链路状态信息时,根据该信息生成新的LSA,并根据该LSA的ID,即目的地址作一次哈希计算;

c2、根据计算结果将该LSA插入采用哈希表组织第五类LSA链路状态数据库中相应的哈希单元;

c3、将与该LSA目的地址相同的LSA的路由计算标识置位,同时还需将该LSA所在的哈希单元头结构中的路由计算标识置位。

所述的步骤c3包括:

c31、根据协议判断是否需要对该LSA重新进行路由计算;

c32、如果需要重新进行路由计算,则将与该LSA目的地址相同的LSA的路由计算标识置位,同时还需将该LSA所在的哈希单元头结构中的路由计算标识置位;

c32、如果不需要重新进行路由计算,则结束对新接收链路状态信息的处理过程。

所述的采用哈希表组织第五类LSA链路状态数据库进一步包括:

a1、根据LSA的ID,即目的地址将第五类LSA进行哈希计算,保证目的地址相同的LSA计算所得的哈希索引值相同;

a2、按照哈希索引值将LSA放入相应的哈希单元中,且目的地址相同的LSA相邻接放入同一哈希单元中。

由上述技术方案可以看出,本发明所述的开放式最短路径优先路由协议的路由计算方法是OSPF部分路由计算的一种方式,当第五类LSA链路状态数据库接收到新的LSA,并触发路由计算时,不再对所有的LSA进行计算,而是将需要重新计算的范围确定为某些LSA,仅进行部分路由计算。本发明对OSPF计算外部路由进行优化,采用部分路由计算,减少了对处理器的占用时间,提高了路由计算的效率;对于网络中运行OSPF协议的各节点,可以防止产生业务瞬间间断,路由器等网络设备瞬间无响应等问题。当LSA数量达到十万以上后,本发明的效果尤为显著,那些由于以往路由器等网络设备计算效率低下而产生的诸多问题也都将得到解决。

附图说明

图1为本发明中第五类LSA链路状态数据库结构示意图;

图2为本发明的具体实施流程图。

具体实施方式

本发明所述的路由计算方法,可以使路由器在接收到新的链路状态信息时,仅对发生变化的LSA进行计算,以减少路由器的计算量,保证路由器的工作效率。本发明尤其适用第五类LSA链路状态数据库中的路由计算,第五类LSA描述的外部网络拓扑的变化不会导致其它类型的路由计算,而且这种拓扑信息在SPF算法中位于最短路径树的叶的位置,即对第五类LSA变化而引起的路由计算,可以采用只对变化的LSA进行计算,也就是部分路由计算。

本发明的具体实施方式如图1、图2所示:

步骤1:采用哈希表组织第五类LSA的链路状态数据库,如图1所示,每个哈希单元中有一个头结构HASH_HEAD1......HASH_HEADN,每个哈希单元中包含多个LSA,即LSA1、LSA2、LSA3;

采用哈希表组织第五类LSA的链路状态数据库时,需要根据LSA的ID,即目的地址将第五类LSA进行哈希计算,保证目的地址相同的LSA计算所得的哈希索引值相同;并按照哈希索引值将LSA放入相应的哈希单元中,且目的地址相同的LSA相邻接放入同一哈希单元中;以保证目的地址相同的LSA不出现在两个哈希单元中,以便于后来的部分路由计算过程的进行;

步骤2:在每个哈希单元的头结构中创建一个路由计算标识,用于标识该哈希单元所组织的LSA是否有需要重新计算,当需要需要重新计算时,则将该标识置位;

步骤3:为每个哈希单元中的LSA创建路由计算标识,当需要对该LSA进行重新计算时,则将该路由计算标识置位;

步骤4:路由器接收到新的链路状态信息时,根据该新的链路状态信息生成新的LSA;

步骤5:根据新的LSA的ID,即目的地址,作一次哈希计算,按照计算的结果将LSA插入该第五类LSA链路状态数据库中相应的哈希单元组织的链表中;

在插入的过程中,需要遵守步骤1所规则定的链表的组织原则,保证目的地址相同的LSA相邻接,即描述到达某目的地址的所有LSA只处于某一个哈希单元中,且在链表中是连续的,而不会同时出现在两个或两个以上的哈希单元中,如图1所示,HASH_HEAD1为一个哈希单元的头结构,该结构下组织了3个LSA,其中LSA2与LSA3描述的地址信息是相同的;

步骤6:根据应用的协议判断是否需要对该LSA重新进行路由计算,如果需要,执行步骤7,否则,执行步骤11;

步骤7:根据协议RFC2328(请求注解),确定在该LSA为新接收、发生变化等情况需要重新计算,在需要重新计算的前提下,将该LSA描述结构中的路由计算标识置位,表示该LSA需要重新进行路由计算;同时,与该LSA描述相同目的地址的其它LSA也要将其路由计算标识置位,标识相应的LSA需要重新进行路由计算,不论该LSA在链表中处于什么位置;

如图1所示,其中的HASH_HEAD1下LSA2与LSA3是描述同一目的地址信息的两个LSA,如果LSA2是刚接收到并需要重新计算,则同时将LSA2与LSA3置位,表示LSA2与LSA3都需要重新计算,如果LSA3是刚接收并需要重新计算,同样将LSA2与LSA3置位,表示两个LSA2与LSA3需要重新计算;

步骤8:将需要重新进行路由计算的LSA所在的哈希单元的头结构中的路由计算标识置位,标识该哈希单元组织的LSA需要进行计算;

步骤9:链路状态数据库由于接收LSA发生变化时,触发协议进行一次第五类LSA的路由计算;

首先,遍历第五类LSA链路状态数据库,遍历哈希单元头结构,当头结构中的路计算标识没有置位,则遍历下一个哈希单元头结构;当头结构中的路由计算标识被置位,则遍历该哈希单元组织的LSA链表,对该链表中路由计算标识被置位的所有LSA进行SPF计算,即重新进行路由计算;

该重新计算过程仅进行了部分路由计算,提高的路由器的效率;

步骤10:根据步骤9的部分路由计算结果更新路由表;

步骤11:路由器对接收新链路状态信息的处理过程结束。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号