一种网络拓扑生成方法和装置的制作方法

文档序号:7730269阅读:167来源:国知局
专利名称:一种网络拓扑生成方法和装置的制作方法
技术领域
本发明涉及通信领域,特别涉及一种网络拓扑生成方法和装置。
背景技术
随着互联网的快速发展,互联网中承载着越来越多的业务。因此,非常有必要合理地规划网络,生成可靠性较高的网络拓扑。目前网络拓扑生成的方法如下随机生成一个逻辑网络拓扑,判断该逻辑网络拓扑是否是能够抗故障的逻辑网络拓扑,如果是,则保留该逻辑网络拓扑,如果否,则丢弃该逻辑网络拓扑。其中,判断该逻辑网络拓扑是否是能够抗故障的逻辑网络拓扑,具体方法包括在逻辑网络拓扑中查找最小的环,如果没有查找到环,则该逻辑网络拓扑是不能抗故障的逻辑网络拓扑;如果查找到环,将该环的逻辑链路映射到物理网络拓扑中,然后查找分离路径,所谓分离路径是指路径不经过重合的节点、链路、或者SRLGGhare Risk Link Group,共享风险链路组),如果查找到分离路径,则将该环收缩为一个节点,如果没有查找到分离路径,则该逻辑网络拓扑是不能抗故障的逻辑网络拓扑。重复上述查找环的过程,如果整个逻辑网络拓扑收缩为一个节点,则该逻辑网络拓扑是能够抗故障的逻辑网络拓扑, 否则,该逻辑网络拓扑是不能抗故障的逻辑网络拓扑。由此可见,现有技术一旦发现不能抗故障的逻辑网络拓扑就会丢弃,然后再重新生成其他符合条件的逻辑网络拓扑,因此,拓扑的生成效率低下。

发明内容
为了提高网络拓扑生成的效率,本发明实施例提供了一种网络拓扑生成方法和装置。所述技术方案如下一种网络拓扑生成方法,所述方法包括步骤a 对逻辑网络拓扑进行二连通校验,得到满足二连通条件的逻辑网络拓扑;步骤b 在所述满足二连通条件的逻辑网络拓扑中查找环;步骤c 将所述环的逻辑链路分别映射到物理网络拓扑中的路径,判断所有路径中的任意两条路径是否是分离路径;步骤d:如果是,将所述环收缩为一个节点,执行步骤e,如果否,在所述环的任意两个节点之间增加一条链路,执行步骤b ;步骤e 将所述节点和所述逻辑网络拓扑中的其他节点组成的网络作为新的满足二连通条件的逻辑网络拓扑,循环执行步骤b、步骤C、和步骤d,直至所述逻辑网络拓扑收缩为一个节点。一种网络拓扑生成装置,所述网络拓扑生成装置包括校验模块,用于对逻辑网络拓扑进行二连通校验,得到满足二连通条件的逻辑网络拓扑;
查找模块,用于在所述满足二连通条件的逻辑网络拓扑中查找环;判断模块,用于将所述环的逻辑链路分别映射到物理网络拓扑中的路径,判断所有路径中的任意两条路径是否是分离路径;处理模块,用于如果是,将所述环收缩为一个节点,执行循环模块,如果否,在所述环的任意两个节点之间增加一条链路,执行查找模块;循环模块,用于将所述节点和所述逻辑网络拓扑中的其他节点组成的网络作为新的满足二连通条件的逻辑网络拓扑,循环执行所述查找模块、所述判断模块、和所述处理模块,直至所述逻辑网络拓扑收缩为一个节点。本实施例通过在满足二连通条件的逻辑网络拓扑中查找环,将环的逻辑链路映射到物理网络拓扑中的路径,如果所有路径中的任意两条路径不是分离路径,通过在该环的任意两个节点之间增加一条链路,确保该逻辑网络拓扑最终收缩为一个节点,从而得到能够抗故障的逻辑网络拓扑,提高了网络拓扑生成的效率。


为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本发明实施例提供的网络拓扑生成方法流程图;图2是本发明实施例提供的网络拓扑生成方法流程图;图3a是本发明实施例提供的分离映射示意图;图北是本发明实施例提供的分离映射示意图;图3c是本发明实施例提供的分离映射示意图;图如是本发明实施例提供的分离映射示意图;图4b是本发明实施例提供的分离映射示意图;图如是本发明实施例提供的分离映射示意图;图4d是本发明实施例提供的分离映射示意图;图5是本发明实施例提供的网络拓扑生成装置示意图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。参见图1,本发明实施例的一方面提供了一种网络拓扑生成方法,该方法包括步骤a 对逻辑网络拓扑进行二连通校验,得到满足二连通条件的逻辑网络拓扑;步骤b 在该满足二连通条件的逻辑网络拓扑中查找环;步骤c 将该环的逻辑链路分别映射到物理网络拓扑中的路径,判断所有路径中的任意两条路径是否是分离路径;步骤d:如果是,将该环收缩为一个节点,执行步骤e,如果否,在该环的任意两个节点之间增加一条链路,执行步骤b ;
5
步骤e 将该节点和该逻辑网络拓扑中的其他节点组成的网络作为新的满足二连通条件的逻辑网络拓扑,循环执行步骤b、步骤C、和步骤d,直至该逻辑网络拓扑收缩为一个节点。其中,分离路径是指不经过重合的节点、链路、或者SRLG的路径。其中,本发明实施例中所涉及的“环收缩为一个节点”,并不是将环在物理上变为一个节点的意思,而是在逻辑网络拓扑能否抗故障的逻辑判断过程中,将环在逻辑上“视为”或者说“当作”一个节点。本实施例通过在满足二连通条件的逻辑网络拓扑中查找环,将环的逻辑链路映射到物理网络拓扑中的路径,如果所有路径中的任意两条路径不是分离路径,通过在该环的任意两个节点之间增加一条链路,确保该逻辑网络拓扑最终收缩为一个节点,从而得到能够抗故障的逻辑网络拓扑,提高了网络拓扑生成的效率。参见图2,本发明实施例的一方面提供了一种网络拓扑生成方法,该方法包括101 生成一个逻辑网络拓扑。本实施例并不限定逻辑网络拓扑的生成方法。例如,可以采用网络拓扑生成器基于一定的网络模型生成逻辑网络拓扑。网络拓扑生成器包括GT-ITM、Brite和Inet等,网络模型包括随机模型、层次结构模型、和幂律模型等。其中,随机模型包括Waxman,层次结构模型包括Tiers和!"ransit-stub,幂律模型包括BA和het等。102:对该逻辑网络拓扑进行二连通校验,得到满足二连通条件的逻辑网络拓扑。二连通,是指任意两个节点之间有至少两条分离路径,所谓分离路径是指路径不经过重合的节点、链路、或者共享风险链路组。具体的,对该逻辑网络拓扑进行二连通校验,如果满足二连通条件,则该逻辑网络拓扑即为满足二连通条件的逻辑网络拓扑,如果不满足二连通条件,通过在该逻辑网络拓扑中增加链路得到满足二连通条件的逻辑网络拓扑。只有满足二连通条件,才能得到能够抗故障的逻辑网络拓扑。其中,通过增加链路得到满足二连通条件的逻辑网络拓扑,具体包括首先查找逻辑网络拓扑中的桥边和关键节点,以及由桥边和关键节点分割成的所有二连通子拓扑,添加最少的链路将所有二连通子拓扑连接起来。所谓桥边或关键节点,就是把逻辑网络拓扑分为至少2个二连通子拓扑的边或节点。103 在该满足二连通条件的逻辑网络拓扑中查找环。其中,该环可以是最小的环,即环的节点数量最少,该环还可以是次小的环,即除最小的环之外最小的环。104 将该环的逻辑链路分别映射到物理网络拓扑中的路径,判断所有路径中的任意两条路径是否是分离路径。其中,将所述环的逻辑链路分别映射到物理网络拓扑中的路径,具体包括将该环的每条逻辑链路的两个端点分别作为物理网络拓扑上的源节点和宿节点,在物理网络拓扑上查找源节点和宿节点之间的路径。105 如果是,则将该环收缩为一个节点,执行106。106:将该节点和该逻辑网络拓扑中的其他节点组成的网络作为新的满足二连通条件的逻辑网络拓扑,循环执行步骤103、步骤104、和步骤105,直至整个的逻辑网络拓扑收缩为一个节点,从而得到能够抗故障的逻辑网络拓扑。107 如果否,在该环的任意两个节点之间增加一条链路,然后执行103。其中,该环的任意两个节点,可以是该环中任意两个相邻的节点,也可以是该环中任意两个不相邻的节点。如果是该环中任意两个相邻的节点,则增加链路不会改变该环的连接关系;如果是该环中任意两个不相邻的节点,则增加链路会改变该环的连接关系。进一步的,根据环的任意两个节点之间链路的代价,在链路的代价最小的两个节点之间增加一条链路。本实施例中的链路的代价,取决于链路数量η和链路成本Cbw两个参数,链路代价是nXCbw。下面分别举例说明。一条GE(Gigabit Ethernet,千兆以太网)链路和一条 IOGE链路的成本Cbw分别为5和10,如果两个节点之间有η条链路,则GE链路代价是5η, IOGE链路代价是10η。第一种情况,在环中任意两个相邻的节点之间增加一条链路I.参见图3a,逻辑网络拓扑为用圆圈标识的节点1、2、3、4组成的一个四边形的环。物理网络拓为用方框标识的节点1’、2’、3’、4’组成的一个四边形的环,并且该物理网络拓扑还包括1’ -4’这一链路。在本实例中,设物理网络拓扑中的链路2’ -4’和链路 1’ _3’在同一共享风险链路组。首先判断出该逻辑网络拓扑满足二连通条件,然后在该逻辑网络拓扑中查找环,查找到的环为用圆圈标识的节点1、2、3、4组成的四边形的环(即 1-2-3-4-1),将该环的4条逻辑链路(即1-2/2-4/4-3/3-1)分别映射到物理网络拓扑中的路径(1,_2,/2,-4,/4,-3,/3,-1,),由于路径2,-4,和路径1,-3,在同一共享风险链路组,二者不是分离路径,因此,该环不能收缩为一个节点。II.参见图北,在逻辑网络拓扑中相邻节点1和2之间增加一条链路,此时,在该逻辑网络拓扑中查找到的环是1-2-1,将该环的2条逻辑链路(即1-2/2-1)映射到物理网络拓扑的路径为1’_2’和1’ _4’-2’,这两条路径彼此之间是分离路径,因此,该环(1-2-1) 可以收缩为一个节点。环(1-2-1)收缩后的节点表示为(1,2)。III.参见图3c,将节点(1,2)和逻辑网络拓扑中的其他节点3、4组成的网络作为新的逻辑网络拓扑,然后在新的逻辑网络拓扑中查找到的环为(1,2)-3-4-(1,2),环上的逻辑链路为1-3/3-4/4-2,映射至物理网络拓扑的路径为1,-3,/3,-4,/4,-1,-2’,路径 1,-3,/3,-4,/4,-1,-2,中的任意两条路径彼此是分离路径,因此,将环(1,2)-3-4-(1, 2)收缩为一个节点,至此整个逻辑网络拓扑收缩为一个节点,从而得到能够抗故障的逻辑网络拓扑。第二种情况,在环中任意两个不相邻的节点之间增加一条链路I.参见图4a,逻辑网络拓扑为八个节点1_8组成的1_2-3-4-5-6-7-8_1 八条边的环。如果该逻辑网络拓扑可以收缩为一个节点,则要求这8条链路 1-2/2-3/3-4/4-5/5-6/6-7/7-8/8-1映射到物理网络拓扑中的所有路径中的任意两条路径都是分离路径,这里设映射到物理网络拓扑中的所有路径中的部分路径不是分离路径,则该环不能收缩为一个节点。II.参见图4b,在环中任意两个不相邻的节点之间,如节点4-8之间增加一条链路,将逻辑网络拓扑划分为两个5节点环1-2-3-4-8-1和4-5-6-7-8-4。III.参见图4c,设先查找到1-2-3-4-8-1这个环,该环映射到物理网络拓扑中的所有路径中的任意两条路径都是分离路径,因此,该环可以收缩为一个节点,参见图4c,环
71-2-3-4-8-1收缩后的节点可以表示为(1,2,3,4,8)。IV.参见图4d,将节点(1,2,3,4,8)和逻辑网络拓扑中的其他节点5、6、7组成的网络作为新的逻辑网络拓扑,然后在新的逻辑网络拓扑中查找到的环为(1,2,3,4, 8)-5-6-7-(1,2,3,4,幻,设该环的逻辑链路1-5/5-6/6-7/7-1映射到物理网络拓扑中的所有路径中的任意两条路径都是分离路径,因此,该环可以收缩为一个节点,记为(1,2,3,4, 8,5,6,7)。至此整个逻辑网络拓扑收缩为一个节点,从而得到能够抗故障的逻辑网络拓扑。本实施例通过在满足二连通条件的逻辑网络拓扑中查找环,将环的逻辑链路映射到物理网络拓扑中的路径,如果所有路径中的任意两条路径不是分离路径,通过在该环的任意两个节点之间增加一条链路,确保该逻辑网络拓扑最终收缩为一个节点,从而得到能够抗故障的逻辑网络拓扑,提高了网络拓扑生成的效率。参见图5,本发明实施例的另一方面提供了一种网络拓扑生成装置,包括校验模块201,用于对逻辑网络拓扑进行二连通校验,得到满足二连通条件的逻辑网络拓扑;查找模块202,用于在该满足二连通条件的逻辑网络拓扑中查找环;判断模块203,用于将该环的逻辑链路分别映射到物理网络拓扑中的路径,判断所有路径中的任意两条路径是否是分离路径;处理模块204,用于如果是,将该环收缩为一个节点,执行循环模块205,如果否, 在该环的任意两个节点之间增加一条链路,执行查找模块202 ;循环模块205,用于将该节点和该逻辑网络拓扑中的其他节点组成的网络作为新的满足二连通条件的逻辑网络拓扑,循环执行该查找模块202、该判断模块203、和该处理模块204,直至该逻辑网络拓扑收缩为一个节点。其中,校验模块201在对逻辑网络拓扑进行二连通校验,得到满足二连通条件的逻辑网络拓扑时,具体用于对该逻辑网络拓扑进行二连通校验,如果不满足二连通条件,通过在该逻辑网络拓扑中增加链路得到满足二连通条件的逻辑网络拓扑。其中,判断模块203在将该环的逻辑链路分别映射到物理网络拓扑中的路径时, 具体用于将该环的每条逻辑链路的两个端点分别作为该物理网络拓扑上的源节点和宿节点,在该物理网络拓扑上查找源节点和宿节点之间的路径。其中,处理模块204在该环的任意两个节点之间增加一条链路时,具体用于根据该环的任意两个节点之间链路的代价,在链路的代价最小的两个节点之间增加一条链路。其中,该环的任意两个节点是该环中任意两个相邻的节点或任意两个不相邻的节
点ο本实施例通过在满足二连通条件的逻辑网络拓扑中查找环,将环的逻辑链路映射到物理网络拓扑中的路径,如果所有路径中的任意两条路径不是分离路径,通过在该环的任意两个节点之间增加一条链路,确保该逻辑网络拓扑最终收缩为一个节点,从而得到能够抗故障的逻辑网络拓扑,提高了网络拓扑生成的效率。本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种网络拓扑生成方法,其特征在于,所述方法包括步骤a 对逻辑网络拓扑进行二连通校验,得到满足二连通条件的逻辑网络拓扑; 步骤b 在所述满足二连通条件的逻辑网络拓扑中查找环;步骤c 将所述环的逻辑链路分别映射到物理网络拓扑中的路径,判断所有路径中的任意两条路径是否是分离路径;步骤d 如果是,将所述环收缩为一个节点,执行步骤e,如果否,在所述环的任意两个节点之间增加一条链路,执行步骤b ;步骤e 将所述节点和所述逻辑网络拓扑中的其他节点组成的网络作为新的满足二连通条件的逻辑网络拓扑,循环执行步骤b、步骤C、和步骤d,直至所述逻辑网络拓扑收缩为一个节点。
2.根据权利要求1所述的方法,其特征在于,所述步骤a对逻辑网络拓扑进行二连通校验,得到满足二连通条件的逻辑网络拓扑,包括对所述逻辑网络拓扑进行二连通校验,如果不满足二连通条件,通过在所述逻辑网络拓扑中增加链路得到满足二连通条件的逻辑网络拓扑。
3.根据权利要求1所述的方法,其特征在于,所述步骤c将所述环的逻辑链路分别映射到物理网络拓扑中的路径,包括将所述环的每条逻辑链路的两个端点分别作为所述物理网络拓扑上的源节点和宿节点,在所述物理网络拓扑上查找源节点和宿节点之间的路径。
4.根据权利要求1所述的方法,其特征在于,所述步骤d在所述环的任意两个节点之间增加一条链路,包括根据所述环的任意两个节点之间链路的代价,在链路的代价最小的两个节点之间增加一条链路。
5.根据权利要求1-4任一权利要求所述的方法,其特征在于,所述环的任意两个节点是所述环中任意两个相邻的节点或任意两个不相邻的节点。
6.一种网络拓扑生成装置,其特征在于,所述网络拓扑生成装置包括校验模块,用于对逻辑网络拓扑进行二连通校验,得到满足二连通条件的逻辑网络拓扑;查找模块,用于在所述满足二连通条件的逻辑网络拓扑中查找环; 判断模块,用于将所述环的逻辑链路分别映射到物理网络拓扑中的路径,判断所有路径中的任意两条路径是否是分离路径;处理模块,用于如果是,将所述环收缩为一个节点,执行循环模块,如果否,在所述环的任意两个节点之间增加一条链路,执行查找模块;循环模块,用于将所述节点和所述逻辑网络拓扑中的其他节点组成的网络作为新的满足二连通条件的逻辑网络拓扑,循环执行所述查找模块、所述判断模块、和所述处理模块, 直至所述逻辑网络拓扑收缩为一个节点。
7.根据权利要求6所述的网络拓扑生成装置,其特征在于,所述校验模块在对逻辑网络拓扑进行二连通校验,得到满足二连通条件的逻辑网络拓扑时,具体用于对所述逻辑网络拓扑进行二连通校验,如果不满足二连通条件,通过在所述逻辑网络拓扑中增加链路得到满足二连通条件的逻辑网络拓扑。
8.根据权利要求6所述的网络拓扑生成装置,其特征在于,所述判断模块在将所述环的逻辑链路分别映射到物理网络拓扑中的路径时,具体用于将所述环的每条逻辑链路的两个端点分别作为所述物理网络拓扑上的源节点和宿节点,在所述物理网络拓扑上查找源节点和宿节点之间的路径。
9.根据权利要求6所述的网络拓扑生成装置,其特征在于,所述处理模块在所述环的任意两个节点之间增加一条链路时,具体用于根据所述环的任意两个节点之间链路的代价,在链路的代价最小的两个节点之间增加一条链路。
10.根据权利要求6-9任一权利要求所述的网络拓扑生成装置,其特征在于,所述环的任意两个节点是所述环中任意两个相邻的节点或任意两个不相邻的节点。
全文摘要
本发明公开了一种网络拓扑生成方法和装置,属于通信领域。所述方法包括a对逻辑网络拓扑进行二连通校验,得到满足二连通条件的逻辑网络拓扑;b在满足二连通条件的逻辑网络拓扑中查找环;c将环的逻辑链路分别映射到物理网络拓扑中的路径,判断所有路径中的任意两条路径是否是分离路径;d如果是,将环收缩为一个节点,执行e,如果否,在环的任意两个节点之间增加一条链路,执行b;e将该节点和其他节点组成的网络作为新的满足二连通条件的逻辑网络拓扑,循环执行b、c和d,直至逻辑网络拓扑收缩为一个节点。本发明通过在环的任意两个节点之间增加一条链路,确保逻辑网络拓扑最终收缩为一个节点,提高了网络拓扑生成的效率。
文档编号H04L12/24GK102355362SQ20111020641
公开日2012年2月15日 申请日期2011年7月22日 优先权日2011年7月22日
发明者隋志成 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1