CN115208809A - Method and device for determining path - Google Patents

Method and device for determining path Download PDF

Info

Publication number
CN115208809A
CN115208809A CN202110384043.4A CN202110384043A CN115208809A CN 115208809 A CN115208809 A CN 115208809A CN 202110384043 A CN202110384043 A CN 202110384043A CN 115208809 A CN115208809 A CN 115208809A
Authority
CN
China
Prior art keywords
node
path
bandwidth
nodes
packet
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.)
Pending
Application number
CN202110384043.4A
Other languages
Chinese (zh)
Inventor
于树松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202110384043.4A priority Critical patent/CN115208809A/en
Priority to PCT/CN2022/083172 priority patent/WO2022213830A1/en
Publication of CN115208809A publication Critical patent/CN115208809A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/14Routing performance; Theoretical aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/125Shortest path evaluation based on throughput or bandwidth
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion

Abstract

The application provides a method and a device for determining a path, which can calculate the path based on a Flex-Algo configuration strategy, flexibly constrain the bandwidth of a link, and are beneficial to avoiding traffic congestion caused by insufficient bandwidth, thereby improving the service damage condition. The method comprises the following steps: a first node in the plurality of nodes determines a bandwidth constraint condition, wherein the bandwidth constraint condition is used for representing the bandwidth constraint condition which needs to be met when a message is transmitted based on a target flexible algorithm; the first node determines at least one target path to a second node of the plurality of nodes based on the target flexible algorithm, the target path satisfying the bandwidth constraint.

Description

Method and device for determining path
Technical Field
The present application relates to the field of network technologies, and in particular, to a method and an apparatus for determining a path.
Background
A conventional Interior Gateway Protocol (IGP) may calculate a shortest path to a destination address according to a cost value of a link and a Shortest Path First (SPF) algorithm. However, the SPF algorithm based on the overhead value of the link is fixed, and cannot be adjusted by the user, so that it is inconvenient to calculate the optimal path according to the needs of the user.
In order to improve the flexibility of the algorithm, a user may define an algorithm value to identify a fixed algorithm, that is, a flexible algorithm (Flex-Algo), and based on the characteristics of the Flex-Algo, the user may customize the algorithm of the IGP computation path by himself, and the IGP may select one measurement rule from multiple measurement rules, such as overhead, delay or Traffic Engineering (TE) constraint, of a link, and the like, as a measurement type metric type based on the Flex-Algo computation path, so as to compute paths meeting different requirements according to different measurement types.
However, the path calculated by the above method cannot guarantee the bandwidth (bandwidth) requirement of the service, and is likely to cause traffic congestion.
Disclosure of Invention
The method and the device for determining the path can calculate the path based on the Flex-Algo based on the link bandwidth, and the determined path is favorable for meeting the bandwidth requirements of different services and avoiding traffic congestion.
In a first aspect, a method for determining a path is provided, which is applied to a network including a plurality of nodes, and includes: a first node in the plurality of nodes determines a bandwidth constraint condition, wherein the bandwidth constraint condition is used for representing the bandwidth constraint condition which needs to be met when a message is transmitted based on a target flexible algorithm; the first node determines at least one target path to a second node of the plurality of nodes based on the target flexible algorithm, the target path satisfying the bandwidth constraint.
In the embodiment of the present application, the first node and the second node are nodes supporting a flexible algorithm. When a first node calculates a target path to a second node, path calculation based on a target flexible algorithm is carried out according to a bandwidth constraint condition, so that nodes or links which do not meet the bandwidth constraint condition are eliminated in the path calculation process, paths which meet the bandwidth constraint can be calculated, and flow congestion caused by insufficient bandwidth is avoided.
With reference to the first aspect, in some implementations of the first aspect, the first node receives a first packet from other nodes in the network, where the first packet includes the bandwidth constraint.
In this embodiment, the first node does not know the bandwidth constraint, but other nodes in the network that know the bandwidth constraint may send the first packet to the first node to advertise the bandwidth constraint.
With reference to the first aspect, in certain implementations of the first aspect, a first subtype-length-value (TLV) field of the first packet includes the bandwidth constraint, and the first packet includes a Flexible Algorithm Definition (FAD).
In the embodiment of the present application, the bandwidth constraint may be carried in the FAD of the target flexible algorithm and issued outwards. Specifically, the bandwidth constraint may be carried in a first sub-TLV field of the first packet, which is convenient for the first node to parse the field to obtain the bandwidth constraint.
With reference to the first aspect, in certain implementations of the first aspect, the definition FAD of the flexible algorithm includes at least one of: identification of a flexible algorithm, a calculation type identification, or a metric type identification. The first node determines at least one target path to a second node of the plurality of nodes based on the target flexible algorithm, including: the first node determines a plurality of candidate paths based on at least one of the identifier of the flexible algorithm, the metric type identifier or the calculation type identifier; the first node determines at least one target path from a plurality of candidate paths to the second node based on the bandwidth constraint.
With reference to the first aspect, in certain implementations of the first aspect, the calculation type identification includes an SPF algorithm identification or a strict SPF algorithm identification.
With reference to the first aspect, in certain implementations of the first aspect, the metric type identification includes one of: an identifier of a link delay rule, an identifier of an Interior Gateway Protocol (IGP) overhead rule, an identifier of a Traffic Engineering (TE) rule, or an identifier of a link bandwidth rule.
With reference to the first aspect, in certain implementations of the first aspect, the second sub-TLV field of the first packet includes an affinity attribute constraint that is used to indicate a link attribute that needs to be satisfied by a transmission packet, and the target path satisfies the bandwidth constraint and the affinity attribute constraint.
In this embodiment of the present application, the first packet further includes an affinity attribute constraint condition, so that the selection of the path can be further controlled, and a target path meeting different constraint conditions is determined, so that the availability of the target path is higher.
With reference to the first aspect, in some implementation manners of the first aspect, the first packet is an intermediate system to intermediate system (ISIS) packet or an Open Shortest Path First (OSPF) packet.
With reference to the first aspect, in some implementation manners of the first aspect, before the first node determines, based on the target flexible algorithm, that at least one target path of a second node among the multiple nodes is reached, the first node receives a second packet from a neighboring node of the first node, where the second packet carries remaining bandwidth among neighboring nodes among the multiple nodes; the first node determining at least one target path to a second node of the plurality of nodes based on the target flexible algorithm, including: the first node determines at least one target path to a second node of the plurality of nodes based on the target flexible algorithm and remaining bandwidth between adjacent nodes of the plurality of nodes.
In this embodiment of the present application, the first node may obtain the remaining bandwidth of each link in the candidate path through the second packet, so that the remaining bandwidth of the link in the candidate path may be compared with the bandwidth constraint condition when the path is calculated, to determine whether the calculated path meets the bandwidth requirement.
With reference to the first aspect, in some implementation manners of the first aspect, the second packet is an ISIS packet or an OSPF packet.
With reference to the first aspect, in some implementations of the first aspect, the first node and the second node are in different processes of a same routing protocol, and the routing protocol includes ISIS and OSPF.
In the embodiment of the present application, the bandwidth constraint condition may be transmitted between different processes along with the first packet, which is beneficial for a network node in different processes to obtain the bandwidth constraint condition, thereby implementing cross-domain transmission.
In a second aspect, a method for determining a path is provided, which is applied to a network including a plurality of nodes, and includes: and the third node in the plurality of nodes sends bandwidth constraint conditions to other nodes in the network, wherein the bandwidth constraint conditions are used for representing the bandwidth constraint conditions which need to be met when the message is transmitted based on the target flexible algorithm.
In this embodiment, the first node may also be the same node as the third node, that is, the first node performs the same step as the third node, and sends the bandwidth constraint condition to other nodes in the network.
With reference to the second aspect, in some implementations of the second aspect, the sending, by the third node, the bandwidth constraint to other nodes in the network includes: the third node sends a first message to other nodes in the network, the first message includes the bandwidth constraint condition, a first subtype length value, TLV, field of the first message includes the bandwidth constraint condition, and the first message includes a definition FAD of the flexible algorithm. That is, the bandwidth constraint can be carried out within the FAD of the target flexible algorithm. Specifically, the bandwidth constraint may be carried in a first sub-TLV field of the first packet, which is convenient for the first node to parse the field to obtain the bandwidth constraint.
With reference to the second aspect, in certain implementations of the second aspect, the FAD includes at least one of: identification of a flexible algorithm, a calculation type identification, or a metric type identification.
With reference to the second aspect, in some implementations of the second aspect, the second sub-TLV field of the first packet includes an affinity attribute constraint that indicates a link attribute that needs to be satisfied for transmitting the packet.
With reference to the second aspect, in some implementations of the second aspect, the first packet is an ISIS packet or an OSPF packet.
In a third aspect, an apparatus for determining a path is provided, including: the determining module is used for determining bandwidth constraint conditions, and the bandwidth constraint conditions are used for representing the bandwidth constraint conditions which need to be met when the message is transmitted based on the target flexible algorithm; a processing module configured to determine at least one target path to a second node of the plurality of nodes based on the target flexible algorithm, where the target path satisfies the bandwidth constraint condition.
With reference to the third aspect, in certain implementation manners of the third aspect, the apparatus further includes a receiving module configured to receive a first packet from another node in the network, where the first packet includes the bandwidth constraint.
With reference to the third aspect, in certain implementations of the third aspect, the first subtype length value TLV field of the first packet includes the bandwidth constraint, and the first packet includes a definition FAD of a flexible algorithm.
With reference to the third aspect, in certain implementations of the third aspect, the FAD includes at least one of: an identification of a flexible algorithm, a calculation type identification or a measurement type identification; the processing module is used for: determining a plurality of candidate paths based on at least one of the identifier of the flexible algorithm, the metric type identifier, or the calculation type identifier; and determining at least one target path from the plurality of candidate paths to reach the second node based on the bandwidth constraint.
With reference to the third aspect, in certain implementations of the third aspect, the calculation type identification includes an SPF algorithm identification or a strict SPF algorithm identification.
With reference to the third aspect, in certain implementations of the third aspect, the metric type identifier includes one of: the identifier of the link delay rule, the identifier of the overhead rule of the interior gateway protocol IGP, the identifier of the TE rule of the traffic engineering or the identifier of the bandwidth rule of the link.
With reference to the third aspect, in some implementations of the third aspect, the second sub-TLV field of the first packet includes an affinity attribute constraint that is used to indicate a link attribute that needs to be satisfied by a transmission packet, and the target path satisfies the bandwidth constraint and the affinity attribute constraint.
With reference to the third aspect, in some implementation manners of the third aspect, the first packet is an ISIS packet or an OSPF packet.
With reference to the third aspect, in certain implementations of the third aspect, before the apparatus determines, based on the target flexible algorithm, at least one target path to reach a second node of the plurality of nodes, the receiving module is to: receiving a second message from a neighbor node of the device, wherein the second message carries residual bandwidth between the neighbor nodes in the plurality of nodes; the processing module is used for: at least one target path to a second node of the plurality of nodes is determined based on the target flexible algorithm and a remaining bandwidth between adjacent nodes of the plurality of nodes.
With reference to the third aspect, in some implementation manners of the third aspect, the second packet is an ISIS packet or an OSPF packet.
With reference to the third aspect, in some implementations of the third aspect, the first node and the second node are in different processes of the same routing protocol, and the routing protocol includes ISIS and OSPF.
In a fourth aspect, there is provided another apparatus for determining a path, comprising: the determining module is used for determining bandwidth constraint conditions, and the bandwidth constraint conditions are used for expressing the bandwidth constraint conditions which need to be met when the message is transmitted based on the target flexible algorithm; and the sending module is used for sending the bandwidth constraint condition to other nodes in the network.
With reference to the fourth aspect, in some implementations of the fourth aspect, the sending module is configured to: and sending a first message to other nodes in the network, wherein the first message comprises the bandwidth constraint condition, a first subtype length value (TLV) field of the first message comprises the bandwidth constraint condition, and the first message comprises a definition FAD of the flexible algorithm.
With reference to the fourth aspect, in certain implementations of the fourth aspect, the FAD includes at least one of: identification of a flexible algorithm, a calculation type identification, or a metric type identification.
With reference to the fourth aspect, in some implementations of the fourth aspect, the second sub-TLV field of the first packet includes an affinity attribute constraint, where the affinity attribute constraint is used to indicate a link attribute that needs to be satisfied for transmitting the packet.
With reference to the fourth aspect, in some implementation manners of the fourth aspect, the first packet is an ISIS packet or an OSPF packet.
In a fifth aspect, there is provided yet another apparatus for determining a path, including a processor coupled with a memory and configured to execute instructions in the memory to implement the method in any of the possible implementations of the first aspect or the second aspect. Optionally, the apparatus further comprises a memory. Optionally, the apparatus further comprises a communication interface, the processor being coupled to the communication interface.
In one implementation, the means for determining a path is a routing device, and when the means for determining a path is a routing device, the communication interface may be a transceiver, or an input/output interface.
In another implementation, the means for determining the path is a chip configured in the routing device. When the means for determining a path is a chip configured in the routing device, the communication interface may be an input/output interface.
In a sixth aspect, a processor is provided, comprising: input circuit, output circuit and processing circuit. The processing circuit is configured to receive a signal via the input circuit and transmit a signal via the output circuit, such that the processor performs the method of any one of the possible implementations of the first aspect or the second aspect.
In a specific implementation process, the processor may be a chip, the input circuit may be an input pin, the output circuit may be an output pin, and the processing circuit may be a transistor, a gate circuit, a flip-flop, various logic circuits, and the like. The input signal received by the input circuit may be received and input by, for example and without limitation, a receiver, the signal output by the output circuit may be output to and transmitted by a transmitter, for example and without limitation, and the input circuit and the output circuit may be the same circuit that functions as the input circuit and the output circuit, respectively, at different times. The embodiment of the present application does not limit the specific implementation manner of the processor and various circuits.
In a seventh aspect, a processing apparatus is provided that includes a processor and a memory. The processor is configured to read instructions stored in the memory, and may receive a signal via the receiver and transmit a signal via the transmitter to perform the method of any of the possible implementations of the first aspect or the second aspect.
Optionally, there are one or more processors and one or more memories.
Alternatively, the memory may be integrated with the processor, or provided separately from the processor.
In a specific implementation process, the memory may be a non-transient memory, such as a Read Only Memory (ROM), which may be integrated on the same chip as the processor, or may be separately disposed on different chips.
It will be appreciated that the associated data interaction process, for example, sending the indication information, may be a process of outputting the indication information from the processor, and receiving the capability information may be a process of receiving the input capability information from the processor. In particular, the data output by the processing may be output to a transmitter and the input data received by the processor may be from a receiver. The transmitter and receiver may be collectively referred to as a transceiver, among others.
The processing device in the seventh aspect may be a chip, the processor may be implemented by hardware or may be implemented by software, and when implemented by hardware, the processor may be a logic circuit, an integrated circuit, or the like; when implemented in software, the processor may be a general-purpose processor implemented by reading software code stored in a memory, which may be integrated with the processor, located external to the processor, or stand-alone.
In an eighth aspect, a system for determining a path is provided, where the system includes a first node and a third node, the first node performs the method in any one of the possible implementations of the first aspect, and the third node performs the method in any one of the possible implementations of the second aspect.
In a ninth aspect, there is provided a computer program product comprising: a computer program (also referred to as code, or instructions), which when executed, causes a computer to perform the method of any of the possible implementations of the first or second aspect.
A tenth aspect provides a computer-readable storage medium storing a computer program (which may also be referred to as code, or instructions) which, when run on a computer, causes the computer to perform the method of any one of the possible implementations of the first or second aspect described above.
Drawings
FIG. 1 is a schematic topology diagram of a multi-node network;
FIG. 2 is a schematic flow chart diagram of a method for determining a path according to an embodiment of the present application;
FIG. 3 is a schematic flow chart diagram of another method for determining a path provided by an embodiment of the present application;
fig. 4 is a schematic structural diagram of an ISIS packet according to an embodiment of the present application;
fig. 5 is a schematic structural diagram of an OSPF packet according to an embodiment of the present application;
fig. 6 is a schematic diagram of a sub-TLV advertising remaining bandwidth provided by an embodiment of the present application;
FIG. 7 is a schematic diagram of a flexible algorithm based network topology according to an embodiment of the present application;
FIG. 8 is a schematic flow chart diagram of yet another method for determining a path provided by an embodiment of the present application;
fig. 9 is a schematic diagram illustrating a transmission of FAD information between different ISIS areas according to an embodiment of the present application;
FIG. 10 is a schematic block diagram of an apparatus for determining a path provided by an embodiment of the present application;
FIG. 11 is a schematic block diagram of another apparatus for determining a path provided by an embodiment of the present application;
FIG. 12 is a schematic block diagram of another apparatus for determining a path provided by an embodiment of the present application;
FIG. 13 is a schematic block diagram of another apparatus for determining a path provided by an embodiment of the present application;
fig. 14 is a schematic block diagram of a system for determining a path according to an embodiment of the present application.
Detailed Description
The technical solution in the present application will be described below with reference to the accompanying drawings.
For ease of understanding, first, terms referred to in the embodiments of the present application will be briefly described.
SPF algorithm: the SPF algorithm is the basis of the open shortest path first OSPF routing protocol, and each router can calculate its distance to each destination router by using it as a ROOT (ROOT), and can calculate the topology structure diagram of the routing domain, which is also called shortest path tree, according to a unified database.
2. Definition of the Flexible Alex-Algo FAD: according to the description of the FAD in the draft-ietf-lsr-flex-logo standard, the FAD includes a metric type (metric-type), a calculation type (calculation-type), and a set of description topological constraints (which may also be referred to as constraints in the embodiments of the present application). In addition, the router can be configured with a numerical identifier associated with a FAD. The router can extend a set of type-length-value (TLV) values to carry FAD information of the Flex-Algo, which is called FAD TLV, and this FAD TLV is used to advertise a specific calculation rule of a certain Flex-Algo. The FAD TLV includes a plurality of sub-TLVs (sub-TLVs), and the constraint condition can be described in a sub-TLVs field.
3. The numerical identifiers 0 to 255 each represent the following meanings:
numerical identifier 0: for identifying an SPF algorithm based on a link cost value that allows any node to overlay an SPF path using a different path according to its local policy. For convenience of description, the SPF algorithm based on the link cost value will be referred to as algorithm 0 hereinafter.
Numerical identifier 1: for identifying a strict SPF algorithm. For ease of description, the strict SPF algorithm will be referred to hereinafter as algorithm 1.
Numerical identifiers 2 to 127: the corresponding algorithm is not assigned temporarily.
Numeric identifiers 128 to 255: for identifying the flexible algorithm Flex-Algo described above.
4. Link overhead value (cost): in the OSPF routing protocol, the trunk length of the shortest path tree, i.e., the distance between an OSPF router and each destination router, is called the cost of OSPF, and its algorithm is: cost =100 x (10) ^ 6/link bandwidth.
The conventional IGP algorithm may calculate the shortest path to the destination address according to the overhead value of the link and using the SPF algorithm. Such a method is based on the cost value of the link, and cannot meet different requirements of the user, for example, the user expects to forward according to the path with the minimum delay, or excludes partial link forwarding. Illustratively, since the field of autonomous driving requires a network with extremely low latency, path calculation is required according to latency. For example, if the cost of some links is high and the user wants to consider the cost, the path with high cost needs to be excluded when calculating the path. The SPF algorithm based on the link cost value is fixed and cannot be adjusted by the user, so that it is inconvenient for the user to calculate the optimal path according to the user's needs.
Because the Flex-Algo allows a user to customize the algorithm of the IGP algorithm by himself to meet different service requirements, based on the characteristics of the Flex-Algo, the IGP can automatically calculate paths meeting different requirements according to cost, time delay, TE constraint and the like of a link, and the requirements of traffic engineering are flexibly achieved.
As can be seen from the above, the calculation rule of Flex-Algo is generally represented by a triple, namely, metric type, calculation type and constraint. Wherein the metric type represents a link metric constraint (e.g., a delay metric), the calculation type represents a calculation algorithm constraint (e.g., an SPF algorithm is used), and the constraint condition represents whether some links are included/excluded during the path calculation.
Illustratively, the user may define Flex-Algo 128 as: (1) metric type: time delay; (2) calculation type: SPF; (3) constraint conditions: link x is excluded.
As long as all network nodes in the routing domain have a common understanding of the definition of a particular Flex-Algo 128, the final routing computation will be consistent and will not result in loops.
FIG. 1 is a topological diagram of a multi-node network 100. Network 100 includes node 0, node 9, node 1, node 2, node 3, node 4, node 5, node 6, node 7, and node 8. Each node in fig. 1 supports a function of performing route calculation based on a flexible algorithm. Assuming that a path from node 0 to node 9 needs to be calculated, in the network 100, nodes using the same Flex-Algo from node 0 can calculate a path satisfying the algorithm definition from node 0 to node 9 based on the FAD information.
Wherein, node 0 and node 9 can simultaneously support Flex-Algo 128 and Flex-Algo 129, and the IGP protocol can advertise the definitions of Flex-Algo 128 and Flex-Algo 129 through FAD, so that nodes in the whole network can sense the algorithm and algorithm definition used by node 0 and node 9.
The nodes 1 to 4 use Flex-Algo 128, and the IGP protocol can externally advertise the nodes 1 to 4 using Flex-Algo 128 through FAD TLV.
Nodes 5 to 8 use Flex-Algo 129, and the IGP protocol can externally advertise the nodes 5 to 8 to use Flex-Algo 129 through FAD TLV.
In addition to Flex-Algo 128 and Flex-Algo 129, each node may also support the most basic algorithm 0, i.e., SPF algorithm based on link cost values.
In fig. 1, exemplarily, a node 9 is configured with a segment routing identifier (SRv 6 locator for short) of an SR in which an internet protocol version 6 (internet protocol version 6, IPv 6) data plane forwards an IPv6 packet to be associated with a Flex-Algo, other nodes in a network may calculate a route to a segment corresponding to the SRv6 locator based on the Flex-Algo, and finally, different segment routes represent routes calculated based on different algorithms, which may meet diversified demands of services.
It should be understood that other nodes may also be configured with an SRv6 locator to associate with Flex-Algo, and the embodiments of the present application are not limited herein.
In the route calculation process based on the network 100, the node 0 advertises the support algorithm 0, the Flex-Algo 128 and the Flex-Algo 129 to other nodes, and the node 9 advertises the support algorithm 0, the Flex-Algo 128 and the Flex-Algo 129 to other nodes. Node 1, node 2, node 3 and node 4 advertise support algorithm 0 and Flex-Algo 128 to other nodes, and node 5, node 6, node 7 and node 8 advertise support algorithm 0 and Flex-Algo 129 to other nodes.
Illustratively, flex-Algo 128 is defined as: (1) metric type: time delay; (2) type of calculation: SPF; (3) constraint conditions: excluding the link consisting of node 5 and node 6.
Illustratively, flex-Algo 129 is defined as: (1) metric type: TE; (2) type of calculation: SPF; (3) constraint conditions: excluding the link consisting of node 1 and node 2.
It should be understood that Flex-Algo 128 and Flex-Algo 129 may logically divide network 100 into sub-network topology 110 and sub-network topology 120, sub-network topology 110 including Flex-Algo 128-capable nodes and sub-network topology 120 including Flex-Algo 129-capable nodes. In fig. 1, if node 1, node 2, node 3, and node 4 use Flex-Algo 128, then node 1, node 2, node 3, and node 4 may be attributed to sub-network topology 110. If node 5, node 6, node 7, and node 8 use Flex-Algo 129, then node 5, node 6, node 7, and node 8 may belong to sub-network topology 120.
Illustratively, node 0 uses Flex-Algo 128, and node 0 can perform full-network flooding on the FAD information of the configured Flex-Algo 128, so that each node in the sub-network topology 110 knows the FAD information of Flex-Algo 128, and thus a node in the sub-network topology 110, which is not configured with corresponding FAD information, can also calculate a path according to the FAD information of Flex-Algo 128. And the nodes in the finally determined target path belong to the same sub-network topology.
It should be understood that any node in the network 100 may also perform full-network flooding on the FAD information of the Flex-Algo configured by itself, so that nodes having the same Flex-Algo digital identifier may follow the same algorithm definition to calculate an optimal path meeting the service requirement, which is not limited in this embodiment of the present application.
Illustratively, the nodes 1 to 8 use the algorithm 0, and the target path calculated by the node 0 may include any node in the network 100, without being limited by the Flex-Algo.
In one possible implementation, if node 0 needs to compute a path to node 9, the path needs to carry 10G of traffic. According to the current Flex-Algo route calculation mode, a route can be calculated based on IGP overhead values, TE measurement or time delay, and the possible calculated route is node 0- > node 5- > node 6- > node 8- > node 9. In this path, traffic that can be carried on the link of node 5- > node 6 is 1G, and traffic that can be carried on the link of node 6- > node 8 is also 1G, and these two links cannot meet the calculation requirement of node 0, that is, carry traffic of 10G, so traffic congestion caused by insufficient bandwidth may occur on the two links of node 5- > node 6 and node 6- > node 8, which may further cause packet loss or flow break of the carried service traffic.
In view of the above situation that the calculated Flex-Algo path has insufficient bandwidth due to the fact that the Flex-Algo path calculation cannot be performed based on link bandwidth as an attribute or constraint of the path calculation, embodiments of the present application provide a method and an apparatus for determining a path, which can perform path calculation based on a Flex-Algo configuration policy, flexibly perform constraint of link bandwidth, and facilitate avoiding traffic congestion due to insufficient bandwidth, thereby improving a service damage situation.
Before describing the method and apparatus for determining a path provided in the embodiments of the present application, the following description is made.
First, in the embodiments shown below, terms and english abbreviations, such as bandwidth constraints, target flexible algorithms, flex-Algo, metric types, etc., are illustrative examples given for convenience of description, and should not limit the present application in any way. This application is not intended to exclude the possibility that other terms may be defined in existing or future protocols to carry out the same or similar functions.
Second, the first, second and various numerical numbers in the embodiments shown below are merely for convenience of description and are not intended to limit the scope of the embodiments of the present application. E.g., to distinguish between different nodes, etc.
Third, "at least one" means one or more, "a plurality" means two or more. "and/or" describes the association relationship of the associated object, indicating that there may be three relationships, for example, a and/or B, which may indicate: a exists alone, A and B exist simultaneously, and B exists alone, wherein A and B can be singular or plural. The character "/" generally indicates that the former and latter associated objects are in an "or" relationship. "at least one of the following" or similar expressions refer to any combination of these items, including any combination of the singular or plural items. For example, at least one (one) of a, b, and c, may represent: a, or b, or c, or a and b, or a and c, or b and c, or a, b and c, wherein a, b and c can be single or multiple.
It should be understood that the method for determining a path provided in the present application may be applied to an SRv6 scenario, may also be applied to a Segment Routing (SR) scenario in which an MPLS packet is forwarded by using a multi-protocol label switching (MPLS) data plane, which is referred to as an SR-MPLS scenario for short, and may also be applied to other scenarios, which is not limited in this embodiment of the present application.
A method for determining a path according to an embodiment of the present application is described in detail below with reference to fig. 2.
Fig. 2 is a schematic flow chart of a method 200 for determining a path according to an embodiment of the present application, where the method 200 may be applied to the network 100 shown in fig. 1, and steps and/or processes of the method 200 may be performed by a routing device, which may be, for example, any device with a computational routing function, such as a router or a switch, and the embodiment of the present application is not limited herein. The method 200 includes the steps of:
s201, a first node in the plurality of nodes determines a bandwidth constraint condition, wherein the bandwidth constraint condition is used for representing the bandwidth constraint condition which needs to be met when a message is transmitted based on a target flexible algorithm.
For example, if it is required to determine a path from node 0 to node 9 in the network 100, the first node may be node 0 in the network 100.
S202, the first node determines at least one target path to reach a second node in the plurality of nodes based on the target flexible algorithm, and the target path meets the bandwidth constraint condition.
For example, if it is required to determine a path from node 0 to node 9 (destination node) in the network 100, the second node may be the middle node 9 of the network 100.
It should be understood that the bandwidth constraints may be determined based on different bandwidth requirements of different services. In one possible implementation, the bandwidth constraint is a minimum bandwidth required to transmit the message.
In S202, the first node may determine the target path based on other conditions and the target flexible algorithm based on the determination of the at least one target path based on the target flexible algorithm. Other conditions may be, for example, neighbor information, a routing table, or a link remaining bandwidth, which is not limited in this embodiment of the present application.
In this embodiment, the first node may determine at least one target path. Exemplarily, if the first node determines two target paths that simultaneously satisfy the path computation requirement, the multi-path transmission strategies such as load sharing, dual-transmission selective reception, or primary and secondary may be adopted to transmit the service traffic.
In this embodiment, the first node may calculate at least one target path to the second node, where the target path satisfies a bandwidth constraint. Therefore, the path meeting the bandwidth constraint can be calculated based on the bandwidth as the constraint of the Flex-Algo calculation path, and the traffic congestion caused by insufficient bandwidth is avoided.
Fig. 3 is a flowchart illustrating another method 300 for determining a path according to an embodiment of the present disclosure. The method 300 may be applied to the network 100 as shown in fig. 1, the method 300 comprising the steps of:
s301, a third node in the multiple nodes sends a first message to other nodes in the network, wherein a first sub-TLV field of the first message comprises a bandwidth constraint condition, and the bandwidth constraint condition is used for representing a bandwidth constraint condition which needs to be met when the message is transmitted based on a target flexible algorithm. Correspondingly, the first node receives the first message.
S302, the first node determines a bandwidth constraint condition based on the first message.
S303, the first node determines at least one target path reaching the destination node based on the bandwidth constraint condition.
For example, if it is required to determine a path from the node 0 to the node 9 (destination node) in the network 100, the first node may be the node 0 in the network 100, and the third node may be any node except the node 0 in the network 100, which is not limited in this embodiment of the present invention.
In this embodiment, the first node does not know the bandwidth constraint condition, but other third nodes configured in the network or having acquired the bandwidth constraint condition may send the first packet to the first node to notify the bandwidth constraint condition.
Illustratively, the third node may determine a bandwidth constraint condition according to factors such as a data type and a size of a service, configure corresponding FAD information, and send a first packet carrying the bandwidth constraint condition and the corresponding FAD information to other nodes (including the first node) in the network.
It should be understood that the first node may not only serve as a receiving end to receive the first packet from the other node, but also serve as a sending end to execute steps similar to those of the third node to send the first packet to the other node in the network, which is not limited in this embodiment of the application.
As an optional embodiment, the first sub-TLV field of the first packet includes the bandwidth constraint, and the first packet includes a definition FAD of a flexible algorithm.
In this embodiment of the application, the bandwidth constraint condition may be carried in a first sub-TLV field of the first packet, where the first sub-TLV is one of a plurality of sub-TLVs of the FAD TLV.
Illustratively, the first message may be an intermediate system to intermediate system ISIS message or an OSPF message.
It should be understood that other sub-TLV fields may also be included in the first packet, where the first sub-TLV and the other sub-TLVs belong to a parallel relationship, and the bandwidth constraint is placed in the first sub-TLV field, so that the first node can analyze the field to obtain the bandwidth constraint.
As an alternative embodiment, the definition FAD of the flexible algorithm comprises at least one of the following: identification of a flexible algorithm, a calculation type identification, or a metric type identification.
As an alternative embodiment, the calculation type identifier includes an SPF algorithm identifier or a strict SPF algorithm identifier.
The strict SPF algorithm does not allow any node to change the SPF path calculated by the strict SPF algorithm according to its local policy, and is different from the SPF algorithm.
As an alternative embodiment, the metric type identification includes one of the following: an identifier of a link delay rule, an identifier of an Interior Gateway Protocol (IGP) overhead rule, an identifier of a Traffic Engineering (TE) rule, or an identifier of a link bandwidth rule.
It should be understood that the link delay rule indicates that a way is calculated based on the minimum delay rule when calculating the way. The IGP overhead rule indicates that the path is calculated based on the minimum overhead value rule when the path is calculated. Traffic engineering TE rules indicate that routes are calculated based on TE shortest paths when calculating routes. The link bandwidth rule indicates that routes are calculated based on bandwidth requirements when calculating routes.
Next, taking the first packet as an ISIS packet as an example, an FAD TLV structure of the ISIS packet is described.
Fig. 4 is a schematic structural diagram of an ISIS message 400 according to an embodiment of the present application. As shown in fig. 4a, the FAD TLV structure of the ISIS packet includes the following fields:
1. type (type) field: the method is used for describing the type of the ISIS message;
2. length (length) field: the length is used for describing the length of the ISIS message;
Flex-Algo field: a numeric identifier used to describe the Flex-Algo;
4. a metric type (metric-type) field: the metric type identifier is used for describing the metric type identifier based on which the Flex-Algo route calculation is based;
5. calculation-type field: the calculation type identifier is used for describing the calculation type of the Flex-Algo calculation route;
6. priority (priority) field: a priority identifier for describing a service flow carried by the ISIS packet;
7. a sub TLV (sub-TLVs) field.
As can be understood from the above description, the FAD includes a metric type (metric-type), a computation type (computation-type), and a set of descriptive a set of constraints on the topology, which are located in the sub-TLVs field of FIG. 4, which includes a plurality of different sub-TLV fields, which may describe different topological constraints (or may be referred to as link constraints).
In order to consider the bandwidth constraint condition when calculating the Flex-Algo, a sub-TLV needs to be extended in the ISIS message, and a first sub-TLV shown in fig. 4b is added to carry the bandwidth constraint condition. In the embodiment of the present application, the bandwidth constraint condition may also be referred to as a constrained bandwidth (constrained bandwidth).
It should be understood that the first sub-TLV shown in fig. 4b is one of the sub-TLVs (sub-TLVs) in fig. 4a, and the sub-TLV (sub-TLVs) in fig. 4a may further include other sub-TLVs, which is not limited in this embodiment of the present application.
As shown in fig. 4b, the first sub-TLV includes a type (type) field, a length (length) field, and a constrained bandwidth (constraint bandwidth) field. Wherein, the type field is used for describing the type of the first sub-TLV; the length field is used for describing the length of the numerical value; the constrained bandwidth field is used to describe the minimum bandwidth value that the computed path needs to satisfy. If the computed path bandwidth is less than the constraint bandwidth, then the path needs to be excluded.
It should be understood that the first sub-TLV in the embodiment of the present application is one of a plurality of sub-TLVs (sub-TLVs) of the FAD TLV, and the bandwidth constraint is the topology constraint located in the first sub-TLV field.
Illustratively, the type of the first sub-TLV may be a To Be Defined (TBD) sub-TLV type with a custom identification of 7.
Illustratively, the value field may be 4 bytes in length.
Illustratively, sub-TLVs for constraining Shared Risk Link Groups (SRLGs) may be included in the multiple word TLV field, where a group of links of the same SRLG have the same risk of failure.
Fig. 5 is a schematic structural diagram of an OSPF packet 500 provided in this embodiment, where a FAD TLV structure of the OSPF packet is similar to a FAD TLV structure of an ISIS packet, and is not described herein again.
As an alternative embodiment, S202 includes: the first node determines a plurality of candidate paths based on at least one of the flexible algorithm identifier, the metric type identifier or the calculation type identifier; the first node determines at least one target path from a plurality of candidate paths to reach the second node based on the bandwidth constraint.
In this embodiment of the application, in the process of using the Flex-Algo route calculation, the first node may determine a plurality of candidate routes based on information in the FAD TLV, such as at least one of the identifier of the flexible algorithm, the metric type identifier, or the calculation type identifier. Further, the first node may consider the constraints in the FAD sub-TLVs, and exclude paths that do not satisfy the bandwidth constraints from the plurality of candidate paths, so as to determine at least one target path. Therefore, the path meeting the bandwidth constraint can be determined, and the traffic congestion caused by insufficient bandwidth can be avoided.
As an optional embodiment, the FAD TLV structure of the first packet may further include a second sub-TLV field, where the second sub-TLV field carries an affinity attribute constraint, and the affinity attribute constraint is used to indicate a link constraint that needs to be satisfied by the packet to be transmitted.
In this embodiment of the present application, the first packet further includes an affinity attribute constraint condition, so that the selection of the path can be further controlled, and a target path meeting different constraint conditions is determined, so that the availability of the target path is higher.
It should be understood that the affinity attribute constraint indicates the exclusion or inclusion of certain links.
In this embodiment, the first packet may constrain the link attribute of the path to be computed through the second sub-TLV field, so as to meet different link requirements of different services.
It should be understood that the second sub-TLV in the embodiment of the present application is one of a plurality of sub-TLVs (sub-TLVs) of the FAD TLV, and the affinity attribute constraint is a topology constraint (or may be referred to as a link constraint) located in the second sub-TLV field.
As an optional embodiment, before the first node determines at least one target path to reach a second node of the plurality of nodes based on the target flexible algorithm, the method 200 further comprises: the first node receives a second message from a neighbor node of the first node, wherein the second message carries residual bandwidth between the neighbor nodes in the plurality of nodes; s202 comprises the following steps: the first node determines at least one target path to a second node of the plurality of nodes based on the target flexible algorithm and remaining bandwidth between adjacent nodes of the plurality of nodes.
It should be understood that the first node needs to compare the link residual bandwidth in the candidate path with the bandwidth constraint condition when calculating the path, and therefore the first node needs to obtain the residual bandwidth of each link in the candidate path.
In this embodiment, the first node may receive a second packet from a neighboring node, where the second packet includes information about remaining bandwidth required by the first node to calculate a path.
As an alternative embodiment, the second message is an ISIS message or an OSPF message.
Fig. 6 is a schematic diagram of a sub-TLV 600 advertising remaining bandwidth provided in an embodiment of the present application. As shown in fig. 6, the sub-TLV 600 includes: a type (type) field, a length (length) field, and a residual bandwidth (residual bandwidth) field. Wherein, the type field is used for describing the type of the sub TLV; the length field is used for describing the length of the sub-TLV; the remaining bandwidth field is used to describe the actual remaining bandwidth value.
Illustratively, the sub-TLV 600 may be carried by a Link State Packet (LSP) to advertise the remaining bandwidth.
And the first node acquires the residual bandwidth information in the second message and determines at least one target path based on the residual bandwidth information and a target flexible algorithm.
The following describes an implementation flow of the method for determining a path provided by the embodiment of the present application with reference to fig. 7 and 8 by taking an ISIS routing protocol process as an example.
Fig. 7 is a schematic diagram of a flexible algorithm based network topology 700 according to an embodiment of the present application. Network topology 700 is another network different from network 100, and network topology 700 includes nodes R1, R2, R3, and R4, which are all nodes supporting a flexible algorithm, and R1 needs to calculate a path to R4.
Illustratively, the same FAD information of the Flex-Algo may be configured for each node in the network topology 700, and the FAD information of the Flex-Algo configured for each node is as follows: the numeric identifier of Flex-Algo is 128; the measurement type is marked as 0, and the path is calculated based on the IGP overhead value; the calculation type identifier is 0, which means that the path is calculated by adopting an SPF algorithm; the bandwidth constraint conditions are as follows: the link bandwidth is not lower than 1G.
As can be seen from FIG. 7, the remaining bandwidth of the R1- > R2 link is 0.5G, and the IGP overhead value is 10; the residual bandwidth of the R1- > R3 link is 2G, and the IGP overhead value is 20; the residual bandwidth of the R2- > R4 link is 0.5G, and the IGP overhead value is 10; the remaining bandwidth of the R3- > R4 link is 2G and the IGP overhead value is 20.
The following describes an implementation process of calculating a path to R4 by R1 in conjunction with fig. 8.
Fig. 8 is a schematic flowchart of still another method 800 for determining a path according to an embodiment of the present application, where the method 800 is applied to a network 700, and includes the following steps:
s801, enabling ISIS by each node, and establishing a neighbor relation.
S802, configuring FAD information of Flex-Algo by each node.
In this step, a user may first configure FAD information of Flex-Algo that meets a service requirement for one or more nodes, and a node configured with the FAD information of Flex-Algo may flood to other nodes and notify configuration information of a certain Flex-Algo of other nodes, so that nodes having the same Flex-Algo digital identifier in a network may configure uniform FAD information, and calculate paths with consistent results.
And S803, the ISIS component collects the residual bandwidth information on the link and performs network-wide notification.
Illustratively, the ISIS component periodically collects the remaining bandwidth on the link from the interface management component according to a preset period (e.g., may be 5 minutes) and performs the remaining bandwidth advertisement using a unidirectional remaining bandwidth sub-TLV (e.g., the sub-TLV shown in fig. 6).
Illustratively, the remaining bandwidth advertisement may be made based on a unidirectional residual bandwidth sub-TLV (URB sub-TLV) described in a request for comments (RFC) 8750 file.
S804, R1 calculates the route reaching R4 according to the configured FAD information of Flex-Algo, and determines the target route.
In this step, R1 configures the FAD information of the Flex-Algo according to S802, which may be the FAD information of the Flex-Algo required by the user to configure the service for R1, or R1 acquires the FAD information from other Flex-Algo nodes configured with the same number identifier.
Because the FAD information is configured with bandwidth constraint conditions, when each node is informed to perform route calculation by adopting Flex-Algo 128, the bandwidth constraint conditions of the lowest 1G need to be met.
In one possible implementation, the ISIS component of node R1 may perform path computation according to the metric type (e.g., IGP overhead value) when computing the path according to the computation type (e.g., SPF algorithm) in the FAD information. As can be seen from fig. 7, the IGP cost value of the path R1- > R2- > R4 is the minimum, but since the maximum traffic that can be carried by the path is 0.5G and the bandwidth constraint is not satisfied, R1 excludes the path and the recalculated target path is R1- > R3- > R4. As can be seen from fig. 7, the minimum remaining bandwidth on the path is 2G, which can meet the requirement of service 1G and does not cause service damage.
In another possible implementation manner, the ISIS component of the node R1 may first exclude the link according to the bandwidth constraint condition in the FAD information, and then calculate the target path according to the calculation type and the metric type. As can be seen from fig. 7, the remaining bandwidth on link R1- > R2 is 0.5G, and the remaining bandwidth on link R2- > R4 is 0.5G, so node R1 can first exclude link R1- > R2 and link R2- > R4, and the remaining link R1- > R3 and link R3- > R4 satisfy the bandwidth constraint condition of 1G, and thus the calculated target path is R1- > R3- > R4.
And S805, if the residual bandwidth of a certain link on the target path does not meet the bandwidth constraint condition, re-calculating the path.
Because the residual bandwidth is dynamically changed, the residual bandwidth of a link on a target path which may be collected in a period of collecting the residual bandwidth later cannot meet the bandwidth constraint condition.
Illustratively, R1 compares the residual bandwidth collected in the next collection period with the bandwidth constraint condition, and if R1 finds that the residual bandwidth of the link on the collected target path cannot meet the bandwidth constraint condition, R1 is triggered to recalculate the path, so as to redetermine at least one path that meets the bandwidth requirement of the service.
It should be understood that the above describes the method for determining a path in the embodiment of the present application by taking the calculation of the paths R1 to R4 in the network 700 as an example, and both R1 and R4 are examples. In addition, a path from R4 to R1 or a path between any two other nodes may also be calculated, which is not limited in this embodiment of the application.
As an alternative embodiment, the first node and the second node are in different processes of the same routing protocol, which includes ISIS and OSPF.
Taking the routing protocol as the ISIS protocol as an example, the FAD information between the first node and the second node described above may be transmitted between the same ISIS process, or may be transmitted between different ISIS processes.
It should be understood that, in the embodiment of the present application, an ISIS process may also be referred to as an ISIS area, that is, FAD information may be transmitted between the same ISIS area or different ISIS areas, so that when a cross-domain path is provided for nodes belonging to different areas to implement cross-domain transmission of a service, the cross-domain path may also be ensured to meet a bandwidth requirement of the service.
Fig. 9 is a schematic diagram of FAD information transmitted between different ISIS areas according to an embodiment of the present application. For example, in the embodiment of the present application, a hierarchical structure of two levels, namely, a backbone area (or referred to as a Level-2 area) and a non-backbone area (or referred to as a Level-1 area), is adopted by ISIS in an autonomous system to describe cross-domain transmission of FAD information. Generally, a Level-1 router can be deployed in a non-backbone area, a Level-2 router is deployed in a backbone area, the Level-1-2 router can belong to both a Level-1 area and a Level-2 area, and the Level-1 router needs to be connected to a router in the Level-2 area through the Level-1-2 router.
It should be understood that ISIS or OSPF may have other area structures, which is not limited in this embodiment of the present application.
As shown in fig. 9, R1 is a Level-1 router, R2 is a Level-1-2 router, and R3 is a Level-2 router, where R1 in the ISIS Level-1 region may transmit FAD information to R3 in the ISIS Level-2 region through R2, and thus, the newly added first sub-TLV carrying the bandwidth constraint condition may be transmitted between different regions along with the FAD information.
It should be understood that the sequence numbers of the above-mentioned processes do not mean the execution sequence, and the execution sequence of each process should be determined by its function and inherent logic, and should not constitute any limitation to the implementation process of the embodiments of the present application.
The method for determining a path according to an embodiment of the present application is described in detail above with reference to fig. 2 to 9, and the apparatus for determining a path according to an embodiment of the present application is described in detail below with reference to fig. 10 to 13.
Fig. 10 is a schematic block diagram illustrating an apparatus 1000 for determining a path according to an embodiment of the present application, where the apparatus 1000 includes: a determination module 1010 and a processing module 1020.
In an alternative example, it can be understood by those skilled in the art that the apparatus 1000 may be embodied as the first node in the above embodiments, or the function of the first node in the above embodiments may be integrated in the apparatus 1000. The above functions may be implemented by hardware, or may be implemented by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the functions described above. The apparatus 1000 may be configured to perform the respective flows and/or steps corresponding to the first node in the above-described method embodiments.
Illustratively, if a path from node 0 to node 9 (destination node) in the network 100 needs to be determined, the first node may be node 0 in the network 100.
Illustratively, if a path from node R1 to node R4 (destination node) in the network 700 needs to be determined, the first node may be node 0 in the network 700.
For example, if it is required to determine a path from the node R1 to the node R3 (destination node) in fig. 9, the first node may be the node R1 in fig. 9.
Wherein the determining module 1010 is configured to: determining a bandwidth constraint condition, wherein the bandwidth constraint condition is used for representing the bandwidth constraint condition which needs to be met when a message is transmitted based on a target flexible algorithm; the processing module 1020 is configured to determine at least one target path to a second node of the plurality of nodes based on the target flexible algorithm, the target path satisfying the bandwidth constraint.
It is to be understood that the determination module 1010 may perform S201 of the method 200 described above, and the processing module 1020 may perform S202 of the method 200 described above.
Optionally, the apparatus 1000 further includes a receiving module 1020 configured to receive a first packet from another node in the network, where the first packet includes the bandwidth constraint.
Illustratively, the receiving module 1020 may be a communication interface, such as a transceiver interface.
Optionally, the first subtype length value TLV field of the first packet includes the bandwidth constraint, and the first packet includes a definition FAD of a flexible algorithm.
Optionally, the FAD comprises at least one of: an identification of a flexible algorithm, a calculation type identification or a measurement type identification; the processing module 1020 is configured to: determining a plurality of candidate paths based on at least one of the identifier of the flexible algorithm, the metric type identifier, or the calculation type identifier; and determining at least one target path from the plurality of candidate paths to reach the second node based on the bandwidth constraint.
Optionally, the calculation type identification comprises an SPF algorithm identification or a strict SPF algorithm identification.
Optionally, the metric type identification comprises one of: the identifier of the link delay rule, the identifier of the overhead rule of the interior gateway protocol IGP, the identifier of the TE rule of the traffic engineering or the identifier of the bandwidth rule of the link.
Optionally, the second sub-TLV field of the first packet includes an affinity attribute constraint condition, where the affinity attribute constraint condition is used to indicate a link attribute that needs to be satisfied by a transmission packet, and the target path satisfies the bandwidth constraint condition and the affinity attribute constraint condition.
Optionally, the first packet is an ISIS packet or an OSPF packet.
Optionally, before the apparatus determines at least one target path to reach a second node of the plurality of nodes based on the target flexible algorithm, the receiving module 1020 is configured to: receiving a second message from a neighbor node of the device, wherein the second message carries residual bandwidth between the neighbor nodes in the plurality of nodes; the processing module 1020 is configured to: at least one target path to a second node of the plurality of nodes is determined based on the target flexible algorithm and a remaining bandwidth between adjacent nodes of the plurality of nodes.
Optionally, the second message is an ISIS message or an OSPF message.
Optionally, the apparatus and the second node are in different processes of the same routing protocol, which includes ISIS and OSPF.
Fig. 11 is a schematic block diagram illustrating another apparatus 1100 for determining a path according to an embodiment of the present application, where the apparatus 1100 includes: a determination module 1110 and a transmission module 1120.
In an alternative example, it can be understood by those skilled in the art that the apparatus 1100 may be embodied as the third node in the above embodiment, or the function of the third node in the above embodiment may be integrated in the apparatus 1100.
The above functions may be implemented by hardware, or may be implemented by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the functions described above. The apparatus 1100 may be configured to perform the respective procedures and/or steps corresponding to the third node in the above-described method embodiments.
For example, if it is required to determine a path from node 0 to node 9 (destination node) in the network 100, the first node may be node 0 in the network 100, and the third node may be one of the other nodes except node 0 in the network 100.
For example, if it is required to determine a path from node R1 to node R4 (destination node) in the network 700, the first node may be node 0 in the network 700, and the third node may be one of the other nodes except node 0 in the network 700.
For example, if it is required to determine a path from the node R1 to the node R3 (destination node) in fig. 9, the first node may be the node R1 in fig. 9, and the third node may be one of the other nodes except the node R1 in fig. 9.
The determining module 1110 is configured to determine a bandwidth constraint condition, where the bandwidth constraint condition is used to represent a bandwidth constraint condition that needs to be met when a message is transmitted based on a target flexible algorithm; the sending module 1120 is configured to: and sending a first message to other nodes in the network, wherein a first sub-TLV field of the first message comprises the bandwidth constraint condition.
It should be understood that the sending module 1120 may perform S301 in the method 300 described above.
The transmitting module 1120 may be a communication interface, such as a transceiver interface.
Optionally, the sending module 1120 is configured to: and sending a first message to other nodes in the network, wherein the first message comprises the bandwidth constraint condition, a first subtype length value (TLV) field of the first message comprises the bandwidth constraint condition, and the first message comprises a definition FAD of the flexible algorithm.
Optionally, the FAD comprises at least one of: identification of a flexible algorithm, a calculation type identification, or a metric type identification.
Optionally, the second sub-TLV field of the first packet includes an affinity attribute constraint, and the affinity attribute constraint is used to indicate a link attribute that needs to be satisfied by the packet to be transmitted.
Optionally, the first packet is an ISIS packet or an OSPF packet.
It should be appreciated that the apparatus 1000 and the apparatus 1100 herein are embodied in the form of functional modules. The term module herein may refer to an Application Specific Integrated Circuit (ASIC), an electronic circuit, a processor (e.g., a shared, dedicated, or group processor) and memory that execute one or more software or firmware programs, a combinational logic circuit, and/or other suitable components that support the described functionality.
In embodiments of the present application, the apparatus 1000 and the apparatus 1100 may also be a chip or a system of chips, such as: system on chip (SoC). Correspondingly, the transmitting module 1120 may be a transceiver circuit of the chip, and is not limited herein.
The apparatus 1000 and/or the apparatus 1100 may be implemented by hardware, or by hardware executing corresponding software, and the hardware structure of the embodiment of the present application is described below with reference to fig. 12 and 13.
Fig. 12 is a schematic block diagram of still another apparatus 1200 for determining a path according to an embodiment of the present application. The apparatus 1200 includes a processor 1210, a transceiver 1220, and a memory 1230. The processor 1210, the transceiver 1220 and the memory 1230 are in communication with each other through an internal connection path, the memory 1230 is configured to store instructions, and the processor 1210 is configured to execute the instructions stored in the memory 1230 to control the transceiver 1220 to transmit and/or receive signals.
It should be understood that the apparatus 1200 may be embodied as the first node or the third node in the foregoing embodiment, or the functions of the first node or the third node in the foregoing embodiment may be integrated in the apparatus 1200, and the apparatus 1200 may be configured to execute each step and/or flow corresponding to the first node or the third node in the foregoing method embodiment.
Optionally, the memory 1230 may include both read-only memory and random-access memory, and provides instructions and data to the processor. The portion of memory may also include non-volatile random access memory. For example, the memory may also store device type information. The processor 1210 may be configured to execute the instructions stored in the memory, and when the processor executes the instructions, the processor may perform the steps and/or procedures corresponding to the first node or the third node in the above method embodiments.
It should be understood that in the embodiments of the present application, the processor 1210 may be a Central Processing Unit (CPU), and the processor may also be other general purpose processors, digital Signal Processors (DSP), application Specific Integrated Circuits (ASIC), field Programmable Gate Arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, and so on. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
Fig. 13 is a schematic block diagram illustrating still another apparatus 1300 for determining a path according to an embodiment of the present application. It should be understood that the apparatus 1300 and the apparatus 1200 are two parallel schematic apparatuses, and similar to the apparatus 1200, the apparatus 1300 may be embodied as the first node or the third node in the foregoing embodiment, or the functions of the first node or the third node in the foregoing embodiment may be integrated in the apparatus 1300, and any one of the apparatus 1300 or the apparatus 1200 may be adopted to perform each step and/or flow corresponding to the first node or the third node in the foregoing method embodiment, which is not limited by the embodiment of the present application.
The device 1300 includes a master board including a processor 1310 and a memory 1320, and an interface board including a processor 1330, a memory 1340, and an interface card 1350.
In apparatus 1300, a master board processor 1310 may invoke program instructions stored in master board memory 1320 that implement apparatus 1000 and/or apparatus 1100 and perform operations such as generation of messages. The interface board processor 1330 may call the program instructions stored in the interface board memory 1340 to implement the apparatus 1000 and/or 1100 and perform the operations of sending the message through the interface card 1350, and when the processor executes the instructions, the processor may perform the steps and/or processes corresponding to the first node or the third node in the above method embodiments.
Alternatively, memory 1320 and/or memory 1340 may include both read-only memory and random-access memory, and provide instructions and data to the processor. The portion of memory may also include non-volatile random access memory. For example, the memory may also store device type information.
Fig. 14 is a schematic block diagram of a system 1400 for determining a path according to an embodiment of the present disclosure. As shown in fig. 4, the system 1400 includes a first node 1410 and a third node 1420.
Wherein the third node 1420 is configured to: and sending a first message to the first node 1410, wherein a first sub-TLV field of the first message comprises a bandwidth constraint condition, and the bandwidth constraint condition is used for representing a bandwidth constraint condition which needs to be met when the message is transmitted based on the target flexible algorithm.
The first node 1410 is configured to: receiving a first message from a third node 1420, and determining a bandwidth constraint condition based on the first message; and determining at least one target path to the destination node based on the bandwidth constraint.
It should be understood that the first node 1410 and the third node may also perform the steps and/or processes related to the first node and the third node described in the above embodiments, which are not described herein again.
Those of ordinary skill in the art will appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware or combinations of computer software and electronic hardware. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the implementation. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
It is clear to those skilled in the art that, for convenience and brevity of description, the specific working processes of the above-described systems, apparatuses and units may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
In the several embodiments provided in the present application, it should be understood that the disclosed system, apparatus and method may be implemented in other ways. For example, the above-described apparatus embodiments are merely illustrative, and for example, the division of the units is only one logical division, and other divisions may be realized in practice, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit.
The functions may be stored in a computer-readable storage medium if they are implemented in the form of software functional units and sold or used as separate products. Based on such understanding, the technical solution of the present application or portions thereof that substantially contribute to the prior art may be embodied in the form of a software product stored in a storage medium and including instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method according to the embodiments of the present application. And the aforementioned storage medium includes: a U-disk, a portable hard disk, a read-only memory (ROM), a Random Access Memory (RAM), a magnetic disk, an optical disk, or other various media capable of storing program codes.
The above description is only for the specific embodiments of the present application, but the scope of the present application is not limited thereto, and any person skilled in the art can easily think of the changes or substitutions within the technical scope of the present application, and shall be covered by the scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.

Claims (24)

1. A method for determining a path, applied to a network comprising a plurality of nodes, comprising:
a first node in the plurality of nodes determines a bandwidth constraint condition, wherein the bandwidth constraint condition is used for representing the bandwidth constraint condition which needs to be met when a message is transmitted based on a target flexible algorithm;
the first node determines at least one target path to a second node of the plurality of nodes based on the target flexible algorithm, the target path satisfying the bandwidth constraint.
2. The method of claim 1, wherein determining a bandwidth constraint by a first node of the plurality of nodes comprises:
the first node receives first messages from other nodes in the network, wherein the first messages comprise the bandwidth constraint condition.
3. The method of claim 2, wherein a first subtype-length-value-TLV field of the first packet comprises the bandwidth constraint, and wherein the first packet comprises a definition of a Flexible Algorithm (FAD).
4. The method of claim 3, wherein the FAD comprises at least one of:
an identification of a flexible algorithm, a calculation type identification or a measurement type identification;
the first node determining at least one target path to a second node of the plurality of nodes based on the target flexible algorithm, including:
the first node determines a plurality of candidate paths based on at least one of the flexible algorithm identifier, the metric type identifier, or the computation type identifier;
the first node determines at least one target path from the plurality of candidate paths to reach the second node based on the bandwidth constraint.
5. Method according to claim 4, wherein the calculation type identification comprises an identification of a shortest path first, SPF, algorithm or an identification of a strict SPF algorithm.
6. The method of claim 4, wherein the metric type identifier comprises one of:
an identifier of a link delay rule, an identifier of an Interior Gateway Protocol (IGP) overhead rule, an identifier of a Traffic Engineering (TE) rule, or an identifier of a link bandwidth rule.
7. The method according to any of claims 2-6, wherein the second sub-TLV field of the first packet comprises an affinity attribute constraint that indicates a link constraint that the transmitted packet needs to satisfy, and wherein the target path satisfies the bandwidth constraint and the affinity attribute constraint.
8. The method according to any of claims 2-7, wherein the first packet is an intermediate system to intermediate system ISIS packet or an open shortest Path first, OSPF, packet.
9. The method according to any of claims 1-8, wherein before the first node determines at least one target path to a second node of the plurality of nodes based on the target flexible algorithm, the method further comprises:
the first node receives a second message from a neighbor node of the first node, wherein the second message carries residual bandwidth between the neighbor nodes in the plurality of nodes;
the first node determining at least one target path to a second node of the plurality of nodes based on the target flexible algorithm, including:
the first node determines at least one target path to a second node of the plurality of nodes based on the target flexible algorithm and a remaining bandwidth between adjacent nodes of the plurality of nodes.
10. The method of claim 9, wherein the second packet is an ISIS packet or an OSPF packet.
11. The method of any of claims 1-10, wherein the first node and the second node are in different processes of a same routing protocol, the routing protocol comprising ISIS or OSPF.
12. A method for determining a path, applied to a network comprising a plurality of nodes, comprising:
and the third node in the plurality of nodes sends bandwidth constraint conditions to other nodes in the network, wherein the bandwidth constraint conditions are used for representing the bandwidth constraint conditions which need to be met when the message is transmitted based on the target flexible algorithm.
13. The method of claim 12, wherein the third node sends the bandwidth constraints to other nodes in the network, comprising:
the third node sends a first message to other nodes in the network, wherein the first message comprises the bandwidth constraint condition, a first subtype length value (TLV) field of the first message comprises the bandwidth constraint condition, and the first message comprises a definition FAD of the flexible algorithm.
14. The method of claim 13, wherein the FAD comprises at least one of:
identification of a flexible algorithm, a calculation type identification, or a metric type identification.
15. The method according to claim 13 or 14, wherein the second sub-TLV field of the first packet comprises an affinity attribute constraint for indicating the link attributes that need to be satisfied for transmitting the packet.
16. The method according to any of claims 13-15, wherein the first packet is an intermediate system to intermediate system ISIS packet or an open shortest path first, OSPF, packet.
17. An apparatus for determining a path, comprising:
the determining module is used for determining bandwidth constraint conditions, and the bandwidth constraint conditions are used for representing the bandwidth constraint conditions which need to be met when the message is transmitted based on the target flexible algorithm;
a processing module for determining at least one target path to a second node of the plurality of nodes based on the target flexible algorithm, the target path satisfying the bandwidth constraint.
18. The apparatus of claim 17, further comprising:
a receiving module, configured to receive a first packet from another node in the network, where the first packet includes the bandwidth constraint condition.
19. The apparatus of claim 18, wherein a first subtype length value, TLV, field of the first packet comprises the bandwidth constraint, and wherein the first packet comprises a definition of a flexible algorithm, FAD.
20. The device of claim 19, wherein the FAD comprises at least one of:
an identification of a flexible algorithm, a calculation type identification or a measurement type identification;
the processing module is further configured to:
determining a plurality of candidate paths based on at least one of the identification of the flexible algorithm, the metric type identification, or the calculation type identification;
determining at least one target path from the plurality of candidate paths to reach the second node based on the bandwidth constraint.
21. An apparatus for determining a path, comprising:
the determining module is used for determining bandwidth constraint conditions, and the bandwidth constraint conditions are used for representing the bandwidth constraint conditions which need to be met when the message is transmitted based on the target flexible algorithm;
a sending module, configured to send the bandwidth constraint condition to other nodes in the network.
22. The apparatus of claim 21, wherein the sending module is further configured to:
sending a first packet to other nodes in the network, wherein the first packet includes the bandwidth constraint condition, a first subtype length value (TLV) field of the first packet includes the bandwidth constraint condition, and the first packet includes a definition (FAD) of the flexible algorithm.
23. A system for determining a path, comprising a first node configured to perform the method of any of claims 1-11 and a third node configured to perform the method of any of claims 12-16.
24. A computer-readable storage medium for storing a computer program comprising instructions for implementing the method of any one of claims 1-16.
CN202110384043.4A 2021-04-09 2021-04-09 Method and device for determining path Pending CN115208809A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202110384043.4A CN115208809A (en) 2021-04-09 2021-04-09 Method and device for determining path
PCT/CN2022/083172 WO2022213830A1 (en) 2021-04-09 2022-03-25 Method and apparatus for determining path

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110384043.4A CN115208809A (en) 2021-04-09 2021-04-09 Method and device for determining path

Publications (1)

Publication Number Publication Date
CN115208809A true CN115208809A (en) 2022-10-18

Family

ID=83545165

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110384043.4A Pending CN115208809A (en) 2021-04-09 2021-04-09 Method and device for determining path

Country Status (2)

Country Link
CN (1) CN115208809A (en)
WO (1) WO2022213830A1 (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110944357B (en) * 2018-09-25 2023-08-29 中兴通讯股份有限公司 Network slicing method and device
CN111464441A (en) * 2019-01-21 2020-07-28 华为技术有限公司 Communication method and device
CN111464440A (en) * 2019-01-21 2020-07-28 华为技术有限公司 Communication method and device
CN109831382B (en) * 2019-02-13 2020-08-14 华为技术有限公司 Path calculation method, device and equipment

Also Published As

Publication number Publication date
WO2022213830A1 (en) 2022-10-13

Similar Documents

Publication Publication Date Title
US7319700B1 (en) Communicating constraint information for determining a path subject to such constraints
US7099286B1 (en) Method and system for finding shared risk diverse paths
CN110661711B (en) Method for generating label forwarding table, message sending method, device and equipment
EP3648420A1 (en) Enabling non-flexible-algorithm routers to participate in flexiblealgorithm routing protocols
US9270426B1 (en) Constrained maximally redundant trees for point-to-multipoint LSPs
KR101629533B1 (en) Ldp igp synchronization for broadcast networks
KR20010070255A (en) Method and apparatus for exchanging routing information in a packet-based data network
CN101237399A (en) Method, system and device for getting label switching path
CN101416455A (en) Method and apparatus for improved routing in connectionless networks
US10560367B2 (en) Bidirectional constrained path search
US20080075008A1 (en) Transmission apparatus and path establishing method
JP6443864B2 (en) Method, apparatus and system for implementing packet loss detection
EP3582454B1 (en) Graceful restart procedures for label switched paths with label stacks
CN113542120B (en) Path selection method and device and computer readable storage medium
CN115208809A (en) Method and device for determining path
CN115208829A (en) Message processing method and network equipment
CN111988682B (en) Network control method, device and system
WO2023160124A1 (en) Method and apparatus for determining path
CN115514640A (en) Method and device for determining path
US20120063362A1 (en) Method and apparatus for computing paths to destinations in networks having link constraints
CN113691446B (en) Method and device for sending message
US20230179515A1 (en) Routing protocol broadcast link extensions
CN113852553B (en) Flow scheduling method and system and SDN controller
CN109729006B (en) Message processing method and device and computer readable storage medium
CN114268583B (en) SDN-based dual-stack backbone management method and device and electronic equipment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination