可扩展路由器中OSPF链路状态信息的分布式存储方法技术

技术编号:11179379 阅读:153 留言:0更新日期:2015-03-25 09:09
本发明专利技术公开了一种可扩展路由器中OSPF链路状态信息的分布式存储方法,包括以下步骤:S1:对待处理的OSPF区域中的各项参数进行初始化;S2:将所述待处理的OSPF区域的网络拓扑结构图形转换成树形结构;S3:根据所述树形结构对所述待处理的OSPF区域进行区域划分及进行节点处理器的分配;S4:在按照预设顺序划分后的每个区域内选择一个代理路由器用以交换各个区域间的OSPF链路状态信息。本发明专利技术的方法既可以减少OSPF内部总体的交换链路状态信息的带宽,又可以很好地实现板卡间的负载均衡。

【技术实现步骤摘要】
可扩展路由器中OSPF链路状态信息的分布式存储方法
本专利技术涉及互联网IP路由器体系结构设计研宄
,特别涉及一种可扩展 路由器中0SPF链路状态信息的分布式存储方法。
技术介绍
Internet技术的发展特别是云计算和物联网技术的快速发展给路由器的处理能 力带来了很大的挑战,大量的数据充斥着网络带宽,这种现状带来的问题促使了可扩展路 由器的兴起与发展。可扩展路由器是一种建立在路由器的功能、性能以及其接口上的可扩 展性路由器。 OSPF(OpenShortestPathFirst,开放式最短路径优先)协议是现在应用最广泛 的IGP(InteriorGatewayProtocol,内部网关协议)协议,其配置和实施决定整个网络的 性能。通常来说,OSPF协议适用于大型的路由系统,尽管OSPF协议本身是以使用区域划分 的方法来减少路由器之间的信息通信量,但是一个配置恰当的OSPF区域内部可能仍然会 有几百台甚至上千台的路由器信息需要维护。另外,OSPF协议本身所包含的链路状态信息 也会占用很大的网络带宽,这就使得整个网络的LSDB(LinkStateDataBase,链路状态数 据库)数据库非常庞大,这就给OSPF区域内部的路由信息维护带来了很大的挑战。目前, 解决这种问题的方法往往是使用可扩展路由器中的多个节点处理器去同时维护整个区域 的信息,这样,单个OSPF区域内需要维护数量较大的链路状态信息,可扩展路由器中的多 个处理器同时管理着区域中的链路状态信息,这就在一定程度上造成了冗余存储。因此,这 种方法可能会导致板卡的负载不均衡,而这种负载不均衡的情况可能会进一步阻碍整个区 域的路由信息处理速度。
技术实现思路
本专利技术旨在至少在一定程度上解决上述相关技术中的技术问题之一。 为此,本专利技术的目的在于提出一种可扩展路由器中OSPF链路状态信息的分布式 存储方法,该方法既可以减少OSPF内部总体的交换链路状态信息的带宽,又可以很好地实 现板卡间的负载均衡。 为达到上述目的,本专利技术的实施例提出了一种可扩展路由器中OSPF链路状态信 息的分布式存储方法,包括以下步骤:S1 :对待处理的OSPF区域中的各项参数进行初始化; S2 :将所述待处理的OSPF区域的网络拓扑结构图形转换成树形结构;S3 :根据所述树形 结构对所述待处理的OSPF区域进行区域划分及进行节点处理器的分配;S4 :在按照预设顺 序划分后的每个区域内选择一个代理路由器用以交换各个区域间的OSPF链路状态信息。 根据本专利技术实施例的通过将与指定的路由器相连的所有路由器作为其孩子节点 的思想将OSPF区域的网络拓扑图转换为特定的抽象树型结构,然后按照一定的遍历顺序 遍历这种树型结构,每当得到一定数量的路由器时,将这些一定数量的路由器的链路状态 信息交给一个节点处理器去维护,直到区域中所有的路由器平均分配给不同的节点处理器 去维护链路状态信息,并通过划分后的区域内的代理器和管理该区域的处理器进行路由器 链路状态信息的管理和维护,而其它路由器不做任何改动。这样,每个处理器就只会管理和 维护自己所需要管理的区域,而区域之间选择各自的代理节点相互发布信息,从而可以减 少OSPF内部总体的交换链路状态信息的带宽,又可以很好地实现板卡间的负载均衡,并有 效地提高了可扩展路由器中各处理器的处理效率。 另外,根据本专利技术上述实施例的可扩展路由器中OSPF链路状态信息的分布式存 储方法还可以具有如下附加的技术特征: 在本专利技术的一个实施例中,所述步骤S1进一步包括:S11 :获取所述待处理的OSPF 区域中的可扩展路由器中的节点处理器的个数NUMP以及所述待处理的OSPF区域中路由器 的个数NUMK,设NUMP=n,NUMK=m;S12 :将所述可扩展路由器中各节点处理器按照当前任 务的个数从小到大进行排序;S13 :设置一个大小为预设大小的数组存放所有路由器的标 识信息,并将所述数组中的所有元素置零以完成初始化;S14 :设置数据结构RTNode,用以 存储各个路由器之间的连接关系,其中,所述数据结构RTNode中的信息包括:R〇uterID, 指向左孩子路由器的LMUtOT指针和指向右孩子路由器的RMUtOT指针。 在本专利技术的一个实施例中,所述步骤S2进一步包括:S21 :查找所有路由器的路由 表以获取R〇uter_t;S22 :以Router_作为根节点开始构建树型结构;S23 :将所述根节点 RouterM()t的RouterID放入所述数组,将CPointer指向数组中的第一个元素,并根据当前 路由器生成树形结构。 在本专利技术的一个实施例中,所述步骤S3进一步包括:S31 :根据节点处理器的个数 n和所有路由器的个数m,得到每个要划分成的区域的路由器的个数A,其中,A= [m/n]+l, 并对所述树型结构进行遍历;S32 :查找所述树形结构最左边的叶子节点;S33 :从所述最左 边的叶子节点开始按照所述预设顺序依次进行遍历;S34 :将遍历后得到的A个路由器分配 给该划分区域内的n个节点处理器中指定的一个进行处理;S35 :判断所述A个路由器是否 都分配给了指定的节点处理器,如果未分配完毕,则继续执行该步骤S35,如果分配完毕,则 进入开始遍历,并执行n- ;S36 :判断n是否小于或等于0,如果n小于或等于0,则判定所 述待处理OSPF区域分区完成,否则继续执行步骤S32至步骤S36。 在本专利技术的一个实施例中,所述步骤S4进一步包括:在每个划分后的区域中选择 连接数最多的路由器作为本区域内的代理路由器,如果连接数最多的路由器有多个,则选 择第一个找到的路由器作为本区域内的代理路由器,并通过所述代理路由器代理该区域内 的所有路由器与其它划分后的区域进行OSPF链路状态信息的交换,并通过划分后的区域 内的代理路由器和管理该区域的节点处理器进行路由器链路状态信息的管理和维护,并且 其它路由器不做任何改动。 在本专利技术的一个实施例中,所述步骤S21进一步包括:S211 :记录每个路由器的路 由表中与其自身直连的路由器的个数;S212 :获取所述路由表中与其自身直连的路由器的 个数最多的路由器的RouterID,并将该路由器标记为RouterM()t;S213 :如果所述路由表中 与其自身直连的路由器的个数最多的路由器为多个,则将到所述待处理的OSPF区域中的 指定路由器〇R,DesignatedRouter)的跳数最小的路由器作为RouterMQt。 在本专利技术的一个实施例中,所述步骤S23进一步包括:S231 :查询当前路由器的路 由表,获取与所述当前路由器直接相连的所有路由器的个数K,其中,将到当前路由器之间 的跳数为1的路由器称为与当前路由器直接相连的路由器;S232 :根据从上到下的顺序查 找所述当前路由器的路由表,并将所述当前路由器的LMUte指针指向第一个在路由表中查 询到的路由器,并将当前查找到的路由器的RouterID放入数组,然后执行K- ;S233 :判断 K是否大于0 ;S234 :如果K大于0,则继续在当前路由器的路由表中查找与CPointer指针 指向本文档来自技高网
...
可扩展路由器中OSPF链路状态信息的分布式存储方法

【技术保护点】
一种可扩展路由器中OSPF链路状态信息的分布式存储方法,其特征在于,包括以下步骤:S1:对待处理的OSPF区域中的各项参数进行初始化;S2:将所述待处理的OSPF区域的网络拓扑结构图形转换成树形结构;S3:根据所述树形结构对所述待处理的OSPF区域进行区域划分及进行节点处理器的分配;S4:在按照预设遍历顺序划分后的每个区域内选择一个代理路由器用以交换各个区域间的OSPF链路状态信息。

【技术特征摘要】
1. 一种可扩展路由器中OSPF链路状态信息的分布式存储方法,其特征在于,包括以下 步骤: 51 :对待处理的OSPF区域中的各项参数进行初始化; 52 :将所述待处理的OSPF区域的网络拓扑结构图形转换成树形结构; 53 :根据所述树形结构对所述待处理的OSPF区域进行区域划分及进行节点处理器的 分配; S4:在按照预设遍历顺序划分后的每个区域内选择一个代理路由器用以交换各个区域 间的OSPF链路状态信息。2. 根据权利要求1所述的可扩展路由器中OSPF链路状态信息的分布式存储方法,其特 征在于,所述步骤Sl进一步包括: 511 :获取所述待处理的OSPF区域中的可扩展路由器中的节点处理器的个数NUMp以及 所述待处理的OSPF区域中路由器的个数NUMk,设NUMp=n,NUMK=m; 512 :将所述可扩展路由器中各节点处理器按照当前任务的个数从小到大进行排序; S13:设置一个大小为预设大小的数组存放所有路由器的标识信息,并将所述数组中的 所有元素置零以完成初始化; S14:设置数据结构RTNode,用以存储各个路由器之间的连接关系,其中,所述数据结 构RTNode中的信息包括:RouterID,指向左孩子路由器的Lroute指针和指向右孩子路由器 的Rrout?指针。3. 根据权利要求2所述的可扩展路由器中OSPF链路状态信息的分布式存储方法,其特 征在于,所述步骤S2进一步包括: 521 :查找所有路由器的路由表以获取Routerrajt; 522 :以Routerrat作为根节点开始构建树型结构; 523 :将所述根节点Routernxrt的RouterID放入所述数组,将CPointer指向数组中的 第一个元素,并根据当前路由器生成树形结构。4. 根据权利要求2所述的可扩展路由器中OSPF链路状态信息的分布式存储方法,其特 征在于,所述步骤S3进一步包括: 531 :根据节点处理器的个数η和路由器的个数m,得到要划分成的区域的路由器的个 数A,其中,A= [m/n]+l,并对所述树型结构进行遍历; 532 :查找所述树形结构最左边的叶子节点; 533 :从所述最左边的叶子节点开始按照所述预设顺序依次进行遍历; S34:将遍历后得到的A个路由器分配给该划分区域内的η个节点处理器中指定的一个 进行处理; 535 :判断所述A个路由器是否都分配给了指定的节点处理器,如果未分配完毕,则继 续执行该步骤S35,如果分配完毕,则进入开始遍历,并执行η-; 536 :判断η是否小于或等于0,如果η小于或等于0,则判定所述待处理OSPF区域分区 完成,否则继续执行步骤S32至步骤S36。5. 根据权利要求...

【专利技术属性】
技术研发人员:陈文龙王淑贤郑喆
申请(专利权)人:首都师范大学
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1