SDN switch deployment method, device, equipment and storage medium

By determining the most reliable candidate set in the target network and deploying SDN switches to solve link failures, the problem of insufficient recovery of traditional IP networks is solved, and efficient failure link resolution and cost reduction is achieved.

CN116633777BActive Publication Date: 2025-08-29CHINA UNITED NETWORK COMM GRP CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310623036.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-05-29
Publication Date
2025-08-29
Estimated Expiration
2043-05-29

AI Technical Summary

Technical Problem

Traditional IP networks cannot provide adequate coverage for all potentially affected nodes or links when network failure recovery, and existing SDN switches are costly to deploy.

Method used

By obtaining the set of deployable locations for each link in the target network, determining the candidate set, and determining the target deployment location of the SDN switch based on the candidate set with the highest reliability, all link failures in the network are solved using the SDN switch.

Benefits of technology

Improve the accuracy of the deployment location of SDN switches, maximize the utilization of SDN switches, reduce deployment costs, avoid or reduce network congestion, and improve the resolution performance of fault links.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116633777B_ABST
    Figure CN116633777B_ABST
Patent Text Reader

Abstract

The present application provides an SDN switch deployment method, apparatus, device, and storage medium, relating to the field of communication technology, and for reducing the deployment cost of SDN switches. The method comprises: obtaining a set of deployable locations for each link in a target network, the deployable location set including at least one deployable location for a software-defined network (SDN) switch; determining at least one candidate set based on the deployable location set and the number of deployable locations for each link, the candidate set including at least one candidate deployment location, the SDN switch at at least one candidate deployment location being able to resolve link failures of each link in the target network; determining the reliability of each candidate set based on the at least one candidate set and the deployable location set for each link; and determining a target deployment location for the SDN switch in the target network based on the candidate set with the highest reliability.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of communication technology, and in particular to an SDN switch deployment method, apparatus, device, and storage medium. Background Art

[0002] Traditional computer networks, also known as Internet Protocol (IP) networks, route data through one or more links, moving it through the network until it reaches the node at its destination. Network failures occur when a network node or link becomes unresponsive or is unable to process data and / or forward it to the next node in the route.

[0003] Traditional IP networks utilize a variety of methods to assist in recovering from network failures. However, traditional recovery methods (e.g., shortest path recalculation, IP fast reroute, etc.) often fail to provide adequate coverage for all potentially affected nodes or links in the network. More complex methods may provide adequate coverage, but at the cost of inconvenient disruption and unacceptable complexity. Summary of the Invention

[0004] The present application provides an SDN switch deployment method, apparatus, device, and storage medium, which relate to the field of communication technology and are used to reduce the deployment cost of SDN switches.

[0005] In a first aspect, the present application provides an SDN switch deployment method, the method comprising: obtaining a set of deployable locations for each link in a target network, the deployable location set including at least one deployable location of a software-defined network (SDN) switch; determining at least one candidate set based on the deployable location set and the number of deployable locations for each link, the candidate set including at least one candidate deployment location, the SDN switch at at least one candidate deployment location being able to resolve link failures of each link in the target network; determining the reliability of each candidate set based on at least one candidate set and the deployable location set of each link; and determining a target deployment location of the SDN switch in the target network based on the candidate set with the highest reliability.

[0006] The technical solution provided by this application brings at least the following beneficial effects: by determining the deployable locations and the number of deployable locations for each link, a combination of SDN switch deployment locations (i.e., a candidate set) that can resolve link failures for all links in the target network is determined, and then the candidate set with the highest reliability is determined as the target deployment location. In this way, the deployable locations of all SDN switches are determined during the calculation process, and then the most suitable target deployment location is determined from all the deployable locations of the SDN switches based on this. This can improve the accuracy of the target deployment location, while maximizing the utilization of the SDN switches and reducing the deployment cost of the SDN switches.

[0007] In one possible implementation, at least one candidate set is determined based on the position sets of each link and the number of positions in the position sets, including: dividing the links in the target network into multiple link groups based on the number of positions, and a link group includes at least one link with the same number of positions; determining a first position set based on the position sets of each link in the first link group and the position sets of each link group whose number of positions is smaller than that of the first link group; if the first position set meets a preset condition, the first position set is determined as a candidate set, wherein the position set that meets the preset condition has an intersection with the position set of each link.

[0008] In one possible implementation, a first position set is determined based on a position set of each link in the first link group and each position set of other link groups whose number of positions is smaller than that of the first link group, including: determining a first subset corresponding to the first link group based on the position set of each link in the first link group, wherein at least one SDN switch at a deployable position in the first subset can cover the link failure of each link in the first link group; determining a first position set based on each subset corresponding to other link groups whose number of positions is smaller than that of the first link group and the first subset, wherein at least one SDN switch at a deployable position in the first position set can cover the link failure of each link in the first link group and the other link groups.

[0009] In one possible implementation, the method further includes: if the first position set does not meet the preset conditions, obtaining the position set of each link in the second link group; wherein the number of positions of the links in the second link group is greater than that of the first link group; determining the second position set based on the position set of each link in the second link group and the position sets of each link group whose number of positions is less than that of the second link group; if the second position set meets the preset conditions, determining the second position set as the candidate set.

[0010] In one possible implementation, the method further includes: obtaining a first parameter and a second parameter for each deployable location in the first link, where the first parameter is the average length of the affected path when the first link fails, and the second parameter is the average path utilization of at least one affected destination when the first link fails; and determining a first target deployment location for the first link based on the first parameter and the second parameter for each deployable location.

[0011] In one possible implementation, the method further includes: determining a first target deployment location of the first link based on the first parameters and the second parameters of each deployable location, including: determining a third parameter of each deployable location based on the first parameters and the second parameters of each deployable location, the third parameter being used to characterize the reliability of the deployed SDN switch at the deployable location when the first link fails; and determining the deployable location with the largest third parameter as the first target deployment location.

[0012] Based on the above possible implementation, a third parameter representing the reliability of the SDN switch is determined based on the first and second parameters representing the SDN switch's repair capability. For each link, the SDN switch at the deployable location with the highest third parameter (i.e., the highest reliability) is selected. This selection of the optimal SDN switch for each link can avoid or reduce network congestion, thereby improving the SDN switch's ability to resolve link failures.

[0013] In one possible implementation, the first parameter satisfies the following relationship:

[0014]

[0015] in, is the first parameter; e is the first link; i is the SDN switch that can resolve the link failure of the first link; j is the affected destination when the first link fails; m is the number of affected destinations when the first link fails; It is the length of the path to the affected destination through the SDN switch that can resolve the link failure of the first link when the first link fails.

[0016] In one possible implementation, the second parameter satisfies the following relationship:

[0017]

[0018] in, is the second parameter; e is the first link; i is the SDN switch that can resolve the link failure of the first link; j is the affected destination when the first link fails; m is the number of affected destinations when the first link fails; When the first link fails, the minimum path utilization rate of the route to the affected destination through the SDN switch that can resolve the link failure of the first link.

[0019] In a second aspect, the present application provides an SDN switch deployment device, which includes: a receiving unit, used to obtain a set of deployable locations for each link in a target network, the deployable location set including the deployable location of at least one software-defined network (SDN) switch; a processing unit, used to determine at least one candidate set based on the deployable location set and the number of deployable locations of each link, the candidate set including at least one candidate deployment location, and the SDN switch at at least one candidate deployment location can solve the link failure of each link in the target network; the processing unit is also used to determine the reliability of each candidate set based on at least one candidate set and the deployable location set of each link; the processing unit is also used to determine the target deployment location of the SDN switch in the target network based on the candidate set with the highest reliability.

[0020] In one possible implementation, the processing unit is specifically used to: divide the links in the target network into multiple link groups according to the number of positions, and a link group includes at least one link with the same number of positions; determine the first position set according to the position set of each link in the first link group and the position sets of each link group whose number of positions is smaller than that of the first link group; if the first position set meets a preset condition, determine the first position set as a candidate set, wherein the position set that meets the preset condition has an intersection with the position set of each link.

[0021] In one possible implementation, the processing unit is specifically configured to: determine a first subset corresponding to the first link group based on a location set of each link in the first link group, where an SDN switch at at least one deployable location in the first subset can cover link failures of each link in the first link group; and determine a first location set based on each subset corresponding to other link groups having a smaller number of locations than the first link group and the first subset, where an SDN switch at at least one deployable location in the first location set can cover link failures of each link in the first link group and the other link groups.

[0022] In one possible implementation, the processing unit is specifically used to: if the first position set does not meet the preset conditions, obtain the position set of each link in the second link group; wherein the number of positions of the links in the second link group is greater than that of the first link group; determine the second position set based on the position set of each link in the second link group and the position sets of each link group whose number of positions is less than that of the second link group; if the second position set meets the preset conditions, determine the second position set as the candidate set.

[0023] In one possible implementation, the processing unit is further used to: obtain a first parameter and a second parameter for each deployable location in the first link, where the first parameter is the average length of the affected path when the first link fails, and the second parameter is the average path utilization of at least one affected destination when the first link fails; and determine the first target deployment location of the first link based on the first parameter and the second parameter of each deployable location.

[0024] In one possible implementation, the processing unit is specifically configured to: determine a third parameter for each deployable location based on a first parameter and a second parameter for each deployable location, where the third parameter is used to characterize the reliability of the deployed SDN switch at the deployable location when a first link fails; and determine the deployable location with the largest third parameter as the first target deployment location.

[0025] In a third aspect, the present application provides a computer program product. When the computer program product is run on a computer, it enables the computer to execute the steps of the method related to the first aspect to implement the SDN switch deployment method of the first aspect.

[0026] In a fourth aspect, a computer-readable storage medium is provided, the computer-readable storage medium comprising: computer software instructions; when the computer software instructions are executed in an electronic device, the electronic device implements the SDN switch deployment method of the first aspect.

[0027] The beneficial effects of the second to fourth aspects mentioned above can be referred to the first aspect and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS

[0028] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.

[0029] Figure 1 A schematic diagram of a network topology structure provided in an embodiment of the present application;

[0030] Figure 2 A flowchart of an SDN switch deployment method provided in an embodiment of the present application;

[0031] Figure 3 A schematic diagram of a target network topology provided in an embodiment of the present application;

[0032] Figure 4 A flowchart of a method for determining a candidate set provided in an embodiment of the present application;

[0033] Figure 5 A schematic diagram of the arrangement and combination of a subset of a link group provided in an embodiment of the present application;

[0034] Figure 6 A schematic diagram of another arrangement and combination of subsets of a link group provided in an embodiment of the present application;

[0035] Figure 7 A schematic diagram of determining a subset of a link group as a location set provided in an embodiment of the present application;

[0036] Figure 8 A flowchart of a method for specifying an SDN switch for a link provided in an embodiment of the present application;

[0037] Figure 9 A flowchart of a method for determining a target deployment location of a link provided in an embodiment of the present application;

[0038] Figure 10 A schematic diagram of the structure of an SDN switch deployment device provided in an embodiment of the present application;

[0039] Figure 11 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0040] The following will be combined with the drawings in the embodiments of this application to clearly and completely describe the technical solutions in the embodiments of this application. Obviously, the embodiments described are only part of the embodiments of this application, not all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.

[0041] It should be noted that in the embodiments of this application, words such as "exemplarily" or "for example" are used to indicate examples, illustrations, or explanations. Any embodiment or design described in the embodiments of this application as "exemplarily" or "for example" should not be interpreted as being more preferred or advantageous than other embodiments or designs. Rather, the use of words such as "exemplarily" or "for example" is intended to present the relevant concepts in a concrete manner.

[0042] In order to facilitate a clear description of the technical solutions of the embodiments of the present application, in the embodiments of the present application, words such as "first" and "second" are used to distinguish between identical or similar items with basically the same functions and effects. Those skilled in the art can understand that words such as "first" and "second" do not limit the quantity and execution order.

[0043] With the widespread deployment of software-defined networks (SDN), hybrid networks have emerged, where IP and SDN networks coexist. In such hybrid networks, when a link fails, affected packets can be redirected to an SDN switch. Based on routing policies issued by the SDN controller, the SDN switch can find an alternative route for the failed link, thereby resolving the link failure. However, due to the high cost and labor required to replace existing IP network equipment with SDN switches, reducing the deployment cost of SDN switches has become a pressing issue.

[0044] Based on this, the present application provides an SDN switch deployment method. Based on the available deployment locations and the number of available deployment locations for each link, at least one candidate set is determined, and the candidate set with the highest reliability is selected as the target deployment location. In this way, by deploying SDN switches in a network, all faulty links in the network can be resolved. Furthermore, the most suitable target deployment location is determined from all feasible candidate deployment locations, thereby maximizing the utilization of the SDN switch in the event of a link failure, thereby reducing the deployment cost of the SDN switch.

[0045] In some embodiments, the execution entity of the method may be a device with computing capabilities, such as a computer or server. The server may be a single server or a server cluster consisting of multiple servers. In some implementations, the server cluster may also be a distributed cluster. This application does not limit the specific form of the execution entity of the method.

[0046] For example, the server may include an operation and maintenance center radio (OMC-R) server, and other servers connected to the OMC-R server, etc. The embodiment of the present application does not limit the specific type of the server.

[0047] Figure 1 A schematic diagram of a network topology structure provided in an embodiment of the present application. Figure 1 As shown, the hybrid network 10 includes multiple routers, such as router 11, router 12, router 13, etc., multiple SDN switches, such as SDN switch 21, SDN switch 22, SDN switch 23, SDN switch 24, etc., and an SDN controller 3 ( Figure 1 (not shown). The multiple routers and multiple SDN switches in the network 10 are connected via links.

[0048] A router is a network device that reads the destination address of received data packets and forwards them accordingly. Routers typically maintain a routing table that stores the paths to specific network nodes. Based on the destination address, the router matches the routing table and determines the next forwarding address, which may be an intermediate address or the destination address.

[0049] The SDN switch forwards data at the data layer based on the flow table issued by the SDN controller. The SDN switch can be a physical switch or a virtualized switch.

[0050] The SDN controller 3 sends an OpenFlow flow table to the SDN switch via the OpenFlow protocol to control and manage data forwarding on the SDN switch. The OpenFlow flow table contains keywords such as the input port, media access control (MAC) source address, MAC destination address, Ethernet type, Internet protocol (IP) source address, IP destination address, transmission control protocol (TCP) source port, and TCP destination port.

[0051] In some embodiments, the delivery of the OpenFlow flow table may be active or passive.

[0052] In some embodiments, in active mode, the SDN controller 3 may actively send the OpenFlow flow table information collected by itself to the SDN switch, and the SDN switch may directly forward the information according to the OpenFlow flow table.

[0053] In other embodiments, in passive mode, after receiving a data packet, the SDN switch first searches the local flow table for a matching forwarding port. If there is no matching forwarding port, the SDN controller 3 determines the forwarding port and issues the corresponding OpenFlow flow table.

[0054] In some embodiments, when a link between two routers fails, the router directly connected to the failed link forwards the data packet that was originally intended to be transmitted on the failed link to the corresponding designated SDN switch. After receiving the data packet, the SDN switch queries the OpenFlow flow table to determine an alternative route to the intended destination.

[0055] It can be understood that the above-mentioned alternative route bypasses the faulty link and does not reroute the data packet to the faulty link, that is, the alternative route does not include the faulty link.

[0056] For example, a link failure occurs between router 12 and router 13, and the SDN switch designated by router 12 is 22. The intended destination of router 12 is router 13. When the link failure is detected, router 12 forwards the data packet to SDN switch 22. Based on the data packet, SDN switch 22 searches the OpenFlow flow table and determines that the alternative route to router 13 is: router 12 → SDN switch 22 → SDN switch 21 → router 13.

[0057] Figure 2 This is a flow chart of an SDN switch deployment method provided in an embodiment of the present application. Figure 2 As shown, the method includes the following steps:

[0058] S101: Obtain a set of deployable locations for each link in a target network.

[0059] The deployable location set includes at least one deployable location of an SDN switch.

[0060] In some embodiments, the target network may be a hybrid network including SDN switches and routers, or an IP network including only routers.

[0061] In some embodiments, the target network includes multiple network nodes and multiple links, with one link connecting two network nodes in the target network. A network node is a dedicated hardware device used to interconnect various servers, personal computers (PCs), application terminals, and other nodes to form an information communication network. For example, a network node can be an SDN switch or a router.

[0062] In some embodiments, for each link, the location of the network node that satisfies both the first condition and the second condition is determined as a deployable location for the SDN switch.

[0063] The first condition is that when a link fails, the shortest path from the source network node of the failed link to the network node at the current deployment location does not include the failed link. Figure 1 As shown, a link between router 12 and router 13 fails. The shortest path from router 12 of the failed link to SDN switch 22 is: router 12 →SDN switch 22. The shortest path does not include the failed link.

[0064] The second condition is that there is at least one intermediate network node in the path between the network node at the current deployment location and the affected destination network node, and the shortest path from the intermediate network node to the affected destination network node does not include a faulty link. Figure 1As shown, a link between router 12 and router 13 fails, and there is an SDN switch 21 on the path from SDN switch 22 to the affected router 13, and the shortest path from SDN switch 21 to the affected router 13 does not include the failed link.

[0065] For example, Figure 3 As shown, the target network includes 10 network nodes 1-10 and 26 links for connecting the 10 network nodes. Each link can be expressed as<i,j> , i represents the source network node, j represents the destination network node. For example, link <1, 10> and link <10, 1>.

[0066] Based on the above first and second conditions, the deployable locations of each link are shown in Table 1.

[0067] Table 1

[0068]

[0069]

[0070] S102: Determine at least one candidate set according to the deployable location set and the number of deployable locations of each link.

[0071] The candidate set includes at least one candidate deployment location, and the SDN switch at the at least one candidate deployment location can resolve link failures of various links in the target network.

[0072] In some embodiments, the number of deployable positions for each link is determined based on the set of deployable positions for each link.

[0073] by Figure 3 Taking the target network shown in FIG. 1 as an example, the number of deployable locations for each link is shown in Table 2.

[0074] Table 2

[0075]

[0076]

[0077] In some embodiments, at least one candidate set is determined based on the number of deployable locations for each link.

[0078] Figure 4 This is a flow chart of a method for determining a candidate set provided in an embodiment of the present application. Figure 4 As shown, step S102 includes the following steps:

[0079] S1021. Divide the links in the target network into multiple link groups according to the number of deployable locations.

[0080] A link group includes at least one link with the same number of deployable locations.

[0081] In some embodiments, the priority of each link is determined based on the number of deployable locations of each link in the target network, and links with the same priority are grouped as a link group, so that each link group also has a corresponding priority.

[0082] Optionally, the fewer the number of deployable locations, the higher the priority, and the more the number of deployable locations, the lower the priority.

[0083] In some embodiments, the links in the target network are divided into multiple link groups in order of priority.

[0084] For example, Figure 3 Taking the target network shown as an example, if links <4, 5>, link <5, 4>, link <5, 6>, and link <6, 5> of the target network all have only one deployable location, then links <4, 5>, link <5, 4>, link <5, 6>, and link <6, 5> are determined as the first link group, and the first link group has the highest priority. Links <9, 10>, link <10, 9>, and link <4, 3> all have two deployable locations, then links <9, 10>, link <10, 9>, and link <4, 3> are determined as the second link group, and the priority of the second link group is lower than that of the first link group. Link <3, 4> has three deployable locations, then link <3, 4> is determined as the third link group, and the priority of the third link group is lower than that of the second link group. And so on, the fourth link group, the fifth link group, and so on are obtained.

[0085] S1022: Determine a first position set according to the position sets of each link in the first link group and the position sets of each link group whose number of positions is smaller than that of the first link group.

[0086] The first link group is the link group with the highest priority, and other link groups with a smaller number of positions than the first link group are link groups with lower priorities than the first link group.

[0087] In some embodiments, the first subset corresponding to the first link group can be determined based on the position set of each link in the first link group, and then the first position set can be determined based on the subsets corresponding to other link groups with a smaller number of positions than the first link group and the first subset.

[0088] Exemplarily, step S1022 may be specifically implemented as the following steps S1-S2:

[0089] S1. Determine a first subset corresponding to the first link group based on a set of locations of each link in the first link group. The SDN switch at at least one deployable location in the first subset can cover link failures of each link in the first link group. In other embodiments, the subsets corresponding to the other link groups are determined based on the set of locations of each link group having a smaller number of locations than the first link group.

[0090] It should be noted that the location set of each link in each link group and the subset of each link group have at least one intersection, that is, the SDN switch at at least one deployment position in the subset of each link group can solve the link failure of each link in the link group. Therefore, by arranging and combining the deployable positions of each link in each link group, each link group can have multiple subsets.

[0091] For example, Figure 3 Taking the target network shown as an example, the first link group of the target network includes link <4, 5>, link <5, 4>, link <5, 6>, and link <6, 5>. The deployable position of link <4, 5> is 9, the deployable position of link <5, 4> is 8, the deployable position of link <5, 6> is 8, and the deployable position of link <6, 5> is 7. To resolve the link failure of the four links in the first link group, at least one deployable position is selected from the deployable positions of these four links, and the permutations and combinations are performed to obtain the first subset (7, 8, 8, 9). Based on the mutual difference of the sets, the elements in the first subset are deduplicated, resulting in the subset of the first link group (7, 8, 9).

[0092] For another example, the second link group of the target network includes link <9, 10>, link <10, 9> and link <4, 3>. The deployable positions of link <9, 10> include 3 and 4, the deployable positions of link <10, 9> include 2 and 3, and the deployable positions of link <4, 3> include 9 and 10. Figure 5 and Figure 6 As shown, in order to resolve the link failure of three links in the second link group, at least one deployable position is selected from the deployable positions of the three links, and permutations and combinations are performed. Based on the mutual differences of the sets, the subsets of the second link group are obtained, including (9, 3), (9, 3, 4), (9, 2, 3), (9, 2, 4), (10, 3), (10, 3, 4), (10, 2, 3) and (10, 2, 4).

[0093] For another example, the third link group of the target network includes link <3, 4>, and the deployable locations of link <3, 4> include 1, 2, and 10. At least one deployable location is selected from the link, resulting in a third subset of the third link group including (1), (1, 2), (1, 10), and (1, 2, 10). Similarly, a subset of each link group can be obtained.

[0094] S2. Determine a first position set according to the first subset and the subsets corresponding to other link groups whose number of positions is smaller than that of the first link group.

[0095] The SDN switch at at least one deployable location in the first location set can cover link failures of links in the first link group and other link groups.

[0096] In some embodiments, a search tree may be created based on each subset of each link group according to the link group priority.

[0097] Each node in each layer of the search tree corresponds to a subset of a link group (i.e., including at least one deployment location), and the nodes in each layer of the search tree are arranged in descending or ascending order based on the priority of the link group to which they correspond. For example, the highest layer of the search tree may correspond to the first link group with the highest priority, or the lowest layer of the search tree may correspond to the first link group with the highest priority. In addition, the nodes in two adjacent layers of the search tree are connected by branches.

[0098] It should be noted that if the subset of the next link group has overlapping elements with the nodes of the previous layer, the subset with the overlapping elements removed will be determined as the node of the next layer of the search tree.

[0099] In some embodiments, after each subset of a link group is determined as a node of a layer of the search tree, at least one first position set is determined based on the branches of the search tree, and the following step S1023 is executed.

[0100] It is understandable that each link group may have multiple subsets, and thus there may be multiple first position sets, and the first position set can resolve link failures of each link in the link groups corresponding to all subsets in the first position set.

[0101] For example, Figure 3 Take the target network shown as an example, Figure 7 As shown, first determine the subset of the first link group as the first-level node of the search tree. The first-level nodes include nodes (7, 8, 9). The current search tree has only one branch, and the first position set under the branch is (7, 8, 9). Based on the first position set, execute step S1023.

[0102] The subset of the second link group has overlapping elements with the first-level nodes, so the overlapping elements in the subset of the second link group are eliminated. Further, the subset of the second link group after eliminating the overlapping elements is determined as the second-level nodes of the search tree. The second-level nodes include node (3), node (3, 4), node (2, 3), node (2, 4), node (10, 3), node (10, 3, 4), node (10, 2, 3) and node (10, 2, 4). Based on the branches between the first layer of the search tree and the second layer of the search tree, the first position set includes (7, 8, 9, 3), (7, 8, 9, 3, 4), (7, 8, 9, 2, 3), (7, 8, 9, 2, 4), (7, 8, 9, 10, 3), (7, 8, 9, 10, 3, 4), (7, 8, 9, 10, 2, 3) and (7, 8, 9, 10, 2, 4). Based on this first position set, step S1023 is executed again.

[0103] The third subset of the third link group includes (1), (2), (10), (1, 2), (1, 10), (1, 2, 10). Based on the branches between the first layer and the second layer of the search tree, and the branches between the second layer and the third layer of the search tree, the first position set includes (7, 8, 9, 3, 1), (7, 8, 9, 3, 2), (7, 8, 9, 3, 10), (7, 8, 9, 3, 1, 2), (7, 8, 9, 3, 1, 10), (7, 8, 9, 3, 1, 2, 10). Based on the first position set, step S1023 is performed again.

[0104] S1023: If the first position set meets a preset condition, determine the first position set as a candidate set.

[0105] Among them, the preset condition is that the SDN switch at at least one deployment location in the first location set can protect the link failures of all links of the target network, that is, the first location set that meets the preset condition has an intersection with the location set of each link, and can protect the link failures of all links of the target network.

[0106] Exemplarily, the first position set that meets the preset conditions is the above first position set (7, 8, 9, 2, 4), and the first position set can protect Figure 3 Link failures are reported for 26 links of the target network.

[0107] In some embodiments, after each subset of a link group is determined as each layer node of the search tree, the first position set with the least number of elements is selected as the target first position set from the first position sets that meet the preset conditions, and then the target first position set is determined as the candidate set.

[0108] For example, Figure 3 Taking the target network shown in FIG1 as an example, after determining the second subset of the second link group as the second-level node of the search tree, the first position set that meets the preset conditions includes (7, 8, 9, 3, 4), (7, 8, 9, 2, 3), (7, 8, 9, 2, 4), (7, 8, 9, 10, 3), (7, 8, 9, 10, 3, 4), (7, 8, 9, 10, 2, 3) and (7, 8, 9, 10, 2, 4 ), among which, the number of elements of (7, 8, 9, 2, 4), (7, 8, 9, 10, 3) and (7, 8, 9, 2, 3) are the smallest, so the target first position set includes (7, 8, 9, 2, 4), (7, 8, 9, 10, 3) and (7, 8, 9, 2, 3), and further, the candidate set includes (7, 8, 9, 2, 4), (7, 8, 9, 10, 3) and (7, 8, 9, 2, 3).

[0109] For another example, after determining the third subset of the third link group as the third-level node of the search tree, the first position sets that meet the preset conditions include (7, 8, 9, 3, 1), (7, 8, 9, 3, 2), (7, 8, 9, 3, 10), (7, 8, 9, 3, 1, 2), (7, 8, 9, 3, 1, 10), and (7, 8, 9, 3, 1, 2, 10). Among them, the first position sets (7, 8, 9, 3, 2) and (7, 8, 9, 3, 10) overlap with the candidate sets (7, 8, 9, 10, 3) and (7, 8, 9, 2, 3) and are not considered. The first position set (7, 8, 9, 3, 1) has the smallest number of elements, so the target first position set is (7, 8, 9, 3, 1), and the candidate set also includes (7, 8, 9, 3, 1).

[0110] In some embodiments, when the first position set does not meet the preset condition, the position set of each link in the second link group is obtained. The number of positions of the links in the second link group is greater than that in the first link group, that is, the priority of the second link group is lower than that of the first link group. Figure 3 Taking the target network shown in FIG. 1 as an example, after determining the second subset of the second link group as the second-level nodes of the search tree, the obtained first position set includes (7, 8, 9, 3), (7, 8, 9, 3, 4), (7, 8, 9, 2, 3), (7, 8, 9, 2, 4), (7, 8, 9, 10, 3), (7, 8, 9, 10, 3, 4), (7, 8, 9, 10, 2, 3), and (7, 8, 9, 10, 2, 4). At this time, the first position sets (7, 8, 9, 3) and (7, 8, 9, 3, 4) cannot solve the link failures of the 26 links of the target network, that is, they do not meet the preset conditions. Therefore, it is necessary to obtain the position sets of each link in the third link group.

[0111] Furthermore, the second position set is determined according to the position sets of each link in the second link group and the position sets of each link group whose number of positions is smaller than that of the second link group.

[0112] It should be noted that Figure 3 Taking the target network shown in the figure as an example, since the number of deployable locations in the first location set (7, 8, 9, 3, 4) is 5, if deployable locations are added to the first location set, the number of deployable locations will inevitably exceed the number of deployable locations in the candidate set determined above. If the optimal candidate deployment location already exists, the first location set will be disregarded.

[0113] For example, Figure 3 Taking the target network shown as an example, after obtaining the position set of each link in the third link group, that is, after determining the third subset of the third link group as the third layer node of the search tree, the second position set includes (7, 8, 9, 3, 1), (7, 8, 9, 3, 2), (7, 8, 9, 3, 10), (7, 8, 9, 3, 1, 2), (7, 8, 9, 3, 1, 10), (7, 8, 9, 3, 1, 2, 10).

[0114] In some embodiments, if the second location set meets a preset condition, the second location set is determined as a candidate set. If the second location set does not meet the preset condition, each subset of each link group is continuously determined as a location set until the location set meets the preset condition.

[0115] S103: Determine the reliability of each candidate set according to at least one candidate set and a deployable location set of each link.

[0116] The reliability is used to characterize the reliability level of each candidate set. The greater the reliability of the candidate set, the higher the reliability level, and the more reliable the SDN switch at the deployment location of the candidate set.

[0117] In some embodiments, the reliability set of the candidate set is determined based on the number of overlapping positions between the candidate deployment positions in the candidate set and the deployable positions of each link.

[0118] For example, Figure 3Taking the target network shown as an example, the first candidate set in the target network is (7, 8, 9, 3, 1). The candidate deployment locations of the first candidate set overlap with the deployable locations of link <1, 2> at positions 1, 7, 8, and 9, which is 4 in total. The first element of the reliability set of the first candidate set is 4. The candidate deployment locations of the first candidate set overlap with the deployable locations of link <1, 10> at positions 1 and 3, which is 2 in total. The second element of the reliability set of the first candidate set is 2. The candidate deployment locations of the first candidate set overlap with the deployable locations of link <2, 1> at positions 7, 8, and 9, which is 3 in total. The third element of the reliability set of the first candidate set is 3. By analogy, the reliability set of the first candidate set is (4, 2, 3, 2, 3, 3, 1, 1, 1, 4, 1, 1, 4, 1, 4, 3, 2, 3, 3, 4, 2, 1, 4, 4, 1).

[0119] Similarly, the reliability set of the second candidate set (7, 8, 9, 3, 2) is (3, 2, 4, 2, 3, 3, 1, 1, 1, 4, 1, 1, 4, 1, 3, 2, 3, 4, 3, 4, 3, 1, 5, 3, 2), the reliability set of the third candidate set (7, 8, 9, 3, 10) is (4, 1, 4, 1, 4, 3, 1, 2, 1, 3, 1, 1, 4, 1, 4, 4, 2, 3, 3, 3, 4, 2, 1, 5, 4, 1), and the reliability set of the fourth candidate set (7, 8, 9, 2, 4) is (3, 2, 5, 2, 3, 4, 1, 1, 1, 3, 1, 1, 4, 1, 4, 4, 2, 3, 4, 3, 4, 3, 1, 5, 4, 1).

[0120] In some embodiments, the reliability of the candidate set is determined based on the number of elements in the reliability set that are greater than 1.

[0121] For example, Figure 3 As shown, the number of elements greater than 1 in the reliability set of the first candidate set is 18, and the reliability of the first candidate set is 18; the number of elements greater than 1 in the reliability set of the second candidate set is 19, and the reliability of the second candidate set is 19; the number of elements greater than 1 in the reliability set of the third candidate set is 17, and the reliability of the third candidate set is 17; the number of elements greater than 1 in the reliability set of the fourth candidate set is 18, and the reliability of the fourth candidate set is 18.

[0122] S104: Determine a target deployment location of the SDN switch in the target network based on the candidate set with the highest reliability.

[0123] In some embodiments, the candidate sets are sorted in descending order according to their reliability, and candidate sets with equal reliability are sorted in descending order according to their average reliability, where the average reliability is the average value of the elements in the reliability set.

[0124] For example, Figure 3 Taking the target network shown as an example, the candidate set for this target network includes four candidate sets. The reliability of the first candidate set is 18, the reliability of the second candidate set is 19, the reliability of the third candidate set is 17, and the reliability of the fourth candidate set is 18. First, the candidate sets are sorted in descending order by reliability to obtain two sorting results. The first sorting result is the second candidate set, the first candidate set, the fourth candidate set, and the third candidate set. The second sorting result is the second candidate set, the fourth candidate set, the first candidate set, and the third candidate set. Because the sorting result is not unique, it is necessary to determine the average reliability of the first and fourth candidate sets with equal reliability to determine the order of the first and fourth candidate sets. The average reliability of the first candidate set is 2.54, and the average reliability of the fourth candidate set is 2.7. The first and fourth candidate sets are sorted in descending order by average reliability, resulting in the second sorting result.

[0125] In some embodiments, the candidate set with the highest reliability in the sorting results is determined as the target deployment location of the SDN switch in the target network.

[0126] Based on the above embodiments, the technical solution provided by this application can determine all candidate sets based on the deployable locations and number of deployable locations of each link. The SDN switches at the candidate deployment locations of the candidate set can solve the link failures of all links in the target network, and the candidate set with the highest reliability is determined as the target deployment location. In this way, the deployable locations of all SDN switches are obtained, and the most suitable target deployment location is determined from the deployable locations of all SDN switches, thereby maximizing the utilization of SDN switches in the event of link failure and reducing the deployment cost of SDN switches. In some embodiments, for each link in the target network, an SDN switch can be assigned to the link.

[0127] Understandably, for each link, multiple SDN switches can resolve link failures. However, due to the different deployment locations and types of SDN switches, each SDN switch will experience varying degrees of network congestion when resolving link failures. Selecting the optimal SDN switch for each link can avoid or reduce network congestion, thereby improving the SDN switch's performance in resolving link failures.

[0128] Figure 8The present invention provides a flowchart of a method for specifying an SDN switch for a link. Figure 8 As shown, the method includes the following steps:

[0129] S201: Obtain first parameters and second parameters of each deployable location in a first link.

[0130] The first parameter is the average length of the path from each SDN switch at each deployable location to the affected destination when the first link fails, and the second parameter is the minimum path utilization from each SDN switch at each deployable location to the affected destination when the first link fails. Both the first and second parameters represent the SDN switch's ability to repair a failed link. Optionally, the smaller the first and second parameters, the stronger the SDN switch's ability to repair a failed link. The larger the first and second parameters, the weaker the SDN switch's ability to repair a failed link.

[0131] In some embodiments, for a first link, first parameters and second parameters of an SDN switch at each deployable location of the link are obtained.

[0132] In some embodiments, the first parameter is obtained by the following formula (1):

[0133]

[0134] in, is the first parameter; e is the first link; i is the SDN switch that can resolve the link failure of the first link; j is the affected destination when the first link fails; m is the number of affected destinations when the first link fails; It is the length of the path to the affected destination through the SDN switch capable of resolving the link failure of the first link when the first link fails.

[0135] In some embodiments, the second parameter is obtained by the following formula (2):

[0136]

[0137] in, is the second parameter; e is the first link; i is the SDN switch that can resolve the link failure of the first link; j is the affected destination when the first link fails; m is the number of affected destinations when the first link fails; It is the minimum path utilization rate of reaching the affected destination through the SDN switch capable of resolving the link failure of the first link when the first link fails.

[0138] S202: Determine a first target deployment location for the first link according to first parameters and second parameters of each deployable location.

[0139] It should be noted that when specifying an SDN switch for each link, the SDN switch with the smallest first and second parameters is preferred. However, in actual applications, there may be situations where the first parameter is small but the second parameter is large, or where the first parameter is large but the second parameter is low. To address these two situations, the embodiments of the present application also provide a method for determining the target deployment location of a link.

[0140] Figure 9 This is a flow chart of a method for determining the target deployment location of a link provided in an embodiment of the present application. Figure 9 As shown, the method includes the following steps:

[0141] S2021. Determine a third parameter of each deployable location based on the first parameter and the second parameter of each deployable location.

[0142] The third parameter is used to characterize the reliability of the deployed SDN switch at the deployable location when the first link fails.

[0143] Optionally, the larger the third parameter is, the higher the reliability is, and the smaller the third parameter is, the lower the reliability is.

[0144] In some embodiments, for the first link, the first parameter and the second parameter are normalized, and the weight of the first parameter and the weight of the second parameter are determined based on the normalized first parameter and the second parameter.

[0145] In some embodiments, the weight of the first parameter is obtained by the following formula (3):

[0146]

[0147] in, is the first parameter; is the variance of the first parameter; is the variance of the second parameter.

[0148] In some embodiments, the weight of the second parameter is obtained by the following formula (4):

[0149]

[0150] in, is the second parameter.

[0151] Furthermore, a third parameter of the SDN switch at each deployable position is determined based on the normalized first parameter and second parameter, the weight of the first parameter, and the weight of the second parameter.

[0152] In some embodiments, the third parameter is obtained by the following formula (5):

[0153]

[0154] Among them, P i is the third parameter; is the weight of the first parameter; is the first parameter after normalization; is the weight of the second parameter; is the second parameter after normalization.

[0155] S2022: Determine the deployable position with the largest third parameter as the first target deployment position.

[0156] In some embodiments, an SDN switch at a deployable position with a maximum third parameter is determined as a target SDN switch for the first link.

[0157] Based on the above embodiments, the technical solution provided by this application determines a third parameter, used to characterize the reliability of an SDN switch, based on the first and second parameters characterizing the SDN switch's repair capability. For each link, the SDN switch at the deployable location with the largest third parameter (i.e., the highest reliability) is selected. By selecting the optimal SDN switch for each link, network congestion can be avoided or reduced, thereby improving the SDN switch's ability to resolve faulty links.

[0158] In the embodiment of the present application, the functional modules of the SDN switch deployment device can be divided according to the above method example. For example, each functional module or functional unit can be divided according to each function, or two or more functions can be integrated into one processing module. The above integrated modules can be implemented in the form of hardware or software functional modules. It should be noted that the division of modules in the embodiment of the present application is schematic and is only a logical functional division. In actual implementation, other division methods can be used.

[0159] In the case of dividing each functional unit into corresponding functional units, Figure 10 This is a structural diagram of an SDN switch deployment device provided in an embodiment of the present application. Figure 10 As shown, the SDN switch deployment device 1000 includes: a receiving unit 1001 and a processing unit 1002. The receiving unit 1001 and the processing unit 1002 are connected.

[0160] The receiving unit 1001 is configured to obtain a set of deployable locations of each link in a target network, where the set of deployable locations includes a deployable location of at least one software defined network (SDN) switch.

[0161] The processing unit 1002 is used to determine at least one candidate set based on the set of deployable locations and the number of deployable locations of each link, where the candidate set includes at least one candidate deployment location, and the SDN switch at the at least one candidate deployment location can resolve the link failure of each link in the target network.

[0162] The processing unit 1002 is further configured to determine the reliability of each candidate set according to the at least one candidate set and the deployable location set of each link.

[0163] The processing unit 1002 is further configured to determine a target deployment location of the SDN switch in the target network based on the candidate set with the highest reliability.

[0164] Of course, the SDN switch deployment device 1000 includes but is not limited to the unit modules listed above. Furthermore, the specific functions that can be implemented by the above functional units also include but are not limited to the functions corresponding to the method steps of the above embodiments. The detailed description of other modules of the SDN switch deployment device 1000 can refer to the detailed description of the corresponding method steps, and will not be repeated here in the present embodiment.

[0165] In an exemplary embodiment, the present application also provides an electronic device. Figure 11 This is a schematic diagram of the structure of the electronic device provided in the embodiment of the present application. Figure 11 As shown, the electronic device may include: a processor 1101 and a memory 1102; the memory 1102 stores instructions executable by the processor 1101; when the processor 1101 is configured to execute the instructions, the electronic device implements the method described in the aforementioned method embodiment.

[0166] In an exemplary embodiment, the present application also provides a computer-readable storage medium having computer program instructions stored thereon; when the computer program instructions are executed by an electronic device, the electronic device implements the method described in the aforementioned embodiment. The computer-readable storage medium can be a non-transitory computer-readable storage medium, for example, a ROM, a random access memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, or the like.

[0167] The above is only a specific embodiment of the present application, but the scope of protection of the present application is not limited thereto. Any changes or replacements within the technical scope disclosed in the present application should be included in the scope of protection of the present application. Therefore, the scope of protection of the present application should be based on the scope of protection of the claims.

Claims

1. A method for deploying an SDN switch, characterized in that: The method comprises: Obtaining a set of deployable locations for each link in the target network, wherein the set of deployable locations includes a deployable location of at least one software-defined network (SDN) switch; Determining at least one candidate set based on the deployable location set and the number of deployable locations for each link, wherein the candidate set includes at least one candidate deployment location, and an SDN switch at the at least one candidate deployment location can resolve link failures of each link in the target network; Determining the reliability of each candidate set according to the at least one candidate set and the deployable location set of each link; Based on the candidate set with the highest reliability, a target deployment position of the SDN switch in the target network is determined.

2. The method according to claim 1, characterized in that The determining, according to the position sets of the respective links and the number of positions in the position sets, at least one candidate set includes: Dividing the links in the target network into a plurality of link groups according to the number of positions, wherein each link group includes at least one link with the same number of positions; Determine a first position set based on the position sets of each link in the first link group and the position sets of each link group whose number of positions is smaller than that of the first link group; If the first position set meets a preset condition, the first position set is determined as the candidate set, wherein the position set meeting the preset condition has an intersection with the position sets of each link.

3. The method according to claim 2, characterized in that The determining the first position set according to the position set of each link in the first link group and the position sets of each link group whose number of positions is smaller than that of the first link group includes: Determining, based on a set of locations of each link in the first link group, a first subset corresponding to the first link group, wherein an SDN switch at at least one deployable location in the first subset can cover link failures of each link in the first link group; The first location set is determined based on the respective subsets corresponding to other link groups whose number of locations is smaller than that of the first link group and the first subset, and the SDN switch at at least one deployable location in the first location set is capable of covering link failures of the first link group and each link in the other link groups.

4. The method according to claim 2, characterized in that The method further comprises: If the first position set does not meet the preset condition, obtaining a position set of each link in a second link group; wherein the number of positions of links in the second link group is greater than that in the first link group; determining a second position set based on the position sets of the links in the second link group and the position sets of the other link groups whose number of positions is smaller than that of the second link group; If the second position set meets the preset condition, the second position set is determined as the candidate set.

5. The method according to any one of claims 1 to 4, characterized in that The method further comprises: Obtaining a first parameter and a second parameter for each deployable location in the first link, where the first parameter is an average length of a path affected when the first link fails, and the second parameter is an average utilization rate of a path to at least one affected destination when the first link fails; A first target deployment location of the first link is determined according to the first parameters and the second parameters of the respective deployable locations.

6. The method according to claim 5, characterized in that The determining, based on the first parameter and the second parameter of each deployable location, the first target deployment location of the first link includes: determining, based on the first and second parameters of each deployable location, a third parameter for each deployable location, wherein the third parameter is used to characterize the reliability of the deployed SDN switch at the deployable location when the first link fails; The deployable position where the third parameter is maximum is determined as the first target deployment position.

7. The method according to claim 5 or 6, characterized in that The first parameter satisfies the following relationship: in, is the first parameter; e is the first link; i is an SDN switch capable of resolving the link failure of the first link; j is the affected destination when the first link fails; m is the number of affected destinations when the first link fails; It is the length of a path to the affected destination through the SDN switch capable of resolving the link failure of the first link when the first link fails.

8. The method according to claim 5 or 6, characterized in that The second parameter satisfies the following relationship: in, is the second parameter; e is the first link; i is an SDN switch capable of resolving the link failure of the first link; j is the affected destination when the first link fails; m is the number of affected destinations when the first link fails; It is the minimum path utilization rate for reaching the affected destination through the SDN switch capable of resolving the link failure of the first link when the first link fails.

9. An SDN switch deployment device, characterized in that: The device comprises: A receiving unit, configured to obtain a set of deployable locations for each link in a target network, wherein the set of deployable locations includes a deployable location of at least one software-defined network (SDN) switch; a processing unit, configured to determine, based on the deployable location set and the number of deployable locations for each link, at least one candidate set, wherein the candidate set includes at least one candidate deployment location, and an SDN switch at the at least one candidate deployment location is capable of resolving link failures of each link in the target network; The processing unit is further configured to determine the reliability of each candidate set based on the at least one candidate set and the deployable location set of each link; The processing unit is further configured to determine a target deployment position of the SDN switch in the target network based on the candidate set with the highest reliability.

10. The device according to claim 9, characterized in that The processing unit is specifically used to: Dividing the links in the target network into a plurality of link groups according to the number of positions, wherein each link group includes at least one link with the same number of positions; Determine a first position set based on the position sets of each link in the first link group and the position sets of each link group whose number of positions is smaller than that of the first link group; If the first position set meets a preset condition, the first position set is determined as the candidate set, wherein the position set meeting the preset condition has an intersection with the position sets of each link.

11. The device according to claim 10, characterized in that The processing unit is specifically configured to: Determining, based on a set of locations of each link in the first link group, a first subset corresponding to the first link group, wherein an SDN switch at at least one deployable location in the first subset can cover link failures of each link in the first link group; The first location set is determined based on the respective subsets corresponding to other link groups whose number of locations is smaller than that of the first link group and the first subset, and the SDN switch at at least one deployable location in the first location set is capable of covering link failures of the first link group and each link in the other link groups.

12. The device according to claim 10, characterized in that The processing unit is specifically configured to: If the first position set does not meet the preset condition, obtaining a position set of each link in a second link group; wherein the number of positions of links in the second link group is greater than that in the first link group; determining a second position set based on the position sets of the links in the second link group and the position sets of the other link groups whose number of positions is smaller than that of the second link group; If the second position set meets the preset condition, the second position set is determined as the candidate set.

13. The device according to any one of claims 9 to 12, characterized in that The processing unit is further configured to: Obtaining a first parameter and a second parameter for each deployable location in the first link, where the first parameter is an average length of a path affected when the first link fails, and the second parameter is an average utilization rate of a path to at least one affected destination when the first link fails; A first target deployment location of the first link is determined according to the first parameters and the second parameters of the respective deployable locations.

14. The device according to claim 13, characterized in that The processing unit is specifically configured to: determining, based on the first and second parameters of each deployable location, a third parameter for each deployable location, wherein the third parameter is used to characterize the reliability of the deployed SDN switch at the deployable location when the first link fails; The deployable position where the third parameter is maximum is determined as the first target deployment position.

15. An electronic device, characterized in that: The electronic device includes: a processor and a memory; The memory stores instructions executable by the processor; When the processor is configured to execute the instructions, the electronic device implements the method according to any one of claims 1 to 8.

16. A computer-readable storage medium, characterized in that The computer-readable storage medium includes: computer software instructions; When the computer software instructions are executed in an electronic device, the electronic device is enabled to implement the method according to any one of claims 1 to 8.

Citation Information

Patent Citations

  • Method and equipment for determining controller position in SDN network

    CN105704192A

  • SDN controller deployment method based on network cost optimization

    CN111770515A