Method for setting up an SDN network based on a multi-layer virtual network
By constructing a multi-layer virtual network and utilizing Link-Alive, Topo-Status, and Topo-Update data packets and the minimum spanning tree algorithm, the redundant paths and loops in SDN networks are solved, enabling rapid recovery and flexible communication in military networks, and improving network reliability and topology awareness.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- AIR FORCE UNIV PLA
- Filing Date
- 2024-05-29
- Publication Date
- 2026-04-10
AI Technical Summary
In military networks, existing SDN networks struggle to construct redundant paths in-band to avoid loops and reduce control information exchange overhead, and traditional spanning tree protocols result in insufficient network reliability.
A multi-layer virtual network construction method is adopted, which synchronizes topology information through Link-Alive, Topo-Status and Topo-Update data packets, and generates multiple virtual networks using the minimum spanning tree cover algorithm to avoid loops and retain redundant paths, thereby achieving network flexibility and reliability.
It enables rapid network communication recovery, reduces network outage losses, improves network reliability and flexibility, eliminates loop effects, supports cross-VLAN communication, provides rich topology awareness and path planning information, and adapts to complex business needs.
Smart Images

Figure CN118509330B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of computer networks, and in particular to an SDN network construction method based on a multi-layer virtual network. BACKGROUND
[0002] With the continuous development of network communication technology, software-defined networking (SDN) as a new network architecture has received extensive attention and application in the past few years. SDN separates the control plane from the data plane, providing greater flexibility and programmability for network management and configuration. However, as the size and complexity of SDN networks increase, the demand for network performance monitoring and optimization also becomes increasingly significant.
[0003] Building an SDN network needs to meet the following requirements:
[0004] (1) The network needs to be built in-band from the data plane to the control plane. In an SDN network, there are two ways for the data plane and the control plane to interact information: ① Build another special control network, each network node has a dedicated line connected to the control network, without the need to be forwarded through other data plane network nodes, thus separated from the network for military data transmission, avoiding mutual interference; ② Share the same network with the data plane, each network node reaches the controller through the data plane network, the network node needs to forward the control information from other network nodes, thus reducing the networking overhead. In military networks, networks are vulnerable to attack, and links are unstable. Building another network out-of-band will greatly increase the difficulty of network operation and maintenance, so it is necessary to build the network in-band.
[0005] (2) A large number of redundant transmission paths need to be reserved between networks. In military networks, networks are vulnerable to attack, and single transmission paths are unstable. To ensure reliable information transmission, there are multiple redundant paths between end-to-end, and when a single path is damaged, other paths can be used to transmit information. However, this will cause a large number of loops in the network. When the traditional SDN two-layer in-band network is running, loops will cause routing storms, so it is often necessary to destroy loops through the spanning tree protocol. However, this method will cause end-to-end communication to be able to pass through only one transmission path, making it difficult to ensure reliability.
[0006] (3) The control information interaction overhead needs to be reduced. When building a network, link state information needs to be exchanged to build a forwarding table, and these flows will occupy the bandwidth of traffic transmission, so the network construction bandwidth overhead needs to be minimized. SUMMARY
[0007] The application aims to provide a multi-layer virtual network-based SDN network construction method, in which SDN switches in a topology synchronize topology information by sending probe frames and link state information to each other, and based on this, a method for constructing a minimum number of spanning trees to cover all links in the topology is proposed.
[0008] The core idea of the application is to construct multiple virtual networks, each of which does not have a loop, thus avoiding the problem of broadcast storm; at the same time, when a virtual network is attacked, transmission can be carried out through another virtual network, thus preserving end-to-end redundant paths and improving network reliability.
[0009] To achieve the above-mentioned purpose, the application provides a multi-layer virtual network-based SDN network construction method, characterized in that it comprises the following steps:
[0010] Step 1: Each SDN switch in the network periodically sends a Link-Alive data packet to all its ports and listens to Link-Alive data packets from neighboring switches received by each port;
[0011] Step 2: After each SDN switch collects Link-Alive data packets from all neighbors, it records the received Link-Alive data packet and the port number at which the data packet is received as a two-tuple <pkt, interface>, wherein pkt is the content of the data packet and interface is the port number at which the data packet is received;
[0012] Step 3: Repeat steps 1-2, and each SDN switch obtains all neighbor information, which is expressed as several three-tuples, each of which is <neighbor switch ID, neighbor port number, receiving message port>;
[0013] Step 4: Based on the three-tuples obtained in step 3, a Topo-Status message is constructed and broadcasted to all neighboring switches, and Topo-Status messages from neighboring switches are received to update the known topology information, until the SDN switch cannot update its known topology by receiving 10 consecutive Topo-Status messages, and it is considered that the SDN switch has learned the entire network topology, and step 5 is entered;
[0014] Step 5: Run a minimum spanning tree covering algorithm on the SDN switch, and based on the learned topology of the entire network, generate n spanning trees;
[0015] Step 6: Divide the virtual network according to the n spanning trees, and enable the first virtual network generated by the first generated spanning tree;
[0016] Step 7: Monitor each link in the first virtual network, and if the link is disconnected, reconnect the link through a Topo-Update message.
[0017] Further, the specific steps of step 5 include:
[0018] Step 51: Abstract the entire network topology into an undirected graph, define the SDN switches as points in the undirected graph, define the links between the SDN switches as edges, and the states of all edges are 0 or 1, and initialize the states of all edges to 1;
[0019] Step 52: Define the number of edges with state 1 possessed by node i as H i , and take the node with the largest H i value as the initial point, and perform a breadth-first search, each time an edge is traversed, set the state of the edge to 0, and modify the H i value of the corresponding node, and preferentially traverse edges with state 1, and preferentially search nodes with larger H i values;
[0020] Step 53: Find the node with the largest H i value, if the H i value is 0, go to step 54, otherwise go to step 52;
[0021] Step 54: The H values of all nodes are 0, and all edges are covered by at least one spanning tree, at this time output the spanning tree.
[0022] Further, the specific steps of step 6 include:
[0023] Step 61: Generate n independent virtual networks according to the n generated spanning trees, and if an edge corresponding to a network link is covered by multiple spanning trees, put the link into multiple different virtual networks;
[0024] Step 62: Enable the virtual network corresponding to the earliest generated spanning tree, and complete the networking.
[0025] Further, the specific steps of link reconnection in step 7 include:
[0026] Step 71: After monitoring that the link L is disconnected, each SDN switch on the link L sends a Topo-Update data packet to each of its ports;
[0027] Step 72: The SDN switch A receiving the Topo-Update packet updates the topology maintained by itself, and selects a spanning tree t from all the spanning trees not passing the edge corresponding to the link L, and updates the port VLAN value of itself to enable the second virtual network generated by the spanning tree t.
[0028] Step 73: If the Topo-Update packet can update the topology information of the SDN switch A, the Topo-Update packet is sent to each port of the SDN switch A, otherwise, the Topo-Update packet is discarded.
[0029] Further, the Link-Alive packet is used to maintain the connection relationship between neighbors, and the packet structure includes a destination MAC address, a source MAC address, a type, a switch ID, and a port number field for sending the packet; wherein,
[0030] The source MAC address is the switch port MAC for sending the packet;
[0031] The destination MAC address is a fixed MAC address;
[0032] The type is an Ethernet type, a 2-byte number;
[0033] The switch ID is the switch ID number for sending the packet, an 8-byte number;
[0034] The port number is the port number of the switch for sending the packet, a 4-byte number.
[0035] Further, the Topo-Status packet is used to synchronize the topology between switches, and the packet structure includes a destination MAC address, a source MAC address, a type, an edge number, and a plurality of four-tuples <source switch ID, destination switch ID, source port number, destination port number>; wherein,
[0036] The destination MAC address is a fixed MAC address;
[0037] The source MAC address is the switch port MAC for sending the packet;
[0038] The type is an Ethernet type, a 2-byte number;
[0039] The edge number is the content length of the Topo-Status;
[0040] The source switch ID is the source switch ID number for sending the packet;
[0041] The destination switch ID is the ID number of the destination switch for receiving the packet;
[0042] Source port number, the port number of the source switch for sending the packet;
[0043] Destination port number, the port number of the destination switch for receiving the packet.
[0044] Further, the Topo-Update packet is used to transmit the topology update message to all nodes, and the packet structure comprises a destination MAC address, a source MAC address, a type, a switch ID, a port number and an update type field; wherein,
[0045] Destination MAC address, a fixed MAC address;
[0046] Source MAC address, the switch port MAC for sending the packet;
[0047] Type, Ethernet type, 2-byte number;
[0048] Switch ID, the switch ID number for sending the packet, 8-byte number;
[0049] Port number, the port number of the switch for sending the packet, 4-byte number;
[0050] Update type, the enable or disconnect state of a certain port, taking values of 0 or 1.
[0051] Therefore, the present application has the following beneficial effects by adopting the above-mentioned SDN network construction method based on multi-layer virtual network:
[0052] Firstly, the present application maintains multiple virtual networks, so that the communication can be quickly recovered after network failure, and the loss caused by network paralysis is reduced.
[0053] Secondly, the SDN network constructed by the present application can enable all ports to receive and send data packets, instead of physically disabling any port, which is a network design concept based on openness and flexibility. This design concept breaks through the limitation of STP (Spanning Tree Protocol) in traditional networks, allowing all data packets in the network to be freely transmitted between ports. The link information perception can be more comprehensive and real-time, providing more information for network operation and maintenance, which helps to respond to network problems more timely;
[0054] In addition, under the traditional STP framework, due to the disabling of some ports, the path planning algorithm may be limited and unable to fully utilize network resources, affecting the transmission efficiency of data packets. In the SDN of the present application, the openness of all ports is realized, providing greater flexibility, programmability and intelligence for the network. Under this framework, key applications such as topology awareness, path planning algorithm and link information awareness can better play their roles, providing more possibilities for network management and optimization.
[0055] Thirdly, the present application can eliminate the impact of loops on the network. Loops in the network can cause serious problems such as broadcast storm and MAC address offset, which not only affect network performance but also can cause serious paralysis of the entire network. In order to effectively deal with these problems, the present application divides the virtual network by spanning tree. In the network topology, loops are a potential risk that can cause data to circulate indefinitely in the network. When data packets circulate in loops, problems such as broadcast storm and MAC address offset occur. Broadcast storm refers to the continuous generation of new broadcast packets when broadcast packets circulate in the network, eventually leading to the exhaustion of network bandwidth. MAC address offset is caused by the continuous transmission of data packets in loops, which causes the MAC address in the switch cache table in the network to be updated continuously, making the network unable to correctly learn and forward data;
[0056] After the present application divides the virtual network by spanning tree, the entire network is divided into multiple virtual networks (VLANs), each of which forms an independent tree topology. Under this structure, communication between different VLANs is effectively isolated, and communication within each VLAN is based on the corresponding tree topology. This way of dividing virtual networks not only avoids the complexity caused by cross-VLAN communication, but also provides an efficient communication mechanism within each VLAN. Moreover, since there are no loops in the virtual network divided by spanning tree, problems such as broadcast storm and MAC address offset do not occur. Communication within each VLAN is carried out along the tree topology, ensuring the orderly transmission of data packets. This way effectively reduces the burden on the network and improves its availability and reliability. At the same time, the way of dividing virtual networks by spanning tree has strong scalability and flexibility. As the network grows, the structure of the spanning tree can be adjusted to accommodate new devices and demands. This scalability and flexibility provide more possibilities for the evolution of the network, making it better able to adapt to changing business environments.
[0057] Fourth, the present application supports "sub-cross VLAN communication", the present application adopts a design based on multiple VLANs, compared with the traditional scheme, it provides a more simple and efficient solution in handling cross VLAN communication. In the traditional network, VLAN is regarded as an independent area, the communication between different VLANs needs to be realized through routers and other devices. In this mode, the network administrator needs to configure complex routing rules, which may involve many devices and port settings. In the scheme of the present application, multiple VLANs are constructed in parallel relationship, that is, multiple VLANs can work at the same time without interfering with each other, thereby avoiding the complex cross VLAN communication problem in the traditional scheme, so that the network is easier to expand and maintain;
[0058] And in the traditional scheme, some complex cross VLAN communication requirements may cause performance bottleneck and inconvenience in management. In the parallel relationship, multiple VLANs can communicate more freely, thereby better adapting to various business requirements. Network administrators can more flexibly adjust and optimize network configuration to meet the communication needs of different departments or applications; at the same time, since multiple VLANs can exist at the same time, this scheme also better supports complex business requirements. The isolation between different VLANs is maintained, but they can communicate freely when needed. This makes the network better adapt to the collaborative work and data sharing between different business units, providing a more flexible and efficient network environment for enterprises.
[0059] The technical solutions of the present application will be further described in detail below through the accompanying drawings and examples. BRIEF DESCRIPTION OF DRAWINGS
[0060] Figure 1 The structure of Link-Alive probe frame.
[0061] Figure 2 The structure of Topo-Update data packet.
[0062] Figure 3 The structure of Topo-Status data packet.
[0063] Figure 4 The ring topology structure of example 1.
[0064] Figure 5 The structure of Link-Alive message sent by switch 1 at port 1 in example 1.
[0065] Figure 6 The structure of Topo-Status message constructed by switch 1 in example 1.
[0066] Figure 7Flow chart of the minimum spanning tree covering algorithm. DETAILED DESCRIPTION
[0067] In the description of the present application, it is also necessary to point out that, unless otherwise explicitly specified and limited, these embodiments are only used to illustrate the present application and not to limit the scope of the present application. In addition, it should be understood that after reading the content taught by the present application, those skilled in the art can make various modifications or changes to the present application, and these equivalent forms also fall within the scope defined by the appended claims of the present application.
[0068] The present application proposes an SDN network construction method based on a multi-layer virtual network, which can solve the in-band communication of switches and controllers in loop topology and retain redundant links through three types of data packets and a minimum spanning tree covering method. The three types of data packets and the minimum spanning tree covering algorithm are introduced as follows.
[0069] 1. Three types of data packets
[0070] In order to perform topology awareness, the present application designs three types of data packets, which are Link-Alive packet, Topo-Status packet and Topo-Update packet, respectively. The Link-Alive packet is used to maintain the connectivity between neighbors; the Topo-Status packet is used to synchronize the topology between switches; and the Topo-Update packet is used to deliver topology update messages to all nodes.
[0071] As shown in Figure 1 , the packet structure of the Link-Alive probe frame includes destination MAC address, source MAC address, type, switch ID and port number fields. Among them, the source MAC address in the Link-Alive packet is the switch port MAC of the data packet sender; the destination MAC address is a fixed MAC address; the type field is an Ethernet type, and the value can be set to 0x07fc; the switch ID field is an 8-byte number; and the port number field of the packet sender is a 4-byte number.
[0072] As shown in Figure 2 , the Topo-Update packet structure includes destination MAC address, source MAC address, type, switch ID, port number and update type fields, and its structure is basically the same as that of the Link-Alive packet structure, and the same fields will not be described again. Among them, the update type field is a two-byte number, 0 represents that a port of a switch is disconnected, and 1 represents that a port of a switch is started.
[0073] The Topo-Update packet appears in pairs and is used to indicate that a link is disconnected.
[0074] As shown in Figure 3As shown, the Topo-Status data packet structure destination MAC address, source MAC address, type, edge number, source switch ID_1, destination switch ID_1, source port number, destination port number, source switch ID_2, destination switch ID_2, source port number, destination port number, …, source switch ID_n, destination switch ID_n, source port number and destination port number, wherein the edge number field represents the content length of Topo-Status, and each group of information is a four-tuple composed of source switch ID, destination switch ID, source port number and destination port number.
[0075] The three types of data packets described above can synchronize the topology information of each SDN switch in the network, and the switch uses the topology information to run a minimum spanning tree covering algorithm to obtain a plurality of spanning trees, which cover each link in the topology at least once, and the first found spanning tree is taken as the virtual network of the current topology. If a link in the network is disconnected, the next (second, third, etc.) spanning tree is sequentially selected until a suitable spanning tree is found and is converted into a virtual network.
[0076] 2. SDN network construction method of minimum spanning tree covering algorithm
[0077] The present application provides an SDN network construction method based on a multi-layer virtual network, comprising the following steps:
[0078] Step 1: the SDN switch periodically sends Link-Alive data packets to all ports and listens to the Link-Alive data packets of each port;
[0079] Step 2: after the SDN switch receives the Link-Alive data packet from the neighbor, the Link-Alive data packet and the network interface receiving the data packet are recorded as a binary tuple <pkt, interface>, wherein pkt represents the content of the data packet, interface is the port number receiving the data packet, and the pkt contains the ID of the switch and the port number field of the sending end switch;
[0080] Step 3: repeat steps 1-2, and each SDN switch can know its neighbor situation, which is a ternary tuple <neighbor switch ID, neighbor port number, receiving message port>;
[0081] Step 4: The neighbor information obtained by the SDN switch is encapsulated into a Topo-Status message, and the Topo-Status message is broadcast to all adjacent switches, while receiving the Topo-Status messages of adjacent switches to update the known topology information of the SDN switch, until the SDN switch receives 10 consecutive Topo-Status messages that cannot update the known topology, and it is considered that the SDN switch has learned the entire network topology;
[0082] Step 5: Each SDN switch has synchronized global topology information through steps 1-4, and then a minimum spanning tree covering algorithm is run on the SDN switch: the learned topology information of the entire network is abstracted into an undirected graph, the nodes in the undirected graph are switches, and the edges are links between switches. Let all edges have two states of 0 and 1, and the number of edges with state 1 of node i is denoted as H i , and the initial state of all edges is 1;
[0083] Step 6: Taking the node with the maximum H i value as the initial point, breadth-first search is performed, and each time an edge is traversed, its state is changed to 0, and the H i value of the corresponding node is modified, and the edge with state 1 is preferentially traversed, and the node with a larger H i value is preferentially searched;
[0084] Step 7: The node with the maximum H i value is obtained, if the H i value is 0, go to step 8, otherwise go to step 6;
[0085] Step 8: At this time, the H i value of all nodes is 0, and all edges are covered by at least one spanning tree, then the virtual network is divided through the obtained spanning tree, each spanning tree corresponds to an independent virtual network, so that the entire network is divided into multiple virtual networks; wherein if an edge is covered by multiple spanning trees, it is placed in multiple different virtual networks, and the virtual network corresponding to the spanning tree found first is enabled, thereby completing the networking.
[0086] When a link in the topology is disconnected, the following steps are needed to restore network connectivity:
[0087] Step 1: The SDN switch related to the disconnected link sends a Topo-Update data packet to each port, and the content of the data packet is related to the disconnected link information;
[0088] Step 2: Switch A, which receives the Topo-Update data packet, first updates the topology information it maintains, and selects the earliest generated spanning tree from all the spanning trees that do not pass through this edge (disconnected link edge) calculated earlier, and updates its port VLAN value accordingly to enable the virtual network that does not include the disconnected edge.
[0089] Step 3: If the received Topo-Update data packet updates the topology information of switch A, then send the Topo-Update data packet to each port of switch A; otherwise, discard the Topo-Update data packet.
[0090] Example 1
[0091] like Figure 4 The network topology shown is a ring topology consisting of four SDN switches. First, each switch sends a Link-Alive message to its respective port and listens for Link-Alive messages on each port. For example, if switch 1 has an ID of 1, then the specific form of the Link-Alive message sent on port 1 is as follows: Figure 5 As shown, in order to enable all SDN switches to receive only Link-Alive packets from their neighbors, the Ethernet type field of the Link-Alive packet is set to a fixed value. In this embodiment, it is set to 0x07fd. Furthermore, a flow table entry is added to each switch to prevent the forwarding of packets with the Ethernet type field of 0x07fd. After receiving a Link-Alive packet from a neighbor, the switch extracts the neighbor switch ID field and port number field from the packet, and adds the port number of the switch that received the Link-Alive packet to form a triple (switch ID, neighbor port number, receiving port). For example, if switch 2 receives a Link-Alive packet from neighbor switch 1, the triple it obtains is (1,1,2), where 1 and 1 represent the ID and port number of switch 1, and 2 represents the port number on which switch 2 received the Link-Alive packet.
[0092] After switch 1 has collected information from all neighboring switches, it can obtain several triples in the form of <neighbor switch ID, neighbor port number, receive port>. These triples are used to construct a Topo-Status message (Ethernet type 0x07fc). For example, switch 1 can construct a message like... Figure 6The Topo-Status packet is shown, the switch 1 broadcasts this Topo-Status packet from each receiving packet port, in order to let the switch only receives the Topo-Status packet generated by the neighbor, therefore, in the SDN switch, a flow table item of not forwarding the Ethernet type 0x07fc packet is added, if the Topo-Status packet received by the switch can update the above-mentioned three tuple set, then the Topo-Status message is updated and forwarded to the adjacent switch, and when the received Topo-Status packet cannot update the above-mentioned three tuple set, the switch will not forward the Topo-Status packet generated by itself to the adjacent switch.
[0093] Through the above two steps, all switches in the topology can master the topology. Then, the spanning tree minimum coverage algorithm of the application calculates two spanning trees to cover all links in the topology, generates two corresponding virtual networks, and enables the first virtual network, so that data can normally communicate.
[0094] Embodiment 2
[0095] This embodiment still uses the topology structure of embodiment 4, through the spanning tree minimum coverage algorithm, two spanning trees are obtained, spanning tree 1 {<s1, s2>, <s2, s4>, <s4, s3>} and spanning tree 2 {<s1, s3>, <s3, s4>, <s4, s2>}, and the virtual network represented by the spanning tree 1 is enabled.
[0096] Now it is assumed that the link <s2, s4> is disconnected, then the switches related to it, i.e. switch 2 and switch 4, send Topo-Update messages to each port, the switch receiving the Topo-Update message updates the topology information maintained by itself according to the Topo-Update message, and selects a spanning tree not containing the disconnected link from the multiple spanning trees calculated before, at this time, if the Topo-Update message can update the topology maintained by the switch, the Topo-Update packet is broadcasted, otherwise, the Topo-Update packet is discarded, so that all switches can receive the packet and the packet cannot be infinitely forwarded in the topology.
[0097] Finally, it should be noted that: the above embodiments are only used to illustrate the technical solutions of the application but not to limit it, although the application has been described in detail with reference to the preferred embodiments, those skilled in the art should understand that the technical solutions of the application can still be modified or replaced by equivalents, and these modifications or equivalent replacements cannot make the modified technical solutions deviate from the spirit and scope of the technical solutions of the application.
Claims
1. A method for constructing an SDN network based on a multi-layer virtual network, characterized in that, Includes the following steps: Step 1: Each SDN switch in the network periodically sends Link-Alive packets to all its ports and listens for Link-Alive packets received from neighboring switches on each port. Step 2: After each SDN switch collects Link-Alive packets from all its neighbors, it records the received Link-Alive packets and the port number that received the packets as a tuple.<pkt, interface> Where pkt is the content of the data packet, and interface is the port number on which the data packet was received; Step 3: Repeat steps 1-2. Each SDN switch obtains all its neighbor information and represents the obtained neighbor information as several triples. Each triple is <neighbor switch ID, neighbor port number, and receiving port>. Step 4: Construct a Topo-Status message based on the triplet obtained in Step 3, and broadcast the Topo-Status message to all neighboring switches. At the same time, receive Topo-Status messages from neighboring switches to update its known topology information. Continue until the SDN switch receives 10 consecutive Topo-Status messages and can no longer update its known topology. Then it is considered that the SDN switch has learned the entire network topology and proceeds to Step 5. Step 5: Run the minimum spanning tree cover algorithm on the SDN switch to generate n spanning trees based on the known topology of the entire network; Step 6: Divide the virtual network according to the n spanning trees, and activate the first virtual network generated corresponding to the first spanning tree; Step 7: Monitor each link in the first virtual network. If a link is disconnected, reconnect the link via a Topo-Update message.
2. The SDN network construction method based on a multi-layer virtual network according to claim 1, characterized in that, Step 5 includes the following specific steps: Step 51: Abstract the known topology of the entire network into an undirected graph, define the SDN switch as a point in the undirected graph, define the link between the SDN switches as an edge, and set the state of all edges to 0 or 1, and initialize the state of all edges to 1. Step 52: Define H as the number of edges with state 1 that node i has. i and with H i The node with the largest value is the initial node. A breadth-first search is performed. For each edge visited, the state of that edge is set to 0, and the H value of the corresponding node is modified. i The value is determined by prioritizing the traversal of edges with state 1, and prioritizing the search of edges H. i Nodes with larger values; Step 53: Calculate the current H i The node with the largest value, if H i If the value is 0, proceed to step 54; otherwise, proceed to step 52. Step 54: H of all nodes i If all values are 0, all edges are covered by at least one spanning tree, and the spanning tree is output.
3. The SDN network construction method based on a multi-layer virtual network according to claim 2, characterized in that, Step 6 includes the following specific steps: Step 61: Generate n independent virtual networks based on the n spanning trees generated. If an edge corresponding to a network link is covered by multiple spanning trees, place that link into multiple different virtual networks. Step 62: Enable the virtual network corresponding to the earliest generated spanning tree to complete the network setup.
4. The SDN network construction method based on a multi-layer virtual network according to claim 2, characterized in that, The specific steps for link reconnection described in step 7 include: Step 71: After detecting that link L is disconnected, each SDN switch on link L sends a Topo-Update data packet to its respective port; Step 72: Upon receiving the Topo-Update data packet, SDN switch A first updates the topology it maintains, and selects the earliest generated spanning tree t from all the spanning trees that do not pass through the corresponding edge of link L, while updating its own port VLAN value to enable the second virtual network generated by spanning tree t. Step 73: If the received Topo-Update data packet can update the topology information of SDN switch A, then send the Topo-Update data packet to each port of SDN switch A; otherwise, discard the Topo-Update data packet.
5. The SDN network construction method based on a multi-layer virtual network according to claim 1, characterized in that, The Link-Alive data packet is used to maintain connectivity between neighbors. Its message structure includes: destination MAC address, source MAC address, type, switch ID, and the port number field from which the packet was sent; wherein, The source MAC address is the MAC address of the switch port that sent the data packet; The destination MAC address is a fixed MAC address. The type is Ethernet, a 2-byte number; Switch ID, the ID number of the switch that sent the data packet, an 8-byte number; The port number is the port number of the switch that sent the data packet; it is a 4-byte number.
6. The SDN network construction method based on a multi-layer virtual network according to claim 1, characterized in that, The Topo-Status message is used to synchronize the topology between switches. Its message structure includes: destination MAC address, source MAC address, type, number of edges, and multiple four-tuples <source switch ID, destination switch ID, source port number, destination port number>; where, The destination MAC address is a fixed MAC address. The source MAC address is the MAC address of the switch port that sent the data packet; The type is Ethernet, a 2-byte number; The number of edges is equal to the length of the Topo-Status content; Source switch ID, which is the ID number of the source switch that sent the message; Destination switch ID, which is the ID number of the destination switch that received the message; The source port number is the port number of the source switch that sent the message; Destination port number is the port number of the switch to which the message is received.
7. The SDN network construction method based on a multi-layer virtual network according to claim 1, characterized in that, The Topo-Update data packet is used to transmit topology update messages to all nodes. Its message structure includes: destination MAC address, source MAC address, type, switch ID, port number, and update type field; wherein... The destination MAC address is a fixed MAC address. The source MAC address is the MAC address of the switch port that sent the data packet; The type is Ethernet, a 2-byte number; Switch ID, the ID number of the switch that sent the data packet, an 8-byte number; Port number, which is the port number of the switch that sent the data packet, a 4-byte number; Update type indicates whether a port is enabled or disabled; the value can be 0 or 1.
Citation Information
Patent Citations
STP-based method for removing redundancy link under SDN framework
CN104980302A
Broadcast message processing method, device, controller and switch
CN108243123A