US12494983B2 - Method and apparatus generating a forwarding path, network device and storage medium - Google Patents
Method and apparatus generating a forwarding path, network device and storage mediumInfo
- Publication number
- US12494983B2 US12494983B2 US18/001,746 US202118001746A US12494983B2 US 12494983 B2 US12494983 B2 US 12494983B2 US 202118001746 A US202118001746 A US 202118001746A US 12494983 B2 US12494983 B2 US 12494983B2
- Authority
- US
- United States
- Prior art keywords
- node
- path
- forwarding
- network nodes
- network
- 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, expires
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- 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/28—Routing or path finding of packets in data switching networks using route fault recovery
-
- 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/34—Source routing
Definitions
- the present disclosure relates to the technical field of network communications, and in particular, to a method and apparatus for generating a forwarding path, a network device and a storage medium.
- the forwarding path of the packet is generated based on network nodes with physical links in the same logical topology.
- the path calculation algorithm supported by network nodes may change with the network environment, so that the logical topology of the network nodes changes. For example, a path calculation algorithm supported by two network nodes in a logical topology is changed and the two network nodes no longer belong to the logical topology, which unfortunately causes physical links between other network nodes in the logical topology to be interrupted, so it is difficult to generate a communicated forwarding path according to the network nodes in the logical topology.
- the present disclosure provides a method and apparatus for generating a forwarding path, a network device and a storage medium.
- a communicated forwarding path can be generated when logical topology changes.
- examples of the present disclosure provide a method for generating a forwarding path generation, including:
- obtaining a second forwarding path from the source node to the tail node comprises:
- generating a second forwarding sub-path from the third network node to the tail node based on topology information of fourth network nodes and topology information of second network nodes comprises:
- generating a second forwarding sub-path from the third network node to the tail node based on topology information of fourth network nodes and topology information of second network nodes comprises:
- obtaining a second forwarding path from the source node to the tail node comprises:
- examples of the present disclosure provide an apparatus for generating a forwarding path, including:
- the path obtaining module comprises:
- the sub-path generating unit is further configured to perform path calculation based on the topology information of the fourth network nodes and the topology information of the second network nodes by using the target path calculation algorithm to generate a second forwarding sub-path from the third network node to the tail node;
- the apparatus for generating a forwarding path further includes:
- the sub-path generating unit is further configured to perform path calculation based on the topology information of the fourth network nodes and the topology information of the second network nodes by using a shortest path first algorithm to generate the second forwarding sub-path from the third network node to the tail node.
- the path obtaining module is further configured to send a path request to a control node when there is a path interruption in the first forwarding path; receive a second forwarding path fed back by the control node, wherein the second forwarding path is a forwarding path from the source node to the tail node determined by the control node based on topology information of first network nodes and topology information of second network nodes.
- examples of the present disclosure provide a network device, including a processor and a machine-readable storage medium having processor executable instructions stored thereon which, when executed by the processor, cause the processor to implement steps of the method for generating a forwarding path according to any of the above first aspects.
- examples of the present disclosure provide a machine-readable storage medium having machine-executable instructions stored thereon which, when called and executed by a processor, cause the processor to implement steps of the method for generating a forwarding path according to any of the above first aspects.
- a forwarding path is generated by applying the solution provided in examples of the present disclosure, if there is a path interruption in the generated first forwarding path by using the target path calculation algorithm to perform path calculation on topology information of the first network nodes, it is not considered that a communicated forwarding path cannot be generated, but a communicated forwarding path is generated by means of the second network nodes that do not support the target path calculation algorithm. Based on this, even if the physical link between the network nodes in the logical topology is interrupted due to a change in logical topology, the generation of the communicated forwarding path can be ensured.
- FIG. 1 a is a schematic diagram of a first network topology according to an example of the present disclosure
- FIG. 1 b is a schematic diagram of a second network topology according to an example of the present disclosure
- FIG. 1 c is a schematic diagram of a third network topology according to an example of the present disclosure.
- FIG. 2 is a schematic flowchart of a first method for generating a forwarding path according to an example of the present disclosure
- FIG. 4 is a schematic structural diagram of a first apparatus for generating a forwarding path according to an example of the present disclosure
- FIG. 5 is a schematic structural diagram of a second apparatus for generating a forwarding path according to an example of the present disclosure.
- FIG. 6 is a schematic structural diagram of a network device according to an example of the present disclosure.
- a forwarding path needs to be generated before a packet is forwarded.
- a forwarding path is generated based on logical topologies of network nodes. That is, network nodes included in the generated forwarding path are network nodes included in the same logical topology, and thus support the same path calculation algorithm.
- the generation of forwarding path depends on physical links between network nodes in the logical topology. Once the physical links between the network nodes in the logical topology cannot connect the designated source node with the designated tail node, the forwarding path cannot be successfully generated.
- topology information of first network nodes supporting a target path calculation algorithm is obtained.
- One network node may support one path calculation algorithm, and may also support a plurality of path calculation algorithms.
- the above path calculation algorithm refers to an algorithm for computing a forwarding path.
- the above path calculation algorithm may be Flex-Algo.
- Each Flex-Algo algorithm can be represented by a value of 128-255 intervals.
- path calculation is performed, using the target path calculation algorithm, based on topology information of the first network nodes to generate a first forwarding path.
- the first forwarding path is a forwarding path from a designated source node to a designated tail node in the first network nodes.
- the execution node may perform path calculation based on the topology information of the first network nodes under constraints on path calculation posed by the target path calculation algorithm.
- the Flex-Algo may include a group of constraints.
- the above constraints may be constraints on link indicator.
- the link indicator may be a delay indicator.
- the above constraints may be constraints on path calculation algorithm.
- the above path calculation algorithm may be an Shortest Path First (SPF) algorithm.
- SPF Shortest Path First
- the above constraints may be constraints on topology information, which for example specify links that need to be included in the forwarding path or links that need to be removed. Based on this, in case that the above target path calculation algorithm is Flex-Algo, path calculation may be performed based on the topology information of the first network nodes under constraints included in Flex-Algo.
- the second forwarding path is a forwarding path determined based on topology information of all the first network nodes and topology information of second network nodes, and the second network nodes do not support the target path calculation algorithm.
- the second forwarding path may be a complete forwarding path from the source node to the tail node.
- the second forwarding path may also be a set of a plurality of forwarding sub-paths, and in this case, the plurality of forwarding sub-paths may be connected to form a complete forwarding path from the source node to the tail node.
- the generated first forwarding path is a partial forwarding path from the source node to the tail node.
- the last hop of the first forwarding path is a first network node that is not in communication with other first network nodes, instead of the above tail node.
- the execution node may consider that there is a path interruption in the first forwarding path.
- the second network nodes are also included in the path calculation process so as to communicate two first network nodes, through physical links between first network nodes and second network nodes and physical links between the second network nodes and the second network nodes.
- the execution node may perform path calculation based on the topology information of all the first network nodes and the topology information of all the second network nodes, so as to obtain a second forwarding path from the source node to the tail node.
- a shortest path first algorithm or the above target path calculation algorithm may be used during path calculation.
- first network nodes communicated with second network nodes are determined from the second forwarding path, so as to obtain node pairs.
- the second forwarding path may have a sub-path communicated by the second network nodes, or may have a plurality of sub-paths communicated by the second network nodes.
- the execution node may check each network node hop-by-hop in the direction from the source node to the tail node, determine a first network node directly connected to a second network node as the first node of a sub-path, and determine the next first network node directly connected to a second network node as the second node of the sub-path.
- the above first node and second node form a node pair, and the second node is located behind the first node in the direction of the second forwarding path.
- a next hop device of the first node in each node pair on the second forwarding path is updated as the second node in the node pair to obtain a forwarding path communicated from the source node to the tail node.
- the second node is located behind the first node in the direction of the second forwarding path.
- the second node in each node pair taken as the next-hop device of the first node in the node pair.
- FIG. 1 d showing a forwarding path generated by applying the solution provided in the example of the present disclosure in a case that there is a path interruption in the forwarding path shown in FIG. 1 b .
- R 2 and R 6 are communicated by a dotted line, indicating that R 2 is communicated with R 6 through a second network node.
- the next-hop devices can be known based on the segment list of the forwarding path carried by the packet header of the SRv6 packet.
- the first network node can perform path calculation based on the shortest path first algorithm or the target path calculation algorithm to obtain a forwarding path between itself and the next hop device, so that the SRv6 packet is forwarded to the next hop device in the obtained forwarding path.
- a forwarding path is generated by applying the solution provided in examples of the present disclosure, if there is a path interruption in the generated first forwarding path by using the target path calculation algorithm to perform path calculation on topology information of the first network nodes, it is not considered that a communicated forwarding path cannot be generated, but a communicated forwarding path is generated by means of the second network nodes that do not support the target path calculation algorithm. Based on this, even if the physical link between network nodes in a logical topology is interrupted due to a change in logical topology, the generation of a communicated forwarding path can be ensured.
- the above second forwarding path can also be generated by a control node having a control function in the network.
- the control node can not only obtain path calculation algorithms notified by network nodes in the network, but also collect topology information of network nodes in the network through BGP Link-State (BGP-LS).
- BGP-LS BGP Link-State
- the execution node obtains the second forwarding path through the control node.
- the execution node sends a path request to the control node, where the path request is used to request the control node to generate a second forwarding path.
- the control node determines the second forwarding path from the source node to the tail node based on the topology information of all the first network nodes and the topology information of the second network nodes, and feeds back the second forwarding path to the above execution node, so that the above execution node obtains the second forwarding path.
- the control node may use the shortest path first algorithm to determine the second forwarding path, or use the target path calculation algorithm to determine the second forwarding path, of course, other algorithms may also be used to determine the second forwarding path, which is not limited in the present disclosure.
- control node since the control node can know the path calculation algorithm supported by network nodes in the network and the topology information of the network nodes, a relatively accurate forwarding path can be generated. In addition, the control node undertakes the work of generating the second forwarding path, thereby reducing the work pressure of network node as an execution entity.
- FIG. 3 a flowchart of a second method for forwarding path generation is provided, and compared with the foregoing example shown in FIG. 2 , the operation of block S 203 , i.e., obtaining a second forwarding path from the source node to the tail node when there is a path interruption in the first forwarding path, includes the operations S 203 A and S 203 B.
- a third network node in the first forwarding path where a path interruption occurs is determined, and a first forwarding sub-path from the source node to the third network node is determined.
- a last hop in the first forwarding path can be detected to detect whether the last hop is the tail node. If the last hop is not the tail node, it is determined that there is a path interruption in the first forwarding path, and the above last hop is referred to as a third network node.
- the above first forwarding path is a forwarding path from the source node to the third network node, and therefore, the first forwarding path may be used as the first forwarding sub-path in this step.
- a second forwarding sub-path from the third network node to the tail node is generated based on topology information of fourth network nodes and topology information of second network nodes.
- the fourth network nodes are first network nodes that are not located in the first forwarding sub-path.
- the packet cannot be forwarded to the tail node through this forwarding path.
- the third network node is unable to communicate with the fourth network nodes, and the third network node may be able to communicate with the fourth network node by means of second network nodes, a second forwarding sub-path from the third network node to the tail node is generated in this operation based on the topology information of the fourth network nodes and the topology information of the second network nodes.
- the operation of block S 204 includes the operation of block 204 A.
- first network nodes in communication with second network nodes are determined from the second forwarding sub-path to obtain node pairs.
- the first forwarding sub-path is a forwarding path generated for the first network nodes by using the target path calculation algorithm, there is definitely no first network nodes communicated with the second network nodes in the first forwarding sub-path.
- the first network nodes communicated to the second network nodes may be determined in the second forwarding sub-path, so as to obtain node pairs.
- the execution node may check network nodes hop-by-hop in the direction from the third network node to the tail node, determine a first network node directly connected to the second network nodes as the first node, and determine a next first network node directly connected to the second network nodes as the second node.
- the above first node and the second node form a node pair.
- the operation of block S 205 includes operations in blocks S 205 A and S 205 B.
- next hop device of the first node in each node pair on the second forwarding sub-path is updated as the second node in the node pair.
- the execution node takes the second node in each node pair as the next-hop device of the first node in the node pair, such that the second forwarding sub-path is updated, and second network nodes can be removed from the second forwarding sub-path.
- the second forwarding sub-path is constituted by first network nodes.
- the first forwarding sub-path and the updated second forwarding sub-path are connected to obtain a forwarding path communicated from the source node to the tail node.
- both the first forwarding sub-path and the second forwarding sub-path are parts of the forwarding path from the source node to the tail node, and the third network node is present in both the first forwarding sub-path and the second forwarding sub-path. Therefore, the first forwarding sub-path and the second forwarding sub-path can be connected through the third network node to obtain a complete forwarding path from the source node to the tail node.
- the first forwarding path obtained by using the target path calculation algorithm is used as the first forwarding sub-path. This ensures that network nodes in the first forwarding sub-path are all first network nodes. Then node pairs are determined for the second forwarding sub-path, the efficiency of forwarding path generation is improved while ensuring that the determined node pairs are accurate.
- the operation of block S 203 B i.e., the execution node generating a second forwarding sub-path from the third network node to the tail node based on topology information of fourth network nodes and topology information of second network nodes may include: performing path calculation based on the topology information of the fourth network nodes and the topology information of the second network nodes by using the target path calculation algorithm to generate a second forwarding sub-path from the third network node to the tail node.
- the second forwarding sub-path is generated by using the target path calculation algorithm, in order to ensure that the first node in each node pair can accurately forward a SRv6 packet to the second node in the node pair, the first node needs to know the path calculation algorithm through which the second forwarding sub-path is generated.
- a Binding Segment Identifier may be added between a first Segment Identifier (SID) and a second SID when the execution node generates a segment list of the above communicated forwarding path, so that the first node in the first node pair invokes a SRv6 forwarding strategy corresponding to the BSID to select a forwarding path to the second node in the first node pair. This can ensure that when the source node adds the SID to the packet, it also successfully adds the BSID to the packet.
- the forwarding strategy corresponding to the BSID uses the target path calculation algorithm, the first node pair is a node pair in the communicated forwarding path, the first SID is a SID corresponding to the first node in the first node pair, and the second SID is a SID corresponding to the second node in the first node pair.
- the above segment list stores a plurality of SIDs, each SID corresponding to a network node in the forwarding path.
- the SID corresponding to each network node may store: the identity of the network node, an operation instruction that a network node needs to perform on the SRv6 packet, and instruction parameters of the above operation instruction, etc.
- the first node in the node pair can perform path selection according to the second forwarding sub-path before update, and then forward a SRv6 packet to the second node in the node pair, thereby effectively ensuring accurate forwarding of the SRv6 packet.
- a security authentication instruction and instruction parameters of the security authentication instruction may also be added to function fields of a SID corresponding to each node in the first node pair when the execution node generates a segment list of the communicated forwarding path.
- the security authentication instruction carried in the SID can be executed according to the instruction parameters carried in the SID, thereby ensuring the security of the SRv6 packet that is to be forwarded. In this way, it can also be ensured that the safety authentication instruction and the instruction parameters of the safety authentication instruction are successfully added to the packet when the source node adds the SID to the packet.
- the above security authentication instruction may be a security authentication instruction for IPSec or a security authentication instruction for SRv6 HMAC.
- a shortest path first algorithm may be used as a default path calculation algorithm.
- the shortest path first algorithm may be used to perform path calculation on the topology information of the fourth network nodes and the topology information of the second network nodes, so as to generate a second forwarding sub-path from the third network node to the tail node. Since the shortest path first algorithm is the default path calculation algorithm, it may not be otherwise notified that the path calculation algorithm used when the first node generates the second forwarding sub-path in the node pair is the shortest path first algorithm.
- the first node in the node pair receives a SRv6 packet, it can directly select a path according to the shortest path first algorithm, and then forward the SRv6 packet to the second node in the node pair. In this way, not only can the SRv6 packet forwarding be accurately realized, but also the amount of information carried in the SRv6 packet can be reduced.
- the target path calculation algorithm is the aforementioned path calculation algorithm 1 .
- the network nodes R 0 , R 1 , R 2 , R 6 , and R 7 all support the path algorithm 1 , that is, the first network node includes: R 0 , R 1 , R 2 , R 6 , R 7 , such that the second network node comprises: R 3 , R 4 , R 5 .
- the designated source node is R 0
- the designated tail node is: R 7 .
- the generated first forwarding path is R 0 ⁇ R 1 ⁇ R 2 , and does not include the path R 6 ⁇ R 7 , and the last hop of the first forwarding path is R 2 , but not R 7 . This indicates that there is a path interruption in the first forwarding path.
- the third network node is R 2
- the first forwarding sub-path is: R 0 ⁇ R 1 ⁇ R 2
- the fourth network node comprises: R 6 and R 7 .
- the segment list of the communicated forwarding path when the segment list of the communicated forwarding path is generated, the segment list includes: SIDs in sequence corresponding to R 0 , R 1 , R 2 , R 6 and R 7 .
- R 2 receives the SRv6 packet, it knows from the fragment list that the next hop device is: R 6 . Since R 2 can know that there is no physical link with R 6 , when R 2 forwards a SRv6 packet to R 6 , a shortest path first algorithm is used to calculate a path for forwarding the SRv6 packet to R 6 . It can be calculated that the SRv6 packet is forwarded to R 6 through R 3 . As such, R 2 forwards the SRv6 packet to R 3 , and then R 3 forwards the SRv6 packet to R 6 .
- the path calculation algorithm 1 is used to perform path calculation based on the topology information of R 6 , R 7 , R 3 , R 4 , and R 5 to generate a second forwarding sub-path. If the generated second forwarding sub-path is: R 2 ⁇ R 5 ⁇ R 6 ⁇ R 7 , then a node pair includes R 2 and R 6 . The first node in the node pair is R 2 , and the second node is R 6 . R 6 in the second forwarding sub-path is taken as the next-hop device of R 2 . Then updated second forwarding sub-path is: R 2 ⁇ R 6 ⁇ R 7 .
- the communicated forwarding path obtained by connecting the first forwarding sub-path and the second forwarding sub-path is: R 0 ⁇ R 1 ⁇ R 2 ⁇ R 6 ⁇ R 7 .
- the segment list of the communicated forwarding path when the segment list of the communicated forwarding path is generated, the segment list sequentially includes: SIDs corresponding to R 0 , R 1 , R 2 , R 6 and R 7 , and BSID is added between SID corresponding to R 2 and SID corresponding to R 6 .
- R 2 receives the SRv6 packet, it can know from the segment list that the next hop device is: R 6 . Since R 2 can know that there is no physical link with R 6 , when the R 2 forwards a SRv6 packet to R 6 , the SRv6 forwarding strategy corresponding to BSID is invoked to select a forwarding path to R 6 .
- the path calculation algorithm used by the SRv6 forwarding strategy corresponding to BSID is: the path calculation algorithm 1 , it can be calculated that R 2 forwards SRv6 packets to R 6 through R 5 . As such, R 2 forwards SRv6 packet to R 5 , and then R 5 forwards the SRv6 packet to R 6 .
- examples of the disclosure also provide a forwarding path generation device.
- FIG. 4 is a schematic structural diagram of an apparatus for generating a forwarding path provided in an example of the present disclosure
- the apparatus includes a topology obtaining module 401 , a path generating module 402 , a path obtaining module 403 , a node determining module 404 , and a next hop updating module 405 .
- the topology obtaining module 401 is configured to obtain topology information of a first network node that supports a target path calculation algorithm
- the path generating module 402 is configured to perform, using the target path calculation algorithm, path calculation based on the topology information of the first network nodes to generate a first forwarding path, wherein the first forwarding path is a forwarding path from a designated source node to a designated tail node in the first network nodes.
- the path obtaining module 403 is configured to obtain a second forwarding path from the source node to the tail node when there is a path interruption in the first forwarding path, wherein the second forwarding path is a forwarding path determined based on topology information of all the first network nodes and topology information of second network nodes, and the second network nodes do not support the target path calculation algorithm.
- the node determining module 404 is configured to determine, from the second forwarding path, first network nodes communicated with second network nodes to obtain node pairs.
- the next hop updating module 405 is configured to update the next hop device of the first node in each node pair on the second forwarding path as the second node in the node pair to obtain a forwarding path communicated from the source node to the tail node, the second node is located behind the first node in each node pair in a direction of the second forwarding path.
- a forwarding path is generated by applying the solution provided in examples of the present disclosure, if there is a path interruption in the first forwarding path generated by using the target path calculation algorithm to perform path calculation based on topology information of the first network nodes, it is not considered that a communicated forwarding path cannot be generated, but a communicated forwarding path can be generated by means of the second network nodes that do not support the target path calculation algorithm. Based on this, even if the physical link between the network nodes in the logical topology is interrupted due to a change in the logical topology, the generation of the communicated forwarding path can be ensured.
- the path obtaining module 403 includes a sub-path determining unit 403 A and a sub-path generating unit 403 B.
- the sub-path determining unit 403 A is configured to determine a third network node in the first forwarding path where a path interruption occurs and a first forwarding sub-path from the source node to the third network node when there is a path interruption in the first forwarding path.
- the sub-path generating unit 403 B is configured to generate a second forwarding sub-path from the third network node to the tail node based on topology information of fourth network nodes and topology information of second network nodes, the fourth network nodes being first network nodes that are not located in the first forwarding sub-path.
- the node determining module 404 is specifically configured to determine, from the second forwarding sub-path, first network nodes in communication with second network nodes to obtain node pairs.
- the next hop updating module 405 is specifically configured to update the next hop device of the first node in each node pair on the second forwarding sub-path as the second node in the node pair; connecting the first forwarding sub-path and the updated second forwarding sub-path to obtain a forwarding path communicated from the source node to the tail node.
- the first forwarding path obtained by using the target path calculation algorithm is used as the first forwarding sub-path, so that it is ensured that the network nodes in the first forwarding sub-path are all the first network nodes, and then the node pair is determined for the second forwarding sub-path.
- the efficiency of forwarding path generation is improved while ensuring that the determined node pair is accurate.
- the sub-path generating unit 403 B is specifically configured to perform path calculation based on the topology information of the fourth network nodes and the topology information of the second network nodes by using the target path calculation algorithm to generate a second forwarding sub-path from the third network node to the tail node.
- the apparatus further includes:
- a BSID is added between the first SID and the second SID, while the path calculation algorithm used by the forwarding strategy corresponding to the BSID is the target path calculation algorithm, and the second forwarding sub-path before update is also generated by using the target path calculation algorithm. Therefore, the first node in the node pair can therefore perform path selection according to the second forwarding sub-path before update, and forward the SRv6 packet to the second node in the node pair, thereby effectively ensuring accurate forwarding of the SRv6 packet.
- the apparatus further includes: an information adding module configured to, adding security authentication instructions and instruction parameters of the security authentication instructions into function fields of a SID corresponding to nodes in the first node pair when the segment list of the communicated forwarding path is generated.
- the first node and the second node in each node pair receive the SRv6 packet to be forwarded, they can execute the security authentication instruction carried in the SID according to the instruction parameters carried in the SID, thereby ensuring the security of the SRv6 packet to be forwarded.
- the sub-path generating unit 403 B is specifically configured to perform path calculation based on the topology information of the fourth network nodes and the topology information of the second network nodes by using a shortest path first algorithm to generate the second forwarding sub-path from the third network node to the tail node.
- the path obtaining module 403 is specifically configured to send a path request to a control node when there is a path interruption in the first forwarding path; receive a second forwarding path fed back by the control node, wherein the second forwarding path is a forwarding path from the source node to the tail node determined by the control node based on topology information of first network nodes and topology information of second network nodes.
- control node can gain knowledge of path calculation algorithms supported by network nodes in the network and the topology information of network nodes, a relatively accurate forwarding path can be generated.
- control node implements the generation of the second forwarding path, thereby relieving the work pressure of the network node as the execution entity.
- examples of the present disclosure also provide a network device.
- FIG. 6 provides a schematic structural diagram of a network device, the network device includes: a processor 601 and a machine-readable storage medium 602 .
- the machine-readable storage medium 602 stores machine-executable instructions executable by the processor 601 .
- the processor 601 is caused by the machine-executable instructions to implement steps of the method for generating a forwarding path described in the foregoing method examples.
- examples of the present disclosure further provides a machine-readable storage medium storing machine-executable instructions which, when called and executed by a processor, cause the processor to implement the steps of the method for generating a forwarding path described in the foregoing method examples.
- examples of the present disclosure further provides a computer program product containing instructions which, when executed on a computer, cause the computer to perform the steps of the method for generating a forwarding path described in the foregoing method examples.
- the above machine-readable storage medium may include Random Access Memory (RAM) and Non-Volatile Memory (NVM), for example, at least one disk Memory.
- RAM Random Access Memory
- NVM Non-Volatile Memory
- the above machine-readable storage medium may be at least one storage located far away from the aforementioned processor.
- the processor may be a general-purpose processor, including Central Processing Unit (CPU), Network Processor (NP), and the like; it can also be Digital Signal Processors (DSPs), Disclosure Specific Integrated Circuits (ASICs), Field Programmable Gate Arrays (FPGAs) or other Programmable logic devices, discrete Gate or transistor logic devices, discrete hardware components.
- CPU Central Processing Unit
- NP Network Processor
- DSP Digital Signal Processor
- ASIC Disclosure Specific Integrated Circuit
- FPGAs Field Programmable Gate Arrays
- Programmable logic devices discrete Gate or transistor logic devices, discrete hardware components.
- relational terms such as first and second, and the like are used to distinguish one entity or operation from another entity or operation without necessarily requiring or implying any actual such relationship or order between such entities or operations.
- the terms “include”, “contain” or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or device including a series of elements include not only those elements, but also other elements that are not explicitly listed, or include elements inherent to the process, method, article, or device.
- the element defined by the sentence “including an . . . ” does not exclude the presence of other identical elements in the process, method, article, or device that includes the element.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
-
- obtaining topology information of first network nodes supporting a target path calculation algorithm;
- performing, using the target path calculation algorithm, path calculation based on the topology information of the first network nodes to generate a first forwarding path, wherein the first forwarding path is a forwarding path from a designated source node to a designated tail node in the first network nodes;
- obtaining a second forwarding path from the source node to the tail node when there is a path interruption in the first forwarding path, wherein the second forwarding path is a forwarding path determined based on topology information of all the first network nodes and topology information of second network nodes, and the second network nodes do not support the target path calculation algorithm;
- determining, from the second forwarding path, first network nodes communicated with second network nodes to obtain node pairs; and
- updating a next hop device of the first node in each node pair on the second forwarding path as the second node in the node pair to obtain a forwarding path communicated from the source node to the tail node, the second node is located behind the first node in each node pair in a direction of the second forwarding path.
-
- determining a third network node in the first forwarding path where a path interruption occurs and a first forwarding sub-path from the source node to the third network node; and
- generating a second forwarding sub-path from the third network node to the tail node based on topology information of fourth network nodes and topology information of second network nodes, the fourth network nodes being first network nodes that are not located in the first forwarding sub-path;
- determining, from the second forwarding path, first network nodes communicated with second network nodes to obtain node pairs comprises:
- determining, from the second forwarding sub-path, first network nodes in communication with second network nodes to obtain node pairs;
- updating the next hop device of the first node in each node pair on the second forwarding path as the second node in the node pair to obtain a forwarding path communicated from the source node to the tail node comprises:
- updating the next hop device of the first node in each node pair on the second forwarding sub-path as the second node in the node pair; and
- connecting the first forwarding sub-path and the updated second forwarding sub-path to obtain a forwarding path communicated from the source node to the tail node.
-
- performing path calculation based on the topology information of the fourth network nodes and the topology information of the second network nodes by using the target path calculation algorithm to generate a second forwarding sub-path from the third network node to the tail node;
- after connecting the first forwarding sub-path and the updated second forwarding sub-path to obtain a forwarding path communicated from the source node to the tail node, the method further comprises:
- when generating a segment list of the communicated forwarding path, adding a binding segment identifier (BSID) between a first segment identifier (SID) and a second SID, so that the first node in a first node pair invokes a SRv6 forwarding strategy corresponding to the BSID to select a forwarding path to the second node in the first node pair, wherein, the forwarding strategy corresponding to the BSID uses the target path calculation algorithm, the first node pair is a node pair in the communicated forwarding path, the first SID is a SID corresponding to the first node in the first node pair, and the second SID is a SID corresponding to the second node in the first node pair.
-
- when generating the segment list of the communicated forwarding path, adding security authentication instructions and instruction parameters of the security authentication instructions into function fields of a SID corresponding to nodes in the first node pair.
-
- performing path calculation based on the topology information of the fourth network nodes and the topology information of the second network nodes by using a shortest path first algorithm to generate the second forwarding sub-path from the third network node to the tail node.
-
- sending a path request to a control node; and
- receiving a second forwarding path fed back by the control node, wherein the second forwarding path is a forwarding path from the source node to the tail node determined by the control node based on topology information of first network nodes and topology information of second network nodes.
-
- a topology obtaining module configured to obtain topology information of first network nodes supporting a target path calculation algorithm;
- a path generating module configured to perform, using the target path calculation algorithm, path calculation based on the topology information of the first network nodes to generate a first forwarding path, wherein the first forwarding path is a forwarding path from a designated source node to a designated tail node in the first network nodes;
- a path obtaining module configured to obtain a second forwarding path from the source node to the tail node when there is a path interruption in the first forwarding path, wherein the second forwarding path is a forwarding path determined based on topology information of all the first network nodes and topology information of second network nodes, and the second network nodes do not support the target path calculation algorithm;
- a node determining module configured to determine, from the second forwarding path, first network nodes communicated with second network nodes to obtain node pairs; and
- a next hop updating module configured to update the next hop device of the first node in each node pair on the second forwarding path as the second node in the node pair to obtain a forwarding path communicated from the source node to the tail node, the second node is located behind the first node in each node pair in a direction of the second forwarding path.
-
- a sub-path determining unit configured to determine a third network node in the first forwarding path where a path interruption occurs and a first forwarding sub-path from the source node to the third network node when there is a path interruption in the first forwarding path;
- a sub-path generating unit configured to generate a second forwarding sub-path from the third network node to the tail node based on topology information of fourth network nodes and topology information of second network nodes, the fourth network nodes being first network nodes that are not located in the first forwarding sub-path;
- the node determining module is further configured to determine, from the second forwarding sub-path, first network nodes in communication with second network nodes to obtain node pairs;
- the next hop updating module is further configured to update the next hop device of the first node in each node pair on the second forwarding sub-path as the second node in the node pair; connecting the first forwarding sub-path and the updated second forwarding sub-path to obtain a forwarding path communicated from the source node to the tail node.
-
- the apparatus further comprises:
- a BSID adding module configured to, after the next hop updating module obtains the forwarding path communicated from the source node to the tail node, when generating a segment list of the communicated forwarding path, adding a binding segment identifier (BSID) between a first segment identifier (SID) and a second SID, so that the first node in a first node pair invokes a SRv6 forwarding strategy corresponding to the BSID to select a forwarding path to the second node in the first node pair, wherein, the forwarding strategy corresponding to the BSID uses the target path calculation algorithm, the first node pair is a node pair in the communicated forwarding path, the first SID is a SID corresponding to the first node in the first node pair, and the second SID is a SID corresponding to the second node in the first node pair.
-
- an information adding module configured to, adding security authentication instructions and instruction parameters of the security authentication instructions into function fields of a SID corresponding to nodes in the first node pair when the segment list of the communicated forwarding path is generated.
-
- a BSID adding module configured to, after the next hop updating module obtains the forwarding path communicated from the source node to the tail node, when generating a segment list of the communicated forwarding path, add a binding segment identifier (BSID) between a first segment identifier (SID) and a second SID, so that the first node in a first node pair invokes a SRv6 forwarding strategy corresponding to the BSID to select a forwarding path to the second node in the first node pair. The forwarding strategy corresponding to the BSID uses the target path calculation algorithm. The first node pair is a node pair in the communicated forwarding path. The first SID is a SID corresponding to the first node in the first node pair, and the second SID is a SID corresponding to the second node in the first node pair.
Claims (13)
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/CN2021/101914 WO2022266905A1 (en) | 2021-06-23 | 2021-06-23 | Forwarding path generating method and apparatus, network device, and storage medium |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| US20240243989A1 US20240243989A1 (en) | 2024-07-18 |
| US12494983B2 true US12494983B2 (en) | 2025-12-09 |
Family
ID=78727738
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US18/001,746 Active 2041-09-02 US12494983B2 (en) | 2021-06-23 | 2021-06-23 | Method and apparatus generating a forwarding path, network device and storage medium |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US12494983B2 (en) |
| EP (1) | EP4156635B1 (en) |
| JP (1) | JP7527408B2 (en) |
| CN (1) | CN113748643A (en) |
| WO (1) | WO2022266905A1 (en) |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP7527408B2 (en) * | 2021-06-23 | 2024-08-02 | 新華三技術有限公司 | Transfer path generating method, device, network device, and storage medium |
| WO2023139914A1 (en) * | 2022-01-24 | 2023-07-27 | 住友電気工業株式会社 | In-vehicle device, management device, transmission path authentication system, transmission path authentication method, and management method |
| CN116938785A (en) * | 2022-04-01 | 2023-10-24 | 中国移动通信有限公司研究院 | Path optimization processing method, device, equipment and readable storage medium |
| CN117896738B (en) * | 2024-03-18 | 2024-05-14 | 深圳市景松科技有限公司 | A wireless broadband private network communication method, device and system |
Citations (19)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2006059787A1 (en) | 2004-12-01 | 2006-06-08 | Nec Corporation | Overlay link calculation device, calculation method therefor, and program |
| JP2011166359A (en) | 2010-02-08 | 2011-08-25 | Nec Corp | Device and method for controlling connection and program |
| US20150023150A1 (en) * | 2013-07-16 | 2015-01-22 | Futurewei Technologies, Inc. | Establishing and Protecting Label Switched Paths Across Topology-Transparent Zones |
| JP2015029346A (en) | 2010-11-01 | 2015-02-12 | 日本電気株式会社 | COMMUNICATION SYSTEM, CONTROL DEVICE, PACKET TRANSFER ROUTE CONTROL METHOD, AND PROGRAM |
| JP2016146512A (en) | 2013-04-22 | 2016-08-12 | 株式会社日立製作所 | Network system, network resource management apparatus, and communication path creation method |
| US20180083856A1 (en) * | 2016-09-21 | 2018-03-22 | Hangzhou Dptech Technologies Co., Ltd. | Detecting packet forwarding path |
| CN109831382A (en) | 2019-02-13 | 2019-05-31 | 华为技术有限公司 | A path calculation method, device and device |
| CN110661704A (en) * | 2018-06-30 | 2020-01-07 | 华为技术有限公司 | Calculation method of forwarding path and SDN controller |
| CN110677341A (en) | 2019-09-09 | 2020-01-10 | 锐捷网络股份有限公司 | A data forwarding method, device, electronic device and storage medium |
| US10637598B2 (en) * | 2016-01-20 | 2020-04-28 | Soochow University | Protection path determination method and device based on resilient optical network |
| US20200145319A1 (en) | 2018-11-02 | 2020-05-07 | Juniper Networks, Inc. | Enabling non-flexible-algorithm routers to participate in flexible-algorithm routing protocols |
| US10659359B2 (en) * | 2016-03-08 | 2020-05-19 | Huawei Technologies Co., Ltd. | Method and device for checking forwarding tables of network routers |
| WO2020187308A1 (en) | 2019-03-20 | 2020-09-24 | Huawei Technologies Co., Ltd. | Method for optimal routing in an inter-area srmpls igp network, nodes and system thereof |
| WO2020211609A1 (en) | 2019-04-15 | 2020-10-22 | 华为技术有限公司 | Data processing method based on srv6, and related network device |
| US20200344151A1 (en) | 2019-04-26 | 2020-10-29 | Juniper Networks, Inc. | Enhanced flexible-algorithm definition |
| US10965536B2 (en) * | 2019-03-30 | 2021-03-30 | Intel Corporation | Methods and apparatus to insert buffers in a dataflow graph |
| CN112822106A (en) | 2020-06-04 | 2021-05-18 | 中兴通讯股份有限公司 | Segment routing service processing method, device, source node and storage medium |
| US20220255853A1 (en) * | 2019-07-11 | 2022-08-11 | Zte Corporation | Routing management method and apparatus, network device, and readable storage medium |
| US20240243989A1 (en) * | 2021-06-23 | 2024-07-18 | New H3C Technologies Co., Ltd. | Method and apparatus generating a forwarding path, network device and storage medium |
-
2021
- 2021-06-23 JP JP2022577542A patent/JP7527408B2/en active Active
- 2021-06-23 WO PCT/CN2021/101914 patent/WO2022266905A1/en not_active Ceased
- 2021-06-23 US US18/001,746 patent/US12494983B2/en active Active
- 2021-06-23 EP EP21945362.8A patent/EP4156635B1/en active Active
- 2021-06-23 CN CN202180001610.1A patent/CN113748643A/en active Pending
Patent Citations (20)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2006059787A1 (en) | 2004-12-01 | 2006-06-08 | Nec Corporation | Overlay link calculation device, calculation method therefor, and program |
| US20090232030A1 (en) * | 2004-12-01 | 2009-09-17 | Nec Corporation | Overlay link calculation device, calculation method and program thereof |
| JP2011166359A (en) | 2010-02-08 | 2011-08-25 | Nec Corp | Device and method for controlling connection and program |
| JP2015029346A (en) | 2010-11-01 | 2015-02-12 | 日本電気株式会社 | COMMUNICATION SYSTEM, CONTROL DEVICE, PACKET TRANSFER ROUTE CONTROL METHOD, AND PROGRAM |
| JP2016146512A (en) | 2013-04-22 | 2016-08-12 | 株式会社日立製作所 | Network system, network resource management apparatus, and communication path creation method |
| US20150023150A1 (en) * | 2013-07-16 | 2015-01-22 | Futurewei Technologies, Inc. | Establishing and Protecting Label Switched Paths Across Topology-Transparent Zones |
| US10637598B2 (en) * | 2016-01-20 | 2020-04-28 | Soochow University | Protection path determination method and device based on resilient optical network |
| US10659359B2 (en) * | 2016-03-08 | 2020-05-19 | Huawei Technologies Co., Ltd. | Method and device for checking forwarding tables of network routers |
| US20180083856A1 (en) * | 2016-09-21 | 2018-03-22 | Hangzhou Dptech Technologies Co., Ltd. | Detecting packet forwarding path |
| CN110661704A (en) * | 2018-06-30 | 2020-01-07 | 华为技术有限公司 | Calculation method of forwarding path and SDN controller |
| US20200145319A1 (en) | 2018-11-02 | 2020-05-07 | Juniper Networks, Inc. | Enabling non-flexible-algorithm routers to participate in flexible-algorithm routing protocols |
| CN109831382A (en) | 2019-02-13 | 2019-05-31 | 华为技术有限公司 | A path calculation method, device and device |
| WO2020187308A1 (en) | 2019-03-20 | 2020-09-24 | Huawei Technologies Co., Ltd. | Method for optimal routing in an inter-area srmpls igp network, nodes and system thereof |
| US10965536B2 (en) * | 2019-03-30 | 2021-03-30 | Intel Corporation | Methods and apparatus to insert buffers in a dataflow graph |
| WO2020211609A1 (en) | 2019-04-15 | 2020-10-22 | 华为技术有限公司 | Data processing method based on srv6, and related network device |
| US20200344151A1 (en) | 2019-04-26 | 2020-10-29 | Juniper Networks, Inc. | Enhanced flexible-algorithm definition |
| US20220255853A1 (en) * | 2019-07-11 | 2022-08-11 | Zte Corporation | Routing management method and apparatus, network device, and readable storage medium |
| CN110677341A (en) | 2019-09-09 | 2020-01-10 | 锐捷网络股份有限公司 | A data forwarding method, device, electronic device and storage medium |
| CN112822106A (en) | 2020-06-04 | 2021-05-18 | 中兴通讯股份有限公司 | Segment routing service processing method, device, source node and storage medium |
| US20240243989A1 (en) * | 2021-06-23 | 2024-07-18 | New H3C Technologies Co., Ltd. | Method and apparatus generating a forwarding path, network device and storage medium |
Non-Patent Citations (8)
| Title |
|---|
| Britto et al. "IGP Flexible Algorithms (Flexalgo) in IP networks draft-bonica-lsr-ip-flexalgo-00", IP Flexalgo, 2020, 14 pages. |
| Extended European Search Report issued in corresponding European Application No. 21945362.8, dated Jun. 26, 2023. |
| Office Action issued in corresponding Japanese Application No. 2022-577542, dated Feb. 6, 2024. |
| Psenak et al. "IGP Flexible Algorithm draft-ietf-lsr-flex-algo-09.txt" IGP Flexible Algorithm, 2020, 36 pages. |
| Britto et al. "IGP Flexible Algorithms (Flexalgo) in IP networks draft-bonica-lsr-ip-flexalgo-00", IP Flexalgo, 2020, 14 pages. |
| Extended European Search Report issued in corresponding European Application No. 21945362.8, dated Jun. 26, 2023. |
| Office Action issued in corresponding Japanese Application No. 2022-577542, dated Feb. 6, 2024. |
| Psenak et al. "IGP Flexible Algorithm draft-ietf-lsr-flex-algo-09.txt" IGP Flexible Algorithm, 2020, 36 pages. |
Also Published As
| Publication number | Publication date |
|---|---|
| CN113748643A (en) | 2021-12-03 |
| EP4156635A4 (en) | 2023-07-26 |
| JP2023534126A (en) | 2023-08-08 |
| US20240243989A1 (en) | 2024-07-18 |
| JP7527408B2 (en) | 2024-08-02 |
| WO2022266905A1 (en) | 2022-12-29 |
| EP4156635A1 (en) | 2023-03-29 |
| EP4156635B1 (en) | 2024-07-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12494983B2 (en) | Method and apparatus generating a forwarding path, network device and storage medium | |
| US11431633B2 (en) | Label forwarding entry generation method and apparatus, packet sending method and apparatus, and device | |
| KR102397232B1 (en) | Methods and nodes for sending packets in a network | |
| US10439880B2 (en) | Loop-free convergence in communication networks | |
| CN111147380B (en) | Routing processing method and network equipment | |
| US12438807B2 (en) | Route processing method and related device | |
| US11968108B2 (en) | Method and router for label switched path traceroute | |
| CN113691445B (en) | Message forwarding backup path determining method and related equipment | |
| US20220272024A1 (en) | System and method for handling igp flooding topology inconsistency | |
| EP4277235B1 (en) | Method, apparatus and system for sending packet, and storage medium | |
| CN113615132B (en) | Fast flood Hong Tapu protection | |
| WO2017162202A1 (en) | Link state information processing | |
| US20230308394A1 (en) | Bit Index Explicit Replication Traffic Engineering Egress Protection | |
| CN112671652B (en) | Message forwarding method and device | |
| WO2016177136A1 (en) | Method and device for implementing link state advertisement processing | |
| US12513074B2 (en) | System and method for abstracting an IGP zone | |
| US20220150167A1 (en) | Bier packet processing method, network device, and system | |
| CN109005121B (en) | Route calculation method and device | |
| CN120710928A (en) | A network fault processing method and related device | |
| WO2020227412A1 (en) | Open shortest path first (ospf) path-aware flooding |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AS | Assignment |
Owner name: NEW H3C TECHNOLOGIES CO., LTD., CHINA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CHANG, XIANGQING;CHEN, MENGXIAO;LEI, ZHAOYAN;AND OTHERS;SIGNING DATES FROM 20201130 TO 20221213;REEL/FRAME:062090/0485 |
|
| FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: ALLOWED -- NOTICE OF ALLOWANCE NOT YET MAILED Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT RECEIVED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED |
|
| STCF | Information on status: patent grant |
Free format text: PATENTED CASE |