SDN data plane fault recovery method and system based on bionic optimization and weighted multipath protocol
By using bionic optimization and weighted multipath protocols in SDN networks, combined with IPv6 flow labels and an improved raccoon optimization algorithm, the TCAM overflow and invalid path problems in fault recovery in SDN networks are solved, achieving fast, global fault recovery and load balancing, meeting carrier-grade requirements.
Patent Information
- Application Number
- CN202411090270.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-09
- Publication Date
- 2025-09-16
- Estimated Expiration
- 2044-08-09
AI Technical Summary
Existing SDN networks have problems with TCAM flow table rule overflow, high controller computing pressure, limited switch storage capacity, and invalid failover paths during fault recovery, resulting in long fault recovery time and the inability to globally optimize.
A method based on bionic optimization and weighted multipath protocol is adopted. Through IPv6 flow label aggregation and Markov chain probability model, forwarding weight is assigned to each flow. Combined with the improved Raccoon optimization algorithm, two-stage optimization is implemented to quickly adjust weights to achieve load balancing and fault recovery.
It achieves fast and global fault recovery, reduces the impact of traffic forwarding, improves link bandwidth utilization, avoids additional congestion, and meets carrier-grade reliability requirements.
Smart Images

Figure CN118972315B_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the field of communication technology, and mainly relates to an SDN data plane fault recovery method and system based on bionic optimization and weighted multipath protocol. Background Art
[0002] Software-defined networking (SDN) is a new network architecture that allows networks to be defined and controlled through software programming. It features a separation of the control and forwarding planes and is open and programmable. It is considered a revolution in the networking field. SDN provides a new experimental avenue for research on new internet architectures and significantly promotes the development of the next-generation internet.
[0003] In traditional networks, fault recovery is typically achieved through redundancy, fast-converging routing protocols, and protocols like HSRP and VRRP. However, in the new landscape of SDN, addressing fault recovery presents several challenges: 1. TCAM (ternary content addressable memory) is limited, and excessive flow table rules can lead to overflow; 2. The controller may face significant computational pressure when calculating backup paths for all flows; and 3. Communication costs between the controller and switches also need to be considered. Currently, SDN fault recovery is primarily categorized as reactive and proactive. Reactive recovery involves notifying the controller when a switch detects a fault, and the controller then re-issues the flow table based on the current network topology to ensure normal communication. Proactive recovery involves pre-configuring a backup path. When the primary path fails, data flows automatically switch to the backup path with minimal controller involvement.
[0004] To achieve carrier-grade reliability requirements—failure recovery times under 50ms—current solutions typically rely on proactive recovery. However, pre-calculated backup paths can lead to additional congestion for specific traffic flows and fail to account for global impact. Furthermore, switches have limited capacity for storing flow entries, making it difficult to guarantee the quality of primary and backup paths. Furthermore, when data flows switch from the primary to the backup path, many invalid paths often remain. Summary of the Invention
[0005] The present invention addresses the problem that existing technologies cannot efficiently, quickly, and globally recover from faults in traditional networks. It provides an SDN data plane fault recovery method and system based on bionic optimization and a weighted multipath protocol. Traffic is aggregated using the IPv6 flow label field, and a flow label is assigned to each aggregated flow. By using a weighted multipath protocol based on a Markov chain probability model, aggregated flows can be load balanced based on weights to respond to network changes. A two-stage bionic optimization algorithm is implemented in the controller: the first stage is an exploration stage, searching for the global optimum, and the second stage is an development stage, avoiding the local optimum. Optimization is initiated when the network changes, and is paused and flow tables are issued when the network stabilizes. The improved Raccoon optimization algorithm is used to efficiently solve for optimal weights. Existing weights are iterated when the network changes or faults occur, and after convergence, new flow table rules are paused and issued, achieving adaptive and rapid fault recovery.
[0006] To achieve the above objectives, the present invention adopts a technical solution: an SDN data plane fault recovery method based on bionic optimization and weighted multipath protocol, comprising the following steps:
[0007] S1. Obtaining global topology: The controller obtains the global network topology through the Link Layer Discovery Protocol (LLDP).
[0008] S2, flow aggregation: Use the IPv6 flow label field to aggregate traffic and assign a flow label to each aggregated flow;
[0009] S3, Weight Allocation: Based on the inbound and outbound switches and network topology of the aggregated flows, a set of forwarding weights is assigned to the aggregated flows. The weights represent the probability that the flow will be forwarded to the corresponding port on each switch. Through flow aggregation in S2 and weight allocation in S3, each flow will be forwarded along multiple paths according to a Markov chain probability model, each with its own weight. We call this set of forwarding rules a "weighted multipath protocol."
[0010] S4. Weight update: Based on the improved raccoon optimization algorithm, the global health value of the network is optimized to obtain the optimal weight. The specific steps include the following:
[0011] S41, initialization phase: Initialize the weight set to vector W, establish a population with a population size of N, and initialize the maximum number of iterations T;
[0012] S42, exploration phase: update weights and search for global optimum;
[0013] S43, development stage: the population randomly jumps around the original location and jumps out of the local optimum;
[0014] The weight update includes two stages: exploration and development. The exploration stage searches for the global optimum, while the development stage jumps out of the local optimum.
[0015] S5, iterative convergence: repeat step S4, when the network global health value S best If the value is basically unchanged, it is considered converged and the iteration is suspended;
[0016] S6, send flow table rules: the corresponding weight W best The command is sent to the switch to guide the switch to divert traffic.
[0017] As an improvement of the present invention, step S2 specifically includes the following steps:
[0018] S21: Encode the edge switch connected to the host using an auto-increment rule, with a coding length of 10 bits.
[0019] S22: For each flow, parse the switch encoding ID of its entry / exit network in and ID out ;
[0020] S23: Assign a flow label label = ID to the flow in ||ID out .
[0021] As another improvement of the present invention, the exploration phase in step S42 specifically includes the following steps:
[0022] S421: Split the population created in step S41 into two, and update the weight of one half of the population according to the following formula:
[0023]
[0024] in, represents the i-th agent in the population, represents the jth weight of the i-th agent in the population, P1 represents the exploration phase, W best Represents the current optimal weight set, and the range of i is the first half of the population, that is, The range of j is the length of the weight vector;
[0025] S422: For the other half of the population, move randomly according to the following formula:
[0026] Direc:Direc j =rand(0,1)
[0027] Among them, Direc j Indicates the moving direction of the jth element;
[0028] Then update the weights according to the following rules:
[0029]
[0030] Among them S i represents the score of the i-th element, that is, the network health value under this weight;
[0031] S423: For all individuals in the population, update the weights according to the following rules:
[0032]
[0033] As another improvement of the present invention, the step S43 development phase specifically includes the following steps:
[0034] S431: All individuals in the population follow Make a jump, among which represents the i-th agent in the population, represents the jth weight of the i-th agent in the population, P2 represents the development stage, and ub j =1 / t represents the upper bound of the random number, which is determined by t, where t represents the number of rounds since the last pause;
[0035] S432: Update weights during the development phase:
[0036]
[0037] S433: Select the individual with the highest score at present and record its weight value in W best , the score is recorded as S best . In order to achieve the above purpose, the present invention also adopts a technical solution: an SDN data plane fault recovery system based on bionic optimization and weighted multipath protocol, including a computer program, which implements the steps of any of the above methods when executed by a processor.
[0038] Compared with the existing technology, the present invention has the following beneficial effects: the present invention designs a weighted multi-path protocol that enables switches to load balance traffic, thereby bringing three benefits: first, the probability of the impact of failures on traffic forwarding is reduced; second, the traffic can be diverted by adjusting the weights to bypass faulty links or nodes; and third, the forwarding of the network is globally adjusted to achieve global QoS. The present invention optimizes weights through an improved raccoon algorithm. This two-stage optimization algorithm facilitates rapid online updates of weights and achieves extremely fast convergence speed at minimal computational cost. The present invention aggregates flows through IPv6 flow labels, distributing the same flow labels to flows with the same ingress and egress switches, thereby achieving the goal of reducing the number of flow tables and computational complexity. BRIEF DESCRIPTION OF THE DRAWINGS
[0039] Figure 1 This is a flowchart of the steps of the SDN data plane fault recovery method based on bionic optimization and weighted multipath protocol of the present invention;
[0040] Figure 2 Schematic diagram of the SDN network topology structure in Example 2 of the present invention;
[0041] Figure 3 This is a schematic diagram of SDN fault recovery in Example 3 of the present invention. DETAILED DESCRIPTION
[0042] The present invention will be further described below with reference to the accompanying drawings and specific embodiments. It should be understood that the following specific embodiments are only used to illustrate the present invention and are not used to limit the scope of the present invention.
[0043] Example 1
[0044] SDN data plane fault recovery method based on bionic optimization and weighted multipath protocol, such as Figure 1 As shown, the following steps are included:
[0045] S1. Obtaining global topology: The controller obtains the global network topology through the Link Layer Discovery Protocol (LLDP).
[0046] S2, Flow Aggregation: Aggregate traffic using the IPv6 flow label field and assign a flow label to each aggregated flow. This mainly includes the following steps:
[0047] S21. Encode the edge switch connected to the host using an auto-increment rule, with an encoding length of 10 bits.
[0048] S22. For each flow, parse the switch encoding ID of its entry / exit network in and ID out ;
[0049] S23. Allocate a flow label label = ID to the flow in ||ID out .
[0050] S3, weight allocation: According to the inbound and outbound switches and network topology of the aggregated flow, a set of forwarding weights, W, is allocated to the aggregated flow. f ={w0,w1,…,w m}, represents the probability that the flow will be forwarded to the corresponding port when passing through each switch. Through flow aggregation in S2 and weight distribution in S3, each flow will be forwarded along multiple paths according to the Markov chain probability model, and each path has a weight. We call this set of forwarding rules the "weighted multipath protocol."
[0051] S4. Weight update: Based on the improved raccoon optimization algorithm, the global health value of the network is optimized. The link health value can be expressed as H l =1 / U l 1 / D l , where U l represents bandwidth utilization, D l represents the link delay, and the global health value can be expressed as This step can be divided into two phases: exploration and development:
[0052] S41. Initialization phase: Initialize the weight set to a vector W, establish a population, the size of the population is N, which is a specified parameter, initialize a maximum number of iterations T, and stop iteration after T rounds of convergence.
[0053] S42, exploration phase: Split the population into two, perform the following steps respectively, and search for the optimal weight globally. P1 represents the population in the first stage, and represents the i-th agent in the population, and Represents the jth weight of the i-th agent in the population:
[0054] S421. Update the weight of this half of the population according to the following formula:
[0055]
[0056] Where W best Represents the current optimal weight set, i is the range of the first half of the population, that is The range of j is the length of the weight vector;
[0057] S422. For the other half of the population, they need to move randomly according to the following rules:
[0058] Direc:Direc j =rand(0,1)
[0059] Direct j represents the moving direction of the jth element, where the range of j is the length of the weight vector;
[0060] Then update the weights according to the following rules:
[0061]
[0062] Among them S i represents the score of the i-th element, that is, the network health value under this weight;
[0063] S423. For all individuals in the population, update the weights according to the following rules:
[0064]
[0065] S43. Exploitation Phase: The population needs to randomly jump around its original location. This helps it quickly escape from the local optimal solution and respond quickly to network failures without having to reconverge from a random state. The symbol definitions in the following formulas remain consistent with those in the exploration phase.
[0066] S431, according to Make a jump, where ub j =1 / t, where t represents the number of rounds counted from the last pause;
[0067] S432. Update weights during the development phase:
[0068]
[0069] S433. Select the individual with the highest score at present and record its weight value in W best , the score is recorded as S best .
[0070] S5, repeat S4, when S is executed T times in a row best If the value is basically unchanged, it is considered to have converged and the iteration is suspended.
[0071] S6. Set the corresponding weight W best It is sent to the switch to guide the switch to divert traffic; when a network failure occurs, starting from the development stage of step S43, steps S42 and S43 are repeated until the next convergence, and the flow table rules are sent again.
[0072] Example 2
[0073] See Figure 2 The present invention provides an SDN data plane fault recovery method based on bionic optimization and weighted multipath protocol. It should be noted that this method takes several flows as an example, and other flows are similar. The method includes the following contents:
[0074] S1. The controller obtains the global network topology through the Link Layer Discovery Protocol (LLDP), assigns the corresponding switch ID, and discovers the corresponding link;
[0075] S2. Assign a flow label to each flow, label = ID in ||ID out , where ID in and ID outThe number of the switch that flows into or out of the network. For example, if the number of switch S0 is 0000000001 and the number of switch S3 is 0000000100, the flow from switch S0 to switch S3 has a flow label of "00000000010000000100";
[0076] S3, assign weights to the aggregated flows from switch S0 to switch S3, W 0-3 ={w1,w2,w3}. As shown in the figure, assuming w1=w2=w3=1, the aggregated flow will be transmitted along L0->L1->L5. If w3 becomes 0.5, half of the flow will be transmitted along L0->L1->L6->L4, and the other half will still be transmitted along L0->L1->L5. Assuming that there are other flows in the network, they are respectively from switch S1 to switch S4, from switch S0 to switch S4, and from switch S1 to switch S3. Then, according to the same rule, the corresponding weights are assigned to them, and the global weight set W = {w1,w2,…,w 12};
[0077] S4. During the optimization process, we calculate an optimal network health value through the corresponding formula. It is related to the overall bandwidth utilization and latency. We need to maximize the health value through optimization. First, we set the population size N = 30 and let 30 individuals initialize W respectively. For example, the first individual's Update weights in two steps until convergence.
[0078] S5. After obtaining the converged weights, the corresponding flow table rules issued to switch S0 can be expressed as follows:
[0079] Flow table rule 1:
[0080] Match Fields:
[0081] - Ingress port is 0
[0082] -IPv6 flow label field is 00000000010000000010
[0083] Actions:
[0084] - Output to port 1
[0085] Priority:2
[0086] Flow table rule 2:
[0087] Match Fields:
[0088] - Ingress port is 0
[0089] -IPv6 flow label field is 00000000010000000010
[0090] Actions:
[0091] - Output to port 2
[0092] Priority: 1
[0093] S6. When a network failure occurs, the optimization process is restarted and the corresponding flow table is modified after convergence;
[0094] Example 3
[0095] See Figure 3 The present invention provides an SDN data plane fault recovery method based on bionic optimization and weighted multipath protocol. Example 3 takes a certain flow as an example to introduce the weighted multipath protocol. The method includes the following contents:
[0096] S1. The controller obtains the global network topology through the Link Layer Discovery Protocol (LLDP), assigns the corresponding switch ID, and discovers the corresponding link;
[0097] S2. The controller assigns a flow label "00000000010000000011" to a flow from switch S0 to switch S3.
[0098] S3, assign weights to the aggregated flows from switch S0 to switch S3, W 0-3 ={w0,w1,w2};
[0099] S4. During the optimization process, this method maximizes the network health value (which is related to overall bandwidth utilization and latency) using the method described in the specification, updates the weights in two steps until convergence, and issues the corresponding flow table rules.
[0100] S5. In this embodiment, after any number of convergences, the flow from S0 to S3 will be forwarded along the green link {L0->L1->L5} with a probability of w0×w1×w2, and forwarded along the link {L7->L5} with a probability of (1-w0)×w2, and so on. The same applies to other links.
[0101] S6. For example, when w0=w1=w2=1, the flows listed in this embodiment will be completely in accordance with Figure 3The green link, {L0->L1->L5}, is forwarding traffic. When a network failure occurs, such as severe congestion or a short circuit on the L3 and L5 links, the bionic optimization algorithm adjusts the weights in the weighted multipath protocol until convergence, helping the network recover. Because L3 and L5 are faulty or severely congested, while L7, L6, and L4 are more efficient, the weights eventually converge to w0 = w2 = 0. At this point, the flow in this example will be forwarded along the {L7->L6->L4} link with 100% probability. Once L5 regains its transmission capacity, the algorithm will adjust the weights again, ensuring load balancing across the {L0->L1->L5} and {L7->L6->L4} links.
[0102] In summary, the present invention provides an efficient data plane protection method that can be deployed in an SDN network. When the optimization parameters are appropriate and network resources are redundant, this method can quickly find the optimal weight combination for the network, dynamically adjust the network steady state, and respond to failures. Compared with traditional responsive and proactive fault recovery mechanisms, this method is based on an equivalent multi-path protocol and a bionic optimization algorithm. It iterates while forwarding, greatly improving the utilization of link bandwidth. In addition, in the event of extreme network congestion, the diversion of traffic to resolve certain faults will not be at the expense of other links. It is a global optimization mechanism that can achieve network load balancing. It meets telecommunications-grade fault recovery requirements.
[0103] It should be noted that the above content merely illustrates the technical idea of the present invention and cannot be used to limit the scope of protection of the present invention. For ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principles of the present invention. These improvements and modifications all fall within the scope of protection of the claims of the present invention.
Claims
1. An SDN data plane fault recovery method based on bionic optimization and weighted multipath protocol, characterized by , including the following steps: S1. Obtaining the global topology: The controller obtains the global network topology through the Link Layer Discovery Protocol (LLDP). S2, flow aggregation: Use the IPv6 flow label field to aggregate traffic and assign a flow label to each aggregated flow; S3. Weight Assignment: Based on the inbound and outbound switches and network topology, a set of forwarding weights is assigned to the aggregated flows. The weights represent the probability that the flow will be forwarded to the corresponding port on each switch. Each aggregated flow follows multiple forwarding paths according to the Markov chain probability model. S4. Weight update: Based on the improved raccoon optimization algorithm, the global health value of the network is optimized to obtain the optimal weight. The specific steps include the following: S41, initialization stage: initialize the weight set to vector , establish a population, the size of the population is , initialize the maximum number of iterations ; S42, exploration phase: update weights and search for global optimum; S43, development phase: The population randomly jumps around the original location to jump out of the local optimum; the weight update includes two phases: exploration and development. The exploration phase searches for the global optimum, and the development phase jumps out of the local optimum; S5, iterative convergence: repeat step S4, when continuous The global health value of the network in this execution If the value is basically unchanged, it is considered converged and the iteration is suspended; S6. Send flow table rules: set the corresponding weight The command is sent to the switch to guide the switch to divert traffic.
2. The SDN data plane fault recovery method based on bionic optimization and weighted multipath protocol according to claim 1, characterized in that: The step S2 specifically includes the following steps: S21: Use the auto-increment rule to encode the edge switch connected to the host. The encoding length is 10 bits. S22: For each flow, parse its switch encoding in / out of the network and ; S23; Assign a flow label to a flow .
3. The SDN data plane fault recovery method based on bionic optimization and weighted multipath protocol according to claim 2, characterized in that: The exploration phase in step S42 specifically includes the following steps: S421: Split the population created in step S41 into two, and update the weight of one half of the population according to the following formula: ; in, Indicates the first agents, Indicates the first The first weights, P1 represents the exploration stage, represents the current optimal weight set, The range is the first half of the population, i.e. , The range of is the length of the weight vector; S422: For the other half of the population, move randomly according to the following formula: ; in, Indicates the The direction of movement of the element; Then update the weights according to the following rules: ; in Indicates the The score of each element, that is, the network health value under this weight; S423: For all individuals in the population, update the weights according to the following rules: 。 4. The SDN data plane fault recovery method based on bionic optimization and weighted multipath protocol according to claim 3, characterized in that: The development phase of step S43 specifically includes the following steps: S431: All individuals in the population follow Perform a jump, where Indicates the population agents, Indicates the first The first weights, P2 represents the development stage, Indicates the upper bound of the random number, determined by t, Indicates the number of rounds that have passed since the last pause; S432: Update weights during development: ; S433: Select the individual with the highest score at present and record its weight value in , the score is recorded as .
5. An SDN data plane fault recovery system based on bionic optimization and weighted multipath protocol, comprising a computer program, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 4 are implemented.