A path selection method, apparatus, device, storage medium and program product

By adding priority information to the policy information in the SDN controller, the problem of uneven network resource utilization caused by overlapping SDN controller computation paths is solved, and more efficient network resource utilization is achieved.

CN118827532BActive Publication Date: 2025-11-18LIAONING MOBILE COMM +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202410163357.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-02-05
Publication Date
2025-11-18
Estimated Expiration
2044-02-05

AI Technical Summary

Technical Problem

In software-defined networking, the SRv6 policy paths calculated by the SDN controller may overlap, leading to uneven utilization of network resources and low utilization of non-overlapping paths.

Method used

By adding priority information to each policy message, the SDN controller determines that the forwarding path of the policy message with lower priority is not shared with the path of the high priority, thus ensuring the quality of communication services for high priority services and optimizing path selection to improve network resource utilization.

Benefits of technology

This approach achieves improved network resource utilization balance while ensuring service transmission quality, thus avoiding resource waste.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118827532B_ABST
    Figure CN118827532B_ABST
Patent Text Reader

Abstract

The application discloses a path selection method, device, equipment, storage medium and program product. The method is applied to a software defined network controller. The method comprises the following steps: acquiring first policy information, wherein the first policy information comprises information of a priority; judging the size relationship between the priority of the first policy information and the priority of second policy information, wherein the first policy information and the second policy information are policy information corresponding to the same head node address and the same destination node address; and in the case that the priority of the first policy information is smaller than the priority of the second policy information, sending a first target path to a head node according to the head node address in the first policy information, wherein the target path is a path in a first path corresponding to the first policy information and not coexisting with a second path corresponding to the second policy information. In this way, the balance of network resource utilization rate is ensured.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the field of transmission and bearer technology, and in particular relates to a method, apparatus, device, storage medium and program product for path selection. Background Technology

[0002] Segment Routing over Internet Protocol Version 6 (SRv6 Policy) is a flexibly definable routing policy. By defining appropriate SRv6 policies, latency and congestion in communication network data transmission can be reduced, thereby improving the performance and reliability of the communication network.

[0003] The SRv6 Policy includes three key values: Headend address, Color, and Endpoint address. Users can define these values ​​on the Software Defined Network (SDN) controller, along with the SRv6 Policy's Quality of Service (QoS) parameters, such as bandwidth and latency. Based on the Headend and Endpoint addresses, the SDN controller calculates available paths that satisfy the QoS parameters and sends this information to the Headend as a Segment Identifier (SID). The Headend then forwards the service packets corresponding to the SRv6 Policy along the available paths specified in the policy.

[0004] The available paths calculated by the SDN controller based on each SRv6 Policy may overlap. As a result, when the head node forwards packets according to the calculated path, the utilization of overlapping paths increases, while the utilization of non-overlapping paths decreases, leading to an imbalance in network resource utilization. Summary of the Invention

[0005] This application provides a method, apparatus, device, storage medium, and program product for path selection, which can improve the balance of network resource utilization.

[0006] In a first aspect, embodiments of this application provide a path selection method, the method being applied to a software-defined network controller, the method comprising:

[0007] Obtain first strategy information, which includes priority information;

[0008] Determine the relationship between the priorities of the first policy information and the second policy information, where the first policy information and the second policy information are policy information corresponding to the same head node address and the same destination node address;

[0009] If the priority of the first policy information is lower than the priority of the second policy information, the first target path is sent to the head node according to the head node address in the first policy information. The target path is a path in the first path corresponding to the first policy information that does not share a path with the second path corresponding to the second policy information.

[0010] In one possible implementation, after determining the relative priorities of the first policy information and the second policy information, the method further includes:

[0011] If the priority of the first strategy information is greater than or equal to the priority of the second strategy information, the first path is sent to the head node.

[0012] In one possible implementation, before sending the target path to the head node according to the head node address in the first strategy information, the method further includes:

[0013] Determine whether the first path and the second path corresponding to the first strategy information are shared paths;

[0014] In the case where the first path and the second path share the same path, the third path is calculated based on the quality of service parameters corresponding to the first strategy information.

[0015] If the third path and the second path do not share a path, the third path is determined as the target path;

[0016] If the first path and the second path do not share a common path, the first path is determined to be the target path.

[0017] In one possible implementation, after sending the target path to the head node according to the head node address in the first strategy information, the method further includes:

[0018] If the target path is interrupted, a fourth path is calculated based on the quality of service parameters corresponding to the first strategy information.

[0019] Determine the relationship between the priority in the first policy information and the priority in the third policy information, where the first policy information and the third policy information are policy information corresponding to the same head node address and the same destination node address;

[0020] If the priority of the first strategy information is greater than or equal to the priority of the third strategy information, the fourth path is sent to the head node.

[0021] In one possible implementation, after determining the relative importance of the priorities in the first policy information and the third policy information, the method further includes:

[0022] If the priority of the first policy information is lower than the priority of the third policy information, a second target path is sent to the head node. The second target path is a path that does not share a path with the third path corresponding to the third policy information.

[0023] In one possible implementation, after sending the fourth path to the head node, the method further includes:

[0024] If the forwarding path corresponding to the fourth path and the third policy information has a common path, the updated path is resent to the head node according to the head node address in the third policy information. The updated path is a path that does not have a common path with the fourth path.

[0025] In one possible implementation, after sending the first target path to the head node according to the head node address in the first strategy information, the method further includes:

[0026] In the case that all forwarding paths corresponding to policy information in the software-defined network controller are interrupted, the forwarding paths corresponding to the policy information are calculated in descending order of policy information priority, and the calculated forwarding paths are sent to the head node corresponding to the policy information.

[0027] In one possible implementation, calculating the forwarding path corresponding to each policy information in descending order of priority includes:

[0028] Calculate the available forwarding paths corresponding to each policy information;

[0029] For each policy information, determine the relationship between the priority of the policy information and the priority of the fourth policy information. The policy information and the fourth policy information are policy information corresponding to the same head node address and the same destination node address.

[0030] If the priority in the policy information is greater than or equal to the priority in the fourth policy information, the available forwarding path is used as the forwarding path corresponding to the policy information, and the forwarding path is sent to the head node according to the head node address in the policy information.

[0031] If the priority in the policy information is lower than the priority in the fourth policy information, determine whether the available forwarding path and the fifth path corresponding to the fourth policy information are shared.

[0032] In the case where the available forwarding path and the fifth path share the same path, the sixth path is calculated based on the quality of service parameters corresponding to the policy information;

[0033] If the fifth path and the sixth path do not share a common path, the sixth path is sent to the head node according to the head node address in the strategy information.

[0034] Secondly, embodiments of this application provide a path selection apparatus, which is applied to a software-defined network controller, and the apparatus includes:

[0035] The acquisition module is used to acquire first policy information, which includes priority information.

[0036] The judgment module is used to determine the relationship between the priority of the first policy information and the priority of the second policy information, wherein the first policy information and the second policy information are policy information corresponding to the same head node address and the same destination node address.

[0037] The sending module is configured to send a first target path to the head node according to the head node address in the first strategy information when the priority of the first strategy information is lower than the priority of the second strategy information. The target path is a path in the first path corresponding to the first strategy information that does not share a path with the second path corresponding to the second strategy information.

[0038] Thirdly, embodiments of this application provide an electronic device, the device comprising: a processor and a memory storing computer program instructions;

[0039] When the processor executes the computer program instructions, it implements the method as described in the first aspect.

[0040] Fourthly, embodiments of this application provide a computer-readable storage medium storing computer program instructions that, when executed by a processor, implement the method described in the first aspect.

[0041] Fifthly, embodiments of this application provide a computer program product in which instructions, when executed by a processor of an electronic device, cause the electronic device to perform the method described in the first aspect.

[0042] This application discloses a path selection method, apparatus, device, and storage medium. An SDN controller acquires first policy information, which includes priority information. A second policy is determined that has the same head node address and destination node address as the first policy information. The priorities of the first and second policy information are then compared. The priority represents the importance of the service corresponding to the policy information; a higher priority indicates a more important service, requiring priority in determining forwarding paths for higher-priority services. Therefore, the priority of the first and second policy information is determined. If the priority of the first policy information is lower than that of the second policy information, a first target path that does not share a path with the second policy is sent to the head node. This determines the forwarding path corresponding to the lower-priority first policy information, which does not share a path with the higher-priority second policy information. This ensures the quality of service for the service packets corresponding to the higher-priority policy information while balancing forwarding paths and improving network resource utilization. Attached Figure Description

[0043] To more clearly illustrate the technical solutions of the embodiments of this application, the accompanying drawings used in the embodiments of this application will be briefly introduced below. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0044] Figure 1 This is an exemplary schematic diagram of a communication network architecture provided in an embodiment of this application;

[0045] Figure 2 This is a flowchart illustrating a path selection method provided in an embodiment of this application;

[0046] Figure 3 This is a flowchart illustrating another path selection method provided in an embodiment of this application;

[0047] Figure 4 This is an exemplary schematic diagram illustrating the construction of a forwarding path provided in an embodiment of this application;

[0048] Figure 5 This is a flowchart illustrating a path self-optimization method provided in an embodiment of this application;

[0049] Figure 6 This is an exemplary schematic diagram of a path self-optimization method provided in an embodiment of this application;

[0050] Figure 7 This is a flowchart illustrating a method for calculating a forwarding path provided in an embodiment of this application;

[0051] Figure 8 This is a flowchart illustrating a method for reconstructing a path provided in an embodiment of this application;

[0052] Figure 9 This is an exemplary schematic diagram of another communication network architecture provided in the embodiments of this application;

[0053] Figure 10 This is a schematic diagram of the structure of a path selection device provided in an embodiment of this application;

[0054] Figure 11 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation

[0055] The features and exemplary embodiments of various aspects of this application will be described in detail below. To make the objectives, technical solutions, and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings and specific embodiments. It should be understood that the specific embodiments described herein are only intended to explain this application and not to limit it. For those skilled in the art, this application can be implemented without some of these specific details. The following description of the embodiments is merely to provide a better understanding of this application by illustrating examples.

[0056] It should be noted that, in this document, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising..." does not exclude the presence of additional identical elements in the process, method, article, or apparatus that includes said element.

[0057] In the field of communications, an SDN controller can calculate a forwarding path based on a pre-configured SRv6 policy and send this forwarding path to the head node, enabling the head node to forward the service packets corresponding to the SRv6 policy according to the received forwarding path. The head node refers to the first node in the forwarding path, and users can configure any node in the communication network as the head node on the SDN controller.

[0058] The following combination Figure 1 This describes the process by which the SDN controller sends the forwarding path to the head node, such as... Figure 1As shown, Figure 1 An SDN controller and a communication network connected to the SDN controller are illustrated as an example. Figure 1 The communication network in the middle includes a head node, a destination node, intermediate node 1, intermediate node 2, intermediate node 3, and intermediate node 4.

[0059] The SDN controller collects network quality information about the communication network, such as topology, bandwidth, latency, and packet loss. When a user configures an SRv6 policy and corresponding quality of service (QoS) parameters in the SDN controller, the controller calculates forwarding paths that meet these parameters. For example, a QoS parameter could be that the maximum latency of the forwarding path is less than 10 milliseconds.

[0060] The forwarding path is head node - intermediate node 1 - intermediate node 2 - destination node, and the corresponding Color for this forwarding path is Color1. Then, the SDN controller sends this forwarding path to the head node according to the head node address in the SRv6 Policy.

[0061] The forwarding paths calculated by the SDN controller based on different SRv6 policies may have common paths, and will still be based on... Figure 1 For example, the SDN controller is also configured with two other SRv6 policies. The SDN controller calculates two other forwarding paths, which correspond to Color2 and Color3 respectively. The forwarding paths corresponding to Color2 and Color3 are also head node - intermediate node 1 - intermediate node 2 - destination node.

[0062] Thus, in this communication network, the forwarding path head node - intermediate node 1 - intermediate node 2 - destination node simultaneously handles the forwarding of service packets for three services, resulting in increased utilization of the forwarding path, while other links in the communication network are idle, and the utilization of idle links decreases, causing an imbalance in network resource utilization.

[0063] To ensure balanced utilization of network resources, link affinity attributes can typically be manually assigned to links in the communication network. The SDN controller calculates forwarding paths among links with the corresponding link affinity attributes based on the quality of service parameters corresponding to the SRv6 Policy.

[0064] For example, low-latency link attributes and non-low-latency link attributes can be set for links. The quality of service parameter corresponding to SRv6Policy is the latency parameter. Then, the SDN controller can calculate the forwarding path in the link with the low-latency link attribute.

[0065] However, since the link affinity attribute of links in a communication network is set manually, the link affinity attribute cannot be dynamically adjusted when the links in the communication network change, thus failing to guarantee the balance of network resource utilization.

[0066] To address the aforementioned problems, embodiments of this application provide a method, apparatus, device, and computer storage medium for path selection. The path selection method provided in this application embodiment will be described first below.

[0067] Figure 2 A flowchart illustrating a path selection method provided in one embodiment of this application is shown.

[0068] like Figure 2 As shown, this method is applied to an SDN controller, and the method includes:

[0069] S201, Obtain the first strategy information.

[0070] The first policy information includes priority information. This first policy information is the SRv6 policy, which also includes the header node address, destination node address, color name, and color identifier (ID). The destination node is the last node in the forwarding path of the first policy information.

[0071] Priority indicates the importance of the service corresponding to the policy information. The SDN controller prioritizes fulfilling the forwarding requests of services corresponding to higher-priority policy information.

[0072] In one example, priority information can be represented by positive integers. The priority of each SRv6 Policy is defined by using positive integers as priority numbers. For example, the priority number range can be 1-99, and the smaller the priority number, the higher the priority of the corresponding SRv6 Policy. This embodiment is only an example; in actual implementation, the way priorities are defined is not limited to this.

[0073] Users can configure the head node address, destination node address, color name, color ID, and priority information on the SDN controller. The SDN controller generates the first policy information based on the user's configuration information.

[0074] S202. Determine the relationship between the priority of the first strategy information and the priority of the second strategy information.

[0075] Among them, the first policy information and the second policy information are policy information corresponding to the same head node address and the same destination node address.

[0076] The SDN controller records each SRv6 Policy and its corresponding forwarding path. The SDN controller can determine policy information that includes the same head node address and destination node address as the first policy information by querying the locally recorded policy information.

[0077] S203. If the priority of the first strategy information is lower than the priority of the second strategy information, the first target path is sent to the head node according to the head node address in the first strategy information.

[0078] The first target path is a path in the first path corresponding to the first strategy information that does not share a path with the second path corresponding to the second strategy information.

[0079] It should be noted that forwarding paths corresponding to policy information with the same priority can coexist, while forwarding paths corresponding to policy information with different priorities cannot coexist. When the priority of the first policy information is lower than that of the second policy information, it indicates that the service corresponding to the first policy information has a lower priority than the service corresponding to the second policy information. Therefore, the forwarding path of the first policy information should not occupy the forwarding path of the second policy information, and the SDN controller sends the first target path to the head node. This ensures the quality of service for the service corresponding to the high-priority second policy information while also improving the balance of network resource utilization. The SDN controller then sends the first target path, which is not shared with the second path, to the head node.

[0080] Furthermore, if the priority of the first policy information is greater than or equal to the priority of the second policy information, the first path is sent to the head node.

[0081] If the priority of the first policy information is greater than the priority of the second policy information, it indicates that the service corresponding to the first policy information has a higher priority than the service corresponding to the second policy information. The forwarding path of the first policy information with higher priority should be given priority, and the SDN controller can send the first path to the head node.

[0082] If the priority of the first policy information is equal to the priority of the second policy information, the first path and the second path can coexist, so the first path is sent directly to the head node.

[0083] The path selection method provided in this application involves an SDN controller acquiring first policy information, which includes priority information. A second policy information with the same head node address and destination node address as the first policy information is determined. Then, the priorities of the first and second policy information are compared. The priority represents the importance of the service corresponding to the policy information; the higher the priority, the more important the service, and the higher the priority service needs to be prioritized for forwarding. Therefore, the priority of the first and second policy information is determined. If the priority of the first policy information is lower than that of the second policy information, a first target path that does not share a path with the second path is sent to the head node. In this way, a forwarding path corresponding to the lower-priority first policy information is determined. This forwarding path does not share a path with the forwarding path corresponding to the higher-priority second policy information, ensuring the quality of service for the service packets corresponding to the higher-priority policy information while balancing the forwarding paths and improving network resource utilization.

[0084] In some embodiments of this application, the first target path is calculated using the following method, such as... Figure 3 As shown, before sending the target path to the head node according to the head node address in the first strategy information, the method further includes:

[0085] S210. Determine whether the first path and the second path corresponding to the first strategy information are common paths.

[0086] If yes, then execute S220; otherwise, execute S240.

[0087] S220. In the case that the first path and the second path share the same path, calculate the third path based on the quality of service parameters corresponding to the first strategy information.

[0088] The third path is a different path from the first path, and its quality of service (QoS) parameters are pre-configured. For example, QoS parameters can be latency parameters or bandwidth parameters, etc.

[0089] S230. If the third path and the second path do not share a common path, the third path is determined as the first target path.

[0090] It should be noted that after the third path is calculated, the third path may still share a path with the second path. In this case, the SDN controller can repeat the above steps to calculate the third path until the calculated third path and the second path no longer share a path.

[0091] S240. If the first path and the second path do not share a common path, determine the first path as the first target path.

[0092] In this embodiment, when the first path and the second path share a path, the head node is given priority in using the shared path to forward packets for the service corresponding to the higher-priority second policy information. The SDN controller recalculates the third path based on the first policy information, and if the third path and the second path do not share a path, the third path is determined as the first target path and sent to the head node. Thus, determining the forwarding path based on the priority of the policy information effectively utilizes network resources in the communication network and improves the balance of network resource utilization.

[0093] The following combination Figure 4 This application introduces a method for an SDN controller to calculate forwarding paths, as provided in its embodiments. Figure 4 As shown, the method includes:

[0094] S401. Create an SRv6 Policy and configure parameters such as head node address, destination node address, color name, color ID, and color priority.

[0095] Among them, Color priority is the information of the aforementioned priority.

[0096] S402. Create an SRv6 Policy forwarding path and configure service quality parameters.

[0097] The forwarding path is the first target path mentioned above. The SDN controller uses the quality of service parameters configured by the user as the quality of service parameters for the forwarding path corresponding to the SRv6 Policy, thereby completing the creation of the SRv6 Policy forwarding path.

[0098] S403. Calculate the forwarding path that meets the quality of service parameters.

[0099] S404, Is a path available?

[0100] If yes, execute S405; otherwise, end the process.

[0101] If no path is available, it indicates that the communication network cannot meet the forwarding quality requirements of the service corresponding to the SRv6 Policy, and therefore the communication network cannot be used to forward the service packets corresponding to the SRv6 Policy.

[0102] S405, Does a path with high color priority exist?

[0103] Specifically, the SDN controller records each SRv6 Policy and its corresponding forwarding path. The SDN controller locally determines the target SRv6 Policy that has the same head node address and destination node address as the SRv6 Policy created above. Then, it determines the priority of the Color in the created SRv6 Policy and the target SRv6 Policy, and whether a forwarding path with a higher Color priority exists.

[0104] If yes, then execute S406; otherwise, execute S409.

[0105] S406, is it a shared route?

[0106] If yes, then execute S407; otherwise, execute S409.

[0107] S407. Calculate the forwarding path that meets the quality of service parameters.

[0108] Understandably, the services corresponding to SRv6 policies with higher color priority are more important. In the case where the calculated forwarding path and the path with higher color priority share the same path, in order to improve the utilization of network resources, the SDN controller recalculates the forwarding path for SRv6 policies with lower color priority.

[0109] S408, is it a shared route?

[0110] If yes, then execute S407; otherwise, execute S409.

[0111] Understandably, the forwarding path recalculated by the SDN controller will still share a path with the path of higher color priority. Therefore, the SDN controller repeatedly calculates the path of the SRv6 Policy with lower color priority until the forwarding path of the calculated SRv6 Policy with lower color priority no longer shares a path with the path of higher color priority.

[0112] S409. Generate a forwarding path and send the forwarder after user confirmation.

[0113] Once the SDN controller determines the path for the SRv6 Policy, it can generate a path preview for user confirmation. The path preview can be in the form of a list of SIDs.

[0114] S410, the repeater creates an SRv6 Policy forwarding path and synchronizes the state with the SDN controller.

[0115] In this context, the repeater refers to the node in the aforementioned communication network. The status refers to the state of each repeater. Specifically, the repeater's status includes its load condition and existing path information.

[0116] Using the above method, the user pre-configures various information of the SRv6 Policy and its Quality of Service (QoS) parameters on the SDN controller. The SDN controller calculates the forwarding path for the SRv6 Policy based on these QoS parameters. If a path with higher color priority exists, and the calculated forwarding path of the SRv6 Policy shares a path with the path with higher color priority, then the head node prioritizes forwarding service packets of the SRv6 Policy with higher color priority along the shared path, thereby ensuring the forwarding quality of high-priority services. The SDN controller then recalculates the forwarding path using the QoS parameters of the SRv6 Policy, re-evaluating whether the newly calculated forwarding path shares a path with the path with higher color priority, until a path is calculated that does not share a path with the path with higher color priority. This effectively utilizes network resources and improves the balance of network resource utilization.

[0117] After the SDN controller sends the first target path to the head node, the head node forwards the service packets corresponding to the SRv6 Policy according to the first target path. However, due to changes in the communication network topology or the transmission quality and latency of the links (e.g., the communication network topology remains unchanged, but a new physical link is added between two nodes in the network), the transmission latency and transmission quality of the first target path may change, potentially causing the first target path to fail to meet the service quality requirements of the SRv6 Policy, thus leading to the interruption of the first target path. Based on this, after detecting the interruption of the first target path, the SDN controller needs to self-optimize the forwarding path of the SRv6 Policy corresponding to the first target path so that the head node can continue to forward the service packets corresponding to the SRv6 Policy. Figure 5 As shown, after sending the first target path to the head node according to the head node address in the first strategy information, the method further includes:

[0118] S501. If the first target path is interrupted, calculate the fourth path based on the quality of service parameters corresponding to the first policy information.

[0119] S502. Determine the relationship between the priority in the first strategy information and the priority in the third strategy information.

[0120] Among them, the first policy information and the third policy information are policy information corresponding to the same head node address and the same destination node address.

[0121] S503, if the priority of the first policy information is greater than or equal to the priority of the third policy information, send the fourth path to the head node.

[0122] Understandably, when the priority of the first policy information is higher than that of the third policy information, it means that the service corresponding to the first policy information has a higher priority than the service corresponding to the third policy information. The forwarding path of the higher-priority first policy information is given priority. Therefore, after the SDN controller calculates the fourth path, it can use this fourth path as the forwarding path corresponding to the first policy information.

[0123] If the priority of the first policy information is equal to the priority of the third policy information, it means that the two have the same priority. Therefore, the forwarding paths corresponding to the two can coexist, so the SDN controller can directly send the fourth path to the head node.

[0124] It should be noted that when the priority of the first policy information is lower than that of the third policy information, the second target path is sent to the head node. The second target path is a path that does not share a path with the third path corresponding to the third policy information.

[0125] Using the above method, when the first target path is interrupted, the SDN controller can recalculate the fourth path based on the quality of service parameters of the first policy information. It then compares the priorities in the first and third policy information. If the priority in the first policy information is greater than or equal to the priority in the third policy information, the SDN controller prioritizes the forwarding requests of the services corresponding to the higher-priority first policy information. Therefore, the SDN controller directly sends the fourth path to the head node. Furthermore, if the priority of the first policy information is lower than the priority of the third policy information, it sends the second target path, which does not share a path with the third path, to the head node. This improves the utilization of links in the communication network, thereby enhancing the balance of network resource utilization.

[0126] It should be noted that when the priority of the first policy information is higher than that of the third policy information, the fourth path and the forwarding path corresponding to the third policy information may share a common path. Therefore, when the fourth path and the forwarding path corresponding to the third policy information share a common path, since the SDN controller needs to prioritize forwarding the forwarding requests of high-priority services, it uses the common path to forward the service packets corresponding to the first policy information, and the SDN controller recalculates the forwarding path corresponding to the third policy information. Based on this, after sending the fourth path to the head node, the method further includes:

[0127] If the forwarding paths corresponding to the fourth path and the third policy information are shared, the updated path is resent to the head node according to the head node address in the third policy information. The updated path is a path that is not shared with the fourth path.

[0128] Thus, when the priority of the first policy information is greater than that of the third policy information, the SDN controller first calculates the forwarding path for the first policy information and then determines the forwarding path for the third policy information, ensuring the forwarding quality of the service corresponding to the high-priority first policy information.

[0129] The following combination Figure 6 This application introduces a method for self-optimization of forwarding paths. Embodiments of this application provide a method for self-optimization of forwarding paths, such as... Figure 6 As shown, the method includes:

[0130] The forwarding path of S601 and SRv6 Policy is self-optimized.

[0131] The SRv6 Policy mentioned above is the first policy information. Re-optimization refers to the process by which the SDN controller re-determines the forwarding path for the first policy information after the first target path is interrupted.

[0132] S602. Calculate the path that satisfies the quality of service parameters.

[0133] S603, Is a path available?

[0134] If yes, then execute S604; otherwise, end the process.

[0135] If no path is available, it indicates that the communication network cannot meet the forwarding quality requirements of the service corresponding to the SRv6 Policy, and therefore the service packets of the service corresponding to the SRv6 Policy cannot be forwarded using the communication network.

[0136] S604. Does a path with high color priority exist?

[0137] If yes, then execute S605; otherwise, execute S608.

[0138] The SDN controller records each SRv6 Policy and its corresponding forwarding path. The SDN controller can locally locate paths with higher color priority.

[0139] S605, whether it shares a route.

[0140] If yes, then execute S606; otherwise, execute S608.

[0141] S606. Calculate the path that satisfies the quality of service parameters.

[0142] S607, whether it shares a route.

[0143] If yes, then execute S606; otherwise, execute S608.

[0144] The forwarding path recalculated by the SDN controller will still share a path with the path of higher color priority. Therefore, the SDN controller will repeatedly calculate the path of the SRv6 Policy with lower color priority until the forwarding path of the calculated SRv6 Policy with lower color priority no longer shares a path with the path of higher color priority.

[0145] S608. Generate a forwarding path and send the forwarder after user confirmation.

[0146] S609, The repeater creates an SRv6 Policy forwarding path and synchronizes the status with the controller.

[0147] S610, Does a path with low color priority exist?

[0148] If yes, then execute S611; otherwise, end the process.

[0149] S611, whether it shares a route.

[0150] If yes, then execute S612; otherwise, end the process.

[0151] S612. Self-optimize the forwarding path of low-priority SRv6 Policy.

[0152] It should be noted that the forwarding path calculated by the SDN controller based on the quality of service parameters of the SRv6 Policy corresponding to the first target path may share a path with a lower color priority. However, the SDN controller prioritizes the forwarding requirements of the SRv6 Policy with higher color priority, and therefore will preempt the path with lower color priority. The SDN controller needs to recalculate the forwarding path for the low-priority SRv6 Policy.

[0153] Thus, when the SDN controller detects an interruption in the first destination path, it can recalculate the forwarding path based on the Quality of Service (QoS) parameters of the first policy information. It then determines the forwarding path to the head node based on the priority of the SRv6 Policy. If the SDN controller records a higher-priority SRv6 Policy with the same head node and destination node addresses, the forwarding path of this SRv6 Policy cannot share the same path as the higher-priority SRv6 Policy. The forwarding path needs to be recalculated until the calculated forwarding path does not share the same path as the higher-priority SRv6 Policy. If the SDN controller records a lower-priority SRv6 Policy with the same head node and destination node addresses, the forwarding path for the lower-priority SRv6 Policy is recalculated to meet the forwarding requirements of the higher-priority SRv6 Policy and improve the balance of network resource utilization.

[0154] In some embodiments of this application, when a network device in the communication network is upgraded or malfunctions, all forwarding paths with that network device as the head node will become invalid. Therefore, the SDN controller needs to rebuild the forwarding path for the SRv6 Policy in the SDN controller. Specifically, after sending the first target path to the head node according to the head node address in the first policy information, if all forwarding paths corresponding to policy information in the SDN controller are interrupted, the forwarding paths corresponding to the policy information are calculated in descending order of priority of the policy information, and the calculated forwarding paths are sent to the head node corresponding to the policy information.

[0155] It should be noted that in the event of a head node failure in the communication network, if the policy information includes the address of the failed head node, then that policy information will be discarded.

[0156] Specifically, such as Figure 7 As shown, the forwarding paths corresponding to each policy information are calculated sequentially in descending order of policy information priority, including S701-S706.

[0157] S701. Calculate the available forwarding paths corresponding to each policy information.

[0158] The SDN controller calculates the available forwarding path corresponding to each policy information based on the quality of service parameters corresponding to that policy information.

[0159] S702. For each policy information, determine the relationship between the priority of the policy information and the priority of the fourth policy information.

[0160] Among them, the first policy information and the fourth policy information are policy information corresponding to the same head node address and the same destination node address.

[0161] S703. If the priority in the policy information is greater than or equal to the priority in the fourth policy information, the available forwarding path shall be used as the forwarding path corresponding to the policy information, and the forwarding path shall be sent to the head node according to the head node address in the policy information.

[0162] In this case, if the priority of the first policy information is higher than that of the fourth policy information, it means that the SDN controller should prioritize satisfying the service forwarding requirements corresponding to the first policy information. Therefore, after calculating the available forwarding path, the SDN controller can directly send the available forwarding path as the forwarding path corresponding to the policy information to the head node.

[0163] If the priority of the first policy information is equal to the priority of the fourth policy information, it means that the two have the same priority. Therefore, the forwarding paths corresponding to the two can coexist, so the SDN controller can send the available forwarding path to the head node.

[0164] S704. If the priority in the policy information is lower than the priority in the fourth policy information, determine whether the available forwarding path and the fifth path corresponding to the fourth policy information are shared.

[0165] S705. In the case where the available forwarding path and the fifth path share the same path, calculate the sixth path based on the quality of service parameters corresponding to the policy information.

[0166] S706. If the fifth path and the sixth path do not share a common path, send the sixth path to the head node according to the head node address in the policy information.

[0167] In this context, policy information with the same priority can share a forwarding path, while policy information with different priorities cannot share a forwarding path. If the priority of the first policy information is lower than that of the fourth policy information, it indicates that the service corresponding to the first policy information has a lower priority than the service corresponding to the fourth policy information. Therefore, the SDN controller prioritizes calculating and forwarding the path for the higher-priority second policy information. Furthermore, to improve the balance of network resource utilization, the SDN controller sends a sixth path, which is not shared with the fifth path, to the head node.

[0168] Using the above method, when all forwarding paths of the head node are interrupted, the SDN controller can recalculate the available forwarding paths based on the quality of service parameters of the policy information. For each policy information, it compares its priority with the priority of the fourth policy information. If the priority of the policy information is greater than or equal to the priority of the fourth policy information, an available forwarding path can be directly sent to the head node. This satisfies the forwarding requirements of services corresponding to higher-priority policy information. If the priority of the policy information is less than the priority of the fourth policy information, a sixth path (which does not share a path with the fifth path) is sent to the head node. This improves the utilization of links in the communication network, thereby enhancing the balance of network resource utilization.

[0169] Based on the above embodiments, this application provides a method for reconstructing a forwarding path, such as... Figure 8 The method includes:

[0170] S801. Create a forwarding path with SRv6 Policy Color priority N.

[0171] In this system, the SDN controller connects to the head node. The SDN controller records all SRv6 policies of that head node, specifically the color priority of each SRv6 policy. The SDN controller recalculates the forwarding path according to the priority from highest to lowest. N is the highest color priority.

[0172] S802, Is a path available?

[0173] If yes, then execute S803; otherwise, execute S807.

[0174] S803, Continue creating tunnels with SRv6 Policy Color priority N+1.

[0175] S804. Calculate the path that meets the requirements.

[0176] S805, Is a path available?

[0177] If yes, then execute S806; otherwise, execute S808.

[0178] S806, compare whether it shares a route with high-priority tunnels.

[0179] If yes, then execute S804; otherwise, execute S807.

[0180] S807, Generate tunnel and send out repeaters.

[0181] S808, Continue creating tunnels with SRv6 Policy Color priority N+2.

[0182] This process continues until all SRv6Policy forwarding paths, including the head node address, recorded in the SDN controller are calculated.

[0183] When the SDN controller detects that all forwarding paths of the head node are interrupted, it can recalculate the forwarding path for each SRv6 policy according to the priority recorded locally by the SDN controller. The forwarding path to the head node is determined based on the priority of the SRv6 policy. If, after all forwarding paths of the head node are interrupted, the SDN controller has already sent a forwarding path for a higher-priority SRv6 policy that shares the same head node address and destination node address, it checks whether the forwarding path of the current SRv6 policy and the forwarding path corresponding to the higher-priority SRv6 policy co-path. If co-path exists, the forwarding path of the current SRv6 policy is recalculated until no co-path exists between the calculated forwarding path of the current SRv6 policy and the forwarding path corresponding to the higher-priority SRv6 policy. In this way, the forwarding requirements of the higher-priority SRv6 policy are met while also improving the balance of network resource utilization.

[0184] In summary, by adding priority information to each policy detail, the utilization rate of network resources in the communication network is improved while ensuring the quality of service transmission. Specifically, as follows... Figure 9 As shown, Figure 9 Having and Figure 1 The network structure is the same, but the policy information in the SDN controller now includes priority information.

[0185] The SDN controller calculates the forwarding path corresponding to each policy information based on four different policy information, which are respectively labeled Color1, Color2, Color3 and Color4.

[0186] Since Color1 and Color2 have the same priority, their forwarding paths can share a common path. The forwarding path for Color1 and Color2 is: Header Node - Intermediate Node 1 - Intermediate Node 2 - Destination Node.

[0187] Color3 and Color4 have the same priority, but their priorities differ from those of Color1 and Color2. Therefore, the forwarding paths for Color3 and Color4 can share a path, but they cannot share a path with the forwarding paths for Color1 and Color2. The forwarding path for Color3 and Color4 is: Header Node - Intermediate Node 3 - Intermediate Node 4 - Destination Node.

[0188] In this way, forwarding paths of different priorities are prevented from sharing the same path, thus improving the balance of network resource utilization.

[0189] Based on the same concept, embodiments of this application provide a path selection device, which is applied to an SDN controller, such as... Figure 10 As shown, the device includes:

[0190] The acquisition module 1001 is used to acquire first strategy information, which includes priority information.

[0191] The judgment module 1002 is used to judge the priority relationship between the first policy information and the second policy information. The first policy information and the second policy information are policy information corresponding to the same head node address and the same destination node address.

[0192] The sending module 1003 is used to send a first target path to the head node according to the head node address in the first strategy information when the priority of the first strategy information is lower than the priority of the second strategy information. The first target path is a path in the first path corresponding to the first strategy information that does not share a path with the second path corresponding to the second strategy information.

[0193] In one possible implementation, the sending module 1003 is further configured to:

[0194] If the priority of the first policy information is greater than or equal to the priority of the second policy information, the first path is sent to the head node.

[0195] In one possible implementation, the device further includes a calculation module and a determination module;

[0196] The judgment module 1002 is used to determine whether the first path and the second path corresponding to the first strategy information are shared.

[0197] The calculation module is used to calculate the third path based on the service quality parameters corresponding to the first strategy information when the first path and the second path share the same path.

[0198] The determination module is used to determine the third path as the first target path when there is no common path between the third path and the second path;

[0199] The determination module is used to determine the first path as the first target path when the first path and the second path do not share a path.

[0200] In one possible implementation, the calculation module is also used to calculate a fourth path based on the quality of service parameters corresponding to the first strategy information in the event that the target path is interrupted.

[0201] The judgment module 1002 is also used to judge the relationship between the priority in the first policy information and the priority in the third policy information, wherein the first policy information and the third policy information are policy information corresponding to the same head node address and the same destination node address;

[0202] The determination module is also used to send a fourth path to the head node if the priority of the first policy information is greater than or equal to the priority of the third policy information.

[0203] In one possible implementation, the sending module 1003 is further configured to send a second target path to the head node when the priority of the first policy information is lower than the priority of the third policy information. The second target path is a path that does not share a path with the third path corresponding to the third policy information.

[0204] In one possible implementation, the sending module 1003 is further configured to resend an update path to the head node according to the head node address in the third policy information if the forwarding path corresponding to the fourth path and the third policy information are shared. The update path is a path that is not shared with the fourth path.

[0205] In one possible implementation, the calculation module is further configured to calculate the forwarding paths corresponding to the policy information in descending order of policy information priority when all forwarding paths corresponding to policy information in the software-defined network controller are interrupted, and send the calculated forwarding paths to the head node corresponding to the policy information.

[0206] In one possible implementation, the computation module is specifically used for:

[0207] Calculate the available forwarding paths corresponding to each policy information;

[0208] For each policy information, determine the relationship between the priority of the policy information and the priority of the fourth policy information. The policy information and the fourth policy information are policy information corresponding to the same head node address and the same destination node address.

[0209] If the priority in this policy information is greater than or equal to the priority in the fourth policy information, the available forwarding path is used as the forwarding path corresponding to this policy information, and the forwarding path is sent to the head node according to the head node address in this policy information.

[0210] If the priority in this policy information is lower than the priority in the fourth policy information, determine whether the available forwarding path and the fifth path corresponding to the fourth policy information are shared.

[0211] In the case where the available forwarding path and the fifth path share the same path, the sixth path is calculated based on the quality of service parameters corresponding to the policy information;

[0212] If the fifth path and the sixth path are not shared, the sixth path is sent to the head node according to the head node address in the policy information.

[0213] Figure 11 A schematic diagram of the hardware structure of the electronic device provided in an embodiment of this application is shown.

[0214] An electronic device may include a processor 1101 and a memory 1102 storing computer program instructions.

[0215] Specifically, the processor 1101 may include a central processing unit (CPU), an application-specific integrated circuit (ASIC), or one or more integrated circuits that can be configured to implement the embodiments of this application.

[0216] Memory 1102 may include mass storage for data or instructions. For example, and not limitingly, memory 1102 may include a hard disk drive (HDD), floppy disk drive, flash memory, optical disk, magneto-optical disk, magnetic tape, or Universal Serial Bus (USB) drive, or a combination of two or more of these. Where appropriate, memory 1002 may include removable or non-removable (or fixed) media. Where appropriate, memory 1102 may be internal or external to the integrated gateway disaster recovery device. In a particular embodiment, memory 1102 is non-volatile solid-state memory.

[0217] Memory may include read-only memory (ROM), random access memory (RAM), disk storage media devices, optical storage media devices, flash memory devices, and electrical, optical, or other physical / tangible memory storage devices. Therefore, typically, memory includes one or more tangible (non-transitory) computer-readable storage media (e.g., memory devices) encoded with software including computer-executable instructions, and when the software is executed (e.g., by one or more processors), it is operable to perform the operations described with reference to the methods according to one aspect of this disclosure.

[0218] The processor 1101 implements any of the path selection methods in the above embodiments by reading and executing computer program instructions stored in the memory 1102.

[0219] In one example, the electronic device may also include a communication interface 1103 and a bus 1104. For example, Figure 11 As shown, the processor 1101, memory 1102, and communication interface 1103 are connected through bus 1104 and complete communication with each other.

[0220] The communication interface 1103 is mainly used to realize communication between various modules, devices, units and / or equipment in the embodiments of this application.

[0221] Bus 1104 includes hardware, software, or both, that couples components of an electronic device together. For example, and not limitingly, the bus may include an Accelerated Graphics Port (AGP) or other graphics bus, an Enhanced Industry Standard Architecture (EISA) bus, a Front Side Bus (FSB), HyperTransport (HT) interconnect, an Industry Standard Architecture (ISA) bus, an Infinite Bandwidth Interconnect, a Low Pin Count (LPC) bus, a memory bus, a Microchannel Architecture (MCA) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express (PCI-X) bus, a Serial Advanced Technology Attachment (SATA) bus, a Video Electronics Standards Association Local (VLB) bus, or other suitable buses, or combinations of two or more of these. Where appropriate, bus 1104 may include one or more buses. Although specific buses are described and illustrated in embodiments of this application, any suitable bus or interconnect is contemplated herein.

[0222] Furthermore, in conjunction with the path selection methods in the above embodiments, this application embodiment can provide a computer storage medium for implementation. This computer storage medium stores computer program instructions; when these computer program instructions are executed by a processor, they implement any of the path selection methods in the above embodiments.

[0223] Based on the path selection methods in the above embodiments, this application embodiment can provide a computer program product to implement them. The computer product includes a computer program, which, when executed by a processor, implements any of the path selection methods in the above embodiments.

[0224] It should be clarified that this application is not limited to the specific configurations and processes described above and shown in the figures. For the sake of brevity, detailed descriptions of known methods are omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of this application is not limited to the specific steps described and shown. Those skilled in the art can make various changes, modifications, and additions, or change the order of steps, after understanding the spirit of this application.

[0225] The functional blocks shown in the above-described structural diagram can be implemented as hardware, software, firmware, or a combination thereof. When implemented in hardware, they can be, for example, electronic circuits, application-specific integrated circuits (ASICs), appropriate firmware, plug-ins, function cards, etc. When implemented in software, the elements of this application are programs or code segments used to perform the required tasks. Programs or code segments can be stored on a machine-readable medium or transmitted over a transmission medium or communication link via data signals carried on a carrier wave. "Machine-readable medium" can include any medium capable of storing or transmitting information. Examples of machine-readable media include electronic circuits, semiconductor memory devices, ROM, flash memory, erasable ROM (EROM), floppy disks, CD-ROMs, optical disks, hard disks, fiber optic media, radio frequency (RF) links, etc. Code segments can be downloaded via computer networks such as the Internet, intranets, etc.

[0226] It should also be noted that the exemplary embodiments mentioned in this application describe methods or systems based on a series of steps or apparatus. However, this application is not limited to the order of the above steps; that is, the steps can be performed in the order mentioned in the embodiments, or in a different order, or several steps can be performed simultaneously.

[0227] The aspects of this disclosure have been described above with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this disclosure. It should be understood that each block in the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to produce a machine such that these instructions, executable via the processor of the computer or other programmable data processing apparatus, enable the implementation of the functions / actions specified in one or more blocks of the flowchart illustrations and / or block diagrams. Such a processor can be, but is not limited to, a general-purpose processor, a special-purpose processor, a special application processor, or a field-programmable logic circuit. It is also understood that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can also be implemented by special-purpose hardware performing the specified functions or actions, or can be implemented by a combination of special-purpose hardware and computer instructions.

[0228] The above description is merely a specific implementation of this application. Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, modules, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here. It should be understood that the protection scope of this application is not limited thereto. Any person skilled in the art can easily conceive of various equivalent modifications or substitutions within the technical scope disclosed in this application, and these modifications or substitutions should all be covered within the protection scope of this application.

Claims

1. A path selection method, characterized in that, The method is applied to a software-defined network controller, and the method includes: Obtain first strategy information, which includes priority information; Determine the priority relationship between the first policy information and the second policy information, where the first policy information and the second policy information are policy information corresponding to the same head node address and the same destination node address. If the priority of the first policy information is lower than the priority of the second policy information, the first target path is sent to the head node according to the head node address in the first policy information. The first target path is a path in the first path corresponding to the first policy information that does not share a path with the second path corresponding to the second policy information.

2. The method according to claim 1, characterized in that, After determining the relative priorities of the first policy information and the second policy information, the method further includes: If the priority of the first strategy information is greater than or equal to the priority of the second strategy information, the first path is sent to the head node.

3. The method according to claim 1, characterized in that, Before sending the first target path to the head node according to the head node address in the first strategy information, the method further includes: Determine whether the first path and the second path corresponding to the first strategy information are shared paths; In the case where the first path and the second path share the same path, the third path is calculated based on the quality of service parameters corresponding to the first strategy information. If the third path and the second path do not share a path, the third path is determined to be the first target path; If the first path and the second path do not share a common path, the first path is determined to be the first target path.

4. The method according to claim 1 or 3, characterized in that, After sending the first target path to the head node according to the head node address in the first strategy information, the method further includes: If the first target path is interrupted, a fourth path is calculated based on the quality of service parameters corresponding to the first strategy information. Determine the relationship between the priority in the first policy information and the priority in the third policy information, where the first policy information and the third policy information are policy information corresponding to the same head node address and the same destination node address; If the priority of the first strategy information is greater than or equal to the priority of the third strategy information, the fourth path is sent to the head node.

5. The method according to claim 4, characterized in that, After determining the relationship between the priorities in the first policy information and the third policy information, the method further includes: If the priority of the first policy information is lower than the priority of the third policy information, a second target path is sent to the head node. The second target path is a path that does not share a path with the third path corresponding to the third policy information.

6. The method according to claim 4, characterized in that, After sending the fourth path to the head node, the method further includes: If the forwarding path corresponding to the fourth path and the third policy information has a common path, the updated path is resent to the head node according to the head node address in the third policy information. The updated path is a path that does not have a common path with the fourth path.

7. The method according to claim 1, characterized in that, After sending the first target path to the head node according to the head node address in the first strategy information, the method further includes: In the case that all forwarding paths corresponding to policy information in the software-defined network controller are interrupted, the forwarding paths corresponding to the policy information are calculated in descending order of policy information priority, and the calculated forwarding paths are sent to the head node corresponding to the policy information.

8. The method according to claim 7, characterized in that, The step of calculating the forwarding path corresponding to the policy information in descending order of policy information priority includes: Calculate the available forwarding paths corresponding to each policy information; For each policy information, determine the relationship between the priority of the policy information and the priority of the fourth policy information. The policy information and the fourth policy information are policy information corresponding to the same head node address and the same destination node address. If the priority in the policy information is greater than or equal to the priority in the fourth policy information, the available forwarding path is used as the forwarding path corresponding to the policy information, and the forwarding path is sent to the head node according to the head node address in the policy information. If the priority in the policy information is lower than the priority in the fourth policy information, determine whether the available forwarding path and the fifth path corresponding to the fourth policy information are shared. In the case where the available forwarding path and the fifth path share the same path, the sixth path is calculated based on the quality of service parameters corresponding to the policy information; If the fifth path and the sixth path do not share a common path, the sixth path is sent to the head node according to the head node address in the strategy information.

9. A path selection device, characterized in that, The device is used in a software-defined network controller, and the device includes: The acquisition module is used to acquire first policy information, which includes priority information. The judgment module is used to determine the priority relationship between the first policy information and the second policy information, wherein the first policy information and the second policy information are policy information corresponding to the same head node address and the same destination node address. The sending module is configured to send a first target path to the head node according to the head node address in the first strategy information when the priority of the first strategy information is lower than the priority of the second strategy information. The target path is a path in the first path corresponding to the first strategy information that does not share a path with the second path corresponding to the second strategy information.

10. An electronic device, characterized in that, The device includes: a processor and a memory storing computer program instructions; the processor, when executing the computer program instructions, implements the method as described in any one of claims 1-8.

11. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer program instructions that, when executed by a processor, implement the method as described in any one of claims 1-8.

12. A computer program product, characterized in that, When the instructions in the computer program product are executed by the processor of the electronic device, the electronic device causes the electronic device to perform the method as described in any one of claims 1-8.

Citation Information

Patent Citations

  • A policy-based tunnel selection method and software-defined network controller

    CN108989210A

  • Transmission path selection method, apparatus and device, and medium

    CN112019436A