WO2023040503A1 - 路径计算方法、装置、网络控制器和存储介质 - Google Patents
路径计算方法、装置、网络控制器和存储介质 Download PDFInfo
- Publication number
- WO2023040503A1 WO2023040503A1 PCT/CN2022/110082 CN2022110082W WO2023040503A1 WO 2023040503 A1 WO2023040503 A1 WO 2023040503A1 CN 2022110082 W CN2022110082 W CN 2022110082W WO 2023040503 A1 WO2023040503 A1 WO 2023040503A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- path
- tunnel
- sub
- optional
- path calculation
- Prior art date
Links
- 238000004364 calculation method Methods 0.000 title claims abstract description 113
- 238000004422 calculation algorithm Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 6
- 238000000034 method Methods 0.000 abstract description 23
- 238000004891 communication Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000003287 optical effect Effects 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/02—Topology update or discovery
-
- 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
-
- 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/50—Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
Definitions
- the embodiments of the present application relate to the communication field, and in particular to a path calculation method, device, network controller, and storage medium.
- the main purpose of the embodiments of the present application is to provide a path calculation method, device, network controller and storage medium, aiming at improving the success rate of path calculation.
- An embodiment of the present application provides a path calculation method, including: establishing a tunnel between a source node and a destination node, the tunnel including multiple sub-tunnels; obtaining the optional path of each sub-tunnel and the repetition of the optional path A node: using the repeated node as a path calculation constraint condition for the sub-tunnel with multiple optional paths, and performing path calculation for the sub-tunnel with multiple optional paths.
- the embodiment of the present application also proposes a path calculation device, including:
- a tunnel establishment module configured to establish a tunnel between the source node and the destination node, and the tunnel includes multiple sub-tunnels;
- a path calculation module configured to obtain an optional path of each sub-tunnel and repeated nodes of the optional path
- the repeated node is used as a path calculation constraint condition of the sub-tunnel with multiple optional paths, and path calculation is performed on the sub-tunnel with multiple optional paths.
- the embodiment of the present application also provides a network controller, including: at least one processor; and a memory connected in communication with the at least one processor; wherein, the memory stores information that can be executed by the at least one processor. instructions, the instructions are executed by the at least one processor, so that the at least one processor can execute the path calculation method described above.
- the embodiment of the present application also provides a computer-readable storage medium storing a computer program, and implementing the above-mentioned path calculation method when the computer program is executed by a processor.
- a path calculation method, device, network controller, and storage medium proposed in the embodiments of the present application obtain the optional paths of multi-section sub-tunnels between the source node and the destination node, as well as the repeated nodes of all optional paths, and the repeated nodes
- the path calculation process multiple duplicate nodes are used as excluded nodes in turn, that is, the optional paths containing duplicate nodes are excluded in advance during route selection, which improves the success rate of path calculation and also makes up for crankback.
- the algorithm mistakenly excludes the defects of the correct path during the path calculation process.
- FIG. 1 is a flow chart 1 of a path calculation method provided by an embodiment of the present application.
- FIG. 2 is a schematic diagram of a network routing node topology provided by an embodiment of the present application
- FIG. 3 is the second flowchart of the path calculation method provided by the embodiment of the present application.
- FIG. 4 is a flowchart three of the path calculation method provided by the embodiment of the present application.
- FIG. 5 is a flowchart four of the path calculation method provided by the embodiment of the present application.
- FIG. 6 is a schematic structural diagram of a path calculation device provided by another embodiment of the present application.
- Fig. 7 is a schematic structural diagram of a network controller provided by another embodiment of the present application.
- the embodiment of the present application relates to a path calculation method, as shown in FIG. 1 , including:
- a tunnel is established between a source node and a destination node, and the tunnel includes multiple sub-tunnels.
- the path calculation method of the embodiment of the present application can be applied to an SDN controller in a software-defined SDN (software Defined Network) network, and the SDN controller interacts with multiple router devices through a communication protocol to complete path calculation and path delivery .
- SDN software Defined Network
- the path calculation method in this embodiment can also be applied to network controllers in other networks.
- the method for tunnel calculation path in this embodiment can be applied to SR-TE (Segment Routing Traffic-eng) tunnel, SR-TP (Segment Routing-Transport Profile) tunnel, RSVP-TE (Resource ReSerVation Protocol-Traffic Engineering) Tunnels and other tunnels can also be applied to the calculation of forwarding paths of SR Policy (Segment Routing Policy).
- SR-TE Segment Routing Traffic-eng
- SR-TP Segment Routing-Transport Profile
- RSVP-TE Resource ReSerVation Protocol-Traffic Engineering Tunnels
- other tunnels can also be applied to the calculation of forwarding paths of SR Policy (Segment Routing Policy).
- the network controller Before the network controller establishes a tunnel between the source node and the destination node, it needs to configure the tunnel and obtain the topology information of the entire network, such as: number of nodes, node location, node ID, link cost, link Various information such as road bandwidth. On this basis, the tunnel is established. For example, taking an SR-TE tunnel as an example, before the SR-TE tunnel is created, an IS-IS neighbor relationship needs to be established between each routing device, and an IS-IS or BGP-LS neighbor relationship must be established between the routing device and the controller. Realize intercommunication at the network layer, complete the distribution of labels and the collection of network topology information, and send labels and network topology information to the controller for path calculation by the controller.
- a tunnel is established between the source node and the destination node, and the tunnel can be divided into multiple sub-tunnels according to preset loose nodes, wherein the loose nodes are nodes that the tunnel must pass through. That is to say, it is required that the path from the source node to the destination node must pass through preset loose nodes.
- the selection of loose nodes is selected by the user according to the application scenario and transmission requirements.
- routing nodes there are 12 routing nodes (P1-P12) in the network
- the user specifies P3 and P7 as loose nodes, establishes a tunnel between the source node P1 and the destination node P12, divides the tunnel into three sections, and the first section of the sub-tunnel P1-P4, the second sub-tunnel is P4-P7, and the third sub-tunnel is P7-P12.
- Step 102 obtain the optional paths of each sub-tunnel and the repeated nodes of the optional paths.
- FIG. 2 is a schematic diagram of the topology of network routing nodes. The numbers on each link in the figure represent the link cost, and there are 10 routing nodes in total.
- P2 the source node P2, destination node P8, and loose node P4 as examples.
- a tunnel is established between the source node P2 and the destination node P8, and the tunnel is divided into two sections, the first subtunnel is P2-P4, and the second subtunnel is P4-P8.
- the first optional path L1 P2-->P6-->P10-->P9-->P3- ->P4
- the second optional path L2 P2-->P1-->P3-->P4
- the third optional path L3 P2-->P6-->P5-->P4.
- L4 P4-->P5-->P6-->P7-->P8.
- obtaining the repeated nodes of the optional paths is to obtain the repeated nodes between all the optional paths for all the optional paths. That is, all duplicate nodes among the optional paths L1, L2, L3 and L4 are obtained. Of course, duplicate nodes cannot contain source nodes, destination nodes, and loose nodes.
- Step 103 using repeated nodes as path calculation constraint conditions for the sub-tunnels with multiple optional paths, and performing path calculation for the sub-tunnels with multiple optional paths.
- link cost in addition to using repeated nodes as path calculation constraint conditions, link cost, link bandwidth, link attribute, link priority, etc. may also be used as path calculation constraint conditions.
- the network controller performs processing according to the crankback algorithm, stepping back from the tail node to exclude interfaces or nodes, that is, it considers that the L1 path is illegal and needs to fall back and recalculate, and when returning from the P4 node to the P3 node, P3 will be deleted--
- the incoming interface of the path >P4 prevents the path from going back when calculating the path again, so that the optional path L2: P2-->P1-->P3-->P4 is also judged as illegal (because the optional path L2 also passes through P3-->P4 path ingress interface). Recalculate the sub-tunnel path between P2-P4, and only L3 is left.
- a path calculation method proposed in the embodiment of the present application obtains the optional paths of multi-section sub-tunnels between the source node and the destination node, as well as the duplicate nodes of all optional paths, and takes the duplicate nodes as path calculation constraints, and in the path calculation During the process, multiple duplicate nodes are used as excluded nodes in turn, that is, the optional paths containing duplicate nodes are excluded in advance during route selection, which improves the success rate of route calculation and also makes up for the error of the crankback algorithm in the route calculation process. Flaws in the correct path.
- the embodiment of the present application relates to a path calculation method, as shown in FIG. 3 , including:
- a tunnel is established between a source node and a destination node, and the tunnel includes multiple sub-tunnels.
- step 301 in this embodiment is basically the same as those of step 101, and will not be repeated here.
- Step 302 obtain the optional path of each sub-tunnel.
- Step 303 for all optional paths of the entire tunnel, determine shared nodes among multiple optional paths, and use the shared nodes as repeated nodes.
- a tunnel is established between the source node P2 and the destination node P8, and the tunnel is divided into two sections.
- One sub-tunnel is P2-P4, and the second sub-tunnel is P4-P8.
- the first optional path L1 P2-->P6-->P10-->P9-->P3- ->P4
- the second optional path L2 P2-->P1-->P3-->P4
- the third optional path L3 P2-->P6-->P5-->P4.
- L4 P4-->P5-->P6-->P7-->P8.
- the repeated node between the optional path L1 and the optional path L2 is P3
- the repeated node between the optional path L1 and the optional path L3 is P6
- the repeated node between optional path L1 and optional path L4 is P6
- optional path The repeated nodes between L3 and optional path L4 are P5 and P6. Therefore nodes P3, P5 and P6 can be used as duplicate nodes.
- Step 304 taking the duplicate node as a path calculation constraint condition for the sub-tunnel with multiple optional paths, and performing path calculation for the sub-tunnel with multiple optional paths.
- the multiple repeated nodes are respectively used as excluded nodes to perform path calculation sequentially. That is, the node P3 can be used as an excluded node first, and the shortest path first CSPF algorithm is used to calculate the sub-tunnel of P2-->P4, and the L3 can go: P2-->P6-->P5-->P4. Then calculate the sub-tunnel of P4-->P8, you can go through L4: P4-->P5-->P6-->P7-->P8. At this time, it is found that nodes P5 and P6 are passed repeatedly. Path calculation failed.
- node P6 is selected as the excluded node, and the shortest path first CSPF algorithm is used to calculate the sub-tunnel of P2->P4, which can go through L2: P2->P1->P3->P4. Then calculate the sub-tunnel of P4-->P8, you can go through L4: P4-->P5-->P6-->P7-->P8. At this time, it is found that all nodes in the entire path are only passed once, and the path calculation is successful if the conditions are met.
- the specific order of selecting duplicate nodes as excluded nodes can be selected arbitrarily (the order is P6-P3-P5 or P5-P3-P6 or P6-P5-P3 etc.), or according to the node number, or according to the preset node priority.
- step 304 it also includes:
- Step 305 for a sub-tunnel with only one optional path, directly use this optional path as the first sub-path of the sub-tunnel.
- Step 306 for a sub-tunnel with multiple optional paths, use the path calculation result as the second sub-path.
- Step 307 splicing the first sub-path and the second sub-path as the target path between the source node and the destination node.
- the path is directly used as the first sub-path.
- the first sub-path also includes multiple
- the path calculation result is used as the second sub-path.
- the second sub-path also includes multiple sub-tunnels.
- the method further includes: sending the target path to the tunnel.
- a path calculation method proposed in the embodiment of the present application obtains the optional paths of multi-section sub-tunnels between the source node and the destination node, as well as the duplicate nodes of all optional paths, and takes the duplicate nodes as path calculation constraints, and in the path calculation During the process, multiple duplicate nodes are used as excluded nodes in turn, that is, the optional paths containing duplicate nodes are excluded in advance during route selection, which improves the success rate of route calculation and also makes up for the error of the crankback algorithm in the route calculation process. Flaws in the correct path.
- the embodiment of the present application relates to a path calculation method, as shown in FIG. 5 , including:
- a tunnel is established between a source node and a destination node, and the tunnel includes multiple sub-tunnels.
- step 501 in this embodiment is basically the same as those of step 101, and will not be repeated here.
- Step 502 obtain the optional path of each sub-tunnel, and perform path calculation according to the constraint-based shortest path first algorithm and the crankback algorithm.
- Step 503 when the path calculation fails, the node causing the failure is used as a duplicate node.
- the constraint-based shortest path first algorithm and crankback algorithm can also be used for path calculation.
- the path calculation fails the node that caused the failure will be recorded as the second path calculation , and then use the repeated nodes as path calculation constraints.
- this embodiment can add a path calculation process on the basis of the current path calculation method as a bottom-line algorithm.
- a problem occurs in the first path calculation, it will step back from the tail node to exclude interfaces or nodes, and then restart Calculated approach. Instead, the repeated nodes that caused the path calculation failure last time are directly used as excluded nodes to recalculate the path.
- This not only uses the path calculation results of the first path calculation, but also quickly completes the supplementary path calculation to prevent the crankback algorithm from being excluded by mistake. As a result, path calculation failures occur repeatedly.
- Step 504 taking the repeated node as a path calculation constraint condition of the sub-tunnel with multiple optional paths, and performing path calculation for the sub-tunnel with multiple optional paths.
- step 504 in this embodiment are basically the same as those of steps 103 and 304, and will not be repeated here.
- step 504 of this embodiment also includes: for a sub-tunnel with only one optional path, directly use this optional path as the first sub-path of the sub-tunnel. For a sub-tunnel with multiple optional paths, the path calculation result is used as the second sub-path. Splicing the first subpath and the second subpath as the target path between the source node and the destination node.
- the path is directly used as the first sub-path.
- the first sub-path also includes multiple
- the path calculation result is used as the second sub-path.
- the second sub-path also includes multiple sub-tunnels.
- the target path between the source node and the destination node can be obtained by splicing the multiple first sub-paths and the multiple second sub-paths in order. After obtaining the target path, the network controller sends the target path to the tunnel.
- a path calculation method proposed in the embodiment of the present application obtains the optional paths of multi-section sub-tunnels between the source node and the destination node, as well as the duplicate nodes of all optional paths, and takes the duplicate nodes as path calculation constraints, and in the path calculation During the process, multiple duplicate nodes are used as excluded nodes in turn, that is, the optional paths containing duplicate nodes are excluded in advance during route selection, which improves the success rate of route calculation and also makes up for the error of the crankback algorithm in the route calculation process. Flaws in the correct path.
- FIG. 6 Another embodiment of the present application relates to a path calculation device, as shown in FIG. 6 , including:
- the tunnel establishment module 601 is configured to establish a tunnel between the source node and the destination node, and the tunnel includes multiple sub-tunnels.
- the path calculation module 602 is configured to obtain the optional paths of each sub-tunnel and the repeated nodes of the optional paths; the repeated nodes are used as the path calculation constraints of the sub-tunnels with multiple optional paths, and the Sub-tunnels with multiple optional paths perform path calculation.
- modules involved in this embodiment are logical modules, and a logical unit may be a physical unit, or a part of a physical unit, or may be realized by a combination of multiple physical units.
- a logical unit may be a physical unit, or a part of a physical unit, or may be realized by a combination of multiple physical units.
- this embodiment does not introduce units that are not closely related to solving the technical problems raised by the embodiment of the present application, but this does not mean that there are no other elements in this embodiment unit.
- this embodiment is an apparatus embodiment corresponding to the path calculation method embodiment, and this embodiment can be implemented in cooperation with the foregoing embodiments.
- the relevant technical details mentioned in the foregoing embodiments are still valid in this embodiment, and will not be repeated here in order to reduce repetition.
- the relevant technical details mentioned in this embodiment can also be applied to the above method embodiments.
- FIG. 7 Another embodiment of the present application relates to a network controller, as shown in FIG. 7 , including: at least one processor 701; and a memory 702 communicatively connected to the at least one processor 701; wherein, the memory 702 Instructions that can be executed by the at least one processor 701 are stored, and the instructions are executed by the at least one processor 701, so that the at least one processor 701 can execute the path calculation method in the above-mentioned embodiment.
- the memory and the processor are connected by a bus
- the bus may include any number of interconnected buses and bridges, and the bus connects one or more processors and various circuits of the memory together.
- the bus may also connect together various other circuits such as peripherals, voltage regulators, and power management circuits, all of which are well known in the art and therefore will not be further described herein.
- the bus interface provides an interface between the bus and the transceivers.
- a transceiver may be a single element or multiple elements, such as multiple receivers and transmitters, providing means for communicating with various other devices over a transmission medium.
- the data processed by the processor is transmitted on the wireless medium through the antenna, further, the antenna also receives the data and transmits the data to the processor.
- the processor is responsible for managing the bus and general processing, and can also provide various functions, including timing, peripheral interface, voltage regulation, power management, and other control functions. Instead, memory can be used to store data that the processor uses when performing operations.
- Another embodiment of the present application relates to a computer-readable storage medium storing a computer program.
- the computer program is executed by the processor, the above-mentioned method embodiments are realized.
- a storage medium includes several instructions to make a device ( It may be a single-chip microcomputer, a chip, etc.) or a processor (processor) to execute all or part of the steps of the methods described in the various embodiments of the present application.
- the aforementioned storage media include: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), magnetic disk or optical disc, etc., which can store program codes. .
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例提出一种路径计算方法、装置、网络控制器和存储介质,涉及通信领域。路径计算方法包括:在源节点和目的节点之间建立一条隧道,所述隧道包括多段子隧道;获取每段子隧道的可选路径和所述可选路径的重复节点;将所述重复节点作为有多条可选路径的子隧道的路径计算约束条件,对所述有多条可选路径的子隧道进行路径计算。用于隧道路径计算过程中,达到提高路径计算成功率的目的。
Description
本申请实施例涉及通信领域,特别涉及一种路径计算方法、装置、网络控制器和存储介质。
目前对于标签交换路径计算,大多采用带约束的最短路径优先CSPF(Constrainted Shortest Path First,CSPF)算法。算路过程中如果发现有某一条路径不能走通,则采用crankback算法处理,对当前路径进行排除,回退并重新算路,最终算出满足约束条件的最短的LSP路径。
但是crankback算法处理在回退重新算路过程中,有可能因为某一条路径不满足算路要求时候,导致另外一条满足条件的正确路径被一起错误的排除掉,最终致使算路失败。
发明内容
本申请实施例的主要目的在于提出一种路径计算方法、装置、网络控制器和存储介质,旨在提高路径计算成功率。
本申请实施例提供了一种路径计算方法,包括:在源节点和目的节点之间建立一条隧道,所述隧道包括多段子隧道;获取每段子隧道的可选路径和所述可选路径的重复节点;将所述重复节点作为有多条可选路径的子隧道的路径计算约束条件,对所述有多条可选路径的子隧道进行路径计算。
本申请实施例还提出了一种路径计算装置,包括:
隧道建立模块,设置为在源节点和目的节点之间建立一条隧道,所述隧道包括多段子隧道;
路径计算模块,设置为获取每段子隧道的可选路径和所述可选路径的重复节点;
将所述重复节点作为有多条可选路径的子隧道的路径计算约束条件,对所述有多条可选路径的子隧道进行路径计算。
本申请实施例还提出了一种网络控制器,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行以上所述的路径计算方法。
本申请实施例还提出了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现以上所述的路径计算方法。
本申请实施例提出的一种路径计算方法、装置、网络控制器和存储介质,获取源节点和目的节点之间的多段子隧道的可选路径,以及所有可选路径的重复节点,将重复节点作为路径计算约束条件,在路径计算过程中,将多个重复节点依次作为排除节点,即在选路时提前排除掉包含重复节点的可选路径,如此提高了路径计算成功率,也弥补了crankback算法在算路过程中错误排除掉正确路径的缺陷。
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定。
图1是本申请的实施例提供的路径计算方法的流程图一;
图2是本申请的实施例提供的网络路由节点拓扑结构示意图;
图3是本申请的实施例提供的路径计算方法的流程图二;
图4是本申请的实施例提供的路径计算方法的流程图三;
图5是本申请的实施例提供的路径计算方法的流程图四;
图6是本申请的另一实施例提供的路径计算装置的结构示意图;
图7是本申请的另一实施方式提供的网络控制器的结构示意图。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请的各实施例进行详细的阐述。然而,本领域的普通技术人员可以理解,在本申请各实施例中,为了使读者更好地理解本申请实施例而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施例的种种变化和修改,也可以实现本申请实施例所要求保护的技术方案。以下各个实施例的划分是为了描述方便,不应对本申请实施例的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。
本申请的实施例涉及一种路径计算方法,如图1所示,包括:
步骤101,在源节点和目的节点之间建立一条隧道,所述隧道包括多段子隧道。
具体地说,本申请实施例的路径计算方法可以应用于软件定义SDN(software Defined Network)网络中的SDN控制器,SDN控制器通过通信协议与多个路由器设备进行交互完成路径计算和路径下发。当然本实施例的路径计算方法还可以应用于其他网络中的网络控制器。
另外,本实施例针对隧道计算路径的方法,可以应用于SR-TE(Segment Routing Traffic-eng)隧道,SR-TP(Segment Routing-Transport Profile)隧道,RSVP-TE(Resource ReSerVation Protocol-Traffic Engineering)隧道等多种隧道,也可以应用于、SR Policy(Segment Routing Policy)的转发路径的计算。
当然,需要说明的是,网络控制器在源节点和目的节点之间建立隧道前需要先进行隧道配置和获取整个网络的拓扑信息,比如:节点数量,节点位置,节点ID,链路代价,链路带宽等各种信息。在此基础上进行隧道建立。比如:以SR-TE隧道为例,在SR-TE隧道创建之前,需要在各路由设备之间建立IS-IS邻居关系,路由设备与控制器之间建立IS-IS或BGP-LS邻居关系,实现网络层互通,完成标签的分配以及网络拓扑信息的收集,并将标签和网络拓扑信息上送给控制器,供控制器进行路径计算。
另外,本实施例中在源节点和目的节点之间建立一条隧道,可以根据预设的松散节点将隧道划分为多段子隧道,其中,松散节点为隧道必经的节点。也就是说,要求从源节点到目的节点的路径必须经过预设的松散节点。当然,松散节点的选取由用户根据应用场景和传输需求选取。比如:网络中存在12个路由节点(P1-P12),用户指定P3和P7为松散节点,在源节点P1和目的节点P12之间建立一条隧道,将隧道划分成三段,第一段子隧道为P1-P4, 第二段子隧道为P4-P7,第三段子隧道为P7-P12。
步骤102,获取每段子隧道的可选路径和可选路径的重复节点。
具体地说,针对每段子隧道,根据每段子隧道的源节点和目的节点获取其可选路径。如图2所示,图2为网络路由节点拓扑结构示意图,图中各链路上的数字表示链路代价,共10个路由节点,以源节点P2,目的节点P8,松散节点P4为例,在源节点P2和目的节点P8之间建立一条隧道,将隧道划分成两段,第一段子隧道为P2-P4,第二段子隧道为P4-P8。由图2可以看出,针对第一段子隧道P2-P4,可选路径有3条,第一条可选路径L1:P2-->P6-->P10-->P9-->P3-->P4;第二条可选路径L2:P2-->P1-->P3-->P4;第三条可选路径L3:P2-->P6-->P5-->P4。针对第二段子隧道,可选路径只有1条,即L4:P4-->P5-->P6-->P7-->P8。
另外,获取可选路径的重复节点,是对于所有可选路径而言,获取所有可选路径之间的重复节点。即获取可选路径L1、L2、L3和L4之间所有重复节点。当然,重复节点不能包含源节点、目的节点和松散节点。
步骤103,将重复节点作为有多条可选路径的子隧道的路径计算约束条件,对有多条可选路径的子隧道进行路径计算。
具体地说,本实施例除了将重复节点作为路径计算约束条件外,还可以将链路代价、链路带宽、链路属性、链路优先级等作为路径计算约束条件。
需要说明的是,目前在采用带约束的最短路径优先CSPF算法计算路径时,对于P2-P4之间多条可选路径,选择最优路径L1(其链路代价最小为3400),再计算P4-P8这段子隧道的路径时,只有一条L4路径,此时发现整个路径P2-->P6-->P10-->P9-->P3-->P4-->P5-->P6-->P7-->P8中,重复经过了P6这个节点,而隧道中的路径绝对不能重复经过某一个节点。
此时。网络控制器按照crankback算法进行处理,从尾节点开始步步回退排除接口或节点,即认为L1路径不合法需要回退重新计算,从P4节点开始回退到P3节点时会删除掉P3-->P4这个路径入接口,防止再次算路时走回头路,如此就导致可选路径L2:P2-->P1-->P3-->P4也被判定为不合法(因为可选路径L2也经过了P3-->P4这个路径入接口)。重新计算P2-P4之间这段子隧道路径,只剩下L3,在计算P2-P4之间这段子隧道时,选择可选路径L4,此时发现整个路径L3+L4:P2-->P6-->P5-->P4-->P5-->P6-->P7-->P8中有两个节点被重复经过,因此,可选路径L3也不合法。最终导致P2-->P4这段隧道所有可选路径都不合法,整个隧道路径计算失败。
本申请实施例提出的一种路径计算方法,获取源节点和目的节点之间的多段子隧道的可选路径,以及所有可选路径的重复节点,将重复节点作为路径计算约束条件,在路径计算过程中,将多个重复节点依次作为排除节点,即在选路时提前排除掉包含重复节点的可选路径,如此提高了路径计算成功率,也弥补了crankback算法在算路过程中错误排除掉正确路径的缺陷。
本申请的实施例涉及一种路径计算方法,如图3所示,包括:
步骤301,在源节点和目的节点之间建立一条隧道,所述隧道包括多段子隧道。
具体地说,本实施例步骤301的具体实施细节与步骤101基本相同,在此不做赘述。
步骤302,获取每段子隧道的可选路径。
步骤303,对于整个隧道的所有可选路径,确定多条可选路径之间的共用节点,将共用 节点作为重复节点。
具体地说,如图2所示,以源节点为P2,目的节点为P8,松散节点为P4为例,在源节点P2和目的节点P8之间建立一条隧道,将隧道划分成两段,第一段子隧道为P2-P4,第二段子隧道为P4-P8。由图2可以看出,针对第一段子隧道P2-P4,可选路径有3条,第一条可选路径L1:P2-->P6-->P10-->P9-->P3-->P4;第二条可选路径L2:P2-->P1-->P3-->P4;第三条可选路径L3:P2-->P6-->P5-->P4。针对第二段子隧道,可选路径只有1条,即L4:P4-->P5-->P6-->P7-->P8。
进一步地,针对所有可选路径L1、L2、L3和L4可以看出,可选路径L1和可选路径L2之间重复节点为P3,可选路径L1和可选路径L3之间重复节点为P6,可选路径L1和可选路径L4之间重复节点为P6,可选路径L2和可选路径L3之间没有重复节点,可选路径L2和可选路径L4之间没有重复节点,可选路径L3和可选路径L4之间重复节点为P5,P6。因此可以将节点P3、P5和P6作为重复节点。
步骤304,将重复节点作为有多条可选路径的子隧道的路径计算约束条件,对有多条可选路径的子隧道进行路径计算。
具体地说,将多个重复节点作为路径计算约束条件时,多个重复节点分别作为排除节点依次进行路径计算。即,可以先将节点P3作为排除节点,采用最短路径优先CSPF算法计算P2-->P4这段子隧道,可走L3:P2-->P6-->P5-->P4。然后计算P4-->P8这段子隧道,可走L4:P4-->P5-->P6-->P7-->P8。此时发现,P5和P6节点被重复经过。路径计算失败。第二次,选择节点P6作为排除节点,采用最短路径优先CSPF算法计算P2-->P4这段子隧道,可走L2:P2-->P1-->P3-->P4。然后计算P4-->P8这段子隧道,可走L4:P4-->P5-->P6-->P7-->P8。此时发现,整个路径中的所有节点只被经过一次,符合条件,路径计算成功。
需要说明的是,当路径约束条件中有多个重复节点时,具体选择重复节点作为排除节点时的顺序可以随意选取(顺序为P6-P3-P5或P5-P3-P6或P6-P5-P3等等均可),也可以按照节点编号,还可以根据预设的节点优先级。
另外,如图4所示,在步骤304之后,还包括:
步骤305,对只有一条可选路径的子隧道,直接将该条可选路径作为所述子隧道的第一子路径。
步骤306,对有多条可选路径的子隧道,将路径计算的结果作为第二子路径。
步骤307,将第一子路径和第二子路径拼接作为源节点和目的节点之间的目标路径。
具体地说,对于只有一条可选路径的子隧道,直接将该路径作为第一子路径,当然,若只有一条可选路径的子隧道有多个,则第一子路径也包含多个,对于有多条可选路径的子隧道,将路径计算的结果作为第二子路径,同样地,若有多条可选路径的子隧道有多个,则第二子路径也包含多个。最终将多个第一子路径和多个第二子路径按顺序拼接即可得到源节点和目的节点之间的目标路径。
另外,在本实施例步骤307之后,还包括:将目标路径下发给所述隧道。
本申请实施例提出的一种路径计算方法,获取源节点和目的节点之间的多段子隧道的可选路径,以及所有可选路径的重复节点,将重复节点作为路径计算约束条件,在路径计算过程中,将多个重复节点依次作为排除节点,即在选路时提前排除掉包含重复节点的可选路径,如此提高了路径计算成功率,也弥补了crankback算法在算路过程中错误排除掉正确路径的缺 陷。
本申请的实施例涉及一种路径计算方法,如图5所示,包括:
步骤501,在源节点和目的节点之间建立一条隧道,所述隧道包括多段子隧道。
具体地说,本实施例步骤501的具体实施细节与步骤101基本相同,在此不做赘述。
步骤502,获取每段子隧道的可选路径,根据基于约束的最短路径优先算法和crankback算法进行路径计算。
步骤503,当路径计算失败时,将导致失败的节点作为重复节点。
具体地说,本申请实施例在获取重复节点时,还可以采用基于约束的最短路径优先算法和crankback算法进行路径计算,当路径计算失败时,将导致失败的节点记录下来作为第二次路径计算时的重复节点,进而将重复节点作为路径计算约束条件。
也就是说,本实施例可以在目前路径计算方法的基础上补充一次路径计算过程作为保底算法,针对第一次路径计算出现问题时,从尾节点开始步步回退排除接口或节点,然后重算的处理办法。而是直接将上次导致算路失败的重复节点作为排除节点,进行重新算路,这样既利用了第一次路径计算的算路结果,又可以快速的完成补充算路,防止crankback算法误排除导致算路失败情况重复出现。
步骤504,将重复节点作为有多条可选路径的子隧道的路径计算约束条件,对有多条可选路径的子隧道进行路径计算。
具体地说,本实施例步骤504的具体实施细节与步骤103和304基本相同,在此不做赘述。
另外,在本实施例504之后,还包括:对只有一条可选路径的子隧道,直接将该条可选路径作为所述子隧道的第一子路径。对有多条可选路径的子隧道,将路径计算的结果作为第二子路径。将第一子路径和第二子路径拼接作为源节点和目的节点之间的目标路径。
具体地说,对于只有一条可选路径的子隧道,直接将该路径作为第一子路径,当然,若只有一条可选路径的子隧道有多个,则第一子路径也包含多个,对于有多条可选路径的子隧道,将路径计算的结果作为第二子路径,同样地,若有多条可选路径的子隧道有多个,则第二子路径也包含多个。最终将多个第一子路径和多个第二子路径按顺序拼接即可得到源节点和目的节点之间的目标路径。网络控制器获取目标路径后将目标路径下发给所述隧道。
本申请实施例提出的一种路径计算方法,获取源节点和目的节点之间的多段子隧道的可选路径,以及所有可选路径的重复节点,将重复节点作为路径计算约束条件,在路径计算过程中,将多个重复节点依次作为排除节点,即在选路时提前排除掉包含重复节点的可选路径,如此提高了路径计算成功率,也弥补了crankback算法在算路过程中错误排除掉正确路径的缺陷。
此外,应当理解的是,上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其流程的核心设计都在该专利的保护范围内。
本申请的另一实施例涉及一种路径计算装置,如图6所示,包括:
隧道建立模块601,设置为在源节点和目的节点之间建立一条隧道,所述隧道包括多段子隧道。
路径计算模块602,设置为获取每段子隧道的可选路径和所述可选路径的重复节点;将所述重复节点作为有多条可选路径的子隧道的路径计算约束条件,对所述有多条可选路径的子隧道进行路径计算。
值得一提的是,本实施例中所涉及到的各模块均为逻辑模块,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本申请实施例的创新部分,本实施例中并没有将与解决本申请实施例所提出的技术问题关系不太密切的单元引入,但这并不表明本实施例中不存在其它的单元。
不难发现,本实施例为与路径计算方法实施例相对应的装置实施例,本实施例可与上述实施例互相配合实施。上述实施例中提到的相关技术细节在本实施例中依然有效,为了减少重复,这里不再赘述。相应地,本实施例中提到的相关技术细节也可应用在上述方法实施例中。
本申请的另一实施方式涉及一种网络控制器,如图7所示,包括:至少一个处理器701;以及,与所述至少一个处理器701通信连接的存储器702;其中,所述存储器702存储有可被所述至少一个处理器701执行的指令,所述指令被所述至少一个处理器701执行,以使所述至少一个处理器701能够执行上述实施方式的路径计算方法。
其中,存储器和处理器采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器和存储器的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器。
处理器负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器可以被用于存储处理器在执行操作时所使用的数据。
本申请另一实施方式涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施方式。
即,本领域技术人员可以理解,实现上述实施方式方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施例是实现本申请的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本申请实施例的精神和范围。
Claims (10)
- 一种路径计算方法,包括:在源节点和目的节点之间建立一条隧道,所述隧道包括多段子隧道;获取每段子隧道的可选路径和所述可选路径的重复节点;将所述重复节点作为有多条可选路径的子隧道的路径计算约束条件,对所述有多条可选路径的子隧道进行路径计算。
- 根据权利要求1所述的路径计算方法,其中,所述获取每段子隧道的可选路径和所述可选路径的重复节点,包括:获取每段子隧道的可选路径;对于整个隧道的所有可选路径,确定多条可选路径之间的共用节点,将所述共用节点作为重复节点。
- 根据权利要求1所述的路径计算方法,其中,所述获取每段子隧道的可选路径和所述可选路径的重复节点包括:获取每段子隧道的可选路径,根据基于约束的最短路径优先算法和crankback算法进行路径计算;当路径计算失败时,将导致失败的节点作为重复节点。
- 根据权利要求1-3中任一项所述的路径计算方法,其中,所述将所述重复节点作为有多条可选路径的子隧道的路径计算约束条件,对所述有多条可选路径的子隧道进行路径计算之后,还包括:对只有一条可选路径的子隧道,直接将所述一条可选路径作为所述子隧道的第一子路径;对所述有多条可选路径的子隧道,将路径计算的结果作为第二子路径;将所述第一子路径和所述第二子路径拼接作为所述源节点和所述目的节点之间的目标路径。
- 根据权利要求4所述的路径计算方法,其中,所述将将所述第一子路径和所述第二子路径拼接作为所述源节点和所述目的节点之间的目标路径之后,还包括:将所述目标路径下发给所述隧道。
- 根据权利要求1所述的路径计算方法,所述路径约束条件还包括以下至少之一:链路代价,链路带宽,链路属性,链路优先级。
- 根据权利要求4所述的路径计算方法,其中,所述隧道为SR-TE隧道,或SR-TP隧道,或RSVP-TE隧道。
- 一种路径计算装置,包括:隧道建立模块,设置为在源节点和目的节点之间建立一条隧道,所述隧道包括多段子隧道;路径计算模块,设置为获取每段子隧道的可选路径和所述可选路径的重复节点;将所述重复节点作为有多条可选路径的子隧道的路径计算约束条件,对所述有多条可选路径的子隧道进行路径计算。
- 一种网络控制器,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至7中任意一项所述的路径计算方法。
- 一种计算机可读存储介质,存储有计算机程序,其中,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的路径计算方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111088571.1 | 2021-09-16 | ||
CN202111088571.1A CN115834463A (zh) | 2021-09-16 | 2021-09-16 | 路径计算方法、装置、网络控制器和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023040503A1 true WO2023040503A1 (zh) | 2023-03-23 |
Family
ID=85515109
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2022/110082 WO2023040503A1 (zh) | 2021-09-16 | 2022-08-03 | 路径计算方法、装置、网络控制器和存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115834463A (zh) |
WO (1) | WO2023040503A1 (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101888572A (zh) * | 2009-05-11 | 2010-11-17 | 中兴通讯股份有限公司 | 一种wson光传送网可替代路由实现方法和系统 |
CN102647340A (zh) * | 2012-03-22 | 2012-08-22 | 中兴通讯股份有限公司 | Rsvp-te隧道中的松散节点及其路径计算方法 |
CN102882787A (zh) * | 2012-10-11 | 2013-01-16 | 华为技术有限公司 | 确定流量工程隧道的转发路径的方法和装置 |
CN104869021A (zh) * | 2015-05-22 | 2015-08-26 | 清华大学 | 多粒度多域异构光网络资源配置方法 |
CN105681190A (zh) * | 2014-11-21 | 2016-06-15 | 中兴通讯股份有限公司 | 一种隧道约束信息的发送、接收方法及装置 |
US20170126545A1 (en) * | 2014-04-04 | 2017-05-04 | Telefonaktiebolaget Lm Ericsson (Publ) | Apparatus And Method For Establishing A Repair Path |
CN108199955A (zh) * | 2016-12-08 | 2018-06-22 | 中兴通讯股份有限公司 | 一种路由建立方法和装置 |
-
2021
- 2021-09-16 CN CN202111088571.1A patent/CN115834463A/zh active Pending
-
2022
- 2022-08-03 WO PCT/CN2022/110082 patent/WO2023040503A1/zh active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101888572A (zh) * | 2009-05-11 | 2010-11-17 | 中兴通讯股份有限公司 | 一种wson光传送网可替代路由实现方法和系统 |
CN102647340A (zh) * | 2012-03-22 | 2012-08-22 | 中兴通讯股份有限公司 | Rsvp-te隧道中的松散节点及其路径计算方法 |
CN102882787A (zh) * | 2012-10-11 | 2013-01-16 | 华为技术有限公司 | 确定流量工程隧道的转发路径的方法和装置 |
US20170126545A1 (en) * | 2014-04-04 | 2017-05-04 | Telefonaktiebolaget Lm Ericsson (Publ) | Apparatus And Method For Establishing A Repair Path |
CN105681190A (zh) * | 2014-11-21 | 2016-06-15 | 中兴通讯股份有限公司 | 一种隧道约束信息的发送、接收方法及装置 |
CN104869021A (zh) * | 2015-05-22 | 2015-08-26 | 清华大学 | 多粒度多域异构光网络资源配置方法 |
CN108199955A (zh) * | 2016-12-08 | 2018-06-22 | 中兴通讯股份有限公司 | 一种路由建立方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN115834463A (zh) | 2023-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11082262B2 (en) | Flow entry generating method and apparatus | |
US10516478B2 (en) | Controller based path estimation and path provisioning using optical impairment data | |
US10432427B2 (en) | Border gateway protocol for communication among software defined network controllers | |
US11388087B2 (en) | Label switched path (LSP) protection across multiple domains of a segment routing (SR) network | |
US9203702B2 (en) | Path calculation method | |
US8898335B2 (en) | Apparatus and method for calculating communication paths | |
TWI472191B (zh) | 非相交路徑計算演算法 | |
US12034632B2 (en) | Fault protection method, node, and storage medium | |
JP6087433B2 (ja) | 電気通信ネットワークにおいてリンク多様なトラフィック経路を確立するための方法および関連装置 | |
WO2014081766A1 (en) | Bandwidth on-demand services in multiple layer networks | |
US20070019652A1 (en) | Method and apparatus for updating label-switched paths | |
US11095553B2 (en) | Method, apparatus and system for controlling routing information advertising | |
US20210051092A1 (en) | Explicit Backups and Fast Re-Route Mechanisms For Preferred Path Routes in a Network | |
US20160352636A1 (en) | Network path computation method, apparatus, and system | |
CN114650242A (zh) | 路径故障检测方法、装置、相关设备及存储介质 | |
CN101350761A (zh) | 实现路径建立、计算的方法、装置及系统 | |
WO2023040503A1 (zh) | 路径计算方法、装置、网络控制器和存储介质 | |
CN108390780B (zh) | 用于处理信息的方法和装置 | |
US10992573B2 (en) | Multi-layer LSP control method and apparatus | |
US20120063362A1 (en) | Method and apparatus for computing paths to destinations in networks having link constraints | |
US11362932B2 (en) | Achieving highly available autonomous systems (AS) in a source-selected path routing network | |
CN115622937A (zh) | 一种基于不相交路径的路由保护方法及相关设备 | |
EP3588874A1 (en) | Method and apparatus for adjusting bandwidth according to requirements, and computer storage medium | |
WO2012176067A2 (en) | Method for supporting mpls transport entity recovery with multiple protection entities |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22868880 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 22868880 Country of ref document: EP Kind code of ref document: A1 |