CN1214572C - 基于开放式最短路径优先路由协议的路由计算方法 - Google Patents
基于开放式最短路径优先路由协议的路由计算方法 Download PDFInfo
- Publication number
- CN1214572C CN1214572C CN 02125218 CN02125218A CN1214572C CN 1214572 C CN1214572 C CN 1214572C CN 02125218 CN02125218 CN 02125218 CN 02125218 A CN02125218 A CN 02125218A CN 1214572 C CN1214572 C CN 1214572C
- Authority
- CN
- China
- Prior art keywords
- route
- link
- state information
- lsa
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种基于开放式最短路径优先路由协议的路由计算方法。该方法为:采用哈希表组织第五类链路状态数据库,且第五类链路状态数据库的各个单元及其中的LSA分别设有路由计算标识;当接收到新的LSA时,将其加入相应的单元,并将该单元和该单元中与该LSA目的地址相同的LSA的路由计算标识分别置位;然后,在进行路由计算时,仅对路由计算标识被置位的LSA进行计算;最后,根据路由计算结果更新路由表。本发明采用部分路由计算的方法,减少了对处理器的占用时间,提高路由计算的效率;对于网络中运行OSPF协议的各节点,可以防止产生业务瞬间间断,路由器等设备瞬间无响应等问题。
Description
技术领域
本发明涉及网络通信技术领域,尤其涉及一种基于开放式最短路径优先路由协议的路由计算方法。
背景技术
随着网络通信技术的发展,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;
b、为所述第五类链路状态数据库的各个单元及各个单元中的LSA分别设置路由计算标识,路由计算标识用于标示各个单元及其中的LSA是否需要进行路由计算;
c、当接收到新的LSA时,根据LSA的ID(标识)将其加入到链路状态数据库中相应的单元,在需要重新计算的前提下,将该单元和该单元中与该LSA目的地址相同的LSA的路由计算标识分别置位;
d、触发路由计算时,遍历各单元及各单元中LSA的路由计算标识,并仅对置位的LSA进行路由计算;
e、根据路由计算结果更新路由表。
所述的步骤a为:采用哈希表组织第五类链路状态数据库。
所述的步骤c包括:
c1、当接收到新的链路状态信息时,根据该信息生成新的LSA,并根据该LSA的ID,即目的地址作一次哈希计算;
c2、根据计算结果将该LSA插入采用哈希表组织第五类LSA链路状态数据库中相应的单元;
c3、将与该LSA目的地址相同的LSA的路由计算标识置位,在需要重新计算的前提下,同时将该LSA所在的单元头结构中的路由计算标识置位。
所述的步骤c3包括:
c31、根据协议判断是否需要对该LSA重新进行路由计算;
c32、如果需要重新进行路由计算,则将与该LSA目的地址相同的LSA的路由计算标识置位,同时还需将该LSA所在的单元头结构中的路由计算标识置位;
c32、如果不需要重新进行路由计算,则结束对新接收链路状态信息的处理过程。
所述的采用哈希表组织第五类链路状态数据库进一步包括:
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的ID,即目的地址将第五类LSA进行哈希计算,保证目的地址相同的LSA计算所得的哈希索引值相同;并按照哈希索引值将LSA放入相应的哈希单元中,且目的地址相同的LSA依次放入同一哈希单元中;以保证目的地址相同的LSA不出现在两个哈希单元中,以便于后来的部分路由计算过程的进行;
步骤2:在每个哈希单元的头结构中创建一个路由计算标识,用于标识该哈希单元所组织的LSA是否有需要重新计算,当需要重新计算时,则将该标识置位;
步骤3:为每个哈希单元中的LSA创建路由计算标识,当需要对该LSA进行重新计算时,则将该路由计算标识置位;
步骤4:路由器接收到新的链路状态信息时,根据该新的链路状态信息生成新的LSA;
步骤5:根据新的LSA的ID,即目的地址,作一次哈希计算,按照计算的结果将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:路由器对接收新链路状态信息的处理过程结束。
Claims (5)
1、一种基于开放式最短路径优先路由协议的路由计算方法,包括:
a、将基于开放式最短路径优先路由协议的第五类链路状态数据库分成多个单元,各单元中分别有多个链路状态信息通告;
b、为所述第五类链路状态数据库的各个单元及各个单元中的链路状态信息通告分别设置路由计算标识,路由计算标识用于标示各个单元及其中的链路状态信息通告是否需要进行路由计算;
c、当接收到新的链路状态信息通告时,根据链路状态信息通告的目的地址将其加入到链路状态数据库中相应的单元,在需要重新计算的前提下,将该单元和该单元中与该链路状态信息通告目的地址相同的链路状态信息通告的路由计算标识分别置位;
d、触发路由计算时,遍历各单元及各单元中链路状态信息通告的路由计算标识,并仅对置位的链路状态信息通告进行路由计算;
e、根据路由计算结果更新路由表。
2、根据权利要求1所述的基于开放式最短路径优先路由协议的路由计算方法,其特征在于所述的步骤a为:采用哈希表组织第五类链路状态数据库。
3、根据权利要求2所述的基于开放式最短路径优先路由协议的路由计算方法,其特征在于所述的步骤c包括:
c1、当接收到新的链路状态信息时,根据该信息生成新的链路状态信息通告,并根据该链路状态信息通告的目的地址作一次哈希计算;
c2、根据计算结果将该链路状态信息通告插入采用哈希表组织第五类链路状态数据库中相应的单元;
c3、将与该链路状态信息通告目的地址相同的链路状态信息通告的路由计算标识置位,在需要重新计算的前提下,同时将该链路状态信息通告所在的单元头结构中的路由计算标识置位。
4、根据权利要求3所述的基于开放式最短路径优先路由协议的路由计算方法,其特征在于所述的步骤c3包括:
c31、根据协议判断是否需要对该链路状态信息通告重新进行路由计算;
c32、如果需要重新进行路由计算,则将与该链路状态信息通告目的地址相同的链路状态信息通告的路由计算标识置位,同时还需将该链路状态信息通告所在的单元头结构中的路由计算标识置位;
c32、如果不需要重新进行路由计算,则结束对新接收链路状态信息的处理过程。
5、根据权利要求2所述的基于开放式最短路径优先路由协议的路由计算方法,其特征在于所述的采用哈希表组织第五类链路状态数据库进一步包括:
a1、根据链路状态信息通告的ID,即目的地址将链路状态信息通告进行哈希计算,保证目的地址相同的链路状态信息通告计算所得的哈希索引值相同;
a2、按照哈希索引值将链路状态信息通告放入相应的单元中,且目的地址相同的链路状态信息通告依次放入同一单元中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 02125218 CN1214572C (zh) | 2002-07-16 | 2002-07-16 | 基于开放式最短路径优先路由协议的路由计算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 02125218 CN1214572C (zh) | 2002-07-16 | 2002-07-16 | 基于开放式最短路径优先路由协议的路由计算方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1469587A CN1469587A (zh) | 2004-01-21 |
CN1214572C true CN1214572C (zh) | 2005-08-10 |
Family
ID=34142804
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 02125218 Expired - Fee Related CN1214572C (zh) | 2002-07-16 | 2002-07-16 | 基于开放式最短路径优先路由协议的路由计算方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1214572C (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100440826C (zh) * | 2003-04-30 | 2008-12-03 | 华为技术有限公司 | 静态路由的刷新方法 |
JP4526886B2 (ja) * | 2004-07-05 | 2010-08-18 | 株式会社日立製作所 | 無線装置、無線通信システムの制御方法、及び無線通信システム |
US7552106B2 (en) * | 2004-11-17 | 2009-06-23 | International Business Machines Corporation | Variable length file entry navigation |
CN100442767C (zh) * | 2005-08-22 | 2008-12-10 | 广东省电信有限公司研究院 | 一种实现快速路由收敛的路由器平稳重启的方法 |
CN100452041C (zh) * | 2006-01-18 | 2009-01-14 | 腾讯科技(深圳)有限公司 | 一种读取网络资源站点信息的方法及其系统 |
CN101087240B (zh) * | 2006-06-07 | 2010-08-25 | 华为技术有限公司 | 最短路径优先协议中的路由选择方法及其装置 |
CN100466623C (zh) * | 2006-07-25 | 2009-03-04 | 华为技术有限公司 | 一种基于ospf的路由信息更新方法和网络设备 |
CN101227313B (zh) * | 2007-01-19 | 2010-07-28 | 华为技术有限公司 | 一种业务路径调整方法及通讯系统及路由计算单元 |
CN101316229B (zh) * | 2007-06-01 | 2011-09-14 | 华为技术有限公司 | 对链路状态广播进行同步的方法与路由器 |
CN101272393B (zh) * | 2008-05-14 | 2010-11-03 | 杭州华三通信技术有限公司 | 基于链路状态路由协议的路由计算方法和网络节点 |
CN101483610B (zh) * | 2009-02-26 | 2011-07-20 | 迈普通信技术股份有限公司 | 链路状态路由协议的路由更新方法 |
CN101715225B (zh) * | 2009-11-20 | 2012-12-05 | 西安电子科技大学 | 认知网络中的自适应自组网络路由方法 |
CN102316005B (zh) * | 2010-07-05 | 2014-03-19 | 杭州华三通信技术有限公司 | 一种更新ospf路由的方法及ospf路由器 |
US8830867B2 (en) * | 2011-07-21 | 2014-09-09 | Telefonaktiebolaget L M Ericsson (Publ) | Methods and network elements operable to specify and determine complete sets of link state messages for link state routing protocols |
CN102946349B (zh) * | 2012-02-23 | 2015-08-19 | Ut斯达康通讯有限公司 | 一种基于OSPF协议的以太网E-Line业务链路发现方法及装置 |
CN103888335A (zh) * | 2013-12-05 | 2014-06-25 | 国家电网公司 | 一种变电站信息网络互联的方法 |
CN110225015A (zh) * | 2019-05-30 | 2019-09-10 | 北京网太科技发展有限公司 | 基于开放式最短路径优先协议的安全防护方法及装置 |
-
2002
- 2002-07-16 CN CN 02125218 patent/CN1214572C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1469587A (zh) | 2004-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1214572C (zh) | 基于开放式最短路径优先路由协议的路由计算方法 | |
CN101272393B (zh) | 基于链路状态路由协议的路由计算方法和网络节点 | |
US9602387B2 (en) | Network topology optimization | |
US10757012B2 (en) | Path computation in a segment routing network | |
US8547851B1 (en) | System and method for reporting traffic information for a network | |
CN107070798B (zh) | 网络区域划分方法、网络设备和系统 | |
CN100444575C (zh) | 通告数据通信网络中的链路代价的方法和装置 | |
CN1798068B (zh) | 在网络中提供有限中继保护通道的方法和设备 | |
CN1529518A (zh) | 动态交换光传输网的基于限制的最短路径优先方法 | |
CN101447913B (zh) | 确定直达光路的方法和服务器及建立直达光路的系统 | |
CN105191215A (zh) | 双向服务链的数据平面学习 | |
WO2004111775A2 (en) | Static dense multicast path and bandwidth management | |
US10511518B2 (en) | Mechanism and framework for finding optimal multicast tree roots without the knowledge of traffic sources and receivers for Fabricpath and TRILL | |
CN110677341A (zh) | 一种数据转发方法、装置、电子设备及存储介质 | |
CN102365846A (zh) | 路由设置服务器、路由设置方法和路由设置程序 | |
CN108965141A (zh) | 一种多路径路由树的计算方法及装置 | |
US20140192683A1 (en) | Method and a controller system for configuring a software-defined network | |
KR20100071855A (ko) | 다계층 자원 전송망 경로 계산에 필요한 자원 관리 및 재귀적 경로 계산 방법 및 장치 | |
KR20090110916A (ko) | 링크 상태 광고(lsa)에 기반한 신장 트리를 계산하는 방법, 브릿지 및 컴퓨터 네트워크 | |
CN101909004B (zh) | 基于边缘roadm环结构的多域光网络路由方法 | |
US7245640B2 (en) | Packet origination | |
CN112995036A (zh) | 网络流量的调度方法及装置 | |
Jia et al. | Link fault protection and traffic engineering in hybrid SDN networks | |
CA2385844A1 (en) | Label switched routing system and method | |
CN111800339B (zh) | 混合sdn场景下带有路径数目约束的路由优化方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20050810 Termination date: 20110716 |