WO2023160124A1 - 确定路径的方法和装置 - Google Patents

确定路径的方法和装置 Download PDF

Info

Publication number
WO2023160124A1
WO2023160124A1 PCT/CN2022/138094 CN2022138094W WO2023160124A1 WO 2023160124 A1 WO2023160124 A1 WO 2023160124A1 CN 2022138094 W CN2022138094 W CN 2022138094W WO 2023160124 A1 WO2023160124 A1 WO 2023160124A1
Authority
WO
WIPO (PCT)
Prior art keywords
link
node
path
nodes
message
Prior art date
Application number
PCT/CN2022/138094
Other languages
English (en)
French (fr)
Inventor
于树松
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2023160124A1 publication Critical patent/WO2023160124A1/zh

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/12Shortest path evaluation
    • H04L45/123Evaluation of link metrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath

Definitions

  • the present application relates to the field of network technologies, and more specifically, to a method and device for determining a path.
  • the traditional interior gateway protocol can calculate the shortest path to the destination address according to the cost value of the link and the shortest path first (shortest path first, SPF) algorithm.
  • SPF shortest path first
  • the SPF algorithm based on the cost value of the link is fixed and cannot be adjusted by the user, making it inconvenient to calculate the optimal path according to their own needs.
  • IGP A metric rule can be selected from various metric rules such as link overhead, delay, or traffic engineering (traffic engineering, TE) constraints as the metric type based on Flex-algo path calculation, so that according to the metric type Paths for different calculations to meet different needs.
  • abnormal links in the path calculated by the above flexible algorithm.
  • the abnormal link cannot meet the business demand for high-quality links, which may lead to abnormal service transmission, which reduces the reliability of the path calculated based on the flexible algorithm. Reliability, thus affecting the service experience of users.
  • the present application provides a method and device for determining a path, which is conducive to satisfying user requirements for high-quality links in different scenarios, and improving the reliability of paths calculated based on flexible algorithms.
  • a method for determining a path is provided, which is applied to a network including a plurality of nodes, including: a first node among the plurality of nodes determines a link constraint condition, and the link constraint condition is used to represent a flexible algorithm based on a target
  • the link constraints that need to be met when transmitting packets, the link constraints include one or more of the following: link failure constraints, link packet loss rate constraints, link bit error rate constraints, link jitter rate constraints Or a link maximum transmission unit (MTU) constraint.
  • the first node determines at least one target path to the second node among the plurality of nodes based on the target flexible algorithm, and the target path satisfies the link constraint condition.
  • the first node and the second node are nodes supporting flexible algorithms
  • the target flexible algorithm is a flexible algorithm including link constraints.
  • the first node calculates the path to the second node, it can exclude the path that does not meet the link constraint conditions, and obtain the target path that meets the link constraint conditions, which is conducive to meeting the service requirements for link quality and providing service transmission. Reliable link support improves path reliability.
  • the link constraint condition includes a preset threshold
  • the preset threshold includes one or more of the following: link failure threshold, link packet loss rate threshold, link Bit error rate threshold, link jitter rate threshold, or link MTU threshold.
  • the first node determines at least one target path to the second node in the multiple nodes based on the target flexible algorithm, including: the first node excludes links that do not meet the preset threshold condition from the multiple paths to the second node to determine multiple candidate paths, and the multiple candidate paths meet the preset threshold condition, and the preset threshold condition includes one or more of the following: the number of link failures is less than or equal to the link failure threshold; The path packet loss rate is less than or equal to the link packet loss rate threshold; the link bit error rate is less than or equal to the link bit error rate threshold; the link jitter rate is less than or equal to the link jitter rate threshold; or, The link MTU is greater than or equal to the link MTU threshold.
  • the link constraint condition may be represented by a preset threshold
  • the first node may exclude paths that do not meet the preset threshold condition when calculating the path, and then determine the target path from the remaining paths. In this way, by comparing the preset thresholds, it is convenient for the first node to quickly eliminate the thresholds that do not meet the conditions, and obtain the target path that meets the service requirements.
  • the first node determines at least one target path to the second node among the plurality of nodes based on the target flexible algorithm, and further includes: the first node determines based on the target flexible algorithm
  • the metric type of is to determine at least one target path from multiple candidate paths.
  • the first node can determine at least one target path based on the metric type from multiple candidate paths satisfying link constraints, which can further meet the requirements of the service for the metric type, for example, to meet the delay requirements of the service, overhead needs, etc.
  • the first node among the multiple nodes determines the link constraint condition, including: the first node receives the first message from other nodes in the network, and the first node A packet includes the link constraint.
  • the first node does not know the link constraint condition, but other nodes in the network that know the link constraint condition can send a first message to the first node to notify the first node of the link constraint condition.
  • the first message also includes flexible algorithm definition (flexible algorithm definition, FAD) information of the target flexible algorithm, and the FAD information includes one or more of the following: flexible algorithm The ID of the , the ID of the calculation type, or the ID of the metric type.
  • FAD flexible algorithm definition
  • the first sub-TLV (sub TLV) field of the FAD type length value (type-length-value, TLV) of the first message includes link constraints.
  • link constraints can be carried in the FAD information of the flexible algorithm for network-wide announcement.
  • the link constraint condition may be carried in the first sub-TLV field of the FAD TLV of the first packet, which facilitates the first node to parse the field to obtain the link constraint condition.
  • the identification of the calculation type includes an identification of an SPF algorithm or an identification of a strict SPF algorithm.
  • the identification of the metric type includes one or more of the following: identification of link delay rules, identification of interior gateway protocol IGP overhead rules, identification of TE rules, or The ID of the link bandwidth rule.
  • the first message is an intermediate system to intermediate system (intermediate system to intermediate system, ISIS) message or an open shortest path first (open shortest path first, OSPF) message.
  • ISIS intermediate system to intermediate system
  • OSPF open shortest path first
  • the method before the first node determines at least one target path to the second node among the plurality of nodes based on the target flexible algorithm, the method further includes: the first node receiving a second message from a neighbor node of the first node, the second message carrying the link state between the adjacent nodes among the multiple nodes, the link state including the number of link failures and the link packet loss rate , link bit error rate, link jitter rate or link MTU.
  • the first node determines at least one target path to reach the second node among the plurality of nodes, including: the first node determines the reaching At least one target path for the second node.
  • the first node can obtain the link status of all links in the network through the second message, so that the first node can compare the link status with the link constraint conditions when calculating the path, so as to rule out conditions that do not satisfy The path of the link constraint.
  • the second sub-TLV field of the second packet includes a link state.
  • the second packet is an ISIS packet or an OSPF packet.
  • the method further includes: the first node receives a third message from a neighbor node of the first node, and the third message carries the neighbor node among the multiple nodes The updated link state between. If it is determined based on the updated link state that the at least one target path does not satisfy the link constraint condition, the first node determines at least one new path to the second node based on the target flexible algorithm and the updated link state again, and the at least A new path satisfies the link constraint.
  • the link state in the network changes dynamically, the link state of a certain link on the target path may not satisfy the link constraint in the period of collecting the link state by the first node. Conditions, so the first node needs to recalculate the path, which is conducive to continuously providing reliable transmission paths for services.
  • the first node and the second node are in different processes of the same routing protocol, where the routing protocol includes ISIS or OSPF.
  • link constraint conditions can be transmitted between different processes along with FAD information, which is beneficial for network nodes in different processes to obtain link constraint conditions and realize cross-domain transmission.
  • a method for determining a path is provided, which is applied to a network including a plurality of nodes, including: a third node in the plurality of nodes determines a link constraint condition, and the link constraint condition is used to represent a target-based flexible algorithm
  • the link constraint condition that needs to be satisfied when transmitting the message, the link constraint condition includes link failure constraint, link packet loss rate constraint, link bit error rate constraint, link jitter rate constraint or link MTU constraint.
  • the third node sends the link constraint to other nodes in the network.
  • the above-mentioned first node can also be the same node as the third node, that is, the first node can perform steps similar to the third node as the sending end, and send the link constraint condition to other nodes in the network .
  • the third node sends link constraints to other nodes in the network, including: the third node sends a first message to other nodes in the network, the first A packet includes the link constraint.
  • the first message further includes a flexible algorithm definition FAD of the target flexible algorithm, and the FAD includes one or more of the following: identification of the flexible algorithm, identification of the calculation type, or The ID of the metric type.
  • the first sub-TLV field of the FAD TLV of the first packet includes the link constraint condition.
  • the first message is an intermediate system to intermediate system ISIS message or an open shortest path first OSPF message.
  • a method for determining a path is provided, which is applied to a network including a plurality of nodes, including: a first node among the plurality of nodes receives a link constraint condition, and the link constraint condition is used to represent a target-based flexible algorithm
  • the link constraints that need to be met when transmitting packets, the link constraints include one or more of the following: link failure constraints, link packet loss rate constraints, link bit error rate constraints, link jitter rate constraints Or link MTU constraints.
  • the first node determines at least one target path to the second node among the plurality of nodes, where the target path satisfies the link constraint condition.
  • the first node receives a first packet, where the first packet includes the link constraint condition.
  • the first message further includes a flexible algorithm definition FAD of the target flexible algorithm, and the FAD includes one or more of the following: identification of the flexible algorithm, calculation The ID of the type or the ID of the metric type.
  • the first sub-TLV field of the FAD type length value TLV of the first packet includes the link constraint condition.
  • the first packet is an ISIS packet or an OSPF packet.
  • a device for determining a path including: an acquisition module and a processing module.
  • the obtaining module is used to: obtain link constraints, which are used to represent the link constraints that need to be satisfied when transmitting packets based on the target flexible algorithm, and the link constraints include one or more of the following : Link failure constraint, link packet loss rate constraint, link bit error rate constraint, link jitter rate constraint or link maximum transmission unit MTU constraint.
  • the processing module is used for: determining the link constraint condition; and determining at least one target path to the second node among the plurality of nodes based on the target flexible algorithm, the target path satisfying the link constraint condition.
  • the link constraint condition includes a preset threshold
  • the preset threshold includes one or more of the following: link failure threshold, link packet loss rate threshold, link Link bit error rate threshold, link jitter rate threshold, or link MTU threshold.
  • the processing module is configured to: exclude a path that includes a link that does not meet a preset threshold condition from the multiple paths to the second node, so as to determine multiple candidate paths, the multiple candidate paths meet the preset threshold condition, and the preset Threshold conditions include one or more of the following: the number of link failures is less than or equal to the link failure threshold; the link packet loss rate is less than or equal to the link packet loss rate threshold; the link bit error rate is less than or equal to the link bit error rate Threshold; the link jitter rate is less than or equal to the link jitter rate threshold; or, the link MTU is greater than or equal to the link MTU threshold.
  • the processing module is configured to: determine at least one target path from multiple candidate paths based on the metric type of the target flexible algorithm.
  • the obtaining module is configured to: receive a first message from other nodes in the network, where the first message includes link constraints.
  • the first message further includes the FAD of the target flexible algorithm, and the FAD includes one or more of the following: identification of the flexible algorithm, identification of the calculation type, or identification of the measurement type logo.
  • the first sub-TLV field of the FAD TLV of the first packet includes link constraints.
  • the identification of the calculation type includes an identification of an SPF algorithm or an identification of a strict SPF algorithm.
  • the identification of the metric type includes one or more of the following: identification of link delay rules, identification of IGP overhead rules, identification of TE rules, or link bandwidth The ID of the rule.
  • the first packet is an ISIS packet or an OSPF packet.
  • the obtaining module is configured to: receive a second message from a neighbor node, the second message carrying a link between the adjacent nodes among the multiple nodes Status, which includes link failure times, link packet loss rate, link bit error rate, link jitter rate, or link MTU.
  • the processing module is used for: determining at least one target path to the second node based on the target flexible algorithm and the link states between adjacent nodes among the plurality of nodes.
  • the second sub-TLV field of the second packet includes the link state.
  • the second packet is an ISIS packet or an OSPF packet.
  • the obtaining module is configured to: receive a third message from a neighbor node, where the third message carries an updated link between adjacent nodes among multiple nodes road status.
  • the processing module is configured to: if it is determined based on the updated link state that the at least one target path does not satisfy the link constraint condition, re-determine at least one new path to the second node based on the target flexible algorithm and the updated link state, The at least one new path satisfies the link constraint.
  • the first node and the second node are in different processes of the same routing protocol, where the routing protocol includes ISIS or OSPF.
  • a device for determining a path including: a processing module and a transceiver module.
  • the processing module is used to: determine the link constraint condition
  • the link constraint condition is used to represent the link constraint condition that needs to be satisfied when transmitting the message based on the target flexible algorithm
  • the link constraint condition includes the link failure constraint , a link packet loss rate constraint, a link bit error rate constraint, a link jitter rate constraint, or a link MTU constraint.
  • the transceiver module is used for: sending link constraints to other nodes in the network.
  • the first packet is sent to other nodes in the network, where the first packet includes link constraints.
  • the first message further includes the FAD of the target flexible algorithm, and the FAD includes one or more of the following: identification of the flexible algorithm, identification of the calculation type, or identification of the measurement type logo.
  • the first sub-TLV field of the FAD TLV of the first packet includes a link constraint condition.
  • the first message is an intermediate system to intermediate system ISIS message or an open shortest path first OSPF message.
  • another device for determining a path including a processor, the processor is coupled to a memory, and can be used to execute instructions in the memory, so as to implement the method in any possible implementation manner of any of the above aspects.
  • the device further includes a memory.
  • the device further includes a communication interface, and the processor is coupled to the communication interface.
  • the device for determining a path is a routing device
  • the communication interface may be a transceiver, or an input/output interface.
  • the device for determining the path is a chip configured in the routing device.
  • the communication interface may be an input/output interface.
  • a processor including: an input circuit, an output circuit, and a processing circuit.
  • the processing circuit is configured to receive a signal through the input circuit, and transmit a signal through the output circuit, so that the processor executes the method in any possible implementation manner in any of the foregoing aspects.
  • the above-mentioned processor can be a chip
  • the input circuit can be an input pin
  • the output circuit can be an output pin
  • the processing circuit can be a transistor, a gate circuit, a flip-flop, and various logic circuits.
  • the input signal received by the input circuit may be received and input by, for example but not limited to, the receiver
  • the output signal of the output circuit may be, for example but not limited to, output to the transmitter and transmitted by the transmitter
  • the circuit may be the same circuit, which is used as an input circuit and an output circuit respectively at different times.
  • the present application does not limit the specific implementation manners of the processor and various circuits.
  • a processing device including a processor and a memory.
  • the processor is used to read instructions stored in the memory, and may receive signals through the receiver and transmit signals through the transmitter, so as to execute the method in any possible implementation manner of any of the above aspects.
  • processors there are one or more processors, and one or more memories.
  • the memory may be integrated with the processor, or the memory may be separated from the processor.
  • the memory can be a non-transitory (non-transitory) memory, such as a read-only memory (read only memory, ROM), which can be integrated with the processor on the same chip, or can be set in different On the chip, the application does not limit the type of the memory and the arrangement of the memory and the processor.
  • a non-transitory memory such as a read-only memory (read only memory, ROM)
  • ROM read only memory
  • a related data interaction process such as sending indication information may be a process of outputting indication information from a processor
  • receiving capability information may be a process of receiving input capability information from a processor.
  • processed output data may be output to the transmitter, and input data received by the processor may be from the receiver.
  • the transmitter and the receiver may be collectively referred to as a transceiver.
  • the processing device in the above-mentioned eighth aspect may be a chip, and the processor may be implemented by hardware or by software.
  • the processor When implemented by hardware, the processor may be a logic circuit, an integrated circuit, etc.; when implemented by software
  • the processor may be a general-purpose processor, which is realized by reading the software code stored in the memory, and the memory may be integrated in the processor, or it may be located outside the processor and exist independently.
  • a ninth aspect provides a system for determining a path, the system includes a first node and a third node, the first node executes the method in any possible implementation manner of the first aspect or the third aspect above, the first node The three nodes execute the method in any possible implementation manner of the second aspect above.
  • a computer program product includes: computer program code, when the computer program code is executed, the computer is made to execute the method in any possible implementation manner in any one of the foregoing aspects.
  • a computer-readable storage medium stores a computer program, and when the computer program is run, the computer executes the computer in any possible implementation manner in any of the above-mentioned aspects. method.
  • FIG. 1 is a schematic structural diagram of an ISIS message
  • FIG. 2 is a schematic topology diagram of a multi-node network provided by an embodiment of the present application
  • FIG. 3 is a schematic flowchart of a method for determining a path provided in an embodiment of the present application
  • FIG. 4 is a schematic flow chart of another method for determining a path provided by an embodiment of the present application.
  • FIG. 5 is a schematic diagram of a first sub-TLV provided in an embodiment of the present application.
  • FIG. 6 is a schematic diagram of another first sub-TLV provided by the embodiment of the present application.
  • Fig. 7 is a schematic diagram of another first sub-TLV provided by the embodiment of the present application.
  • FIG. 8 is a schematic diagram of another first sub-TLV provided by the embodiment of the present application.
  • FIG. 9 is a schematic diagram of another first sub-TLV provided by the embodiment of the present application.
  • FIG. 10 is a schematic diagram of a sub-TLV for notifying link status provided by an embodiment of the present application.
  • FIG. 11 is a schematic topology diagram of a multi-node network provided by an embodiment of the present application.
  • Fig. 12 is a schematic flowchart of another method for determining a path provided by an embodiment of the present application.
  • Fig. 13 is a schematic diagram of the transmission of FAD information between different ISIS regions provided by the embodiment of the present application.
  • Fig. 14 is a schematic block diagram of a device for determining a path provided by an embodiment of the present application.
  • Fig. 15 is a schematic block diagram of another device for determining a path provided by an embodiment of the present application.
  • Fig. 16 is a schematic block diagram of another device for determining a path provided by an embodiment of the present application.
  • Fig. 17 is a schematic block diagram of another device for determining a path provided by an embodiment of the present application.
  • Fig. 18 is a schematic block diagram of a system for determining a path provided by an embodiment of the present application.
  • At least one means one or more, and “multiple” means two or more.
  • “And/or” describes the association relationship of associated objects, indicating that there may be three types of relationships, for example, A and/or B, which can mean: A exists alone, A and B exist at the same time, and B exists alone, where A, B can be singular or plural.
  • the character “/” generally indicates that the contextual objects are an “or” relationship.
  • “At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items.
  • 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, c can be single or multiple.
  • Flex-Algo provides a strategy similar to traffic engineering (TE), which achieves the same effect as TE by enabling the IGP to calculate the shortest path with constraints. Flex-Algo allows users to introduce Durian into a customized network topology, and enriches the path calculation capability of IGP through customized Flexible Algorithm Definition (FAD), so as to achieve the purpose of traffic engineering.
  • FAD Flexible Algorithm Definition
  • IGP can build a Flex-Algo-based topology by flooding FAD, node Flex-Algo algorithm participation capabilities, and link TE attribute information.
  • the topology constructed based on Flex-Algo generates the routing information to reach the routing identifier (locator) of the network segment.
  • FAD Flexible Algorithm Definition
  • the router can extend a set of type-length-value (TLV) to carry the FAD information of Flex-Algo, which is called FAD TLV.
  • TLV type-length-value
  • the FAD TLV is used to notify the specific calculation rules of a certain Flex-Algo.
  • the FAD TLV Includes multiple sub-TLVs (sub-TLVs).
  • Fig. 1 is a kind of structural representation of ISIS message 100, as shown in Fig. 1, the FAD TLV structure of ISIS message 100 comprises following fields:
  • type (type) field used to describe the type of ISIS message
  • length (length) field used to describe the length of the ISIS message
  • Flex-Algo field used to describe the digital identifier of Flex-Algo
  • Metric type used to describe the metric type identification based on the route calculation of Flex-Algo
  • Calculation type used to describe the calculation type identifier based on the route calculation of Flex-Algo;
  • Priority used to describe the priority identification of the service traffic carried by the ISIS message
  • Sub-TLV Sub-TLVs
  • Metric-type Existing metric types include link cost (IGP cost), delay, and traffic engineering (traffic engineering, TE) rules. Flex-Algo can be based on one of the various metric types. There are different kinds of metric rules to calculate paths that meet different requirements.
  • Metric-Type Type of metric to be used during the calculation.
  • RFC Request for Comments
  • metric types have different identifiers, and the identifiers range from 0 to 255.
  • the current standard draft draft-ietf-lsr-flex-algo-14 stipulates that 0 is used to identify IGP cost, and 1 is used to identify when Extended, 2 is used to identify the TE rule, and the following 3 to 255 are the identification of the reserved metric type.
  • SPF algorithm is the basis of the open shortest path first OSPF routing protocol. Each router can be used as the root (ROOT) to calculate the distance to each destination router. Each router can be calculated according to a unified database. A topology diagram of the outgoing routing domain, which is also called a shortest path tree.
  • FAD includes metric-type, calculation-type, and a set of describing topological constraints (describe a set of constraints on the topology). Users can customize FAD to enrich the path calculation of IGP. capacity, so as to achieve the purpose of traffic engineering.
  • the traditional IGP algorithm can calculate the shortest path to the destination address based on the link cost value and the SPF algorithm.
  • This method is based on the link overhead value, which cannot meet the different needs of users. For example, users expect to forward along the path with the smallest delay, or exclude some links from forwarding.
  • users since the field of automatic driving requires a network with extremely low delay, it is necessary to perform path calculation according to the delay.
  • some links have relatively high costs, and the user wishes to consider the factor of costs, so the paths with relatively high costs need to be excluded when calculating the paths.
  • the SPF algorithm based on the link cost value is fixed and cannot be adjusted by users, so it is not convenient for users to calculate the optimal path according to their own needs.
  • Flex-Algo allows users to customize the algorithm of the IGP algorithm to meet different service requirements, based on the characteristics of Flex-Algo, IGP can automatically calculate paths that meet different requirements according to link cost, delay, and TE constraints, flexibly Meet the needs of traffic engineering.
  • the calculation rules of Flex-Algo are generally represented by a triplet, that is, measurement type, calculation type and constraint.
  • the measurement type represents link index constraint (for example, delay index)
  • calculation type represents calculation algorithm constraint (for example, adopts SPF algorithm)
  • constraint condition represents whether to include/exclude some links when calculating the route.
  • the user can define Flex-Algo 128 as: (1) measurement type: delay; (2) calculation type: SPF; (3) constraint condition: exclude link x.
  • FIG. 2 is a schematic topology diagram of a multi-node network 200 provided by an embodiment of the present application.
  • Network 200 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. 2 supports the function of calculating paths based on flexible algorithms. Assuming that a path from node 0 to node 9 needs to be calculated, in the network 200, nodes starting from node 0 using the same Flex-Algo can calculate a path from node 0 to node 9 satisfying the algorithm definition according to the FAD information.
  • the link node 0->node 1 has a delay of 10
  • the link node 1->node 3 has a delay of 10
  • the link node 3->node 4 has a delay of 10
  • the delay of the road is 10
  • the delay of the link node 4->node 9 is 10
  • the delay of the link node 1->node 2 is 10
  • the link of node 2->node 4 Delay is 15.
  • Node 0 and Node 9 can support Flex-Algo 128 and Flex-Algo 129 at the same time, and the IGP protocol can notify the definition of Flex-Algo 128 and Flex-Algo 129 through the FAD TLV, so that all nodes in the network can perceive Node 0 and Flex-Algo 129 Algorithm and algorithm definition used by node 9.
  • Nodes 1 to 4 use Flex-Algo 128, and the IGP protocol can notify nodes 1 to 4 to use Flex-Algo 128 through the FAD TLV.
  • Nodes 5 to 8 use Flex-Algo 129, and the IGP protocol can notify nodes 5 to 8 to use Flex-Algo 129 through the FAD TLV.
  • each node can also support the most basic algorithm 0, which is the SPF algorithm based on the link cost value.
  • the node 9 is configured with the network segment routing identifier (referred to as SRv6locator) of the SR of the Internet protocol version 6 (internet protocol version 6, IPv6) data plane forwarding the IPv6 data packet to associate with the Flex-Algo , other nodes in the network can calculate the route to the network segment corresponding to this SRv6locator based on Flex-Algo.
  • SRv6locator network segment routing identifier of the SR of the Internet protocol version 6 (internet protocol version 6, IPv6) data plane forwarding the IPv6 data packet to associate with the Flex-Algo
  • IPv6locator the network protocol version 6
  • node 0 notifies other nodes of supported algorithm 0, Flex-Algo 128, and Flex-Algo 129
  • node 9 notifies other nodes of supported algorithm 0, Flex-Algo 128, and Flex-Algo 129.
  • Node 1 Node 2, Node 3, and Node 4 notify other nodes of supported algorithm 0 and Flex-Algo 128, and Node 5, Node 6, Node 7, and Node 8 notify other nodes of supported algorithm 0 and Flex-Algo 129.
  • Flex-Algo 128 is: (1) measurement type: delay; (2) calculation type: SPF; (3) constraint condition: exclude the link composed of nodes 5 and 6.
  • Flex-Algo 129 is: (1) Metric type: TE; (2) Calculation type: SPF; (3) Constraint condition: exclude the link composed of node 1 and node 2.
  • Flex-Algo 128 and Flex-Algo 129 can logically divide network 200 into sub-network topology 210 and sub-network topology 220, sub-network topology 210 includes nodes supporting Flex-Algo 128, and sub-network topology 220 includes nodes supporting Flex-Algo 129 nodes.
  • FIG. 2 if Node 1 , Node 2 , Node 3 , and Node 4 use Flex-Algo128, then Node 1 , Node 2 , Node 3 , and Node 4 can belong to the subnetwork topology 210 . If Node 5, Node 6, Node 7, and Node 8 use Flex-Algo 129, then Node 5, Node 6, Node 7, and Node 8 can belong to the subnetwork topology 220.
  • node 0 uses Flex-Algo 128, and node 0 can flood the FAD information of the configured Flex-Algo 128 in the whole network, so that each node in the subnetwork topology 210 knows the FAD information of Flex-Algo 128, like this Nodes in the sub-network topology 210 that are not configured with corresponding FAD information can also follow the FAD information calculation path of the Flex-Algo 128. The nodes in the final determined target path belong to the same subnetwork topology.
  • any node in the network 200 can also flood the FAD information of the Flex-Algo configured by itself in the whole network, so that nodes with the same Flex-Algo digital identifier can follow the same algorithm definition to calculate satisfying
  • the optimal path required by the business is not limited in this embodiment of the present application.
  • nodes 1 to 8 use Algorithm 0, and the target path calculated by node 0 may include any node in the network 200, which is not limited by Flex-Algo.
  • the nodes in the network 200 may also be nodes supporting flexible algorithms such as Flex-Algo 130 and Flex-Algo 131, which is not limited in this embodiment of the present application.
  • the current draft standard draft-ietf-lsr-flex-algo-14 supports Flex-Algo path calculation based on link cost (cost), delay or TE.
  • cost cost
  • TE link cost
  • the nodes in Fig. 2 calculate paths based on Flex-Algo 128, a path satisfying the minimum delay from node 0 to node 9 can be calculated with delay as the metric type. It can be seen from FIG. 2 that the path of node 0->node 1->node 3->node 4->node 9 is the path that satisfies the minimum delay in the network 200 .
  • the link from node 3 to node 4 may be an abnormal link, for example, the link activity is low, the link packet loss rate is high, and the link bit error rate High, high link jitter, or a small link maximum transmission unit MTU cannot meet service transmission requirements.
  • the above-mentioned scenarios with abnormal links may cause the Flex-Algo tunnel to fail over, which will reduce the reliability of the path and affect the user's service experience.
  • link activity can also be represented by the number of link failures, the lower the link activity, the more the number of link failures.
  • the embodiment of the present application can take into account the link status between nodes when calculating the route based on Flex-Algo, set the link constraint conditions according to the user's business requirements, and will not meet the link constraint conditions when calculating the route. Links are excluded, so as to obtain the target path that can meet the user's demand for high-quality links, and improve the reliability of the path.
  • the method for determining the path provided by the present application can be applied to SRv6 scenarios, and can also be applied to segment routing (segment routing, SR) using a multi-protocol label switching (multi-protocol label switching, MPLS) data plane to forward MPLS packets.
  • segment routing segment routing
  • MPLS multi-protocol label switching
  • SR-MPLS scenario may also be applied to other scenarios, which is not limited in this embodiment of the present application.
  • FIG. 3 is a schematic flowchart of a method 300 for determining a path provided by an embodiment of the present application.
  • the method 300 can be applied to the network 200 shown in FIG. 2 , and the steps of the method 300 can be performed by a first node, and the first node can be a routing device.
  • the routing device can be any device with a calculation routing function , such as a switch or a router, which is not limited in this embodiment of the present application.
  • Method 300 includes the following steps:
  • link constraint condition which is used to indicate the link constraint condition that needs to be satisfied when transmitting the message based on the target flexible algorithm, and the link constraint condition includes one or more of the following: link failure Constraints, link packet loss rate constraints, link bit error rate constraints, link jitter rate constraints or link MTU constraints;
  • the above-mentioned first node may be node 0 in the network 200
  • the second node may be node 9 in the network 200 .
  • the first node may also determine a target path jointly with the target flexible algorithm based on other conditions.
  • other conditions may be neighbor information, a routing table, or remaining link bandwidth, which is not limited in this embodiment of the present application.
  • link constraint conditions in this embodiment of the present application may be determined according to different link requirements of different services.
  • the first node determines two target paths that simultaneously meet the path calculation requirements based on the target flexible algorithm, and can use multi-path transmission strategies such as load sharing, dual transmission and selective reception, or active and standby to transmit service traffic.
  • the first node takes into account the link constraints that affect the link quality when using the flexible algorithm to calculate the path, including: link failure constraints, link packet loss rate constraints, link bit error rate constraints, At least one of link jitter rate constraints or link MTU constraints.
  • the first node can exclude the path to the second node based on the link constraint condition, and determine the target path satisfying the link constraint condition, which is beneficial to improve the reliability of the path calculated based on the flexible algorithm.
  • the link constraint condition includes a preset threshold
  • the preset threshold includes one or more of the following: link failure threshold, link packet loss rate threshold, link bit error rate threshold, link jitter rate threshold or link MTU threshold.
  • S302 includes: the first node excludes a path including a link that does not meet a preset threshold condition from multiple paths reaching the second node, so as to determine multiple candidate paths.
  • the preset threshold conditions include one or more of the following: the number of link failures is less than or equal to the link failure threshold; the link packet loss rate is less than or equal to the link packet loss rate threshold ; The link bit error rate is less than or equal to the link bit error rate threshold; the link jitter rate is less than or equal to the link jitter rate threshold; or, the link MTU is greater than or equal to the link MTU threshold.
  • the first node can exclude the The path of the link node 3 -> node 4. If the actual number of link failures of the node 3->node 4 link in the current network is 1 time/second, then the first node can use the node 3->node 4 link as a trusted link when calculating the path links for path computation.
  • the first node can exclude the path including the node 3->node 4 link when calculating the path. If the actual link MTU of the link node 3->node 4 in the current network is 1600, then the first node can use the link node 3->node 4 as a trusted link when calculating the path. calculate.
  • S302 in the method 300 includes: the first node determines at least one target path to the second node from multiple candidate paths based on the metric type of the flexible algorithm, and the multiple candidate paths satisfy the preset threshold condition.
  • the first node when the first node calculates the path based on the target flexible algorithm, it can first exclude some paths based on the link constraints, and further, the first node determines at least A target path that satisfies link constraints can eliminate paths containing abnormal links and obtain a target path that meets business requirements, which is conducive to improving the reliability of the path.
  • the first node may also determine at least one target path to the second node from multiple candidate paths based on the identifier of the flexible algorithm, the calculation type of the flexible algorithm, and the metric type of the flexible algorithm.
  • FIG. 4 is a schematic flowchart of another method 400 for determining a path provided by an embodiment of the present application.
  • the method 400 may be applied to the network 200 shown in FIG. 2 , where the first node, the second node, and the third node may be routing devices.
  • the routing device may be any device capable of calculating routing, such as A switch or a router is not limited in this embodiment of the present application.
  • Method 400 includes the steps of:
  • the third node sends a first message to other nodes (including the first node) in the network, where the first message may include a link constraint, and the link constraint is used to indicate that the message is transmitted based on the target flexible algorithm The link constraints that need to be satisfied.
  • the first node receives the first packet.
  • the first node determines a link constraint condition based on the first packet.
  • the first node determines at least one target path to the second node based on the link constraint condition.
  • the above-mentioned first node may be node 0 in the network 200
  • the second node may be node 9 in the network 200
  • the third node may be It is any node except node 0 in the network 200, which is not limited in this embodiment of the present application.
  • the first node does not know the link constraint condition, and other third nodes in the network that have configured or obtained the link constraint condition can send the first message to the first node to send the first message to the first node. Nodes advertise the link constraints.
  • the first node can not only serve as a receiving end to receive the first message from other nodes in the network, but can also serve as a sending end to perform steps similar to those of the third node and send the first message to other nodes in the network , the embodiment of the present application does not limit the functions of each node.
  • the third node may determine the link constraint condition according to factors such as the data type and data size of the service, configure corresponding FAD information, and send the link constraint condition to other nodes (including the first node) in the network.
  • Conditional first message may be used to determine the link constraint condition according to factors such as the data type and data size of the service.
  • the first message may include FAD information of the flexible algorithm
  • the message structure of the first message includes the FAD TLV
  • the FAD TLV may include multiple sub-TLV fields.
  • the FAD TLV of the first packet includes a first sub-TLV field, and the link constraint condition may be carried by the first sub-TLV.
  • FIG. 5 to FIG. 9 are schematic diagrams of the first sub-TLV in different link constraint scenarios provided by the embodiments of the present application.
  • the first sub-TLV shown in Figure 5 to Figure 9 includes a type (type) field and a length (length) field, the type field is used to describe the type of the first sub-TLV; the length field is used to describe the first sub-TLV The length of the numeric value.
  • the first sub-TLV shown in Figure 5 includes link failure constraints, which are used to constrain the number of link failures on the path to meet service transmission requirements;
  • the first sub-TLV shown in Figure 6 includes the link packet loss rate Constraints, used to constrain the link packet loss rate of the path to meet the service transmission requirements;
  • the first sub-TLV shown in Figure 7 includes link bit error rate constraints, used to constrain the link bit error rate of the path to meet the service transmission requirements ;
  • the first sub-TLV shown in FIG. 8 includes a link jitter rate constraint, which is used to constrain the link jitter rate of the path to meet service transmission requirements;
  • the first sub-TLV shown in FIG. 9 includes a link MTU constraint, which is used to constrain The link MTU of the path is used to meet the service transmission requirements.
  • the first node can perform protocol extension in the FAD algorithm, add a first sub-TLV, and add link constraint conditions under different link constraint scenarios as shown in Figure 5 to Figure 9 in the first sub-TLV , so as to constrain at least one of the link failure times, link packet loss rate, link bit error rate, link jitter rate, or link MTU of the path.
  • sub-TLV fields may also be included in the first message, and the first sub-TLV belongs to a parallel relationship with other sub-TLVs, and the link constraint condition is placed in the first sub-TLV field to facilitate the first node to analyze the field to get link constraints.
  • the first packet is an ISIS packet or an OSPF packet.
  • the OSPF message has a similar FAD TLV structure to the ISIS message shown in Figure 1, and will not be repeated here.
  • the definition FAD of the flexible algorithm includes one or more of the following: identification of the flexible algorithm, identification of the calculation type, or identification of the measurement type.
  • the identification of the calculation type includes an identification of an SPF algorithm or an identification of a strict SPF algorithm.
  • 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, which is different from the SPF algorithm.
  • the identifier of the metric type includes one of the following: an identifier of a link delay rule, an identifier of an IGP overhead rule, an identifier of a TE rule, or an identifier of a link bandwidth rule.
  • the link delay rule indicates that the path is calculated based on the minimum delay rule during path calculation.
  • the IGP cost rule indicates that the path is calculated based on the rule with the minimum cost value during path calculation.
  • the traffic engineering TE rule indicates that the route calculation is based on the TE shortest path.
  • the link bandwidth rule indicates that path calculation is performed based on bandwidth requirements during path calculation.
  • the method 400 further includes: the first node receives a second message from a neighbor node of the first node, and the second message carries the Link status, which includes the number of link failures, link packet loss rate, link bit error rate, link jitter rate, or link MTU.
  • S403 includes: the first node determines at least one target path to the second node based on the target flexible algorithm and link states between adjacent nodes among the multiple nodes.
  • the first node when calculating the path, the first node needs to compare the link status between adjacent nodes in the path that can reach the second node with the link constraints, so the first node needs to obtain the path that can reach the second node The link status of each link in . Therefore, in the embodiment of the present application, the first node may receive the second packet from the neighbor node, and the second packet may include the link status required by the first node for path calculation.
  • the second message is an ISIS message or an OSPF message.
  • the second sub-TLV field of the second packet includes the link state.
  • the second sub-TLV may have a structure as shown in FIG. 10 .
  • FIG. 10 is a schematic diagram of a sub-TLV for notifying a link state provided by an embodiment of the present application.
  • the sub-TLV shown in FIG. 5 includes: a type (type) field, a length (length) field and a link state field.
  • the type field is used to describe the type of sub-TLV
  • the length field is used to describe the length of the sub-TLV
  • the link state field can be used to describe the actual number of link failures, link packet loss rate, link link bit error rate, link jitter rate or link MTU.
  • the sub-TLV shown in FIG. 10 may be a traffic engineering TLV (traffic engineering TLV), and a node in the network may carry the sub-TLV shown in FIG. 10 to the outside through a link state packet (link state packet, LSP). Advertise link status.
  • traffic engineering TLV traffic engineering TLV
  • LSP link state packet
  • the first node After the first node receives the process engineering TLV, it can analyze the process engineering TLV to obtain the actual number of link failures, link packet loss rate, link bit error rate, link jitter rate or link MTU, and flexibly combine the target An algorithm determines at least one target path.
  • FIG. 11 is a schematic topology diagram of another multi-node network 1100 provided by an embodiment of the present application.
  • the network 1100 is another network different from the network 200.
  • the nodes R1, R2, R3 and R4 included in the network 1100 all support path calculation based on flexible algorithms. Exemplarily, node R1 needs to calculate a path to node R4.
  • Each node in the network 1100 can be configured with the same FAD information.
  • the FAD information configured by each node is as follows: the digital identifier of Flex-Algo is 128; the metric type identifier is 0, indicating that the path is calculated based on the IGP overhead value; The type flag is 0, which means that the SPF algorithm is used to calculate the path; link constraints: set different thresholds for different scenarios, and the specific settings can be referred to in the following description.
  • the IGP cost value of the link node R1->node R2 is 10; the IGP cost value of the link node R1->node R3 is 20; the link node R2->node R4
  • the IGP overhead value is 10; the IGP overhead value of the link node R3->node R4 is 20.
  • Fig. 12 is a schematic flowchart of another method 1200 for determining a path provided by an embodiment of the present application.
  • the method 1200 can be applied to a network 1100.
  • the method 1200 includes the following steps:
  • Each node enables an ISIS component and establishes a neighbor relationship.
  • Each node configures FAD information of the flexible algorithm.
  • the user can first configure FAD information that meets business requirements for one or more nodes, and the nodes that have configured FAD information can flood FAD information to other nodes and notify other nodes of the configuration information of the flexible algorithm, so that there are Nodes identified by the same flexible algorithm can be configured with unified FAD information to calculate a consistent path.
  • the ISIS component of each node collects the link state and makes a network-wide notification.
  • the ISI component can monitor the link state through a bidirectional forwarding detection protocol (bidirectional forwarding detection) or a two-way active measurement protocol (two-way active measurement protocol), and obtain the link state from the interface management component, and the ISIS component of each node Mark the LSP of the link in its own link database, record the link status, and then notify the entire network of the LSP with the link status, so that each node in the network can learn about each link link status.
  • a bidirectional forwarding detection protocol bidirectional forwarding detection
  • two-way active measurement protocol two-way active measurement protocol
  • the ISIS component may periodically collect the link status from the interface management component according to a preset period (for example, 5 minutes).
  • the node R1 calculates the route to the node R4 according to the configured FAD information, and determines the target path.
  • the FAD information of node R1 can be the FAD information required by the service configured by the user for node R1, or it can be the FAD information obtained by node R1 from other nodes configured with the same flexible algorithm identity as node R1 .
  • node R1 can determine a target path that meets service requirements in the following link constraint scenarios.
  • Scenario 1 Link failure constraints.
  • the link constraint in the FAD information is a link failure constraint.
  • the link failure threshold can be used to constrain the number of link failures.
  • the link failure threshold is used to indicate that the flexible algorithm is used to calculate the path.
  • the upper limit of the number of link failures if the path from node R1 to node R4 has a link whose number of link failures is greater than the link preset threshold, then node R1 can exclude this path when calculating the path.
  • each node can be notified that it needs to meet the constraint of the link failure threshold when using Flex-Algo 128 for path calculation.
  • node R1 when node R1 calculates the route according to the calculation type (for example, SPF algorithm) in the FAD information, it can first calculate the route according to the measurement type (for example, IGP overhead). It can be seen from FIG. 11 that the IGP cost value of the path R1->R2->R4 is the smallest, and the node R1 can determine this path as the target path.
  • the calculation type for example, SPF algorithm
  • the measurement type for example, IGP overhead
  • the link failure threshold is configured as 2 times/second, and the number of link failures of the link node R1->node R2 collected by the ISIS component is 0, The number of link failures of the node R1->node R3 link is 0, the link failure times of the node R2->node R4 link is 3 times per second, and the link failure times of the node R3->node R4 The number of link failures is 0.
  • the number of link failures of the link node R2->node R4 is greater than the link failure threshold, therefore, node R1 can use the R1->R2->R4 link obtained without considering the link failure constraint Path exclusion, the recalculated target path is R1->R3->R4.
  • the recalculated number of link failures of all links on this path is less than the link failure threshold, which can be considered as a stable and reliable link, which is beneficial to avoid service damage during path transmission and improve path reliability.
  • Scenario 2 Link packet loss rate constraints.
  • the link constraint in the FAD information is a link packet loss rate constraint.
  • the link packet loss rate threshold can be used to constrain the link packet loss rate.
  • the link packet loss rate threshold is set by Indicates the upper limit of the link packet loss rate when the flexible algorithm is used for path calculation. If there is a link with a link packet loss rate greater than the link packet loss rate threshold in the path from node R1 to node R4, then node R1 is This path can be excluded.
  • each node can be notified during the transmission of the FAD information that it needs to meet the constraint of the link packet loss rate threshold when using Flex-Algo 128 for path calculation.
  • node R1 calculates the minimum IGP overhead value of the path R1->R2->R4, and node R1 can use this path Determined as the target path.
  • the link packet loss rate threshold is configured as 10%, and the link packet loss rate of the link node R1->node R2 collected by the ISIS component is 0, the link packet loss rate of node R1->node R3 is 0, the link packet loss rate of node R2->node R4 is 20%, and the link packet loss rate of node R3->node R4 The link packet loss rate of the link is 0.
  • the link packet loss rate of node R2->node R4 is greater than the link packet loss rate threshold, therefore, node R1 can obtain R1->R2 without considering the link packet loss rate constraint
  • the path ->R4 is excluded, and the recalculated target path is R1->R3->R4.
  • the recalculated link packet loss rate of all links on this path is less than the link packet loss rate threshold, which can be considered as a stable and reliable link, which is conducive to avoiding business on links with high link packet loss rate Impaired transmission improves path reliability.
  • the link constraint condition in the FAD information is a link bit error rate constraint.
  • the link bit error rate threshold can be used to constrain the link bit error rate.
  • the link bit error rate is used for Indicates the upper limit of the link bit error rate when the flexible algorithm is used to calculate the path. If there is a link with a link bit error rate greater than the link bit error rate threshold in the path from node R1 to node R4, then node R1 will This path can be excluded.
  • each node can be notified during the transmission of the FAD information that it needs to meet the constraint of the link bit error rate threshold when using Flex-Algo 128 for path calculation.
  • node R1 calculates the minimum IGP overhead value of the path R1->R2->R4, and node R1 can The path is determined as the target path.
  • the link bit error rate threshold is configured as 10%, and the link bit error rate of the link node R1->node R2 collected by the ISIS component is 0, the link bit error rate of node R1->node R3 is 0, the link bit error rate of node R2->node R4 is 30%, and the link of node R3->node R4 The link bit error rate of the link is 0.
  • the link bit error rate of node R2->node R4 is greater than the link bit error rate threshold, therefore, node R1 can obtain R1->R2 without considering the link bit error rate constraint
  • the path ->R4 is excluded, and the recalculated target path is R1->R3->R4.
  • the recalculated bit error rate of all links on this path is less than the link bit error rate threshold, which can be considered as a stable and reliable link, which is helpful to avoid business on links with high link bit error rate Impaired transmission improves path reliability.
  • Scenario 4 Link jitter rate constraints.
  • the link constraint condition in the FAD information is the link jitter rate constraint.
  • the link jitter rate can be constrained by using the link jitter rate threshold.
  • the link jitter rate is used to indicate the flexible algorithm The upper limit of the link jitter rate during path calculation. If there is a link with a link jitter rate greater than the link jitter rate threshold in the path from node R1 to node R4, node R1 can exclude this path during path calculation.
  • each node can be notified during the transmission of the FAD information that it needs to meet the constraint of the link jitter rate threshold when using Flex-Algo 128 for path calculation.
  • node R1 calculates the minimum IGP cost value of the path R1->R2->R4, and node R1 can use this path Determined as the target path.
  • the link jitter rate threshold is configured as 3%, and the link jitter rate of node R1->node R2 collected by the ISIS component is 0,
  • the link jitter rate of node R1->node R3 is 0,
  • the link jitter rate of node R2->node R4 is 5%, the link of node R3->node R4
  • the jitter rate is 0.
  • the link jitter rate of node R2->node R4 is greater than the link jitter rate threshold. Therefore, node R1 can first calculate the path of R1->R2->R4 based on the link jitter rate threshold.
  • the recalculated target path is R1->R3->R4.
  • the recalculated link jitter rate of all links on this path is less than the link jitter rate threshold, which can be considered as a stable and reliable link, which helps to avoid service transmission damage on links with high link jitter rates , to improve the reliability of the path.
  • the link constraint condition in the FAD information is the link MTU constraint.
  • the link MTU threshold can be used to constrain the link MTU.
  • the upper limit of the link MTU if there is a link with a link MTU greater than the link MTU threshold in the path from node R1 to node R4, then node R1 can exclude this path when calculating the path.
  • each node can be notified during the transmission of the FAD information that it needs to meet the constraint of the link MTU threshold when using Flex-Algo 128 for path calculation.
  • node R1 calculates the minimum IGP overhead value of the path R1->R2->R4, and node R1 can determine this path is the target path.
  • the link MTU threshold is configured as 1500, and the link MTU of the node R1->node R2 collected by the ISIS component is 1500, and the node R1-> The link MTU of the link of node R3 is 1500, the link MTU of the link of node R2->node R4 is 1200, and the link MTU of the link of node R3->node R4 is 1600.
  • the link MTU of node R2->node R4 is less than the link MTU threshold. If the service is an IPV6 service or other services that cannot be transmitted in fragments, then the link node R2->node R4 may cause Service packets are directly discarded, causing service interruption.
  • node R1 can first exclude the path R1->R2->R4 based on the link MTU threshold when calculating the path, and the recalculated target path is R1->R3->R4.
  • the recalculated link MTU of all links on this path is greater than or equal to the link MTU threshold, which can be considered as a stable and reliable link, which is beneficial to avoid service transmission damage on links with lower link MTUs. Improve path reliability.
  • R1 when R1 calculates the path, it can determine the target based on business requirements and at least one of the link failure threshold, link packet loss rate threshold, link bit error rate threshold, link jitter rate threshold, or link MTU threshold.
  • Path for example, R1 may consider the link failure threshold in Scenario 1 above to determine the target path.
  • R1 may also comprehensively consider the link failure threshold in Scenario 1 and the link BER threshold in Scenario 2 to determine the target path.
  • R1 may also comprehensively consider the link failure threshold in Scenario 1, the link BER threshold in Scenario 2, and the link MTU threshold in Scenario 5 to determine the target path.
  • R1 recalculates the path.
  • the first node receives a third packet from a neighbor node of the first node, where the third packet carries an updated link state between adjacent nodes among the multiple nodes. If the updated link state in at least one target path does not satisfy the link constraint condition, the first node determines at least one new path to the second node based on the target flexible algorithm and the updated link state again.
  • the first node is the aforementioned R1
  • the second node is the aforementioned R4. Since the link state in the network is dynamically changing, the ISIS component of R1 may collect the link state of a link on the target path during the cycle of collecting the link state. Therefore, R1 Need to recalculate the route.
  • R1 can compare the number of link failures of all links in the target path collected in the next collection period with the link failure threshold. If R1 determines that the number of link failures in the target path is greater than the link failure If there is a link with a path failure threshold, R1 can recalculate the path to determine at least one new path that meets the service requirement.
  • the above-mentioned first node and the second node are in different processes of the same routing protocol, and the routing protocol includes ISIS and OSPF.
  • the FAD information between the first node and the second node described above may be transmitted between the same ISIS process or between different ISIS processes.
  • the embodiment of the present application can also refer to the ISIS process as an ISIS area, that is, the FAD information can be transmitted between the same or different ISIS areas, so as to provide cross-domain paths for nodes belonging to different areas to realize cross-domain services During transmission, it can also ensure that the cross-domain path meets the service requirements for link status.
  • FIG. 13 is a schematic diagram of a kind of FAD information transmission between different ISIS areas provided by the embodiment of the present application.
  • the embodiment of the present application takes ISIS as an example to adopt a two-level hierarchical structure of a backbone area (or called a Level-2 area) and a non-backbone area (or called a Level-1 area) in an autonomous system to analyze the FAD information
  • the cross-domain transfer is described.
  • Level-1 routers can be deployed in non-backbone areas
  • Level-2 routers can be deployed in backbone areas.
  • Level-1-2 routers can belong to both Level-1 and Level-2 areas.
  • -1-2 routers are connected to routers in the Level-2 area.
  • ISIS or OSPF may also have other area structures, which are not limited in this embodiment of the present application.
  • R1 is a Level-1 router
  • R2 is a Level-1-2 router
  • R3 is a Level-2 router.
  • R1 in the ISIS Level-1 area can transmit the FAD information of the flexible algorithm to the ISIS Level-2 router through R2. 2 area, so that the first sub-TLV carrying the link constraint condition in the ISIS message can be transmitted between different areas along with the FAD information.
  • sequence numbers of the above processes do not mean the order of execution, and the execution order of each process should be determined by its functions and internal logic, and should not constitute any limitation on the implementation process of the embodiment of the present application.
  • FIG. 14 shows a schematic block diagram of an apparatus 1400 for determining a path provided by an embodiment of the present application.
  • the apparatus 1400 includes: an acquisition module 1410 and a processing module 1420 .
  • the apparatus 1400 may specifically be the first node in the foregoing embodiment, or the function of the first node in the foregoing embodiment may be integrated in the apparatus 1400 .
  • the above functions can be implemented by hardware, or can be implemented by executing corresponding software by hardware.
  • the hardware or software includes one or more modules corresponding to the above functions.
  • the apparatus 1400 may be configured to execute various processes and/or steps corresponding to the first node in the foregoing method embodiments.
  • the first node may be node 0 in the network 200 .
  • the first node may be node 0 in the network 1100 .
  • the first node may be node R1 in FIG. 13 .
  • the processing module 1420 may execute the steps and/or processes of the above-mentioned method 300, or S401 in the above-mentioned method 400.
  • the acquiring module 1410 may perform the action of receiving the first packet in S401 of the above-mentioned method 400 .
  • the acquisition module 1410 is used to: acquire link constraints, the link constraints are used to represent the link constraints that need to be satisfied when transmitting packets based on the target flexible algorithm, and the link constraints include one or more of the following Item: link failure constraint, link packet loss rate constraint, link bit error rate constraint, link jitter rate constraint or link maximum transmission unit MTU constraint.
  • the processing module 1420 is configured to: determine link constraints; and determine at least one target path to a second node among the plurality of nodes based on a target flexible algorithm, where the target path satisfies the link constraints.
  • the link constraint condition includes a preset threshold
  • the preset threshold includes one or more of the following: a link failure threshold, a link packet loss rate threshold, a link bit error rate threshold, a link jitter rate threshold, or Link MTU threshold.
  • the processing module 1420 is configured to: exclude a path that includes a link that does not meet a preset threshold condition from the multiple paths to the second node, so as to determine multiple candidate paths, the multiple candidate paths meet the preset threshold condition, and the predetermined Set the threshold condition to include one or more of the following: the number of link failures is less than or equal to the link failure threshold; the link packet loss rate is less than or equal to the link packet loss rate threshold; the link bit error rate is less than or equal to the link error rate rate threshold; the link jitter rate is less than or equal to the link jitter rate threshold; or, the link MTU is greater than or equal to the link MTU threshold.
  • the processing module 1420 is configured to: determine at least one target path from multiple candidate paths based on the metric type of the target flexible algorithm.
  • the obtaining module 1410 is configured to: receive a first packet from other nodes in the network, where the first packet includes link constraints.
  • the first message further includes the FAD of the target flexible algorithm, and the FAD includes one or more of the following: an identifier of a flexible algorithm, an identifier of a calculation type, or an identifier of a measurement type.
  • the first sub-TLV field of the FAD TLV of the first packet includes link constraints.
  • the identification of the calculation type includes an identification of an SPF algorithm or an identification of a strict SPF algorithm.
  • the identifier of the metric type includes one or more of the following: an identifier of a link delay rule, an identifier of an IGP overhead rule, an identifier of a TE rule, or an identifier of a link bandwidth rule.
  • the first packet is an ISIS packet or an OSPF packet.
  • the obtaining module 1410 is configured to: receive a second message from a neighbor node, where the second message carries a link state between adjacent nodes among multiple nodes, and the link state includes the number of link failures , link packet loss rate, link bit error rate, link jitter rate or link MTU.
  • the processing module 1420 is configured to: determine at least one target path to the second node based on the target flexible algorithm and the link status between adjacent nodes among the plurality of nodes.
  • the second sub-TLV field of the second packet includes the link status.
  • the second message is an ISIS message or an OSPF message.
  • the obtaining module 1410 is configured to: receive a third message from a neighbor node, where the third message carries an updated link state between adjacent nodes among multiple nodes.
  • the processing module 1420 is configured to: if it is determined based on the updated link state that the at least one target path does not satisfy the link constraint condition, re-determine at least one new path to the second node based on the target flexible algorithm and the updated link state , the at least one new path satisfies the link constraint.
  • the device and the second node are in different processes of the same routing protocol, where the routing protocol includes ISIS or OSPF.
  • FIG. 15 shows a schematic block diagram of another apparatus 1500 for determining a path provided by an embodiment of the present application.
  • the apparatus 1500 includes: a processing module 1510 and a transceiver module 1520 .
  • the apparatus 1500 may specifically be the third node in the above embodiment, or the function of the third node in the above embodiment may be integrated in the apparatus 1500 .
  • the above functions can be implemented by hardware, or can be implemented by executing corresponding software by hardware.
  • the hardware or software includes one or more modules corresponding to the above functions.
  • the apparatus 1500 may be configured to execute various processes and/or steps corresponding to the third node in the foregoing method embodiments.
  • the first node may be node 0 in the network 200
  • the third node may be a node in other nodes except node 0 in the network 100 one.
  • the first node may be node 0 in the network 1100
  • the third node may be a node in other nodes except node 0 in the network 1100 one.
  • the first node may be node R1 in Figure 13
  • the third node may be one of the other nodes except node R1 in Figure 13 one.
  • the transceiving module 1520 may perform the action of sending the first packet in S401 in the above method 400.
  • the processing module 1510 is used to: determine the link constraint condition, the link constraint condition is used to indicate the link constraint condition that needs to be satisfied when transmitting the message based on the target flexible algorithm, and the link constraint condition includes link failure constraints, link packet loss rate constraints, link bit error rate constraints, link jitter rate constraints, or link MTU constraints.
  • the transceiver module 1520 is configured to: send link constraints to other nodes in the network.
  • the transceiving module 1520 may execute S401 in the foregoing method 400.
  • the transceiver module 1520 may be a communication interface, such as a transceiver interface.
  • the transceiver module 1520 is configured to: send a first packet to other nodes in the network, where the first packet includes link constraints.
  • the first message further includes the FAD of the target flexible algorithm, and the FAD includes one or more of the following: an identifier of a flexible algorithm, an identifier of a calculation type, or an identifier of a measurement type.
  • the first sub-TLV field of the FAD TLV of the first packet includes link constraints.
  • the first packet is an ISIS packet or an OSPF packet.
  • module here may refer to an application specific integrated circuit (ASIC), an electronic circuit, a processor (such as a shared processor, a dedicated processor, or a group processor, etc.) and memory, incorporated logic, and/or other suitable components to support the described functionality.
  • ASIC application specific integrated circuit
  • processor such as a shared processor, a dedicated processor, or a group processor, etc.
  • memory incorporated logic, and/or other suitable components to support the described functionality.
  • the device 1400 and/or the device 1500 may also be a chip or a chip system, for example, a system on chip (system on chip, SoC).
  • the sending module 1120 may be a transceiver circuit of the chip, which is not limited here.
  • the above-mentioned apparatus 1400 and/or apparatus 1500 may be implemented by hardware, or may be implemented by executing corresponding software by hardware.
  • the hardware structure of the embodiment of the present application will be introduced below with reference to FIG. 16 and FIG. 17 .
  • FIG. 16 shows a schematic block diagram of another apparatus 1600 for determining a path provided by an embodiment of the present application.
  • the apparatus 1600 includes a processor 1610 , a transceiver 1620 and a memory 1630 .
  • the processor 1610, the transceiver 1620 and the memory 1630 communicate with each other through an internal connection path, the memory 1630 is used to store instructions, and the processor 1610 is used to execute the instructions stored in the memory 1630 to control the transceiver 1620 to send signals and /or to receive a signal.
  • the device 1600 may specifically be the first node or the third node in the above embodiment, or the functions of the first node or the third node in the above embodiment may be integrated in the device 1600, and the device 1600 may be used to perform the above Each step and/or process corresponding to the first node or the third node in the method embodiment.
  • the memory 1630 may include read-only memory and random-access memory, and provides instructions and data to the processor.
  • a portion of the memory may also include non-volatile random access memory.
  • the memory may also store device type information.
  • the processor 1610 may be configured to execute instructions stored in the memory, and when the processor executes the instructions, the processor may execute various steps and/or processes corresponding to the first node or the third node in the foregoing method embodiments.
  • the processor 1610 may be a central processing unit (central processing unit, CPU), and the processor may also be other general-purpose processors, digital signal processors (DSPs), application specific integrated circuits (ASICs) ), field programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc.
  • DSPs digital signal processors
  • ASICs application specific integrated circuits
  • FPGA field programmable gate array
  • a general-purpose processor may be a microprocessor, or the processor may be any conventional processor, or the like.
  • FIG. 17 shows a schematic block diagram of another apparatus 1700 for determining a path provided by an embodiment of the present application.
  • the device 1700 and the device 1600 are schematic diagrams of two parallel devices. Similar to the device 1600, the device 1600 can be specifically the first node or the third node in the above embodiment, or the first node or the second node in the above embodiment The functions of the three nodes can be integrated in the device 1700, and any one of the device 1700 or the device 1600 can be used to execute the steps and/or processes corresponding to the first node or the third node in the above method embodiments. There is no restriction on this.
  • the device 1700 includes a main control board and an interface board.
  • the main control board includes a processor 1710 and a memory 1720 .
  • the interface board includes a processor 1730 , a memory 1740 and an interface card 1750 .
  • the main control board processor 1710 can call the program instructions stored in the main control board memory 1720 to implement the device 1400 and/or the device 1500 and perform operations such as message generation.
  • the interface board processor 1730 can call the program instructions stored in the interface board memory 1740 to implement the device 1400 and/or the device 1500 and perform operations such as sending messages through the interface card 1750, and when the processor executes the instructions, the processor can execute Various steps and/or processes corresponding to the first node or the third node in the foregoing method embodiments.
  • memory 1720 and/or memory 1740 may include read-only memory and random-access memory, and provide instructions and data to the processor.
  • a portion of the memory may also include non-volatile random access memory.
  • the memory may also store device type information.
  • FIG. 18 is a schematic block diagram of a system 1800 for determining a route provided by an embodiment of the present application. As shown in FIG. 18 , the system 1800 includes a first node 1810 and a third node 1820 .
  • the third node 1820 is configured to: send a first message to the first node 1810, the first sub-TLV field of the first message includes a link constraint condition, and the link constraint condition is used to indicate that the transmission based on the target flexible algorithm The link constraints that need to be satisfied when sending packets.
  • the first node 1810 is configured to: receive the first message from the third node 1820, and determine a link constraint condition based on the first message; and, based on the link constraint condition, determine at least one target to reach the second node path.
  • first node 1810 and the third node 1820 may also execute the steps and/or processes related to the first node and the third node described in the foregoing embodiments, which will not be repeated here.
  • the disclosed systems, devices and methods may be implemented in other ways.
  • the device embodiments described above are only illustrative.
  • the division of the units is only a logical function division. In actual implementation, there may be other division methods.
  • multiple units or components can be combined or May be integrated into another system, or some features may be ignored, or not implemented.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces, and the indirect coupling or communication connection of devices or units may be in electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place, or may be distributed to multiple network units. Part or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
  • each functional unit in each embodiment of the present application may be integrated into one processing unit, each unit may exist separately physically, or two or more units may be integrated into one unit.
  • the functions described above are realized in the form of software function units and sold or used as independent products, they can be stored in a computer-readable storage medium.
  • the technical solution of the present application is essentially or the part that contributes to the prior art or the part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including Several instructions are used to make a computer device (which may be a personal computer, a server, or a network device, etc.) execute all or part of the steps of the methods described in the various embodiments of the present application.
  • the aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (read-only memory, ROM), random access memory (random access memory, RAM), magnetic disk or optical disc and other media that can store program codes. .

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供了一种确定路径的方法和装置,有利于提高基于灵活算法计算出的路径的可靠性。该方法包括:多个节点中的第一节点确定链路约束条件,该链路约束条件用于表示基于目标灵活算法传输报文时所需满足的链路约束条件,该链路约束条件包括以下一项或多项:链路故障约束、链路丢包率约束、链路误码率约束、链路抖动率约束或者链路MTU约束;第一节点基于目标灵活算法,确定到达多个节点中的第二节点的至少一条目标路径,该目标路径满足该链路约束条件。

Description

确定路径的方法和装置
本申请要求于2022年02月23日提交中国专利局、申请号为202210169079.5、申请名称为“确定路径的方法和装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及网络技术领域,更具体地,涉及一种确定路径的方法和装置。
背景技术
传统的内部网关协议(interior gateway protocol,IGP)可以根据链路的开销值和最短路径优先(shortest path first,SPF)算法来计算到达目的地址的最短路径。然而,基于链路的开销值的SPF算法是固定的,用户无法调整,不便于根据自己的需求计算最优的路径。
为了提高算法的灵活性,用户可以定义一个算法值来标识一个固定的算法,即灵活算法(flexible algorithm,Flex-Algo),基于Flex-Algo的特性,用户可以自己定制IGP算路的算法,IGP可以从链路的开销、时延或者流量工程(traffic engineering,TE)约束等多种度量规则中选择一种度量规则作为基于Flex-algo算路的度量类型(metric type),从而根据度量类型的不同计算满足不同需求的路径。
然而,采用上述灵活算法计算出的路径可能存在异常链路,异常链路无法满足业务对高质量链路的需求,可能会导致业务传输异常的情况,这样降低了基于灵活算法计算出的路径的可靠性,从而影响用户的业务体验。
发明内容
本申请提供一种确定路径的方法和装置,有利于满足不同场景下用户对高质量链路的需求,提高基于灵活算法计算出的路径的可靠性。
第一方面,提供了一种确定路径的方法,应用于包括多个节点的网络,包括:多个节点中的第一节点确定链路约束条件,该链路约束条件用于表示基于目标灵活算法传输报文时所需满足的链路约束条件,该链路约束条件包括以下一项或多项:链路故障约束、链路丢包率约束、链路误码率约束、链路抖动率约束或者链路最大传输单元(maximum transmission unit,MTU)约束。第一节点基于目标灵活算法,确定到达多个节点中的第二节点的至少一条目标路径,该目标路径满足该链路约束条件。
在本申请中,第一节点和第二节点为支持灵活算法的节点,目标灵活算法为包括链路约束条件的灵活算法。第一节点在计算到达第二节点的路径时,可以排除不满足链路约束条件的路径,得到满足链路约束条件的目标路径,这样有利于满足业务对链路质量的需求,为业务传输提供可靠的链路支持,提高了路径的可靠性。
结合第一方面,在第一方面的某些实现方式中,链路约束条件包括预设阈值,预设阈值包括以下一项或多项:链路故障阈值、链路丢包率阈值、链路误码率阈值、链路抖动率 阈值或者链路MTU阈值。第一节点基于目标灵活算法,确定到达多个节点中的第二节点的至少一条目标路径,包括:第一节点从到达第二节点的多条路径中排除包含不满足预设阈值条件的链路的路径,以确定到达多条候选路径,多条候选路径满足该预设阈值条件,该预设阈值条件包括以下一项或多项:链路故障次数小于或者等于所述链路故障阈值;链路丢包率小于或者等于所述链路丢包率阈值;链路误码率小于或者等于所述链路误码率阈值;链路抖动率小于或者等于所述链路抖动率阈值;或者,链路MTU大于或者等于所述链路MTU阈值。
在本申请中,链路约束条件可以用预设阈值来表示,第一节点在算路时可以排除不满足预设阈值条件的路径,进而从剩余的路径中可以确定目标路径。这样通过比较预设阈值的方式便于第一节点快速排除不满足条件的阈值,得到满足业务需求的目标路径。
结合第一方面,在第一方面的某些实现方式中,第一节点基于目标灵活算法,确定到达多个节点中的第二节点的至少一条目标路径,还包括:第一节点基于目标灵活算法的度量类型,从多条候选路径中确定至少一条目标路径。
在本申请中,第一节点可以从满足链路约束条件的多条候选路径中基于度量类型确定至少一条目标路径,这样可以进一步满足业务对度量类型的需求,例如,满足业务的时延需求、开销需求等。
结合第一方面,在第一方面的某些实现方式中,多个节点中的第一节点确定链路约束条件,包括:第一节点接收来自网络中的其他节点的第一报文,该第一报文包括该链路约束条件。
在本申请中,第一节点未知链路约束条件,但网络中其他已知该链路约束条件的节点可以向该第一节点发送第一报文,以通告第一节点该链路约束条件。
结合第一方面,在第一方面的某些实现方式中,第一报文还包括目标灵活算法的灵活算法定义(flexible algorithm definition,FAD)信息,FAD信息包括以下一项或多项:灵活算法的标识、计算类型的标识或度量类型的标识。
结合第一方面,在第一方面的某些实现方式中,第一报文的FAD类型长度值(type-length-value,TLV)的第一子TLV(sub TLV)字段包括链路约束条件。
在本申请中,链路约束条件可以携带在灵活算法的FAD信息中进行全网通告。具体地,可以通过第一报文的FAD TLV的第一子TLV字段携带该链路约束条件,这样便于第一节点对该字段进行解析以获取链路约束条件。
结合第一方面,在第一方面的某些实现方式中,计算类型的标识包括SPF算法的标识或严格SPF算法的标识。
结合第一方面,在第一方面的某些实现方式中,度量类型的标识包括以下一项或多项:链路时延规则的标识、内部网关协议IGP开销规则的标识、TE规则的标识或链路带宽规则的标识。
结合第一方面,在第一方面的某些实现方式中,第一报文为中间系统到中间系统(intermediate system to intermediate system,ISIS)报文或开放最短路径优先(open shortest path first,OSPF)报文。
结合第一方面,在第一方面的某些实现方式中,在第一节点基于目标灵活算法,确定到达多个节点中的第二节点的至少一条目标路径之前,该方法还包括:第一节点接收来自第一节点的邻居节点的第二报文,该第二报文中携带多个节点中相邻节点之间的链路状态, 该链路状态包括链路故障次数、链路丢包率、链路误码率、链路抖动率或者链路MTU。第一节点基于目标灵活算法,确定到达多个节点中的第二节点的至少一条目标路径,包括:第一节点基于目标灵活算法和多个节点中相邻节点之间的链路状态,确定到达第二节点的至少一条目标路径。
在本申请中,第一节点可以通过第二报文获取网络中所有链路的链路状态,这样第一节点在算路时可以将链路状态与链路约束条件进行比较,从而排除不满足链路约束条件的路径。
结合第一方面,在第一方面的某些实现方式中,第二报文的第二子TLV字段包括链路状态。
结合第一方面,在第一方面的某些实现方式中,第二报文为ISIS报文或OSPF报文。
结合第一方面,在第一方面的某些实现方式中,该方法还包括:第一节点接收来自第一节点的邻居节点的第三报文,第三报文携带多个节点中相邻节点之间更新后的链路状态。若基于更新后的链路状态确定该至少一条目标路径不满足链路约束条件,第一节点重新基于目标灵活算法和更新后的链路状态,确定到达第二节点的至少一条新路径,该至少一条新路径满足链路约束条件。
在本申请中,由于网络中的链路状态是动态变化的,第一节点在之后收集链路状态的周期内,可能收集到的目标路径上某条链路的链路状态无法满足链路约束条件,因此第一节点需要重新算路,这样有利于持续为业务提供可靠的传输路径。
结合第一方面,在第一方面的某些实现方式中,第一节点和第二节点处于同一个路由协议的不同进程,该路由协议包括ISIS或OSPF。
在本申请中,链路约束条件可以随着FAD信息在不同的进程之间传输,这样有利于处于不同进程中的网络节点获取链路约束条件,实现跨域传输。
第二方面,提供了一种确定路径的方法,应用于包括多个节点的网络,包括:多个节点中的第三节点确定链路约束条件,该链路约束条件用于表示基于目标灵活算法传输报文时所需满足的链路约束条件,该链路约束条件包括链路故障约束、链路丢包率约束、链路误码率约束、链路抖动率约束或者链路MTU约束。第三节点向网络中的其他节点发送该链路约束条件。
在本申请中,上述第一节点也可以与该第三节点为同一个节点,即第一节点可以作为发送端执行与第三节点类似的步骤,向网络中的其他节点发送该链路约束条件。
结合第二方面,在第二方面的某些实现方式中,第三节点向网络中的其他节点发送链路约束条件,包括:第三节点向网络中的其他节点发送第一报文,该第一报文包括该链路约束条件。
结合第二方面,在第二方面的某些实现方式中,第一报文还包括目标灵活算法的灵活算法定义FAD,FAD包括以下一项或多项:灵活算法的标识、计算类型的标识或度量类型的标识。
结合第二方面,在第二方面的某些实现方式中,第一报文的FAD TLV的第一子TLV字段包括该链路约束条件。
结合第二方面,在第二方面的某些实现方式中,第一报文为中间系统到中间系统ISIS报文或开放最短路径优先OSPF报文。
第三方面,提供了一种确定路径的方法,应用于包括多个节点的网络,包括:多个节 点中的第一节点接收链路约束条件,该链路约束条件用于表示基于目标灵活算法传输报文时所需满足的链路约束条件,该链路约束条件包括以下一项或多项:链路故障约束、链路丢包率约束、链路误码率约束、链路抖动率约束或者链路MTU约束。第一节点基于该链路约束条件,确定到达多个节点中的第二节点的至少一条目标路径,该目标路径满足该链路约束条件。
结合第三方面,在第三方面的某些实现方式中,第一节点接收第一报文,该第一报文包括该链路约束条件。
结合第三方面,在第三方面的某些实现方式中,第一报文还包括所述目标灵活算法的灵活算法定义FAD,所述FAD包括以下一项或多项:灵活算法的标识、计算类型的标识或度量类型的标识。
结合第三方面,在第三方面的某些实现方式中,第一报文的FAD类型长度值TLV的第一子TLV字段包括所述链路约束条件。
结合第三方面,在第三方面的某些实现方式中,第一报文为ISIS报文或OSPF报文。
第四方面,提供了一种确定路径的装置,包括:获取模块和处理模块。其中,获取模块用于:获取链路约束条件,该链路约束条件用于表示基于目标灵活算法传输报文时所需满足的链路约束条件,该链路约束条件包括以下一项或多项:链路故障约束、链路丢包率约束、链路误码率约束、链路抖动率约束或者链路最大传输单元MTU约束。处理模块用于:确定链路约束条件;以及,基于目标灵活算法确定到达多个节点中的第二节点的至少一条目标路径,该目标路径满足链路约束条件。
结合第四方面,在第四方面的某些实现方式中,链路约束条件包括预设阈值,该预设阈值包括以下一项或多项:链路故障阈值、链路丢包率阈值、链路误码率阈值、链路抖动率阈值或者链路MTU阈值。处理模块用于:从到达第二节点的多条路径中排除包含不满足预设阈值条件的链路的路径,以确定多条候选路径,该多条候选路径满足预设阈值条件,该预设阈值条件包括以下一项或多项:链路故障次数小于或者等于链路故障阈值;链路丢包率小于或者等于链路丢包率阈值;链路误码率小于或者等于链路误码率阈值;链路抖动率小于或者等于链路抖动率阈值;或者,链路MTU大于或者等于链路MTU阈值。
结合第四方面,在第四方面的某些实现方式中,处理模块用于:基于目标灵活算法的度量类型,从多条候选路径中确定至少一条目标路径。
结合第四方面,在第四方面的某些实现方式中,获取模块用于:接收来自网络中的其他节点的第一报文,该第一报文包括链路约束条件。
结合第四方面,在第四方面的某些实现方式中,第一报文还包括目标灵活算法的FAD,FAD包括以下一项或多项:灵活算法的标识、计算类型的标识或度量类型的标识。
结合第四方面,在第四方面的某些实现方式中,第一报文的FAD TLV的第一子TLV字段包括链路约束条件。
结合第四方面,在第四方面的某些实现方式中,计算类型的标识包括SPF算法的标识或严格SPF算法的标识。
结合第四方面,在第四方面的某些实现方式中,度量类型的标识包括以下一项或多项:链路时延规则的标识、IGP开销规则的标识、TE规则的标识或链路带宽规则的标识。
结合第四方面,在第四方面的某些实现方式中,第一报文为ISIS报文或OSPF报文。
结合第四方面,在第四方面的某些实现方式中,获取模块用于:接收来自邻居节点的 第二报文,该第二报文中携带多个节点中相邻节点之间的链路状态,该链路状态包括链路故障次数、链路丢包率、链路误码率、链路抖动率或者链路MTU。处理模块用于:基于目标灵活算法和多个节点中相邻节点之间的链路状态,确定到达第二节点的至少一条目标路径。
结合第四方面,在第四方面的某些实现方式中,第二报文的第二子TLV字段包括该链路状态。
结合第四方面,在第四方面的某些实现方式中,第二报文为ISIS报文或OSPF报文。
结合第四方面,在第四方面的某些实现方式中,获取模块用于:接收来自邻居节点的第三报文,该第三报文携带多个节点中相邻节点之间更新后的链路状态。处理模块用于:若基于更新后的链路状态确定该至少一条目标路径不满足链路约束条件,重新基于目标灵活算法和更新后的链路状态,确定到达第二节点的至少一条新路径,该至少一条新路径满足链路约束条件。
结合第四方面,在第四方面的某些实现方式中,第一节点和第二节点处于同一个路由协议的不同进程,该路由协议包括ISIS或OSPF。
第五方面,提供了一种确定路径的装置,包括:处理模块和收发模块。其中,处理模块用于:确定链路约束条件,所述链路约束条件用于表示基于目标灵活算法传输报文时所需满足的链路约束条件,所述链路约束条件包括链路故障约束、链路丢包率约束、链路误码率约束、链路抖动率约束或者链路MTU约束。收发模块用于:向所述网络中的其他节点发送链路约束条件。
结合第五方面,在第五方面的某些实现方式中,向所述网络中的其他节点发送第一报文,该第一报文包括链路约束条件。
结合第五方面,在第五方面的某些实现方式中,第一报文还包括目标灵活算法的FAD,FAD包括以下一项或多项:灵活算法的标识、计算类型的标识或度量类型的标识。
结合第五方面,在第五方面的某些实现方式中,第一报文的FAD TLV的第一子TLV字段包括链路约束条件。
结合第五方面,在第五方面的某些实现方式中,第一报文为中间系统到中间系统ISIS报文或开放最短路径优先OSPF报文。
第六方面,提供了再一种确定路径的装置,包括处理器,该处理器与存储器耦合,可用于执行存储器中的指令,以实现上述任一方面中任一种可能实现方式中的方法。可选地,该装置还包括存储器。可选地,该装置还包括通信接口,处理器与通信接口耦合。
在一种实现方式中,该确定路径的装置为路由设备,当该确定路径的装置为路由设备时,通信接口可以是收发器,或,输入/输出接口。
在另一种实现方式中,该确定路径装置为配置于路由设备中的芯片。当确定路径的装置为配置于路由设备中的芯片时,通信接口可以是输入/输出接口。
第七方面,提供了一种处理器,包括:输入电路、输出电路和处理电路。处理电路用于通过输入电路接收信号,并通过输出电路发射信号,使得处理器执行上述任一方面中任一种可能实现方式中的方法。
在具体实现过程中,上述处理器可以为芯片,输入电路可以为输入管脚,输出电路可以为输出管脚,处理电路可以为晶体管、门电路、触发器和各种逻辑电路等。输入电路所接收的输入的信号可以是由例如但不限于接收器接收并输入的,输出电路所输出的信号可 以是例如但不限于输出给发射器并由发射器发射的,且输入电路和输出电路可以是同一电路,该电路在不同的时刻分别用作输入电路和输出电路。本申请对处理器及各种电路的具体实现方式不做限定。
第八方面,提供了一种处理装置,包括处理器和存储器。该处理器用于读取存储器中存储的指令,并可通过接收器接收信号,通过发射器发射信号,以执行上述任一方面中任一种可能实现方式中的方法。
可选地,处理器为一个或多个,存储器为一个或多个。
可选地,存储器可以与处理器集成在一起,或者存储器与处理器分离设置。
在具体实现过程中,存储器可以为非瞬时性(non-transitory)存储器,例如只读存储器(read only memory,ROM),其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请对存储器的类型以及存储器与处理器的设置方式不做限定。
应理解,相关的数据交互过程例如发送指示信息可以为从处理器输出指示信息的过程,接收能力信息可以为处理器接收输入能力信息的过程。具体地,处理输出的数据可以输出给发射器,处理器接收的输入数据可以来自接收器。其中,发射器和接收器可以统称为收发器。
上述第八方面中的处理装置可以是一个芯片,该处理器可以通过硬件来实现也可以通过软件来实现,当通过硬件实现时,该处理器可以是逻辑电路、集成电路等;当通过软件来实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现,该存储器可以集成在处理器中,可以位于该处理器之外,独立存在。
第九方面,提供了一种确定路径的系统,该系统包括第一节点和第三节点,该第一节点执行上述第一方面或第三方面中任一种可能实现方式中的方法,该第三节点执行上述第二方面任一种可能实现方式中的方法。
第十方面,提供了一种计算机程序产品,计算机程序产品包括:计算机程序代码,当该计算机程序代码被运行时,使得计算机执行上述任一方面中任一种可能实现方式中的方法。
第十一方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,当该计算机程序被运行时,使得计算机执行上述任一方面中任一种可能实现方式中的方法。
附图说明
图1是一种ISIS报文的结构示意图;
图2是本申请实施例提供的一种多节点网络的拓扑示意图;
图3是本申请实施例提供的一种确定路径的方法的示意性流程图;
图4是本申请实施例提供的另一种确定路径的方法的示意性流程图;
图5是本申请实施例提供的一种第一子TLV的示意图;
图6是本申请实施例提供的另一种第一子TLV的示意图;
图7是本申请实施例提供的再一种第一子TLV的示意图;
图8是本申请实施例提供的又一种第一子TLV的示意图;
图9是本申请实施例提供的又一种第一子TLV的示意图;
图10是本申请实施例提供的一种通告链路状态的子TLV的示意图;
图11是本申请实施例提供的一种多节点网络的拓扑示意图;
图12是本申请实施例提供的再一种确定路径的方法的示意性流程图;
图13是本申请实施例提供的一种的FAD信息在不同的ISIS区域间传输的示意图;
图14是本申请实施例提供的一种确定路径的装置的示意性框图;
图15是本申请实施例提供的另一种确定路径的装置的示意性框图;
图16是本申请实施例提供的再一种确定路径的装置的示意性框图;
图17是本申请实施例提供的又一种确定路径的装置的示意性框图;
图18是本申请实施例提供的一种确定路径的系统的示意性框图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
在介绍本申请实施例提供的确定路径的方法和装置之前,先做出以下几点说明。
第一,在下文示出的实施例中,各术语及英文缩略语,如链路约束条件、链路状态、Flex-Algo、度量类型等,均为方便描述而给出的示例性举例,不应对本申请构成任何限定。本申请并不排除在已有或未来的协议中定义其它能够实现相同或相似功能的术语的可能。
第二,在下文示出的实施例中第一、第二以及各种数字编号仅为描述方便进行的区分,并不用来限制本申请实施例的范围。例如,区分不同的节点、区分不同的子TLV等。
第三,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a、b和c中的至少一项(个),可以表示:a,或b,或c,或a和b,或a和c,或b和c,或a、b和c,其中a,b,c可以是单个,也可以是多个。
为便于理解,下面对本申请实施例所涉及的术语进行简单介绍。
1.灵活算法(Flex-Algo):Flex-Algo提供一种类似流量工程(traffic engineering,TE)的策略,通过使IGP自身计算带约束的最短路径,从而达到与TE实现相同的效果。Flex-Algo允许用户将榴莲引入自定义的网络拓扑,通过定制灵活算法定义(FAD),丰富IGP的路径计算能力,从而达到实现流量工程的目的。
IGP可以通过泛洪FAD、节点Flex-Algo算法参与能力和链路TE属性信息来构建基于Flex-Algo的拓扑,同时通过网段路由标识(locator)关联Flex-Algo,使得拓扑中的各节点可以基于Flex-Algo构建的拓扑生成到达网段路由标识(locator)的路由信息。
2.灵活算法定义(FAD):根据标准草案draft-ietf-lsr-flex-algo-14中对FAD的描述可知,FAD包括度量类型(metric-type)、计算类型(calculation-type)以及描述拓扑约束的集合(describe a set of constraints on the topology)。应理解,路由器还可以配置一个数字标识符与一个FAD相关联,数字128~255可用于标识不同的Flex-Algo。
路由器可以扩展一组类型长度值(type-length-value,TLV)来携带Flex-Algo的FAD信息,称作FAD TLV,该FAD TLV用于通告某个Flex-Algo的具体计算规则,该FAD TLV包括多个子TLV(sub-TLVs)。
图1是一种ISIS报文100的结构示意图,如图1所示,ISIS报文100的FAD TLV结 构包括如下字段:
(1)类型(type)字段:用于描述ISIS报文的类型;
(2)长度(length)字段:用于描述ISIS报文的长度;
(3)Flex-Algo字段:用于描述Flex-Algo的数字标识;
(4)度量类型(metric-type)字段:用于描述Flex-Algo算路所基于的度量类型标识;
(5)计算类型(calculation-type)字段:用于描述Flex-Algo算路所基于的计算类型标识;
(6)优先级(priority)字段:用于描述ISIS报文所承载的业务流量的优先级标识;
(7)子TLV(sub-TLVs)字段。
3.度量类型(metric-type):现有的度量类型包括链路开销值(IGP cost)、时延和流量工程(traffic engineering,TE)规则,Flex-Algo可基于多种度量类型中的一种度量规则计算满足不同需求的路径。
以下是当前标准草案draft-ietf-lsr-flex-algo-14中对度量类型(metric-type)的描述:
Metric-Type:Type of metric to be used during the calculation.
Following values are defined:
0:IGP Metric
1:Min Unidirectional Link Delay as defined in[RFC7810].
2:TE default metric as defined in[RFC5305].
其中,请求评论(request for comments,RFC)是一系列以编号排定的标准文档,该标准文档收集了大量互联网相关信息。RFC标准文档还加入了许多的标准内的论题,例如对于互联网新开发的协议以及发展中所有的记录。
由以上描述可知,不同的度量类型有不同的标识,其标识范围为0~255,当前标准草案draft-ietf-lsr-flex-algo-14规定:0用于标识IGP cost,1用于标识时延,2用于标识TE规则,之后的3~255为预留的度量类型的标识。
4.SPF算法:SPF算法是开放最短路径优先OSPF路由协议的基础,可以将每一个路由器作为根(ROOT)来计算其到每一个目的地路由器的距离,每一个路由器可以根据一个统一的数据库计算出路由域的拓扑结构图,该拓扑结构图也被称作最短路径树。
5.链路开销值(cost):在OSPF路由协议中,最短路径树的树干长度,即OSPF路由器到达每一个目的地路由器的距离,被称为OSPF的cost,其算法为:cost=100×(10)^6/链路带宽。
由上述介绍可知,FAD包括度量类型(metric-type)、计算类型(calculation-type)以及描述拓扑约束的集合(describe a set of constraints on the topology),用户可自定义FAD,丰富IGP的路径计算能力,从而达到实现流量工程的目的。
传统的IGP算法可以根据链路开销值并利用SPF算法计算到达目的地址的最短路径。这样的方式是基于链路的开销值,无法满足用户的不同需求,例如用户期望按照时延最小的路径转发,或者排除部分链路转发。示例性地,由于自动驾驶领域需要极低时延的网络,因此需要根据时延进行路径计算。示例性地,有些链路的费用较高,用户希望考虑费用这一因素,那么在计算路径时需要将费用较高的路径排除。这个基于链路开销值的SPF算法是固定的,用户无法调整,因此不便于用户根据自己的需求计算最优的路径。
由于Flex-Algo允许用户自己定制IGP算法的算法,满足不同业务需求,因此基于 Flex-Algo的特性,IGP可以根据链路的cost、时延、TE约束等自动计算满足不同需求的路径,灵活地实现流量工程的需求。
由上文可知,Flex-Algo的计算规则一般由一个三元组表示,即度量类型、计算类型和约束条件。其中,度量类型表示链路指标约束(例如,时延指标),计算类型表示计算算法约束(例如,采用SPF算法),约束条件表示在算路时是否包含/排除某些链路。
示例性地,用户可以将Flex-Algo 128定义为:(1)度量类型:时延;(2)计算类型:SPF;(3)约束条件:排除链路x。
图2是本申请实施例提供的一种多节点网络200的拓扑示意图。网络200包括节点0、节点9、节点1、节点2、节点3、节点4、节点5、节点6、节点7和节点8。图2中的各个节点均支持基于灵活算法进行算路的功能。假设需要计算一条从节点0至节点9的路径,则在网络200中,从节点0开始的使用相同Flex-Algo的节点可以根据FAD信息计算一条从节点0至节点9的满足算法定义的路径。
在图2中,示例性地,节点0->节点1这条链路的时延为10,节点1->节点3这条链路的时延为10,节点3->节点4这条链路的时延为10,节点4->节点9这条链路的时延为10,节点1->节点2这条链路的时延为10,节点2->节点4这条链路的时延为15。
其中,节点0和节点9可以同时支持Flex-Algo 128和Flex-Algo 129,IGP协议可以通过FAD TLV对外通告Flex-Algo 128和Flex-Algo 129的定义,使得全网节点都能感知节点0和节点9所使用的算法及算法定义。
节点1至节点4使用Flex-Algo 128,IGP协议可以通过FAD TLV对外通告节点1至节点4使用Flex-Algo 128。
节点5至节点8使用Flex-Algo 129,IGP协议可以通过FAD TLV对外通告节点5至节点8使用Flex-Algo 129。
除了Flex-Algo 128和Flex-Algo 129以外,每个节点还可以支持最基本的算法0,即基于链路cost值的SPF算法。
在图2中,示例性地,节点9配置有互联网协议第6版(internet protocol version 6,IPv6)数据平面转发IPv6数据包的SR的网段路由标识(简称为SRv6locator)与Flex-Algo进行关联,网络中的其他节点可以基于Flex-Algo计算到这个SRv6locator对应网段的路由,最终不同的网段路由代表基于不同算法计算出的路径,可以满足业务的多样化需求。
应理解,其他节点也可以配置SRv6locator与Flex-Algo进行关联,本申请实施例对此不作限定。
在基于网络200算路的过程中,节点0向其他节点通告支持算法0、Flex-Algo 128和Flex-Algo 129,节点9向其他节点通告支持算法0、Flex-Algo 128和Flex-Algo 129。节点1、节点2、节点3和节点4向其他节点通告支持算法0和Flex-Algo 128,节点5、节点6、节点7和节点8向其他节点通告支持算法0和Flex-Algo 129。
示例性地,Flex-Algo 128的定义为:(1)度量类型:时延;(2)计算类型:SPF;(3)约束条件:排除由节点5和节点6组成的链路。
示例性地,Flex-Algo 129的定义为:(1)度量类型:TE;(2)计算类型:SPF;(3)约束条件:排除由节点1和节点2组成的链路。
应理解,Flex-Algo 128和Flex-Algo 129可以将网络200逻辑划分为子网络拓扑210和子网络拓扑220,子网络拓扑210包括支持Flex-Algo 128的节点,子网络拓扑220包括 支持Flex-Algo 129的节点。在图2中,若节点1、节点2、节点3和节点4使用Flex-Algo128,那么节点1、节点2、节点3和节点4可以归属于子网络拓扑210。若节点5、节点6、节点7和节点8使用Flex-Algo 129,那么节点5、节点6、节点7和节点8可以归属于子网络拓扑220。
示例性地,节点0使用Flex-Algo 128,节点0可以将配置的Flex-Algo 128的FAD信息进行全网泛洪,使得子网络拓扑210中的各个节点获知Flex-Algo 128的FAD信息,这样子网络拓扑210中未配置相应FAD信息的节点也可以遵循Flex-Algo 128的FAD信息计算路径。最终确定的目标路径中的节点归属于同一个子网络拓扑。
应理解,网络200中的任意一个节点也可以将自身配置的Flex-Algo的FAD信息进行全网泛洪,以使得具有相同Flex-Algo数字标识符的节点可以遵循相同的算法定义从而计算出满足业务需求的最优路径,本申请实施例对此不作限定。
示例性地,节点1至节点8使用算法0,节点0计算的目标路径中可以包括网络200中的任意一个节点,不受Flex-Algo的限制。
应理解,网络200中的节点还可以是支持Flex-Algo 130、Flex-Algo 131等灵活算法的节点,本申请实施例对此不作限定。
结合上文描述可知,当前标准草案draft-ietf-lsr-flex-algo-14中支持基于链路开销值(cost)、时延或TE的Flex-Algo路径计算。示例性地,图2中的节点基于Flex-Algo 128算路时,可以以时延为度量类型计算一条从节点0至节点9的满足最小时延的路径。由图2可知,节点0->节点1->节点3->节点4->节点9这条路径是网络200中满足最小时延的路径。但是,在这条路径中,如果节点3->节点4这条链路不稳定,可能为异常链路,例如,链路活跃度较低、链路丢包率较高、链路误码率较高、链路抖动率较高或者链路最大传输单元MTU较小无法满足业务传输需求。上述存在异常链路的场景可能导致Flex-Algo隧道出现故障切换,这样会降低路径的可靠性,从而影响用户的业务体验。
应理解,链路活跃度也可以用链路故障次数来表征,链路活跃度越低,链路故障次数越多。
有鉴于此,本申请实施例可以在基于Flex-Algo算路时兼顾考虑节点之间的链路状态,根据用户的业务需求设置链路约束条件,在算路时将不满足链路约束条件的链路进行排除,从而得到可以满足用户对高质量链路需求的目标路径,提高了路径的可靠性。
应理解,本申请所提供的确定路径的方法可以应用于SRv6场景,也可以应用于使用多协议标签交换(multi-protocol label switching,MPLS)数据平面转发MPLS数据包的段路由(segment routing,SR)场景,简称为SR-MPLS场景,还可以应用于其他场景,本申请实施例对此不作限定。
图3是本申请实施例提供的一种确定路径的方法300的示意性流程图。方法300可以应用于如图2所示的网络200,方法300的步骤可以由第一节点执行,该第一节点可以为路由设备,示例性地,该路由设备可以为具有计算路由功能的任意设备,例如交换机或者路由器,本申请实施例对此不作限定。方法300包括如下步骤:
S301,确定链路约束条件,该述链路约束条件用于表示基于目标灵活算法传输报文时所需满足的链路约束条件,该链路约束条件包括以下一项或多项:链路故障约束、链路丢包率约束、链路误码率约束、链路抖动率约束或者链路MTU约束;
S302,基于目标灵活算法,确定到达第二节点的至少一条目标路径,该目标路径满足 该链路约束条件。
示例性地,若需要确定网络200中的一条从节点0至节点9的路径,上述第一节点可以为网络200中的节点0,第二节点可以为网络200中的节点9。
在S302中,第一节点在基于该目标灵活算法确定至少一条目标路径的基础上,还可以基于其他条件与该目标灵活算法共同确定目标路径。示例性地,其他条件可以为邻居信息、路由表或链路剩余带宽,本申请实施例对此不作限定。
应理解,本申请实施例中的链路约束条件可以根据不同业务的不同链路需求来确定。
示例性地,第一节点基于目标灵活算法确定了两条同时满足算路要求的目标路径,可以采用负载分担、双发选收或者主备等多径传输策略进行业务流量的传输。
在本申请实施例中,第一节点在使用灵活算法算路时兼顾考虑影响链路质量的链路约束条件,包括:链路故障约束、链路丢包率约束、链路误码率约束、链路抖动率约束或者链路MTU约束中的至少一种。第一节点在算路时可以基于链路约束条件对到达第二节点的路径进行排除,确定满足链路约束条件的目标路径,这样有利于提高基于灵活算法计算出的路径的可靠性。
作为一个可选的实施例,链路约束条件包括预设阈值,预设阈值包括以下一项或多项:链路故障阈值、链路丢包率阈值、链路误码率阈值、链路抖动率阈值或者链路MTU阈值。S302包括:第一节点从到达第二节点的多条路径中排除包含不满足预设阈值条件的链路的路径,以确定多条候选路径。
其中,多条候选路径满足预设阈值条件,预设阈值条件包括以下一项或多项:链路故障次数小于或者等于链路故障阈值;链路丢包率小于或者等于链路丢包率阈值;链路误码率小于或者等于链路误码率阈值;链路抖动率小于或者等于链路抖动率阈值;或者,链路MTU大于或者等于链路MTU阈值。
以图2中节点3->节点4这条链路为例,如果链路故障阈值为2次/秒,但是当前网络200中节点3->节点4这条链路实际的链路故障次数为3次/秒,大于链路故障阈值,这样的链路不稳定,可能会出现闪断的情况,无法满足业务对稳定性和可靠性的要求,因此第一节点在算路时可以排除掉包含节点3->节点4这条链路的路径。如果当前网络中节点3->节点4这条链路实际的链路故障次数为1次/秒,那么第一节点在算路时可以将节点3->节点4这条链路作为可信任的链路进行路径计算。
仍以图2中节点3->节点4这条链路为例,如果链路MTU阈值为1500,但是当前网络200中节点3->节点4这条链路实际的链路MTU为1200,小于链路MTU阈值,这样的链路无法满足业务的诉求,可能会导致业务受损,因此第一节点在算路时可以排除掉包含节点3->节点4这条链路的路径。如果当前网络中节点3->节点4这条链路实际的链路MTU为1600,那么第一节点在算路时可以将节点3->节点4这条链路作为可信任的链路进行路径计算。
作为一个可选的实施例,方法300中的S302包括:第一节点基于灵活算法的度量类型,从多条候选路径中确定到达第二节点的至少一条目标路径,该多条候选路径满足预设阈值条件。
在本申请实施例中,第一节点在基于目标灵活算法算路时,首先可以基于链路约束条件排除掉某些路径,进一步地,第一节点再基于度量类型从多条候选路径中确定至少一条满足链路约束条件的目标路径,这样可以排除包含异常链路的路径,得到满足业务需求的 目标路径,有利于提高路径的可靠性。
可选地,第一节点还可以基于灵活算法的标识、灵活算法的计算类型以及灵活算法的度量类型从多条候选路径中确定到达第二节点的至少一条目标路径。
图4是本申请实施例提供的另一种确定路径的方法400的示意性流程图。方法400可以应用于如图2所示的网络200,其中的第一节点、第二节点以及第三节点可以为路由设备,示例性地,该路由设备可以为具有计算路由功能的任意设备,例如交换机或者路由器,本申请实施例对此不作限定。方法400包括如下步骤:
S401,第三节点向网络中的其他节点(包括第一节点)发送第一报文,该第一报文可以包括链路约束条件,该链路约束条件用于表示基于目标灵活算法传输报文时所需要满足的链路约束条件。相应地,第一节点接收该第一报文。
S402,第一节点基于该第一报文,确定链路约束条件。
S403,第一节点基于该链路约束条件,确定到达第二节点的至少一条目标路径。
示例性地,若需要确定网络200中的一条从节点0至节点9的路径,上述第一节点可以为网络200中的节点0,第二节点可以为网络200中的节点9,第三节点可以为网络200中除去节点0的任意节点,本申请实施例对此不作限定。
在本申请实施例中,第一节点未知链路约束条件,网络中其他已经配置或者已经获取到该链路约束条件的第三节点可以向第一节点发送该第一报文,以向第一节点通告该链路约束条件。
应理解,第一节点不仅可以作为接收端,接收来自网络中其他节点的第一报文,还可以作为发送端,执行与第三节点类似的步骤,向网络中的其他节点发送第一报文,本申请实施例对各个节点的功能不作限定。
示例性地,该第三节点可以根据业务的数据类型、数据大小等因素确定链路约束条件,配置相应的FAD信息,并向网络中的其他节点(包括第一节点)发送承载该链路约束条件的第一报文。
可选地,第一报文可以包括灵活算法的FAD信息,第一报文的报文结构中包括FAD TLV,FAD TLV可以包括多个子TLV字段。
可选地,第一报文的FAD TLV包括第一子TLV字段,链路约束条件可以由该第一子TLV承载。
图5至图9是本申请实施例提供的不同链路约束场景下的第一子TLV的示意图。其中,图5至图9所示的第一子TLV包括类型(type)字段和长度(length)字段,类型字段用以描述该第一子TLV的类型;长度字段用以描述该第一子TLV的数值的长度。不同之处在于,图5所示的第一子TLV包括链路故障约束,用以约束路径的链路故障次数来满足业务传输需求;图6所示的第一子TLV包括链路丢包率约束,用以约束路径的链路丢包率来满足业务传输需求;图7所示的第一子TLV包括链路误码率约束,用以约束路径的链路误码率来满足业务传输需求;图8所示的第一子TLV包括链路抖动率约束,用以约束路径的链路抖动率来满足业务传输需求;图9所示的第一子TLV包括链路MTU约束,用以约束路径的链路MTU来满足业务传输需求。
应理解,第一节点可以在FAD算法中做协议扩展,新增第一子TLV,并在第一子TLV中增加如图5至图9所示的不同链路约束场景下的链路约束条件,以此来约束路径的链路故障次数、链路丢包率、链路误码率、链路抖动率或者链路MTU中的至少一种。
应理解,第一报文中还可以包括其他子TLV字段,该第一子TLV与其他子TLV属于并列关系,将链路约束条件置于第一子TLV字段便于第一节点对该字段进行解析以获取链路约束条件。
示例性地,第一报文为ISIS报文或者OSPF报文。其中,OSPF报文与如图1所示的ISIS报文具有类似的FAD TLV结构,此处不再赘述。
作为一个可选的实施例,灵活算法的定义FAD包括以下一项或多项:灵活算法的标识、计算类型的标识或度量类型的标识。
作为一个可选的实施例,计算类型的标识包括SPF算法标识或者严格SPF算法标识。其中,严格SPF算法不允许任何节点根据其本地策略改变严格SPF算法计算出的SPF路径,与SPF算法不同。
作为一个可选的实施例,度量类型的标识包括下列中的一种:链路时延规则的标识、IGP开销规则的标识、TE规则的标识或链路带宽规则的标识。
其中,链路时延规则表示在算路时基于时延最小规则进行算路。IGP开销规则表示在算路时基于开销值最小规则进行算路。流量工程TE规则表示在算路时基于TE最短路径进行算路。链路带宽规则表示在算路时基于带宽需求进行算路。
作为一个可选的实施例,在S403之前,方法400还包括:第一节点接收来自第一节点的邻居节点的第二报文,该第二报文中携带多个节点中相邻节点之间的链路状态,该链路状态包括链路故障次数、链路丢包率、链路误码率、链路抖动率或者链路MTU。S403包括:第一节点基于目标灵活算法和多个节点中相邻节点之间的链路状态,确定到达第二节点的至少一条目标路径。
应理解,第一节点在算路时需要将可以到达第二节点的路径中相邻节点之间的链路状态与链路约束条件进行比较,因此第一节点需要获取可以到达第二节点的路径中每条链路的链路状态。因此,在本申请实施例中,第一节点可以接收来自邻居节点的第二报文,该第二报文可以包括第一节点算路时所需的链路状态。
示例性地,第二报文为ISIS报文或者OSPF报文。
示例性地,第二报文的第二子TLV字段包括该链路状态。其中,第二子TLV可以具有如图10所示的结构。
图10是本申请实施例提供的一种通告链路状态的子TLV的示意图。图5所示的子TLV包括:类型(type)字段、长度(length)字段以及链路状态字段。其中,类型字段用以描述子TLV的类型;长度字段用以描述子TLV的长度;链路状态字段可以根据不同的业务需求,用以描述实际的链路故障次数、链路丢包率、链路误码率、链路抖动率或者链路MTU。
示例性地,图10所示的子TLV可以为流程工程TLV(traffic engineering TLV),网络中的节点可以通过链路状态报文(link state packet,LSP)携带如图10所示的子TLV对外通告链路状态。
第一节点在接收到流程工程TLV之后,可以解析流程工程TLV以获取实际的链路故障次数、链路丢包率、链路误码率、链路抖动率或者链路MTU,并结合目标灵活算法确定至少一条目标路径。
下面以ISIS路由协议进程为例,结合图11和图12对本申请实施例提供的确定路径的方法的实现流程进行说明。
图11是本申请实施例提供的另一种多节点网络1100的拓扑示意图。网络1100是区别于网络200的另一个网络,网络1100包括的节点R1、节点R2、节点R3和节点R4均支持基于灵活算法算路。示例性地,节点R1需要计算一条到达节点R4的路径。
网络1100中的各个节点可以配置相同的FAD信息,示例性地,各节点配置的FAD信息如下:Flex-Algo的数字标识符为128;度量类型标识为0,表示基于IGP开销值算路;计算类型标识为0,表示采用SPF算法算路;链路约束条件:针对不同的场景设置不同的阈值,具体设置可参照下文描述。
由图11可知,节点R1->节点R2这条链路的IGP开销值为10;节点R1->节点R3这条链路的IGP开销值为20;节点R2->节点R4这条链路的IGP开销值为10;节点R3->节点R4这条链路的IGP开销值为20。
下面结合图11和图12对确定节点R1到达节点R4的路径的实现过程进行描述。
图12是本申请实施例提供的再一种确定路径的方法1200的示意性流程图,方法1200可以应用于网络1100中,方法1200包括如下步骤:
S1201,各节点使能ISIS组件,建立邻居关系。
S1202,各节点配置灵活算法的FAD信息。
在本步骤中,用户可以首先为一个或多个节点配置满足业务需求的FAD信息,已经配置FAD信息的节点可以向其他节点泛洪FAD信息,通告其他节点灵活算法的配置信息,使得网络中具有相同灵活算法的标识的节点可以配置统一的FAD信息,计算出一致的路径。
S1203,各节点的ISIS组件收集链路状态并进行全网通告。
示例性地,ISI组件可以通过双向转发检测协议(bidirectional forwarding detection)或者双向主动测量协议(two-way active measurement protocol)监控链路状态,并从接口管理组件获取链路状态,各个节点的ISIS组件在自己的链路数据库中对所在链路的LSP进行标记,记录链路状态,之后可以将该记录有链路状态的LSP进行全网通告,以使网络中的每个节点获知每条链路的链路状态。
示例性地,ISIS组件可以按照预设周期(例如,5分钟)定期从接口管理组件收集链路状态。
S1204,节点R1按照配置的FAD信息计算到达节点R4的路由,确定目标路径。
在本步骤中,节点R1的FAD信息可以是用户为节点R1配置的业务所需的FAD信息,也可以是节点R1从已配置与节点R1具有相同灵活算法的标识的其他节点处获取的FAD信息。在本步骤中,节点R1可以在以下几个链路约束场景中确定满足业务需求的目标路径。
场景1:链路故障约束。
在本场景中,FAD信息中的链路约束条件为链路故障约束,示例性地,可以采用链路故障阈值对链路故障次数进行约束,该链路故障阈值用于表示采用灵活算法算路时的链路故障次数的上限,如果从节点R1到达节点R4的路径中存在链路故障次数大于链路预设阈值的链路,那么节点R1在算路时可以排除该路径。
由于FAD信息中配置有链路故障阈值,因此在FAD信息的传递过程中可以通告各节点在采用Flex-Algo 128进行算路时,需要满足链路故障阈值的约束。
在不考虑链路故障约束的情况下,节点R1在按照FAD信息中的计算类型(例如,SPF 算法)算路时,可以先按照度量类型(例如,IGP开销)进行算路。由图11可知,R1->R2->R4这条路径的IGP开销值最小,节点R1可以将这条路径确定为目标路径。
然而,在考虑链路故障约束的情况下,示例性地,链路故障阈值配置为2次/秒,ISIS组件收集到的节点R1->节点R2这条链路的链路故障次数为0,节点R1->节点R3这条链路的链路故障次数为0,节点R2->节点R4这条链路的链路故障次数为3次/秒,节点R3->节点R4这条链路的链路故障次数为0。其中,节点R2->节点R4这条链路的链路故障次数大于链路故障阈值,因此,节点R1可以将在不考虑链路故障约束的情况下得到的R1->R2->R4这条路径排除,重新计算出的目标路径为R1->R3->R4。重新计算出的这条路径上所有链路的链路故障次数均小于链路故障阈值,可以认为是稳定可靠的链路,有利于避免业务在路径传输过程中受损,提高路径的可靠性。
场景2:链路丢包率约束。
在本场景中,FAD信息中的链路约束条件为链路丢包率约束,示例性地,可以采用链路丢包率阈值对链路丢包率进行约束,该链路丢包率阈值用于表示采用灵活算法算路时的链路丢包率的上限,如果从节点R1到达节点R4的路径中存在链路丢包率大于链路丢包率阈值的链路,那么节点R1在算路时可以排除该路径。
由于FAD信息中配置有链路丢包率阈值,因此在FAD信息的传递过程中可以通告各节点在采用Flex-Algo 128进行算路时,需要满足链路丢包率阈值的约束。
在不考虑链路丢包率约束的情况下,假设类似于场景1中的描述,节点R1基于计算出R1->R2->R4这条路径的IGP开销值最小,节点R1可以将这条路径确定为目标路径。
然而,在考虑链路丢包率约束的情况下,示例性地,链路丢包率阈值配置为10%,ISIS组件收集到的节点R1->节点R2这条链路的链路丢包率为0,节点R1->节点R3这条链路的链路丢包率为0,节点R2->节点R4这条链路的链路丢包率为20%,节点R3->节点R4这条链路的链路丢包率为0。其中,节点R2->节点R4这条链路的链路丢包率大于链路丢包率阈值,因此,节点R1可以将在不考虑链路丢包率约束的情况下得到的R1->R2->R4这条路径排除,重新计算出的目标路径为R1->R3->R4。重新计算出的这条路径上所有链路的链路丢包率均小于链路丢包率阈值,可以认为是稳定可靠的链路,有利于避免业务在链路丢包率高的链路上传输受损,提高路径的可靠性。
场景3:链路误码率约束。
在本场景中,FAD信息中的链路约束条件为链路误码率约束,示例性地,可以采用链路误码率阈值对链路误码率进行约束,该链路误码率用于表示采用灵活算法算路时的链路误码率的上限,如果从节点R1到达节点R4的路径中存在链路误码率大于链路误码率阈值的链路,那么节点R1在算路时可以排除该路径。
由于FAD信息中配置有链路误码率阈值,因此在FAD信息的传递过程中可以通告各节点在采用Flex-Algo 128进行算路时,需要满足链路误码率阈值的约束。
在不考虑链路误码率约束的情况下,仍假设类似于场景1中的描述,节点R1基于计算出R1->R2->R4这条路径的IGP开销值最小,节点R1可以将这条路径确定为目标路径。
然而,在考虑链路丢包率约束的情况下,示例性地,链路误码率阈值配置为10%,ISIS组件收集到的节点R1->节点R2这条链路的链路误码率为0,节点R1->节点R3这条链路的链路误码率为0,节点R2->节点R4这条链路的链路误码率为30%,节点R3->节点R4这条链路的链路误码率为0。其中,节点R2->节点R4这条链路的链路误码率大于链路误 码率阈值,因此,节点R1可以将在不考虑链路误码率约束的情况下得到的R1->R2->R4这条路径排除,重新计算出的目标路径为R1->R3->R4。重新计算出的这条路径上所有链路的链路误码率均小于链路误码率阈值,可以认为是稳定可靠的链路,有利于避免业务在链路误码率高的链路上传输受损,提高路径的可靠性。
场景4:链路抖动率约束。
在本场景中,FAD信息中的链路约束条件为链路抖动率约束,示例性地,可以采用链路抖动率阈值对链路抖动率进行约束,该链路抖动率用于表示采用灵活算法算路时的链路抖动率的上限,如果从节点R1到达节点R4的路径中存在链路抖动率大于链路抖动率阈值的链路,那么节点R1在算路时可以排除该路径。
由于FAD信息中配置有链路抖动率阈值,因此在FAD信息的传递过程中可以通告各节点在采用Flex-Algo 128进行算路时,需要满足链路抖动率阈值的约束。
在不考虑链路抖动率约束的情况下,仍假设类似于场景1中的描述,节点R1基于计算出R1->R2->R4这条路径的IGP开销值最小,节点R1可以将这条路径确定为目标路径。
然而,在考虑链路抖动率约束的情况下,示例性地,链路抖动率阈值配置为3%,ISIS组件收集到的节点R1->节点R2这条链路的链路抖动率为0,节点R1->节点R3这条链路的链路抖动率为0,节点R2->节点R4这条链路的链路抖动率为5%,节点R3->节点R4这条链路的链路抖动率为0。其中,节点R2->节点R4这条链路的链路抖动率大于链路抖动率阈值,因此,节点R1在算路时首先可以基于链路抖动率阈值将R1->R2->R4这条路径排除,重新计算出的目标路径为R1->R3->R4。重新计算出的这条路径上所有链路的链路抖动率均小于链路抖动率阈值,可以认为是稳定可靠的链路,有利于避免业务在链路抖动率高的链路上传输受损,提高路径的可靠性。
场景5:链路MTU约束。
在本场景中,FAD信息中的链路约束条件为链路MTU约束,示例性地,可以采用链路MTU阈值对链路MTU进行约束,该链路MTU用阈值于表示采用灵活算法算路时的链路MTU的上限,如果从节点R1到达节点R4的路径中存在链路MTU大于链路MTU阈值的链路,那么节点R1在算路时可以排除该路径。
由于FAD信息中配置有链路MTU阈值,因此在FAD信息的传递过程中可以通告各节点在采用Flex-Algo 128进行算路时,需要满足链路MTU阈值的约束。
在不考虑链路MTU约束的情况下,仍假设类似于场景1中的描述,节点R1基于计算出R1->R2->R4这条路径的IGP开销值最小,节点R1可以将这条路径确定为目标路径。
然而,在考虑链路MTU约束的情况下,示例性地,链路MTU阈值配置为1500,ISIS组件收集到的节点R1->节点R2这条链路的链路MTU为1500,节点R1->节点R3这条链路的链路MTU为1500,节点R2->节点R4这条链路的链路MTU为1200,节点R3->节点R4这条链路的链路MTU为1600。其中,节点R2->节点R4这条链路的链路MTU小于链路MTU阈值,如果业务为IPV6业务或者其他无法分片传输的业务,那么节点R2->节点R4这条链路可能会使得业务报文被直接丢弃,造成业务的中断。因此,节点R1可以在算路时首先可以基于链路MTU阈值将R1->R2->R4这条路径排除,重新计算出的目标路径为R1->R3->R4。重新计算出的这条路径上所有链路的链路MTU大于或者等于链路MTU阈值,可以认为是稳定可靠的链路,有利于避免业务在链路MTU较低的链路上传输受损,提高路径的可靠性。
应理解,R1在算路时可以根据业务需求结合链路故障阈值、链路丢包率阈值、链路误码率阈值、链路抖动率阈值或者链路MTU阈值中的至少一种来确定目标路径,例如,R1可以考虑上述场景1中的链路故障阈值来确定目标路径。例如,R1也可以综合考虑上述场景1中的链路故障阈值和场景2中的链路误码率阈值来确定目标路径。例如,R1也可以综合考虑上述场景1中的链路故障阈值、场景2中的链路误码率阈值以及场景5中的链路MTU阈值来确定目标路径。还可以有其他的链路约束条件的组合,本申请实施例对此不作限定。
S1205,若目标路径中存在不满足链路约束条件的链路,R1重新进行算路。
作为一个可选的实施例,第一节点接收来自第一节点的邻居节点的第三报文,第三报文携带多个节点中相邻节点之间更新后的链路状态。若至少一条目标路径中更新后的链路状态不满足链路约束条件,第一节点重新基于目标灵活算法和更新后的链路状态,确定到达第二节点的至少一条新路径。
在本申请实施例中,示例性地,第一节点为上述R1,第二节点为上述R4。由于网络中的链路状态是动态变化的,R1的ISIS组件在之后收集链路状态的周期内,可能收集到的目标路径上某条链路的链路状态无法满足链路约束条件,因此R1需要重新算路。
以上述场景1为例,R1可以将下一个收集周期内收集到的目标路径中所有链路的链路故障次数与链路故障阈值进行比较,如果R1判断目标路径中存在链路故障次数大于链路故障阈值的链路,则R1可以重新算路以确定出至少一条满足业务需求的新路径。
作为一个可选的实施例,上述第一节点和第二节点处于同一个路由协议的不同进程,该路由协议包括ISIS和OSPF。
以路由协议为ISIS协议为例,上文中所描述的第一节点和第二节点之间的FAD信息可以在同一个ISIS进程之间传输,也可以在不同的ISIS进程之间传输。
应理解,本申请实施例也可以将ISIS进程称为ISIS区域,即FAD信息可以在相同或不同的ISIS区域间传输,这样在为属于不同区域的节点提供跨域的路径以实现业务的跨域传输时,也可以确保该跨域路径满足业务对链路状态的需求。
图13是本申请实施例提供的一种的FAD信息在不同的ISIS区域间传输的示意图。示例性地,本申请实施例以ISIS在自治系统内采用骨干区域(或称为Level-2区域)和非骨干区域(或称为Level-1区域)两级的分层结构为例对FAD信息的跨域传输进行描述。通常,可以将Level-1路由器部署在非骨干区域,将Level-2路由器部署在骨干区域,Level-1-2路由器可以同时属于Level-1区域和Level-2区域,Level-1路由器需要通过Level-1-2路由器连接至Level-2区域内的路由器。
应理解,ISIS或OSPF还可以有其他的区域结构,本申请实施例对此不作限定。
如图13所示,R1为Level-1路由器,R2为Level-1-2路由器,R3为Level-2路由器,ISIS Level-1区域的R1可以将灵活算法的FAD信息通过R2传输至ISIS Level-2区域的R3,这样ISIS报文中携带链路约束条件的第一子TLV可以随着FAD信息在不同的区域间进行传输。
应理解,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
上文中结合图1至图13,详细描述了根据本申请实施例的确定路径的方法,下面将结合图14至图17详细描述根据本申请实施例的确定路径的装置。
图14示出了本申请实施例提供的一种确定路径的装置1400的示意性框图,装置1400包括:获取模块1410和处理模块1420。
在一个可选的例子中,本领域技术人员可以理解,装置1400可以具体为上述实施例中的第一节点,或者,上述实施例中第一节点的功能可以集成在装置1400中。
上述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。装置1400可以用于执行上述方法实施例中与第一节点对应的各个流程和/或步骤。
示例性地,若需要确定网络200中的一条从节点0至节点9的路径,则第一节点可以为网络200中的节点0。
示例性地,若需要确定网络1100中的一条从节点R1至节点R4的路径,则第一节点可以为网络1100中的节点0。
示例性地,若需要确定图13中的一条从节点R1至节点R3的路径,则第一节点可以为图13中的节点R1。
示例性地,处理模块1420可执行上述方法300的步骤和/或流程,或者上述方法400中的S401。获取模块1410可执行上述方法400中的S401中接收第一报文的动作。
其中,获取模块1410用于:获取链路约束条件,该链路约束条件用于表示基于目标灵活算法传输报文时所需满足的链路约束条件,该链路约束条件包括以下一项或多项:链路故障约束、链路丢包率约束、链路误码率约束、链路抖动率约束或者链路最大传输单元MTU约束。处理模块1420用于:确定链路约束条件;以及,基于目标灵活算法确定到达多个节点中的第二节点的至少一条目标路径,该目标路径满足链路约束条件。
可选地,链路约束条件包括预设阈值,该预设阈值包括以下一项或多项:链路故障阈值、链路丢包率阈值、链路误码率阈值、链路抖动率阈值或者链路MTU阈值。处理模块1420用于:从到达第二节点的多条路径中排除包含不满足预设阈值条件的链路的路径,以确定多条候选路径,该多条候选路径满足预设阈值条件,该预设阈值条件包括以下一项或多项:链路故障次数小于或者等于链路故障阈值;链路丢包率小于或者等于链路丢包率阈值;链路误码率小于或者等于链路误码率阈值;链路抖动率小于或者等于链路抖动率阈值;或者,链路MTU大于或者等于链路MTU阈值。
可选地,处理模块1420用于:基于目标灵活算法的度量类型,从多条候选路径中确定至少一条目标路径。
可选地,获取模块1410用于:接收来自网络中的其他节点的第一报文,该第一报文包括链路约束条件。
可选地,第一报文还包括目标灵活算法的FAD,FAD包括以下一项或多项:灵活算法的标识、计算类型的标识或度量类型的标识。
可选地,第一报文的FAD TLV的第一子TLV字段包括链路约束条件。
可选地,计算类型的标识包括SPF算法的标识或严格SPF算法的标识。
可选地,度量类型的标识包括以下一项或多项:链路时延规则的标识、IGP开销规则的标识、TE规则的标识或链路带宽规则的标识。
可选地,第一报文为ISIS报文或OSPF报文。
可选地,获取模块1410用于:接收来自邻居节点的第二报文,该第二报文中携带多个节点中相邻节点之间的链路状态,该链路状态包括链路故障次数、链路丢包率、链路误 码率、链路抖动率或者链路MTU。处理模块1420用于:基于目标灵活算法和多个节点中相邻节点之间的链路状态,确定到达第二节点的至少一条目标路径。
可选地,第二报文的第二子TLV字段包括该链路状态。
可选地,第二报文为ISIS报文或OSPF报文。
可选地,获取模块1410用于:接收来自邻居节点的第三报文,该第三报文携带多个节点中相邻节点之间更新后的链路状态。处理模块1420用于:若基于更新后的链路状态确定该至少一条目标路径不满足链路约束条件,重新基于目标灵活算法和更新后的链路状态,确定到达第二节点的至少一条新路径,该至少一条新路径满足链路约束条件。
可选地,该装置和第二节点处于同一个路由协议的不同进程,该路由协议包括ISIS或OSPF。
图15示出了本申请实施例提供的另一种确定路径的装置1500的示意性框图,该装置1500包括:处理模块1510和收发模块1520。
在一个可选的例子中,本领域技术人员可以理解,装置1500可以具体为上述实施例中的第三节点,或者,上述实施例中第三节点的功能可以集成在装置1500中。
上述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。装置1500可以用于执行上述方法实施例中与第三节点对应的各个流程和/或步骤。
示例性地,若需要确定网络200中的一条从节点0至节点9的路径,则第一节点可以为网络200中的节点0,第三节点可以为网络100中除去节点0的其他节点中的一个。
示例性地,若需要确定网络1100中的一条从节点R1至节点R4的路径,则第一节点可以为网络1100中的节点0,第三节点可以为网络1100中除去节点0的其他节点中的一个。
示例性地,若需要确定图13中的一条从节点R1至节点R3的路径,则第一节点可以为图13中的节点R1,第三节点可以为图13中除去节点R1的其他节点中的一个。
示例性地,收发模块1520可执行上述方法400中的S401中发送第一报文的动作。
其中,处理模块1510用于:确定链路约束条件,所述链路约束条件用于表示基于目标灵活算法传输报文时所需满足的链路约束条件,所述链路约束条件包括链路故障约束、链路丢包率约束、链路误码率约束、链路抖动率约束或者链路MTU约束。收发模块1520用于:向所述网络中的其他节点发送链路约束条件。
示例性地,收发模块1520可以执行上述方法400中的S401。
示例性地,收发模块1520可以为通信接口,例如收发接口。
可选地,收发模块1520用于:向所述网络中的其他节点发送第一报文,该第一报文包括链路约束条件。
可选地,第一报文还包括目标灵活算法的FAD,FAD包括以下一项或多项:灵活算法的标识、计算类型的标识或度量类型的标识。
可选地,第一报文的FAD TLV的第一子TLV字段包括链路约束条件。
可选地,第一报文为ISIS报文或OSPF报文。
应理解,这里的装置1400和/或装置1500以功能模块的形式体现。这里的术语“模块”可以指应用特有集成电路(application specific integrated circuit,ASIC)、电子电路、用于执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器 等)和存储器、合并逻辑电路和/或其它支持所描述的功能的合适组件。
在本申请的实施例,装置1400和/或装置1500也可以是芯片或者芯片系统,例如:片上系统(system on chip,SoC)。对应的,发送模块1120可以是该芯片的收发电路,在此不做限定。
上述装置1400和/或装置1500可以通过硬件实现,也可以通过硬件执行相应的软件实现,下面结合图16和图17介绍本申请实施例的硬件结构。
图16示出了本申请实施例提供的再一种确定路径的装置1600的示意性框图。该装置1600包括处理器1610、收发器1620和存储器1630。其中,处理器1610、收发器1620和存储器1630通过内部连接通路互相通信,该存储器1630用于存储指令,该处理器1610用于执行该存储器1630存储的指令,以控制该收发器1620发送信号和/或接收信号。
应理解,装置1600可以具体为上述实施例中的第一节点或第三节点,或者,上述实施例中第一节点或第三节点的功能可以集成在装置1600中,装置1600可以用于执行上述方法实施例中与第一节点或第三节点对应的各个步骤和/或流程。
可选地,该存储器1630可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器的一部分还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。该处理器1610可以用于执行存储器中存储的指令,并且该处理器执行该指令时,该处理器可以执行上述方法实施例中与第一节点或第三节点对应的各个步骤和/或流程。
应理解,在本申请实施例中,处理器1610可以是中央处理单元(central processing unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
图17示出了本申请实施例提供的又一种确定路径的装置1700的示意性框图。应理解,装置1700和装置1600是两种并行的装置示意图,同装置1600类似,装置1600可以具体为上述实施例中的第一节点或第三节点,或者,上述实施例中第一节点或第三节点的功能可以集成在装置1700中,可以采用装置1700或装置1600中的任意一个以执行上述方法实施例中与第一节点或第三节点对应的各个步骤和/或流程,本申请实施例对此不做限制。
装置1700包括主控板和接口板,主控板包括处理器1710和存储器1720,接口板包括处理器1730、存储器1740和接口卡1750。
在装置1700中,主控板处理器1710可调用主控板存储器1720中存储的实现装置1400和/或装置1500的程序指令并执行报文的生成等操作。接口板处理器1730可调用接口板存储器1740中存储的实现装置1400和/或装置1500的程序指令并通过接口卡1750执行报文的发送等操作,并且处理器执行该指令时,处理器可以执行上述方法实施例中与第一节点或第三节点对应的各个步骤和/或流程。
可选地,存储器1720和/或存储器1740可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器的一部分还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。
图18是本申请实施例提供的一种确定路径的系统1800的示意性框图。如图18所示,系统1800包括第一节点1810和第三节点1820。
其中,第三节点1820用于:向第一节点1810发送第一报文,该第一报文的第一子 TLV字段包括链路约束条件,该链路约束条件用于表示基于目标灵活算法传输报文时所需要满足的链路约束条件。
第一节点1810用于:接收来自第三节点1820的第一报文,并基于该第一报文确定链路约束条件;以及,基于该链路约束条件,确定到达第二节点的至少一条目标路径。
应理解,第一节点1810和第三节点1820还可以执行上述实施例中描述的与第一节点和第三节点相关的步骤和/或流程,此处不再赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (24)

  1. 一种确定路径的方法,其特征在于,应用于包括多个节点的网络,包括:
    所述多个节点中的第一节点确定链路约束条件,所述链路约束条件用于表示基于目标灵活算法传输报文时所需满足的链路约束条件,所述链路约束条件包括以下一项或多项:链路故障约束、链路丢包率约束、链路误码率约束、链路抖动率约束或者链路最大传输单元MTU约束;
    所述第一节点基于所述目标灵活算法,确定到达所述多个节点中的第二节点的至少一条目标路径,所述目标路径满足所述链路约束条件。
  2. 根据权利要求1所述的方法,其特征在于,所述链路约束条件包括预设阈值,所述预设阈值包括以下一项或多项:链路故障阈值、链路丢包率阈值、链路误码率阈值、链路抖动率阈值或者链路MTU阈值;
    所述第一节点基于所述目标灵活算法,确定到达所述多个节点中的第二节点的至少一条目标路径,包括:
    所述第一节点从到达所述第二节点的多条路径中排除包含不满足预设阈值条件的链路的路径,以确定多条候选路径,所述多条候选路径满足所述预设阈值条件,所述预设阈值条件包括以下一项或多项:
    链路故障次数小于或者等于所述链路故障阈值;
    链路丢包率小于或者等于所述链路丢包率阈值;
    链路误码率小于或者等于所述链路误码率阈值;
    链路抖动率小于或者等于所述链路抖动率阈值;或者,
    链路MTU大于或者等于所述链路MTU阈值。
  3. 根据权利要求2所述的方法,其特征在于,所述第一节点基于所述目标灵活算法,确定到达所述多个节点中的第二节点的至少一条目标路径,还包括:
    所述第一节点基于所述目标灵活算法的度量类型,从所述多条候选路径中确定所述至少一条目标路径。
  4. 根据权利要求1-3任一项所述的方法,其特征在于,所述多个节点中的第一节点确定链路约束条件,包括:
    所述第一节点接收来自所述网络中的其他节点的第一报文,所述第一报文包括所述链路约束条件。
  5. 根据权利要求4所述的方法,其特征在于,所述第一报文还包括所述目标灵活算法的灵活算法定义FAD,所述FAD包括以下一项或多项:
    灵活算法的标识、计算类型的标识或度量类型的标识。
  6. 根据权利要求5所述的方法,其特征在于,所述第一报文的FAD类型长度值TLV的第一子TLV字段包括所述链路约束条件。
  7. 根据权利要求5或6所述的方法,其特征在于,所述计算类型的标识包括最短路径优先SPF算法的标识或严格SPF算法的标识。
  8. 根据权利要求5或6所述的方法,其特征在于,所述度量类型的标识包括以下一项或多项:
    链路时延规则的标识、内部网关协议IGP开销规则的标识、流量工程TE规则的标识 或链路带宽规则的标识。
  9. 根据权利要求4-8中任一项所述的方法,其特征在于,所述第一报文为中间系统到中间系统ISIS报文或开放最短路径优先OSPF报文。
  10. 根据权利要求1-9中任一项所述的方法,其特征在于,在所述第一节点基于所述目标灵活算法,确定到达所述多个节点中的第二节点的至少一条目标路径之前,所述方法还包括:
    所述第一节点接收来自所述第一节点的邻居节点的第二报文,所述第二报文中携带所述多个节点中相邻节点之间的链路状态,所述链路状态包括链路故障次数、链路丢包率、链路误码率、链路抖动率或者链路MTU;
    所述第一节点基于所述目标灵活算法,确定到达所述多个节点中的第二节点的至少一条目标路径,包括:
    所述第一节点基于所述目标灵活算法和所述多个节点中相邻节点之间的链路状态,确定到达所述第二节点的至少一条目标路径。
  11. 根据权利要求10所述的方法,其特征在于,所述第二报文的第二子TLV字段包括所述链路状态。
  12. 根据权利要求10或11所述的方法,其特征在于,所述第二报文为ISIS报文或OSPF报文。
  13. 根据权利要求10所述的方法,其特征在于,所述方法还包括:
    所述第一节点接收来自所述第一节点的邻居节点的第三报文,所述第三报文携带所述多个节点中相邻节点之间更新后的所述链路状态;
    若基于所述更新后的所述链路状态确定所述至少一条目标路径不满足所述链路约束条件,所述第一节点重新基于所述目标灵活算法,确定到达所述第二节点的至少一条新路径,所述至少一条新路径满足所述链路约束条件。
  14. 根据权利要求1-13中任一项所述的方法,其特征在于,所述第一节点和所述第二节点处于同一个路由协议的不同进程,所述路由协议包括ISIS或OSPF。
  15. 一种确定路径的方法,其特征在于,应用于包括多个节点的网络,包括:
    所述多个节点中的第三节点确定链路约束条件,所述链路约束条件用于表示基于目标灵活算法传输报文时所需满足的链路约束条件,所述链路约束条件包括链路故障约束、链路丢包率约束、链路误码率约束、链路抖动率约束或者链路最大传输单元MTU约束;
    所述第三节点向所述网络中的其他节点发送所述链路约束条件。
  16. 根据权利要求15所述的方法,其特征在于,所述第三节点向所述网络中的其他节点发送所述链路约束条件,包括:
    所述第三节点向所述网络中的其他节点发送第一报文,所述第一报文包括所述链路约束条件。
  17. 根据权利要求16所述的方法,其特征在于,所述第一报文还包括所述目标灵活算法的灵活算法定义FAD,所述FAD包括以下一项或多项:
    灵活算法的标识、计算类型的标识或度量类型的标识。
  18. 根据权利要求17所述的方法,其特征在于,所述第一报文的FAD类型长度值TLV的第一子TLV字段包括所述链路约束条件。
  19. 根据权利要求16-18中任一项所述的方法,其特征在于,所述第一报文为中间系 统到中间系统ISIS报文或开放最短路径优先OSPF报文。
  20. 一种确定路径的装置,其特征在于,包括用于执行如权利要求1-14中任一项所述方法的模块,或者,用于执行如权利要求15-19中任一项所述方法的模块。
  21. 一种确定路径的装置,其特征在于,包括:处理器,所述处理器与存储器耦合,所述存储器用于存储计算机程序,当所述处理器调用所述计算机程序时,使得所述装置执行如权利要求1-14中任一项所述的方法,或使得所述装置执行如权利要求15-19中任一项所述的方法。
  22. 一种确定路径的系统,其特征在于,包括第一节点和第三节点,所述第一节点用于执行如权利要求1-14中任一项所述的方法,所述第三节点用于执行如权利要求15-19中任一项所述的方法。
  23. 一种计算机可读存储介质,其特征在于,用于存储计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行如权利要求1-14中任一项所述的方法,或使得所述计算机执行如权利要求15-19中任一项所述的方法。
  24. 一种计算机程序产品,其特征在于,所述计算机程序产品中包括计算机程序代码,当所述计算机程序代码在计算机上运行时,使得所述计算机实现如权利要求1-14中任一项所述的方法,或使得所述计算机执行如权利要求15-19中任一项所述的方法。
PCT/CN2022/138094 2022-02-23 2022-12-09 确定路径的方法和装置 WO2023160124A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210169079.5 2022-02-23
CN202210169079.5A CN116684347A (zh) 2022-02-23 2022-02-23 确定路径的方法和装置

Publications (1)

Publication Number Publication Date
WO2023160124A1 true WO2023160124A1 (zh) 2023-08-31

Family

ID=87764613

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/138094 WO2023160124A1 (zh) 2022-02-23 2022-12-09 确定路径的方法和装置

Country Status (2)

Country Link
CN (1) CN116684347A (zh)
WO (1) WO2023160124A1 (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017192096A (ja) * 2016-04-15 2017-10-19 日本電信電話株式会社 ネットワーク制御装置
CN109831382A (zh) * 2019-02-13 2019-05-31 华为技术有限公司 一种路径计算方法、装置及设备
CN113542120A (zh) * 2021-06-29 2021-10-22 新华三大数据技术有限公司 一种路径选择方法及装置、计算机可读存储介质
CN113691445A (zh) * 2020-05-18 2021-11-23 华为技术有限公司 报文转发备份路径确定方法及相关设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017192096A (ja) * 2016-04-15 2017-10-19 日本電信電話株式会社 ネットワーク制御装置
CN109831382A (zh) * 2019-02-13 2019-05-31 华为技术有限公司 一种路径计算方法、装置及设备
CN112054960A (zh) * 2019-02-13 2020-12-08 华为技术有限公司 一种路径计算方法、装置及设备
CN113691445A (zh) * 2020-05-18 2021-11-23 华为技术有限公司 报文转发备份路径确定方法及相关设备
CN113542120A (zh) * 2021-06-29 2021-10-22 新华三大数据技术有限公司 一种路径选择方法及装置、计算机可读存储介质

Also Published As

Publication number Publication date
CN116684347A (zh) 2023-09-01

Similar Documents

Publication Publication Date Title
EP1741247B1 (en) Router configured for outputting update messages specifying a detected attribute change of a connected active path according to a prescribed routing protocol
US9325626B2 (en) Method and apparatus to reduce cumulative effect of dynamic metric advertisement in smart grid/sensor networks
US8942106B2 (en) Method and apparatus for route optimization enforcement and verification
US9800493B2 (en) Routing messages in a computer network using deterministic and probalistic source routes
US9712433B2 (en) Maintaining and communicating nodal neighboring information
US11522786B2 (en) Packet forwarding path determining method, device, and system
US9088499B2 (en) Routing generation for implementation of fiber channel over ethernet
WO2009043256A1 (fr) Procédé, système et dispositif d'obtention de trajets à commutation par étiquette
US10153964B2 (en) Network routing using dynamic virtual paths in an overlay network
US20100125674A1 (en) Selective a priori reactive routing
US11489836B2 (en) Method, apparatus, and system for collecting access control list
WO2022194023A1 (zh) 报文处理的方法、网络设备及控制器
WO2022121707A1 (zh) 报文传输方法、设备及系统
WO2023160124A1 (zh) 确定路径的方法和装置
WO2022267083A1 (zh) 确定路径的方法和装置
WO2022213830A1 (zh) 确定路径的方法和装置
CN115208829A (zh) 报文处理的方法及网络设备
WO2024082617A1 (zh) 转发表索引的通告方法、节点及存储介质
US20230379246A1 (en) Method and Apparatus for Performing Protection Switching in Segment Routing SR Network
US20230179515A1 (en) Routing protocol broadcast link extensions
CN106470160B (zh) 一种信息传输的方法及网络节点
US20140269737A1 (en) System, method and apparatus for lsp setup using inter-domain abr indication
US10097468B2 (en) Method and a system for finding smallest hop-specific data transfer speed

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22928381

Country of ref document: EP

Kind code of ref document: A1