A self-healing method for SDN data plane based on bionic mechanism

By adopting a method of combining improved genetic algorithms and MPLS tags in the SDN network, the problem of path generation quality and switching efficiency during failure recovery is solved, and fast and efficient failure recovery is achieved, meeting the reliability requirements of the telecommunications level.

CN116016314BActive Publication Date: 2025-06-06SOUTHEAST UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211722148.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-12-30
Publication Date
2025-06-06
Estimated Expiration
2042-12-30

AI Technical Summary

Technical Problem

When the data plane failure recovery of existing SDN networks, the generation quality of the main/backup paths is difficult to guarantee, and there are a large number of invalid paths during data flow switching, resulting in a long network recovery time and it is difficult to meet the reliability requirements of the telecommunications level.

Method used

The improved genetic algorithm based on the bionic mechanism is adopted to efficiently solve the main/backup path and bind it to the MPLS tag. Automatic path switching is achieved through flow table rule configuration, and only limited backtracking is performed for failure recovery.

Benefits of technology

It realizes fast response and efficient recovery, reduces unnecessary loops in the network, improves bandwidth utilization, and meets the telecommunications-level failure recovery time requirements.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116016314B_ABST
    Figure CN116016314B_ABST
Patent Text Reader

Abstract

The present invention relates to a SDN data plane self-healing method based on a bionic mechanism, belonging to the field of communication technology. The solution solves the problem that fault recovery cannot be performed efficiently and quickly in traditional networks. The present invention is based on the human genetic mechanism and uses an improved genetic algorithm to calculate the primary / backup path; then, by utilizing the Fast Failover group table rule characteristics, a set of flow table rules are designed by imitating human blood vessels, so that the method can achieve network self-healing without the controller participating in fault recovery. The present invention is an efficient data plane protection method that can be deployed in an SDN network.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention relates to a method, in particular to an SDN data plane self-healing method based on a bionic mechanism, and belongs to the technical field of communications. Background Art

[0002] Software Defined Networking (SDN) is a new type of network architecture. It is based on the idea of ​​layering and divides the network into a control plane and a data plane. The centralized controller acts as the control center and sends flow tables to the surrounding switches. It uses the SDN Control Data Plane Interface (CDPI) to achieve communication between the two planes. Since SDN has a highly open interface and programmability, it makes the entire network more intelligent and scalable, becoming one of the most promising network technologies today.

[0003] Ensuring reliable communication on the data plane has become a major focus of SDN network stability. When the data plane encounters a fault, it should have a certain degree of self-healing ability, and data plane fault recovery has also become an urgent problem to be solved. Faults are generally divided into link failures and switch node failures. Node failures can be equivalent to multiple link failures. Faults will cause data packet loss, and if the processing method is not complete, it will even cause network flooding. At this stage, SDN fault recovery is mainly divided into reactive recovery and proactive recovery. Reactive recovery is to notify the controller when the switch detects a fault, and the controller re-issues the flow table according to the current network topology to ensure normal communication. Active recovery will configure a backup path in advance. When the main path fails, the data flow will automatically switch to the backup path without the participation of the controller.

[0004] In order to achieve the requirements of telecommunications-grade reliability, that is, the fault recovery time is within 50ms, the current solution basically adopts active recovery, but the ability of the switch to store flow table entries is limited, the quality of the generation of the primary / backup path is difficult to guarantee, and there are often a large number of invalid paths when the data flow switches from the primary path to the backup path. Therefore, based on the above problems, it is necessary to propose a method for effectively generating backup paths and design a reasonable data plane fault recovery solution; this method refers to the genetic mechanism of the human body and the circulation mechanism of blood. The genetic cross-variation of biological genes is very suitable for the search of path solution space, and the partial reflux mechanism of blood encountering blood vessel obstruction can also fit the processing method of data flow in SDN when it encounters a fault; this method draws on this feature to design and improve the genetic algorithm and complete the flow table rule design, use Multi-Protocol Label Switching (MPLS) to label the path, and use the Fast Failover group table to quickly recover the fault in the data plane. Summary of the invention

[0005] The present invention aims at the problems existing in the prior art and provides an SDN data plane self-healing method based on a bionic mechanism. The technical solution solves the above problems existing in the prior art by using an improved genetic algorithm to efficiently solve the primary / backup path, binding a unique MPLS label to each path, and configuring a series of flow table rules to achieve switching of the primary / backup path based on MPLS. When switching the path, only limited backtracking is required, and there is no need to completely backtrack to the starting switch for re-forwarding. When the primary / backup path fails at the same time, the message will be forwarded to the controller to reconfigure the switch flow table forwarding rules to avoid the occurrence of deadlock.

[0006] In order to achieve the above object, the technical solution of the present invention is as follows: a SDN data plane self-healing method based on a bionic mechanism, comprising the following steps:

[0007] S1. The controller obtains the global network topology through the Link Layer Discovery Protocol (LLDP);

[0008] S2. Using an improved genetic algorithm to obtain the primary / backup path PathSet from the source address to the destination address of this method, which mainly includes the following steps:

[0009] S21, encoding the topological nodes using the priority;

[0010] S22, generate the first generation population, decode and accumulate the link weights weight to calculate the fitness fit;

[0011] fit=∑weight i

[0012] The decoding method is as follows:

[0013] S221, generate and node v i The adjacent node set S of (i=1, 2, ..., n) i , initialize the path to path = {v 0}, the current node is initialized to v 0 , the target node is set to v tar ;

[0014] S222, from the current node v i Starting from the adjacent node set S of the current node i Select the node v with the highest priority j , and the node v j The priority is set to -1. If the highest priority is -1, it returns empty, indicating that the node is unreachable;

[0015] S223, when v i ≠v i When , repeat step S222,

[0016] S23, adopting the breeding strategy of tournament selection to expand the path search range and ensure the diversity of paths;

[0017] S24, the crossover method uses ordered crossover to ensure gene inheritance while expanding the search range of the solution space;

[0018] S25, the mutation method uses random mutation to jump out of the local optimal solution;

[0019] S26, according to the generated offspring, select the path generated by the high-quality offspring to add to the candidate path, and increase the weight of all links passed by the path by 20%, so as to reduce the subsequent offspring passing through the link again, so that the links finally generated are as disjoint as possible but optimal;

[0020] S27, after multiple iterations, determine whether the number of generated candidate paths has changed or has reached the upper limit of the number of iterations, end the loop, and select the first k paths with the smallest weights as the primary / backup paths;

[0021] S3. Bind an MPLS label to each primary / backup path generated by the improved genetic algorithm. The label number of the forward path is an odd number, and the label number of the reverse path is an even number, which is the number of the forward path plus one.

[0022] S4, traverse all primary / backup paths, the controller designs and sends corresponding flow tables for the switches on the paths, and uses the Fast Failover group table to implement limited backtracking fault recovery;

[0023] For the path initial switch, configure the flow table rules as follows:

[0024] If the port to the next hop of the primary path is normal, the traffic is pushed into the MPLS corresponding to the primary path and forwarded to the port;

[0025] If it is abnormal, determine whether the port sent to the next hop of the backup path is normal. If it is normal, push the MPLS corresponding to the backup path and forward the flow to the port. If there are multiple backup paths, the same applies.

[0026] For the switches in the middle of the path, configure the flow table rules as follows:

[0027] Match the MPLS label in the packet header and forward it to the port of the next hop on the path. If the port fails, select a path with a later index than the current one from the PathSet generated in S2 and the path does not contain the currently failed link. Pop the original MPLS header of the packet, push the MPLS label corresponding to the path, and forward it to the corresponding port. If the path does not exist, discard the packet and request the controller to reconfigure the global topology.

[0028] Configure a low-priority rule. If an MPLS message is matched but there is no corresponding forwarding rule, the message is forwarded to the previous hop of the current path to implement backtracking.

[0029] For the switch at the end of the path, the configuration rules are:

[0030] Match the destination address and forward to the destination;

[0031] S5: When a fault occurs, if the primary path is normal or the backup path has recovered from the fault, the controller does not need to be involved. If it is still unreachable, the switch will inform the controller to reconfigure the primary / backup path, that is, return to S1.

[0032] Compared with the prior art, the present invention has the following advantages: by pre-calculating the primary / backup paths and binding them to MPLS labels, the present invention reasonably configures the path switches, and utilizes the FastFailover group table mechanism to quickly respond to and recover from faults, so that the network topology has good link stretchability and self-healing capabilities to meet telecommunications-level reliability requirements. When traffic encounters a fault, it only needs limited backtracking to be forwarded normally, reducing the occurrence of unnecessary loops in communications and improving bandwidth utilization. The active fault recovery method eliminates the need for controller involvement when the switch encounters a fault, greatly reducing fault recovery events. Compared with other methods, this method configures fewer flow tables for backup paths and plays a role in flow aggregation for messages with shared start and end points. BRIEF DESCRIPTION OF THE DRAWINGS

[0033] Figure 1A schematic diagram of a flow chart of a SDN data plane self-healing method based on bionic principles provided by the present invention.

[0034] Figure 2 A schematic flow chart of an improved genetic algorithm provided by the present invention.

[0035] Figure 3 This is a schematic diagram of the SDN network topology structure according to an embodiment of the present invention.

[0036] Figure 4 This is a schematic diagram of SDN link failure self-healing according to an embodiment of the present invention. DETAILED DESCRIPTION

[0037] In order to deepen the understanding of the present invention, the present embodiment is described in detail below with reference to the accompanying drawings.

[0038] Example 1: See Figure 1-Figure 4 , a SDN data plane self-healing method based on a bionic mechanism, comprising the following steps:

[0039] S1. The controller obtains the global network topology through the Link Layer Discovery Protocol (LLDP);

[0040] S2. Using an improved genetic algorithm to obtain the primary / backup path PathSet from the source address to the destination address of this method, which mainly includes the following steps:

[0041] S21, encoding the topological nodes using the priority;

[0042] S22, generate the first generation population, decode and accumulate the link weights weight to calculate the fitness fit;

[0043] fit=∑weight i

[0044] The decoding method is as follows:

[0045] S221, generate and node v i The adjacent node set S of (i=1, 2, ..., n) i , initialize the path to path = {v 0}, the current node is initialized to v 0 , the target node is set to v tar ;

[0046] S222, from the current node v i Starting from the adjacent node set S of the current node i Select the node v with the highest priority j , and the node v jThe priority is set to -1. If the highest priority is -1, it returns empty, indicating that the node is unreachable.

[0047] S223, when v i ≠v i When , repeat step S222,

[0048] S23, adopting the breeding strategy of tournament selection to expand the path search range and ensure the diversity of paths;

[0049] S24, the crossover method uses ordered crossover to ensure gene inheritance while expanding the search range of the solution space;

[0050] S25, the mutation method uses random mutation to jump out of the local optimal solution;

[0051] S26, according to the generated offspring, select the path generated by the high-quality offspring to add to the candidate path, and increase the weight of all links passed by the path by 20%, so as to reduce the subsequent offspring passing through the link again, so that the links finally generated are as disjoint as possible but optimal;

[0052] S27, after multiple iterations, determine whether the number of generated candidate paths has changed or has reached the upper limit of the number of iterations, end the loop, and select the first k paths with the smallest weights as the primary / backup paths;

[0053] S3. Bind an MPLS label to each primary / backup path generated by the improved genetic algorithm. The label number of the forward path is an odd number, and the label number of the reverse path is an even number, which is the number of the forward path plus one.

[0054] S4, traverse all primary / backup paths, the controller designs and sends corresponding flow tables for the switches on the paths, and uses the Fast Failover group table to implement limited backtracking fault recovery;

[0055] For the path initial switch, configure the flow table rules as follows:

[0056] If the port to the next hop of the primary path is normal, the traffic is pushed into the MPLS corresponding to the primary path and forwarded to the port;

[0057] If it is abnormal, determine whether the port sent to the next hop of the backup path is normal. If it is normal, push the MPLS corresponding to the backup path and forward the flow to the port. If there are multiple backup paths, the same applies.

[0058] For the switches in the middle of the path, configure the flow table rules as follows:

[0059] Match the MPLS label in the packet header and forward it to the port of the next hop on the path. If the port fails, select a path with a later index than the current one from the PathSet generated in S2 and the path does not contain the currently failed link. Pop the original MPLS header of the packet, push the MPLS label corresponding to the path, and forward it to the corresponding port. If the path does not exist, discard the packet and request the controller to reconfigure the global topology.

[0060] Configure a low-priority rule. If an MPLS message is matched but there is no corresponding forwarding rule, the message is forwarded to the previous hop of the current path to implement backtracking.

[0061] For the switch at the end of the path, the configuration rules are:

[0062] Match the destination address and forward to the destination;

[0063] S5: When a fault occurs, if the primary path is normal or the backup path has recovered from the fault, the controller does not need to be involved. If it is still unreachable, the switch will inform the controller to reconfigure the primary / backup path, that is, return to S1.

[0064] Example 2: See Figure 3 The present invention provides a bionic self-healing method for effectively solving SDN data plane failures. It should be noted that the method takes the outgoing link as an example, and the reverse link is the same. The method includes the following contents:

[0065] S1: Obtain the global topology through the LLDP protocol, and establish a node pair set L = {x, y}x, y∈V according to the connection relationship, where V is the global node set;

[0066] S2. Use the improved genetic algorithm to obtain the primary / backup path from the source address to the destination address of the method, which mainly includes the following steps: S21. According to the global node situation, use the priority to encode the topological nodes. There are five switches in total, which can be encoded as {1,2,3,4,5};

[0067] S22, randomly generate the first generation population, decode and calculate the fitness, take individual ind = {1, 2, 3, 4, 5} as an example, start from node h1, the only adjacent node of h1 is s1, so the path {s1} is generated, the adjacent nodes of node s1 are {s2, s3}, and their priorities are 2 and 3 respectively. Select s3 with higher priority to form a new path {s1, s3}, and so on, finally generate the path {s1, s3, s5}, accumulate the path weights, and get a fitness of 100;

[0068] S23, adopting the breeding strategy of tournament selection to expand the path search range and ensure the diversity of paths;

[0069] S24, crossover method uses ordered crossover to ensure gene inheritance while expanding the search range of the solution space. 1 ={1, 2, 3, 4, 5}, ind 2 ={3, 4, 2, 1, 5} as an example, randomly select P 1 Two gene positions, such as the third and fourth genes, generate a child, the genes in the corresponding range of the child are the same as the parent, child = {0,0,3,4,0}, remove the genes selected in the first parent from the second parent, and fill the remaining genes into the child in order, and finally the child becomes child = {2,1,3,4,5};

[0070] S25, mutation method uses random mutation to randomly change the gene order of offspring and jump out of the local optimal solution;

[0071] S26, according to the generated offspring, select the path Path={s1, s3, s5} generated by the high-quality offspring to add to the candidate path, and increase the weight of all links passed by the path by 20%, so as to reduce the subsequent offspring passing through the link again, so that the links finally generated are as disjoint as possible but optimal;

[0072] S27, after multiple iterations, determine whether the number of generated candidate paths has changed or has reached the upper limit of the number of iterations, end the loop, and finally the topology will generate three paths and The total path lengths are 80, 90, and 100 respectively;

[0073] S3, based on the primary / backup paths generated by the improved genetic algorithm, bind an MPLS label to each path. The corresponding reverse path labels are 102, 104, and 106;

[0074] S4, traverse all primary / backup paths, the controller designs and sends corresponding flow tables for the switches on the paths, and uses the FastFailover group table to implement limited backtracking fault recovery;

[0075] Taking the outbound link as an example, the flow table rule configuration of switches s1, s2, s4, and s5 on the path is described in detail:

[0076] Take switch s1 as an example. As the path start switch, it needs to push the MPLS of the path taken by the packet flow before forwarding.

[0077] By Path 1 As the primary path, the rules shown in Table 1 are configured. The Fast Failover group table is used to detect whether port2 is normal. If normal, it is pushed into MPLS and forwarded.

[0078] If it is abnormal, search and configure another suitable backup path Path 3 Therefore, it checks whether port3 is normal. If normal, it pushes it into MPLS105 and forwards it.

[0079] Considering the possibility of backtracking, you need to configure a rule that matches MPLS105 so that flows with MPLS105 as the packet header can resume normal forwarding.

[0080] s1 switch flow entry

[0081] match priority action src:00:00:00:00:00:01 default goto group 101 MPLS:105 high output:3

[0082] s1 switch Fast Failover group entry groupId:101

[0083]

[0084] Table 1

[0085] Take switch s2 as an example. As a path intermediate switch, there are two paths passing through this switch, so there are two high-priority flow table rules corresponding to these two paths respectively;

[0086] The last low-priority flow table rule matches the packet flow whose source is host h1 and has an MPLS header. This rule can be matched only when the packet header does not match the first two rules. This rule can be used to implement backtracking operations.

[0087] Taking the 101 group table of the s2 switch as an example, the group table monitors the port activity status in sequence and performs the corresponding action on the first active port hit;

[0088] The first rule is for direct forwarding if the primary path does not fail;

[0089] The second one is to switch to the backup path Path 2 The original MPLS packet header is replaced according to the rules and forwarded appropriately.

[0090] The third one is to switch to the backup path Path 3 The rules are used to replace the original MPLS message header and forward it appropriately. If the message needs to be sent from the receiving port, the switch-specific INPORT port number needs to be specified.

[0091] s2 switch flow entry

[0092]

[0093] s2 switch Fast Failover group entry groupId:101

[0094]

[0095] s2 switch Fast Failover group entry groupId:103

[0096]

[0097] Table 2

[0098] The configuration rules of switch s4 are the same as those of switch s3. They are both intermediate switches and will not be described in detail.

[0099]

[0100] s4 switch Fast Failover group entry groupId:101

[0101]

[0102] Table 3

[0103] Take switch s5 as an example. As the end switch, it only needs to configure the rule matching the destination of the packet flow for forwarding.

[0104] s5 switch flow entry

[0105] match priority action dst:00:00:00:00:00:02 high output:4

[0106] Table 4

[0107] Take the failure of link s4-s5 from h1 to h2 as an example. The packet hits the second item of rule 101 of switch s4, and the MPLS header of the packet is switched to 103 and forwarded to the receiving port, i.e. port 1.

[0108] After receiving the message, switch s2 hits the second item of the s2 switch flow table, executes the action to jump to the 103 group table of switch s2, and directly hits the first item, forwarding it to port 3, and then the message is forwarded normally;

[0109] Therefore, the original path of the message flow is s1→s2→s4→s5. When encountering the fault s4-s5, it switches to s1→s2→s4→s2→s5 without the involvement of the controller;

[0110] Compared with the traditional thorough backtracking, this method designs a set of efficient path-finding algorithms and complete flow table rules based on the bionic mechanism. It only needs limited backtracking to restore normal forwarding, which greatly improves the utilization of link bandwidth. In addition, it does not require the participation of the controller when encountering most faults, and achieves self-healing with telecommunications-level fault recovery requirements.

[0111] It should be noted that the above embodiments are not intended to limit the protection scope of the present invention, and equivalent changes or substitutions made on the basis of the above technical solutions all fall within the protection scope of the claims of the present invention.

Claims

1. A self-healing method for SDN data plane based on bionic mechanism, It is characterized in that The method comprises the following steps: S1. The controller obtains the global network topology through the Link Layer Discovery Protocol (LLDP); S2, using an improved genetic algorithm to obtain the primary / backup path PathSet from the source address to the destination address of this method, S3. Bind an MPLS label to each primary / backup path generated by the improved genetic algorithm. The label number of the forward path is an odd number, and the label number of the reverse path is an even number, which is the number of the forward path plus one. S4, traverse all primary / backup paths, the controller designs and sends corresponding flow tables for the switches on the paths, and uses the Fast Failover group table to implement limited backtracking fault recovery; S5: When a fault occurs, if the primary path is normal or the backup path has recovered from the fault, the controller does not need to be involved. If it is still unreachable, the switch will inform the controller to reconfigure the primary / backup path, that is, return to S1. Step S2 is specifically as follows: S21, encoding the topological nodes using the priority; S22, generate the first generation population, decode and accumulate the link weights weight to calculate the fitness fit; fit=∑weight i The decoding method is as follows: S221, generate node v i , i=1,2,...,n,the adjacent node set S i , initialize the path to path = {v 0 }, the current node is initialized to v 0 , the target node is set to v tar ; S222, from the current node v i Starting from the adjacent node set S of the current node i Select the node v with the highest priority j , and the node v j The priority is set to -1. If the highest priority is -1, it returns empty, indicating that the node is unreachable; S223, when v i ≠v i When , repeat step S222, S23, adopting the breeding strategy of tournament selection to expand the path search range and ensure the diversity of paths; S24, the crossover method uses ordered crossover to ensure gene inheritance while expanding the search range of the solution space; S25, the mutation method uses random mutation to jump out of the local optimal solution; S26, according to the generated offspring, select the path generated by the high-quality offspring to add to the candidate path, and increase the weight of all links passed by the path by 20%, so as to reduce the subsequent offspring passing through the link again, so that the links finally generated are as disjoint as possible but optimal; S27, after multiple iterations, determine whether the number of generated candidate paths has changed or has reached the upper limit of the number of iterations, end the loop, and select the first k paths with the smallest weights as the primary / backup paths; Step S4 is specifically as follows: Traversing all primary / backup paths, the controller designs and sends corresponding flow tables to the switches on the paths, and uses the FastFailover group table to implement limited backtracking fault recovery; For the path initial switch, configure the flow table rules as follows: If the port to the next hop of the primary path is normal, the traffic is pushed into the MPLS corresponding to the primary path and forwarded to the port; If it is abnormal, determine whether the port sent to the next hop of the backup path is normal. If it is normal, push the MPLS corresponding to the backup path and forward the flow to the port. If there are multiple backup paths, the same applies; For the switches in the middle of the path, configure the flow table rules as follows: Match the MPLS label in the packet header and forward it to the port of the next hop on the path. If the port fails, select a path with a later index than the current one from the PathSet generated in S2 and the path does not contain the currently failed link. Pop the original MPLS header of the packet, push the MPLS label corresponding to the path, and forward it to the corresponding port. If the path does not exist, discard the packet and request the controller to reconfigure the global topology. Configure a low-priority rule. If an MPLS message is matched but there is no corresponding forwarding rule, the message is forwarded to the previous hop of the current path to implement backtracking. For the switch at the end of the path, the configuration rules are: Match the destination address and forward to the destination.

Citation Information

Patent Citations

  • Network multipoint failure recovery method based on plane with status data

    CN107979499A

  • A self-optimized bionic self-repairing hardware fault reconstruction mechanism design

    CN109472342A