CN108199955B - 一种路由建立方法和装置 - Google Patents
一种路由建立方法和装置 Download PDFInfo
- Publication number
- CN108199955B CN108199955B CN201611119053.0A CN201611119053A CN108199955B CN 108199955 B CN108199955 B CN 108199955B CN 201611119053 A CN201611119053 A CN 201611119053A CN 108199955 B CN108199955 B CN 108199955B
- Authority
- CN
- China
- Prior art keywords
- node
- nodes
- shortest path
- pass
- path
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 28
- 238000004364 calculation method Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 9
- 235000008694 Humulus lupulus Nutrition 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/22—Alternate routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/122—Shortest path evaluation by minimising distances, e.g. by selecting a route with minimum of number of hops
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种路由建立方法和装置。该方法包括:在网络拓扑中,确定包含源节点、必经节点和目的节点的最短环形链路;在所述最短环形链路中,确定从所述源节点到所述目的节点的两条路径;根据其中一条路径建立所述源节点和所述目的节点的工作路由,根据另一条路径建立所述源节点和所述目的节点的保护路由。本发明只需计算出包含源节点、必经节点和目的节点的最短环形链路即可确定源节点和目的节点的工作路由和保护路由,并且保证了工作路由和保护路由都经过了各自的必经节点,计算过程简便且不耗时,提升了路由建立效率,降低了路由建立失败的风险。
Description
技术领域
本发明涉及通信技术领域,特别是涉及一种路由建立方法和装置。
背景技术
随着大规模多媒体网络的发展,以及多媒体流和视讯会议等新业务的出现,对网络提出了更高的要求,不仅需要网络满足业务的QoS要求,还要在网络连接出现故障时保持业务持续不间断地进行,如果在源节点和目的节点只有一条通信路径,则在链路故障时不能满足快速恢复业务的要求。要达到上述要求,目前的做法是在源节点和目的节点之间提供两条链路分离的路径,其中一条路径为工作路由,另一条路径为工作路由的保护路由。
现有的路由建立方法是采用K优路径算法,先计算一条最短路径作为工作路由,然后再计算与该工作路由分离的最短路径作为保护路由。例如:对于“日字形”组网场景,在进行工作路由计算时,可能会使用“日字形”中间一横这个边作为工作路由的部分路径,在计算保护路由时,由于无论怎么选取路径都不会和工作路由分离,这时需要重新计算工作路由,再根据重新计算的工作路由计算保护路由,直到计算出分离的工作路由和保护路由为止。对于较为复杂的组网场景来说,可能需要通过K优路径算法计算几千、几万、甚至几亿次才能得到分离的工作路由和保护路由。所以,现有计算工作路由和保护路由的过程复杂且耗时,容易因为超时导致路由建立失败。
在实际工程当中,除了需要找到两条链路分离的路径,还要求两条路径分别经过指定的节点或链路(必经节点或必经链路),同时最终选定的工作路由和保护路由是所有可行方案中最优的路径,如:两条分离链路的代价之和最小。由于对工作路由和保护路由进行必经约束,所以进一步增加了确定工作路由和保护路由的过程复杂度,根据容易因为超时导致路由建立失败。
发明内容
本发明提供一种路由建立方法和装置,用以解决现有确定工作路由和保护路由的过程复杂且耗时的问题。
为了解决上述技术问题,本发明是通过以下技术方案来解决的:
本发明提供了一种路由建立方法,包括:在网络拓扑中,确定包含源节点、必经节点和目的节点的最短环形链路;在所述最短环形链路中,确定从所述源节点到所述目的节点的两条路径;根据其中一条路径建立所述源节点和所述目的节点的工作路由,根据另一条路径建立所述源节点和所述目的节点的保护路由。
其中,所述必经节点包括:一类必经节点和/或二类必经节点;所述确定包含源节点、必经节点和目的节点的最短环形链路,包括:按照预先为所述源节点、所述一类必经节点、二类必经节点和所述目的节点设置的节点顺序,确定出顺序经过每个节点的最短环形链路,以在所述最短环形链路中,使从所述源节点到所述目的节点的两条路径中的一条路径经过所述一类必经节点,另一条路径经过所述二类必经节点。
其中,所述确定包含源节点、必经节点和目的节点的最短环形链路,包括:在网络拓扑中禁用二类必经节点;在禁用所述二类必经节点的网络拓扑中,确定从源节点到目的节点的并且经过一类必经节点的第一最短路径;在网络拓扑中启用所述二类必经节点,禁用所述一类必经节点以及所述第一最短路径;在禁用所述一类必经节点以及所述第一最短路径的网络拓扑中,确定从所述源节点到所述目的节点的并且经过所述二类必经节点的第二最短路径;在所述第一最短路径和所述第二最短路径中,删除所述第一最短路径和所述第二最短路径共同经过的节点链路,形成最短环形链路。
其中,所述在禁用所述二类必经节点的网络拓扑中,确定从源节点到目的节点的并且经过一类必经节点的第一最短路径,包括:在禁用所述二类必经节点的网络拓扑中,利用预设的Dijkstra算法,确定从所述源节点到所述目的节点的最短路径,并判断所述最短路径是否经过所述一类必经节点;如果所述最短路径经过所述一类必经节点,则将所述最短路径作为所述第一最短路径;如果所述最短路径不经过所述一类必经节点,则利用预设的K优算法,确定从所述源节点到所述目的节点的并且经过所述一类必经节点的所述第一最短路径。
其中,所述在禁用所述一类必经节点以及所述第一最短路径的网络拓扑中, 确定从所述源节点到所述目的节点的并且经过所述二类必经节点的第二最短路径,包括:在禁用所述一类必经节点以及所述第一最短路径的网络拓扑中,利用预设的Dijkstra算法,确定从所述源节点到所述目的节点的最短路径,并判断所述最短路径是否经过所述二类必经节点;如果所述最短路径经过所述二类必经节点,则将所述最短路径作为所述第二最短路径;如果所述最短路径不经过所述二类必经节点,则利用预设的K优算法,确定从所述源节点到所述目的节点的并且经过所述二类必经节点的所述第二最短路径。
其中,所述根据其中一条路径建立所述源节点和所述目的节点的工作路由,根据另一条路径建立所述源节点和所述目的节点的保护路由,包括:根据经过所述一类必经节点的路径建立所述源节点和所述目的节点的工作路由;根据经过所述二类必经节点的路径建立所述源节点和所述目的节点的保护路由。
其中,如果所述一类必经节点为工作必经节点,则所述二类必经节点为保护必经节点;如果所述一类必经节点为保护必经节点,则所述二类必经节点为工作必经节点;其中,所述工作必经节点是指工作路由必须经过的节点,所述保护必经节点是指保护路由必须经过的节点。
本发明还提供了一种路由建立装置,包括:确定模块,用于在网络拓扑中,确定包含源节点、必经节点和目的节点的最短环形链路;确定模块,用于在所述最短环形链路中,确定从所述源节点到所述目的节点的两条路径;建立模块,用于根据其中一条路径建立所述源节点和所述目的节点的工作路由,根据另一条路径建立所述源节点和所述目的节点的保护路由。
其中,所述必经节点包括:一类必经节点和/或二类必经节点;所述确定模块,用于按照预先为所述源节点、所述一类必经节点、二类必经节点和所述目的节点设置的节点顺序,确定出顺序经过每个节点的最短环形链路,以在所述最短环形链路中,使从所述源节点到所述目的节点的两条路径中的一条路径经过所述一类必经节点,另一条路径经过所述二类必经节点。
其中,所述确定模块,进一步用于:在网络拓扑中禁用二类必经节点;在禁用所述二类必经节点的网络拓扑中,确定从源节点到目的节点的并且经过一类必经节点的第一最短路径;在网络拓扑中启用所述二类必经节点,禁用所述一类必经节点以及所述第一最短路径;在禁用所述一类必经节点以及所述第一最短路径的网络拓扑中,确定从所述源节点到所述目的节点的并且经过所述二 类必经节点的第二最短路径;在所述第一最短路径和所述第二最短路径中,删除所述第一最短路径和所述第二最短路径共同经过的节点链路,形成最短环形链路。
其中,所述确定模块,具体用于:在禁用所述二类必经节点的网络拓扑中,利用预设的Dijkstra算法,确定从所述源节点到所述目的节点的最短路径,并判断所述最短路径是否经过所述一类必经节点;如果所述最短路径经过所述一类必经节点,则将所述最短路径作为所述第一最短路径;如果所述最短路径不经过所述一类必经节点,则利用预设的K优算法,确定从所述源节点到所述目的节点的并且经过所述一类必经节点的所述第一最短路径。
其中,所述确定模块,具体用于:在禁用所述一类必经节点以及所述第一最短路径的网络拓扑中,利用预设的Dijkstra算法,确定从所述源节点到所述目的节点的最短路径,并判断所述最短路径是否经过所述二类必经节点;如果所述最短路径经过所述二类必经节点,则将所述最短路径作为所述第二最短路径;如果所述最短路径不经过所述二类必经节点,则利用预设的K优算法,确定从所述源节点到所述目的节点的并且经过所述二类必经节点的所述第二最短路径。
其中,所述建立模块,用于根据经过所述一类必经节点的路径建立所述源节点和所述目的节点的工作路由;根据经过所述二类必经节点的路径建立所述源节点和所述目的节点的保护路由。
其中,如果所述一类必经节点为工作必经节点,则所述二类必经节点为保护必经节点;如果所述一类必经节点为保护必经节点,则所述二类必经节点为工作必经节点;其中,所述工作必经节点是指工作路由必须经过的节点,所述保护必经节点是指保护路由必须经过的节点。
本发明有益效果如下:
本发明只需确定出包含源节点、必经节点和目的节点的最短环形链路即可确定源节点和目的节点的工作路由和保护路由,并且保证了工作路由和保护路由都经过了各自的必经节点,确定过程简便且不耗时,提升了路由建立效率,降低了路由建立失败的风险。
附图说明
图1是根据本发明第一实施例的路由建立方法的流程图;
图2是根据本发明第二实施例的确定最短环形链路的步骤流程图;
图3是根据本发明第三实施例的路由建立方法的流程图;
图4-1是根据本发明第三实施例的网络拓扑示意图;
图4-2是根据本发明第三实施例的确定最短路径P1的示意图;
图4-3是根据本发明第三实施例的最终得到的最短路径P1的示意图;
图4-4是根据本发明第三实施例的确定最短路径P2的示意图;
图4-5是根据本发明第三实施例的最终得到的最短路径P2的示意图;
图4-6是根据本发明第三实施例的最短环形链路的示意图;
图5是根据本发明第四实施例的路由建立装置的结构图。
具体实施方式
以下结合附图以及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。
实施例一
本实施例提供一种路由建立方法,如图1所示,为根据本发明第一实施例的路由建立方法的流程图。
步骤S110,在网络拓扑中,确定包含源节点、必经节点和目的节点的最短环形链路。
在网络拓扑中,包括多个节点以及多条用于连接两个节点的节点链路。
在网络拓扑中,事先指定源节点、目的节点和必经节点。必经节点为最终建立的路由必须经过的节点。
最短环形链路是经过源节点、必经节点和目的节点的最短的环形链路。进一步地,按照预先为源节点、必经节点和目的节点设置的节点顺序,确定出顺序经过每个节点的最短的环形链路,作为最短环形链路。
具体的,可以事先指定必经节点的类型。必经节点的类型包括:一类必经节点和二类必经节点。
按照预先为源节点、目的节点、一类必经节点和二类必经节点设置的节点顺序,确定出顺序经过每个节点的最短的环形链路,作为最短环形链路,以在最短环形链路中,使从源节点到目的节点的两条路径中的一条路径经过一类必经节点,另一条路径经过二类必经节点。
如果一类必经节点为工作必经节点,则二类必经节点为保护必经节点;反之,如果一类必经节点为保护必经节点,则二类必经节点为工作必经节点。工作必经节点是指工作路由必须经过的节点,保护必经节点是指保护路由必须经过的节点。可以事先指定工作路由必须经过的一个或多个工作必经节点或者节点链路,和/或保护路由必须经过的一个或多个保护必经节点或者节点链路。必须经过的节点链路可以通过该节点链路两端的节点表示,即工作路由必须经过的节点链路通过将该节点链路两端的节点作为工作必经节点来表示,保护路由必须经过的节点链路通过将该节点链路两端的节点作为保护必经节点来表示。
步骤S120,在最短环形链路中,确定从源节点到目的节点的两条路径。
在最短环形链路中,确定以源节点作为起点,以目的节点作为终点的路径,因为最短环形链路为一个环形,那么符合要求的路径应为两条,在从源节点到目的节点的两条路径中,其中一条路径经过一类必经节点,另一条路径经过二类必经节点。
步骤S130,根据其中一条路径建立源节点和目的节点的工作路由,根据另一条路径建立源节点和目的节点的保护路由。
根据经过工作必经节点的路径建立源节点和目的节点的工作路由,根据经过保护必经节点的路径建立源节点和目的节点的保护路由。
例如:在网络拓扑中,指定节点A为源节点,节点C为目的节点,节点B为一类必经节点,节点E为二类必经节点;设置最短环形链路中包含节点顺序:节点A→节点B→节点C→节点E→节点A;经确定得到的最短环形链路为:节点A-节点F-节点B-节点C-节点E-节点G-节点H-节点A;由于节点A为源节点,节点C为目的节点,所以可以确定从节点A到节点C的两条路径分别为:节点A→节点F→节点B→节点C,节点A→节点H→节点G→节点E→节点C;如果节点B为工作必经节点,节点E为保护必经节点,则可以根据路径:节点A→节点F→节点B→节点C建立工作路由,根据路径:节点A→节点H→节点G→节点E→节点C建立保护路由。
在本实施例中,只需确定出包含源节点、必经节点和目的节点的最短环形链路即可确定源节点和目的节点的工作路由和保护路由,并且保证了工作路由和保护路由都经过了各自的必经节点,确定过程简便且不耗时,提升了路由建立效率,降低了路由建立失败的风险。
在本实施例中,因为最短环形链路为一个环形,所以最终确定的工作路由和保护路由是分离的两条路由,在工作路由中,如果源节点和目的节点之间的中间节点或是链路出现故障,则可以启用保护路由来替代工作路由。也正是因为最短环形链路是包含源节点、必经节点和目的节点的最短的环形路径,所以最终确定的工作路由和保护路由是最优的工作路由和保护路由。
实施例二
为了使本发确定最短环形链路的过程更加清楚,下面对确定最短环形链路的步骤进一步地描述。在本实施例中,使最短环形链路包含节点顺序:源节点、一类必经节点、目的节点、二类必经节点、源节点。
图2为根据本发明第二实施例的确定最短环形链路的步骤流程图。
步骤S210,在网络拓扑中禁用二类必经节点。
步骤S220,在禁用二类必经节点的网络拓扑中,确定从源节点到目的节点的并且经过一类必经节点的第一最短路径。
第一最短路径是指经过一类必经节点的路径,且该路径是从源节点到目的节点的最短路径。
在网络拓扑中禁用二类必经节点,是为了避免出现第一最短路径经过二类必经节点的情况。
具体的,在禁用二类必经节点的网络拓扑中,利用预设的Dijkstra(迪克斯特拉)算法,确定从源节点到目的节点的最短路径,并判断该最短路径是否经过一类必经节点;如果该最短路径经过一类必经节点,则将该最短路径作为第一最短路径;如果该最短路径不经过一类必经节点,则利用预设的K优(K Shortest Paths或K Shortest Simple Paths)算法,确定从源节点到目的节点的并且经过一类必经节点的第一最短路径。
步骤S230,在网络拓扑中启用二类必经节点,禁用一类必经节点以及第一 最短路径。
步骤S240,在禁用一类必经节点以及第一最短路径的网络拓扑中,确定从源节点到目的节点的并且经过二类必经节点的第二最短路径。
第二最短路径是指经过二类必经节点的路径,且该路径是从源节点到目的节点的最短路径。
在网络拓扑中禁用一类必经节点和第一最短路径,是为了避免第二最短路径经过一类必经节点,也避免第二最短路径和第一最短路径发生重合。
在禁用一类必经节点以及第一最短路径的网络拓扑中,利用预设的Dijkstra算法,确定从源节点到目的节点的最短路径,并判断该最短路径是否经过二类必经节点;如果该最短路径经过二类必经节点,则将该最短路径作为第二最短路径;如果该最短路径不经过二类必经节点,则利用预设的K优算法,确定从源节点到目的节点的并且经过二类必经节点的第二最短路径。
步骤S250,在第一最短路径和第二最短路径中,删除第一最短路径和第二最短路径共同经过的节点链路,形成最短环形链路。
在网络拓扑中,将之前禁用的一类必经节点和第一最短路径重新启用,这样第一最短路径和第二最短路径将会同时存在于网络拓扑中,找出第一最短路径和第二最短路径共同经过的节点链路,即重合的节点链路;在第一最短路径和第二最短路径中删除共同经过的节点链路之后,第一最短路径和第二最短路径的剩余节点链路将会形成一个环形链路,该环形链路即是包含源节点、必经节点和目的节点的最短环形链路,且在最短环形链路中包含节点顺序源节点、一类必经节点、目的节点、二类必经节点、源节点。
本实施例的确定过程在时间复杂度和空间复杂度上,都有很大程度的优化,通过本实施例最终选出的两条路径是完全分离的,保护路径不用依赖于工作路径,且工作路径和保护路径的的代价(权值)是最小的。
根据本实施例可以形成两种确定最短环形链路的方式:
方式一,将工作必经节点作为一类必经节点,将保护必经节点作为二类必经节点,那么可以先确定出经过工作必经节点的第一最短路径,再确定出经过保护必经节点的第二最短路径。
方式二,将保护必经节点作为一类必经节点,将工作必经节点作为二类必 经节点,那么可以先确定出经过保护必经节点的第一最短路径,再确定出经过工作必经节点的第二最短路径。
上述方式一和方式二和单独使用,这时只能得到一组工作路由和保护路由;也可以将方式一和方式二一起使用。如果方式一和方式二同时使用,则可以确定出两组工作路由和保护路由,可以在两组工作路由和保护路由中,选择一组最优的工作路由和保护路由。最优的工作路由和保护路由可以是跳数之和最小的工作路由和保护路由,也可以是代价值/权值之和最小的工作路由和保护路由。
实施例三
下面提供一种较为具体的实施例来进一步地描述本发明。在本实施例中,一类必经节点为工作必经节点,二类必经节点为保护必经节点。
图3是根据本发明第三实施例的路由建立方法的流程图。图4(包括图4-1~图4-6)是根据本发明第三实施例的路由建立方法的示意图。
步骤S310,为网络拓扑中的各条节点链路设置初始权值。
节点链路具有方向性,例如:双向链路和单向链路;单向链路包括:上行链路、下行链路。可以为节点链路设置与方向对应的权值,例如:在设置初始权值时,针对节点A和节点B之间的节点链路,可以使两个方向的权值相同,如链路A→B和链路B→A的权值都为1。
在本实施例中,节点链路两个方向对应的初始权值为1,在确定任意两节点之间的路径对应的权值之和时,可以确定该路径中从第一个节点到最后一个节点的跳数,该跳数即是权值之和。
如图4-1所示的网络拓扑中,包括节点1~节点22,节点12为源节点,节点9为目的节点(或宿节点),节点4和节点21为工作必经节点,节点8为保护必经节点。网络拓扑中的每条节点链路都为双向链路,设置网络拓扑中的每条节点链路的每个方向对应的初始权值为1。例如:节点8→节点10的初始权值为1,节点10→节点8的初始权值也为1。
步骤S320,在网络拓扑中禁用保护必经节点,利用Dijkstra算法,确定源节点到目的节点的最短路径P1,该最短路径P1经过工作必经节点。
在从源节点到目的节点、且经过工作必经节点的各条路径中,最短路径P1 是指所经各条节点链路的初始权值之和最小的路径。该最短路径P1为上述的第一最短路径。
进一步地,在找到从源节点到目的节点、且经过工作必经节点的路径之后,可以按照该路径的方向,获取该路径经过的每条节点链路在该方向上对应的权值,将获取的权值相加,进而确定出该路径对应的权值之和。
如图4-2所示,在网络拓扑中禁用节点8(保护必经节点);利用Dijkstra算法,确定从节点12到节点9最短路径为:节点12→节点10→节点11→节点9,但是该最短路径没有经过节点4和节点21(工作必经节点),需要调用K优算法确定从节点12到节点9的路径且该路径需要经过节点4和节点21,如果算出的路径有多条,则确定每条路径经过的节点链路的初始权值之和,将初始权值之和最小的路径作为最短路径P1。
如图4-3所示的最短路径P1(粗线)的示意图,最短路径P1为:节点12(源节点)→节点3→节点4(工作必经节点)→节点2→节点20→节点21(工作必经节点)→节点5→节点7→节点9(目的节点),该最短路径P1经过的节点链路的初始权值之和为8。
步骤S330,在网络拓扑中启用保护必经节点,禁用工作必经节点和最短路径P1,并修改各条节点链路的初始权值。
因为链路具有方向性,在网络拓扑中禁用最短路径P1所经的各条节点链路,即禁用路径节点12→节点3→节点4→节点2→节点20→节点21→节点5→节点7→节点9,但是,应该注意的是,在网络拓扑中,不禁用路径节点12←节点3←节点4←节点2←节点20←节点21←节点5←节点7←节点9。
确定源节点到网络拓扑中每个节点的最短路径距离;根据源节点到每个节点的最短路径距离以及为每条节点链路设置的初始权值,修改每条链路的权值。
利用Dijkstra算法,确定从源节点到每个节点的最短路径,在该最短路径中,从源节点到该节点的跳数为最短路径距离。
利用公式w'(u,v)=w(u,v)-d(s,v)+d(s,u),修改最初为网络拓扑中各条节点链路设置的初始权值。
其中,u表示链路的起点,v表示链路的终点,s表示源节点,w'(u,v)为链路u→v修改后的权值,w(u,v)为链路u→v的初始权值,d(s,v)为源节点到链路 终点的最短路径距离,d(s,u)为源节点到链路起点的最短路径距离。
例如:确定节点10→节点11的链路的权值,节点10→节点11的链路的初始权值为1,节点12到节点10的最短路径距离为1,节点12到节点11的最短路径距离为2,那么节点10→节点11的链路的权值w'(10,11)=w(10,11)-d(12,11)+d(12,10)=1-2+1=2。
步骤S340,在禁用工作必经节点和最短路径P1的网络拓扑中,利用Dijkstra算法,再次确定源节点到目的节点的最短路径P2,该最短路径P2经过保护必经节点。
在从源节点到目的节点、且经过保护必经节点的各条路径中,最短路径P2是指所经各条节点链路的初始权值之和最小的路径。该最短路径P2为上述的第二最短路径。
如图4-4所示,在网络拓扑中启用节点8(保护必经节点),禁用节点4和节点21(工作必经节点),以及禁用最短路径P1:节点12→节点3→节点4→节点2→节点20→节点21→节点5→节点7→节点9;在得到的新网络拓扑中,利用Dijkstra算法,确定从节点12到节点9的最短路径为:节点12→节点10→节点11→节点9,但是该最短路径没有经过节点8,需要调用K优算法确定从节点12到节点9的路径且该路径需要经过节点8,如果算出的路径有多条,则确定每条路径经过的节点链路的权值(修改之后的权值)之和,将权值之和最小的路径作为最短路径P2。
如图4-5所示的最短路径P2(粗线)的示意图,最短路径P2为:节点12(源节点)→节点10→节点8(保护必经节点)→节点9(目的节点),该最短路径P2经过的节点链路的权值之和为1。
步骤S350,在最短路径P1和最短路径P2中,删除最短路径P1和最短路径P2共同经过的节点链路。
最短路径P1为:节点12→节点3→节点4→节点2→节点20→节点21→节点5→节点7→节点9。
最短路径P2为:节点12→节点10→节点8→节点9。
经过比较,最短路径P1和最短路径P2没有共同经过的节点链路,即没有重合的节点链路。那么,最短路径P1和最短路径P2直接可以组成最短环形链 路,且该最短环形链路顺序经过了节点12、节点4、节点21、节点9和节点8。
如果最短路径P1和最短路径P2有共同经过的节点链路,则需要在最短路径P1和最短路径P2中删除该节点链路。例如:最短路径P1为A→B→H→I→J,最短路径P2为A→F→G→H→B→C→D→E→J,最短路径P1和最短路径P2共同经过的节点链路为B-H,即链路B→H和链路H→B,那么,在最短路径P1(A→B→H→I→J)中删除链路B→H,在最短路径P2(A→F→G→H→B→C→D→E→J)中删除链路H→B,最短路径P1和最短路径P2中的剩余节点链路可以组成最短环形链路A-B-C-D-E-F-G-H-I-J。
步骤S360,根据最短路径P1和最短路径P2中的剩余节点链路,确定工作路由和保护路由。
如图4-6所示,在网络拓扑中启用工作必经节点和最短路径P1,在网络拓扑中同时存在最短路径P1和最短路径P2,在最短路径P1和最短路径P2组成的最短环形链路中,以节点12为起点,以节点9为终点的路径有两条,分别为路径1:节点12→节点3→节点4→节点2→节点20→节点21→节点5→节点7→节点9,以及路径2:节点12→节点10→节点8→节点9。
由于路径1中包含工作必经节点,路径2中包含保护必经节点,所以将路径1作为工作路由,将路径2作为保护路由。
步骤S370,根据确定出的工作路由和保护路由的结果,建立路由。
实施例四
本实施例提供一种路由建立装置,如图5所示,为根据本发明第四实施例的路由建立装置的结构图。
确定模块510,用于在网络拓扑中,确定包含源节点、必经节点和目的节点的最短环形链路,并且,在所述最短环形链路中,确定从所述源节点到所述目的节点的两条路径。
建立模块520,用于根据其中一条路径建立所述源节点和所述目的节点的工作路由,根据另一条路径建立所述源节点和所述目的节点的保护路由。
在一个实施例中,必经节点包括:一类必经节点和/或二类必经节点;
确定模块510,用于按照预先为所述源节点、所述一类必经节点、二类必 经节点和所述目的节点设置的节点顺序,确定出顺序经过每个节点的最短环形链路,以在所述最短环形链路中,使从所述源节点到所述目的节点的两条路径中的一条路径经过所述一类必经节点,另一条路径经过所述二类必经节点。
进一步地,确定模块510,用于在网络拓扑中禁用二类必经节点;在禁用所述二类必经节点的网络拓扑中,确定从源节点到目的节点的并且经过一类必经节点的第一最短路径;在网络拓扑中启用所述二类必经节点,禁用所述一类必经节点以及所述第一最短路径;在禁用所述一类必经节点以及所述第一最短路径的网络拓扑中,确定从所述源节点到所述目的节点的并且经过所述二类必经节点的第二最短路径;在所述第一最短路径和所述第二最短路径中,删除所述第一最短路径和所述第二最短路径共同经过的节点链路,形成最短环形链路。
确定模块510,具体用于:在禁用所述二类必经节点的网络拓扑中,利用预设的Dijkstra算法,确定从所述源节点到所述目的节点的最短路径,并判断所述最短路径是否经过所述一类必经节点;如果所述最短路径经过所述一类必经节点,则将所述最短路径作为所述第一最短路径;如果所述最短路径不经过所述一类必经节点,则利用预设的K优算法,确定从所述源节点到所述目的节点的并且经过所述一类必经节点的所述第一最短路径。
确定模块510,具体用于:在禁用所述一类必经节点以及所述第一最短路径的网络拓扑中,利用预设的Dijkstra算法,确定从所述源节点到所述目的节点的最短路径,并判断所述最短路径是否经过所述二类必经节点;如果所述最短路径经过所述二类必经节点,则将所述最短路径作为所述第二最短路径;如果所述最短路径不经过所述二类必经节点,则利用预设的K优算法,确定从所述源节点到所述目的节点的并且经过所述二类必经节点的所述第二最短路径。
建立模块520,用于根据经过所述一类必经节点的路径建立所述源节点和所述目的节点的工作路由;根据经过所述二类必经节点的路径建立所述源节点和所述目的节点的保护路由。
在另一实施例中,如果所述一类必经节点为工作必经节点,则所述二类必经节点为保护必经节点;如果所述一类必经节点为保护必经节点,则所述二类必经节点为工作必经节点;其中,所述工作必经节点是指工作路由必须经过的节点,所述保护必经节点是指保护路由必须经过的节点。
本实施例所述的装置的功能已经在图1~图4所示的方法实施例中进行了 描述,故本实施例的描述中未详尽之处,可以参见前述实施例中的相关说明,在此不做赘述。
尽管为示例目的,已经公开了本发明的优选实施例,本领域的技术人员将意识到各种改进、增加和取代也是可能的,因此,本发明的范围应当不限于上述实施例。
Claims (10)
1.一种路由建立方法,其特征在于,包括:
网络拓扑中包括源节点、必经节点和目的节点;所述必经节点包括:一类必经节点和/或二类必经节点;
在网络拓扑中禁用所述二类必经节点;
根据预先为网络拓扑中各个节点链路设置的初始权值,在禁用所述二类必经节点的网络拓扑中,从所述源节点到所述目的节点、且经过所述一类必经节点的各条路径中,确定每条所述路径经过的所述节点链路的权值之和,并将权值之和最小的路径作为第一最短路径;
在网络拓扑中启用所述二类必经节点,禁用所述一类必经节点以及所述第一最短路径;
根据预先为网络拓扑中的各个节点链路设置的初始权值,以及所述源节点到每个节点的最短路径距离,修改网络拓扑中的各个节点链路的权值;修改后的各个节点链路的权值为该节点链路的初始权值减去所述源节点到链路终点的最短路径距离,再加上所述源节点到链路起点的最短路径距离;
根据修改后的所述各个节点链路的权值,在禁用所述一类必经节点以及所述第一最短路径的网络拓扑中,从所述源节点到所述目的节点、且经过所述二类必经节点的各条路径中,确定每条所述路径经过的节点链路的权值之和,并将权值之和最小的路径作为第二最短路径;
在所述第一最短路径和所述第二最短路径中,删除所述第一最短路径和所述第二最短路径共同经过的节点链路,形成最短环形链路;
在所述最短环形链路中,确定从所述源节点到所述目的节点的两条路径;
根据其中一条路径建立所述源节点和所述目的节点的工作路由,根据另一条路径建立所述源节点和所述目的节点的保护路由。
2.如权利要求1所述的方法,其特征在于,所述根据预先为网络拓扑中各个节点链路设置的初始权值,在禁用所述二类必经节点的网络拓扑中,从所述源节点到所述目的节点、且经过所述一类必经节点的各条路径中,确定每条所述路径经过的所述节点链路的权值之和,并将权值之和最小的路径作为第一最短路径,包括:
根据预先为网络拓扑中各个节点链路设置的初始权值,在禁用所述二类必经节点的网络拓扑中,利用预设的Dijkstra算法,确定从所述源节点到所述目的节点的初始权值之和最小的最短路径,并判断所述最短路径是否经过所述一类必经节点;
如果所述最短路径经过所述一类必经节点,则将所述最短路径作为所述第一最短路径;
如果所述最短路径不经过所述一类必经节点,则利用预设的K优算法,确定从所述源节点到所述目的节点的并且经过所述一类必经节点的初始权值之和最小的路径作为所述第一最短路径。
3.如权利要求1所述的方法,其特征在于,所述根据修改后的所述各个节点链路的权值,在禁用所述一类必经节点以及所述第一最短路径的网络拓扑中,从所述源节点到所述目的节点、且经过所述二类必经节点的各条路径中,确定每条所述路径经过的节点链路的权值之和,并将权值之和最小的路径作为第二最短路径,包括:
根据修改后的所述各个节点链路的权值,在禁用所述一类必经节点以及所述第一最短路径的网络拓扑中,利用预设的Dijkstra算法,确定从所述源节点到所述目的节点的初始权值之和最小的最短路径,并判断所述最短路径是否经过所述二类必经节点;
如果所述最短路径经过所述二类必经节点,则将所述最短路径作为所述第二最短路径;
如果所述最短路径不经过所述二类必经节点,则利用预设的K优算法,确定从所述源节点到所述目的节点的并且经过所述二类必经节点的初始权值之和最小的路径作为所述第二最短路径。
4.如权利要求1所述的方法,其特征在于,所述根据其中一条路径建立所述源节点和所述目的节点的工作路由,根据另一条路径建立所述源节点和所述目的节点的保护路由,包括:
根据经过所述一类必经节点的路径建立所述源节点和所述目的节点的工作路由;根据经过所述二类必经节点的路径建立所述源节点和所述目的节点的保护路由。
5.如权利要求1-4任一项所述的方法,其特征在于,
如果所述一类必经节点为工作必经节点,则所述二类必经节点为保护必经节点;如果所述一类必经节点为保护必经节点,则所述二类必经节点为工作必经节点;其中,
所述工作必经节点是指工作路由必须经过的节点,所述保护必经节点是指保护路由必须经过的节点。
6.一种路由建立装置,其特征在于,包括:
确定模块,用于在网络拓扑中,确定包含源节点、必经节点和目的节点的最短环形链路;
所述必经节点包括:一类必经节点和/或二类必经节点;
所述确定模块确定包含源节点、必经节点和目的节点的最短环形链路包括:
在网络拓扑中禁用所述二类必经节点;
根据预先为网络拓扑中各个节点链路设置的初始权值,在禁用所述二类必经节点的网络拓扑中,从所述源节点到所述目的节点、且经过所述一类必经节点的各条路径中,确定每条所述路径经过的所述节点链路的权值之和,并将权值之和最小的路径作为第一最短路径;
在网络拓扑中启用所述二类必经节点,禁用所述一类必经节点以及所述第一最短路径;
根据预先为网络拓扑中的各个节点链路设置的初始权值,以及所述源节点到每个节点的最短路径距离,修改网络拓扑中的各个节点链路的权值;修改后的各个节点链路的权值为该节点链路的初始权值减去所述源节点到链路终点的最短路径距离,再加上所述源节点到链路起点的最短路径距离;
根据修改后的所述各个节点链路的权值,在禁用所述一类必经节点以及所述第一最短路径的网络拓扑中,从所述源节点到所述目的节点、且经过所述二类必经节点的各条路径中,确定每条所述路径经过的节点链路的权值之和,并将权值之和最小的路径作为第二最短路径;
在所述第一最短路径和所述第二最短路径中,删除所述第一最短路径和所述第二最短路径共同经过的节点链路,形成最短环形链路;
所述确定模块还用于在所述最短环形链路中,确定从所述源节点到所述目的节点的两条路径;
建立模块,用于根据其中一条路径建立所述源节点和所述目的节点的工作路由,根据另一条路径建立所述源节点和所述目的节点的保护路由。
7.如权利要求6所述的装置,其特征在于,所述确定模块,具体用于:
根据预先为网络拓扑中各个节点链路设置的初始权值,在禁用所述二类必经节点的网络拓扑中,利用预设的Dijkstra算法,确定从所述源节点到所述目的节点的初始权值之和最小的最短路径,并判断所述最短路径是否经过所述一类必经节点;
如果所述最短路径经过所述一类必经节点,则将所述最短路径作为所述第一最短路径;
如果所述最短路径不经过所述一类必经节点,则利用预设的K优算法,确定从所述源节点到所述目的节点的并且经过所述一类必经节点的初始权值之和最小的路径作为所述第一最短路径。
8.如权利要求6所述的装置,其特征在于,所述确定模块,具体用于:
根据修改后的所述各个节点链路的权值,在禁用所述一类必经节点以及所述第一最短路径的网络拓扑中,利用预设的Dijkstra算法,确定从所述源节点到所述目的节点的初始权值之和最小的最短路径,并判断所述最短路径是否经过所述二类必经节点;
如果所述最短路径经过所述二类必经节点,则将所述最短路径作为所述第二最短路径;
如果所述最短路径不经过所述二类必经节点,则利用预设的K优算法,确定从所述源节点到所述目的节点的并且经过所述二类必经节点的初始权值之和最小的路径作为所述第二最短路径。
9.如权利要求6所述的装置,其特征在于,所述建立模块,用于根据经过所述一类必经节点的路径建立所述源节点和所述目的节点的工作路由;根据经过所述二类必经节点的路径建立所述源节点和所述目的节点的保护路由。
10.如权利要求6-9任一项所述的装置,其特征在于,
如果所述一类必经节点为工作必经节点,则所述二类必经节点为保护必经节点;如果所述一类必经节点为保护必经节点,则所述二类必经节点为工作必经节点;其中,
所述工作必经节点是指工作路由必须经过的节点,所述保护必经节点是指保护路由必须经过的节点。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611119053.0A CN108199955B (zh) | 2016-12-08 | 2016-12-08 | 一种路由建立方法和装置 |
PCT/CN2017/115268 WO2018103737A1 (zh) | 2016-12-08 | 2017-12-08 | 一种路由建立方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611119053.0A CN108199955B (zh) | 2016-12-08 | 2016-12-08 | 一种路由建立方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108199955A CN108199955A (zh) | 2018-06-22 |
CN108199955B true CN108199955B (zh) | 2021-11-12 |
Family
ID=62492237
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611119053.0A Active CN108199955B (zh) | 2016-12-08 | 2016-12-08 | 一种路由建立方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108199955B (zh) |
WO (1) | WO2018103737A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109218213B (zh) * | 2018-09-25 | 2022-09-16 | ***股份有限公司 | 一种流量调控方法及装置 |
CN109768883A (zh) * | 2018-12-21 | 2019-05-17 | 华为技术服务有限公司 | 一种网络拓扑路径的确定方法、装置和终端设备 |
CN110620723B (zh) * | 2019-07-01 | 2022-08-30 | 南京邮电大学 | 基于路由分面中继节点的一种无状态单播保护方法 |
CN115134288B (zh) * | 2021-03-10 | 2023-08-15 | ***通信集团广东有限公司 | 通信网络路由调度方法及*** |
CN115834463A (zh) * | 2021-09-16 | 2023-03-21 | 中兴通讯股份有限公司 | 路径计算方法、装置、网络控制器和存储介质 |
CN114285789A (zh) * | 2021-12-14 | 2022-04-05 | 国网吉林省电力有限公司信息通信公司 | 一种电力通信网中自动生成业务疏导方案的方法 |
CN114928569B (zh) * | 2022-04-28 | 2023-06-09 | 烽火通信科技股份有限公司 | 一种包含多个必经资源的最短路径实现方法和*** |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1825820A (zh) * | 2005-02-22 | 2006-08-30 | 华为技术有限公司 | 智能光网络中路径选择的方法 |
CN1901503A (zh) * | 2005-07-22 | 2007-01-24 | 中兴通讯股份有限公司 | 一种获得智能光网络约束路由的方法 |
CN101621721A (zh) * | 2009-08-06 | 2010-01-06 | 中兴通讯股份有限公司 | K优路径的计算方法及装置 |
CN101640817A (zh) * | 2009-09-02 | 2010-02-03 | 中兴通讯股份有限公司 | 一种光网络中寻找路由和波长分配的方法和装置 |
CN103379007A (zh) * | 2012-04-23 | 2013-10-30 | 中兴通讯股份有限公司 | 一种相交环网的保护容量确定方法及装置 |
CN103490933A (zh) * | 2013-09-27 | 2014-01-01 | 国家电网公司 | 一种含必经节点的业务保护恢复方法 |
CN104012051A (zh) * | 2011-11-01 | 2014-08-27 | 阿尔卡特朗讯公司 | 提供全面保护的ip快速重路由机制 |
CN105357095A (zh) * | 2015-10-09 | 2016-02-24 | 北京博维亚讯技术有限公司 | 一种基于双向路由的环网链路故障处理***及处理方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4209758B2 (ja) * | 2003-11-20 | 2009-01-14 | 富士通株式会社 | 迂回通信経路設計方法 |
US20050237950A1 (en) * | 2004-04-26 | 2005-10-27 | Board Of Regents, The University Of Texas System | System, method and apparatus for dynamic path protection in networks |
US7561534B2 (en) * | 2004-06-30 | 2009-07-14 | Alcatel-Lucent Usa Inc. | Methods of network routing having improved resistance to faults affecting groups of links subject to common risks |
US8446815B2 (en) * | 2004-12-22 | 2013-05-21 | Telecommunications Research Laboratories | Failure independent path protection with p-cycles |
CN101499930A (zh) * | 2009-03-04 | 2009-08-05 | 北京邮电大学 | 一种基于局部扩散式的预置保护圈分布式配置协议 |
CN105207859B (zh) * | 2014-06-16 | 2019-02-26 | 国家电网公司 | 一种电力通信网络中otn网络规划设置方法 |
-
2016
- 2016-12-08 CN CN201611119053.0A patent/CN108199955B/zh active Active
-
2017
- 2017-12-08 WO PCT/CN2017/115268 patent/WO2018103737A1/zh active Application Filing
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1825820A (zh) * | 2005-02-22 | 2006-08-30 | 华为技术有限公司 | 智能光网络中路径选择的方法 |
CN1901503A (zh) * | 2005-07-22 | 2007-01-24 | 中兴通讯股份有限公司 | 一种获得智能光网络约束路由的方法 |
CN101621721A (zh) * | 2009-08-06 | 2010-01-06 | 中兴通讯股份有限公司 | K优路径的计算方法及装置 |
CN101640817A (zh) * | 2009-09-02 | 2010-02-03 | 中兴通讯股份有限公司 | 一种光网络中寻找路由和波长分配的方法和装置 |
CN104012051A (zh) * | 2011-11-01 | 2014-08-27 | 阿尔卡特朗讯公司 | 提供全面保护的ip快速重路由机制 |
CN103379007A (zh) * | 2012-04-23 | 2013-10-30 | 中兴通讯股份有限公司 | 一种相交环网的保护容量确定方法及装置 |
CN103490933A (zh) * | 2013-09-27 | 2014-01-01 | 国家电网公司 | 一种含必经节点的业务保护恢复方法 |
CN105357095A (zh) * | 2015-10-09 | 2016-02-24 | 北京博维亚讯技术有限公司 | 一种基于双向路由的环网链路故障处理***及处理方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2018103737A1 (zh) | 2018-06-14 |
CN108199955A (zh) | 2018-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108199955B (zh) | 一种路由建立方法和装置 | |
CN108183856B (zh) | 一种路由建立方法和装置 | |
CA2379043C (en) | Method and apparatus for communications traffic engineering | |
EP2928125B1 (en) | Multi-domain route computation method and device, path computation element, and routing network | |
US10439880B2 (en) | Loop-free convergence in communication networks | |
Giorgetti et al. | Path encoding in segment routing | |
KR20170051153A (ko) | 유전 알고리즘을 이용한 최적의 네트워크 경로 선정 방법 | |
CN114650242A (zh) | 路径故障检测方法、装置、相关设备及存储介质 | |
CN101984597B (zh) | 一种多域双向标签交换路径的计算方法及*** | |
CN101753462A (zh) | 多下一跳路由的实现方法及装置 | |
CN105227461B (zh) | 获取跨域分离路径的方法、路径计算单元 | |
CN107770061B (zh) | 转发报文的方法及转发设备 | |
US20090323709A1 (en) | Determining and Distributing Routing Paths for Nodes in a Network | |
EP2648351A1 (en) | Method for establishing path in wavelength division network, communication node and communication system | |
Hasan et al. | Development of FRR mechanism by adopting SDN notion | |
CN104506374A (zh) | 一种isis协议指定路由管理距离的方法 | |
CN104937878A (zh) | 在单向隧道存在的情况下建立协议无关多播树的方法 | |
CN108667751B (zh) | 一种时延信息的通告方法及装置 | |
CN109644122B (zh) | 资源共享方法、网络节点及相关设备 | |
US10250477B2 (en) | Method and controller for announcing bandwidth of cluster system | |
CN105591806B (zh) | 一种链路切换方法及装置 | |
CN111740917A (zh) | 一种报文转发方法和装置 | |
CN113542120B (zh) | 一种路径选择方法及装置、计算机可读存储介质 | |
CN101702686B (zh) | 实现多下一跳路由的方法、装置及*** | |
CN100518382C (zh) | 自动交换光网络中多约束条件下最短路径查找方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |