A distributed controller data synchronization method based on the shortest path tree

By generating the shortest path tree in the distributed controller system, the problem of data synchronization redundancy in in-band control channel mode is solved, and the effect of reducing network overhead and dynamically adjusting the synchronous data path is achieved.

CN116319626BActive Publication Date: 2025-04-11THE 54TH RESEARCH INSTITUTE OF CHINA ELECTRONICS TECHNOLOGY GROUP CORPORATION
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310261615.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-03-17
Publication Date
2025-04-11
Estimated Expiration
2043-03-17

AI Technical Summary

Technical Problem

The distributed controller system has data synchronization redundancy problems in in-band control channel mode, resulting in an increase in network overhead for redundant data transmission and data synchronization in the network.

Method used

By generating the shortest path tree of controller nodes in the distributed system as an update path for synchronous data, the transmission of redundant synchronous data on the link is reduced and network overhead is reduced.

Benefits of technology

The synchronous data is flooded according to the shortest path tree, which reduces the flooding overhead of synchronous data, and dynamically adjusts the synchronous data diffusion path of the controller node.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116319626B_ABST
    Figure CN116319626B_ABST
Patent Text Reader

Abstract

The present invention relates to the field of communication networks, and designs a distributed controller data synchronization method based on the shortest path tree, which mainly solves the redundant transmission problem of data synchronization in the distributed controller system under the in-band control channel mode. The method generates a shortest path tree based on the transmission path between controllers as the update path of synchronization data, reduces the transmission of redundant synchronization data on the link, and reduces the network overhead of data synchronization; and in view of the dynamic changes of distributed controller nodes, designs a dynamic adjustment algorithm for the synchronization data diffusion path when the controller nodes are online or offline.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of communication networks, and proposes a distributed controller data synchronization method based on a shortest path tree. Based on the transmission path between controller nodes, a shortest path tree of distributed controller nodes is generated, and based on the path tree, the diffusion of synchronized data in a distributed system is realized, thereby reducing the transmission of redundant data in the network and reducing the network overhead of data synchronization in a controller distributed system. Background Art

[0002] With the application of software-defined network technology, distributed controller systems have the characteristics of elastic expansion, damage resistance, and high reliability. However, distributed controller systems also bring data synchronization overhead. Therefore, it is necessary to study controller data synchronization methods to reduce the overhead of data synchronization within distributed controller systems.

[0003] For large-scale network control of software-defined networks, the in-band control mode is easy to deploy and does not require a dedicated control channel, which is suitable for flexible deployment of controllers. In the in-band control mode, the distributed controller system adopts a deployment method corresponding to the switching device, that is, a switching device is connected to at most one controller, which can prevent the controller from being unable to control the network due to damage to the network switching device. At the same time, the controller needs to communicate data through the in-band link. It is necessary to study the distributed controller data synchronization method based on the shortest path tree under the in-band control channel to reduce the transmission of redundant synchronization data in the network. Summary of the invention

[0004] The technical problem to be solved by the present invention is the data synchronization redundancy problem of the distributed controller system in the in-band control channel mode in the above-mentioned background technology, that is, when a piece of synchronization data is synchronized and updated to different controllers, there is data redundancy when it is transmitted on the same link. The present invention designs a distributed controller data synchronization method based on the shortest path tree, which generates a shortest path tree as the update path of the synchronization data according to the transmission path between the controllers, reduces the transmission of redundant synchronization data on the link, and reduces the network overhead.

[0005] The technical problem to be solved by the present invention is achieved by the following technical solutions:

[0006] A distributed controller data synchronization method based on a shortest path tree comprises the following steps:

[0007] (1) Multiple controllers in the network complete mutual discovery to form a distributed system;

[0008] (2) Each controller traverses the controller i and other controllers j in the distributed system and queries whether there is a transmission path p from the controller i directly connected to the switching device to the controller j directly connected to the switching device in the set E. ij, if it exists, take out the transmission path p ij Go to step (4), otherwise calculate the transmission path p ij Go to step (3); wherein set E is a set of shortest transmission paths between controllers, and the shortest transmission path is a routing forwarding path between switching devices. If there is a controller on the shortest transmission path between two controllers, the shortest transmission path is a set of shortest paths that do not have a directly connected controller. If there is no controller, the shortest transmission path is directly composed of a set of transmission path links.

[0009] (3) Sequential traversal path p ij All switching devices on the network. If the switching device is directly connected to the controller, the path p ij The switching device with a direct connection to the controller is used as a breakpoint to split the path into multiple segments. Each breakpoint is used as a leaf node of the previous node. The shortest transmission path set after the split is put into the set E. Otherwise, p is directly ij Put it into set E and make j the child node of i;

[0010] (4) After completing the traversal of controller i and all other j in the distributed system, a shortest path tree t is generated for controller i i , Tree i Taking controller i as the root, it indicates the shortest transmission path from controller i to all other controller nodes in the distributed system N;

[0011] (5) Local controller i generates synchronization data and sends it to the shortest path tree t via a data update message i Child nodes of node i in the middle; after receiving the synchronization data sent by controller i, the child nodes on the shortest path tree compare the synchronization data with the local synchronization database. If the corresponding data in the local synchronization database exists and the version is not an old version, the data is discarded and the flooding process ends. Otherwise, the data is stored in the local database and flooded through data update messages.

[0012] Furthermore, it also includes:

[0013] (6) When a controller node a is added to the network, all paths in set E are traversed to determine whether they contain controller node a. If so, the paths are split into two paths with node a as the breakpoint, and the path containing controller node a is deleted from set E and the two split paths are added. Then, a layer of node a is added between the nodes of the shortest path tree using the corresponding path. Otherwise, the shortest path between the switching node i and a is calculated, and steps (3), (4) and (5) are entered for processing.

[0014] (7) When a controller node a is reduced in the network, all shortest path trees t are deleted. iFor node a in the tree, adjust the subtree of a to the subtree of the parent node of a, and then calculate the shortest path tree t i , merge the paths in set E with a as the destination node and the source node.

[0015] Compared with the prior art, the present invention has the following advantages:

[0016] 1. The present invention generates a shortest path tree of controller nodes in a distributed system, thereby implementing flooding update of synchronization data according to the shortest path tree, thereby reducing the flooding overhead of synchronization data.

[0017] 2. The present invention designs a dynamic adjustment algorithm for the synchronous data diffusion path of the distributed controller nodes that are dynamically online and offline. BRIEF DESCRIPTION OF THE DRAWINGS

[0018] Figure 1 This is a schematic diagram of generating the shortest path tree of the present invention.

[0019] Figure 2 This is a schematic diagram of the shortest path tree generation result of the distributed controller system of the present invention.

[0020] Figure 3 It is a schematic diagram of the data synchronization process of the distributed controller of the present invention. DETAILED DESCRIPTION

[0021] The technical solution implemented in the present invention is described in detail below with reference to the accompanying drawings.

[0022] Reference Figure 1-Figure 3 ,A distributed controller data synchronization method based on the shortest path tree is mainly ,based on the transmission path between controllers, generating the shortest path tree as the ,update path for synchronization data, which reduces the transmission of redundant ,synchronization data on the link and reduces the network overhead of data ,synchronization.

[0023] A distributed controller data synchronization method based on the shortest path tree, such as Figure 3 As shown, the specific implementation steps are as follows:

[0024] (1) Multiple controllers in the network complete mutual discovery and form a distributed system N;

[0025] Among them, the controller discovery process can adopt multiple methods such as dynamic discovery and advance planning of online status monitoring;

[0026] (2) Each controller traverses the found distributed system controller i and all other controllers j (in this embodiment, the other controllers are controllers a, b, c, d, e, f, g, h, k), and queries whether there is a transmission path p from the controller i directly connected to the switching device to the controller j directly connected to the switching device in the set E. ij , if it exists, take out the transmission path pij Go to step (4), otherwise calculate the transmission path p ij Go to step (3); wherein set E is a set of shortest transmission paths between controllers, and the shortest transmission path is a routing forwarding path between switching devices. If there is a controller on the shortest transmission path between two controllers, the shortest transmission path is a set of shortest paths that do not have a directly connected controller. If there is no controller, the shortest transmission path is directly composed of a set of transmission path links.

[0027] Among them, the transmission path p ij The routing forwarding path and data transmission path from switching device i to switching device j can be determined by link cost and routing generation rules;

[0028] (3) Sequential traversal path p ij All switching devices on the network. If the switching device is directly connected to the controller, the path p ij The switching device with a direct connection to the controller is used as a breakpoint to split the path into multiple segments. Each breakpoint is used as a leaf node of the previous node. The shortest transmission path set after the split is put into the set E. Otherwise, p is directly ij Put it into set E and make j the child node of i;

[0029] Among them, the path p ij The result of the split is a subset of the split paths. The construction process of step (3) is similar to that of set E. Figure 1 As shown; where ie represents the shortest transmission path between i and e, {ib,be} represents the shortest transmission path consisting of the two shortest transmission paths ib and be, and the shortest transmission path {(i,c),(c,d)} is directly the link (i,c) and (c,d);

[0030] (4) After traversing all controllers i and j in all distributed systems, a shortest path tree t is generated for each controller i to all other nodes in the distributed system N. i ; Tree i Taking controller i as the root, it indicates the shortest transmission path from controller i to all other controller nodes in the distributed system N;

[0031] Among them, the shortest path tree from controller i to all other nodes in the distributed system is as follows: Figure 2 As shown;

[0032] (5) When controller i performs data synchronization, the flooded data update message is divided into synchronization data generated by the local controller i. The synchronization data is sent to the shortest path tree t through the data update message. iChild nodes of node i in the middle; after receiving the synchronization data sent by controller i, the child nodes on the shortest path tree compare the synchronization data with the local synchronization database. If the corresponding data in the local synchronization database exists and the version is not an old version, the data is discarded and the flooding process ends. Otherwise, the data is stored in the local database and flooded through data update messages.

[0033] The synchronization data carries data identification and data version information. The data identification is composed of the controller identification that generates the data and the unique identification of the data. If the data identifications are the same, they identify the same data. If the data version is larger, the data version is newer.

[0034] (6) When a controller node a is added to the network, all paths in set E are traversed to determine whether they contain controller node a. If so, the paths are split into two paths with node a as the breakpoint, and the path containing controller node a is deleted from set E and the two split paths are added. Then, a layer of node a is added between the nodes of the shortest path tree using the corresponding path. Otherwise, the shortest path between the switching node i and a is calculated, and steps (3), (4) and (5) are entered for processing.

[0035] (7) When a controller node a is reduced in the network, all shortest path trees t are deleted. i For node a in the tree, adjust the subtree of a to the subtree of the parent node of a, and then calculate the shortest path tree t i , merge the paths in set E with a as the destination node and the source node.

Claims

1. A distributed controller data synchronization method based on the shortest path tree, characterized in that: The steps include: (1) Multiple controllers in the network complete mutual discovery to form a distributed system; (2) Each controller traverses the controller i and other controllers j in the distributed system and queries whether there is a transmission path p from the controller i directly connected to the switching device to the controller j directly connected to the switching device in the set E. ij , if it exists, take out the transmission path p ij Go to step (4), otherwise calculate the transmission path p ij Go to step (3); wherein set E is a set of shortest transmission paths between controllers, and the shortest transmission path is a routing forwarding path between switching devices. If there is a controller on the shortest transmission path between two controllers, the shortest transmission path is a set of shortest paths that do not have a directly connected controller. If there is no controller, the shortest transmission path is directly composed of a set of path transmission links. (3) Sequential traversal path p ij All switching devices on the network. If the switching device is directly connected to the controller, the path p ij The switching device with a direct connection to the controller is used as a breakpoint to split the path into multiple segments. Each breakpoint is used as a leaf node of the previous node. The shortest transmission path set after the split is put into the set E. Otherwise, p is directly ij Put it into set E and make j the child node of i; (4) After completing the traversal of controller i and all other j in the distributed system, a shortest path tree t is generated for controller i i , Tree t i Taking controller i as the root, it indicates the shortest transmission path from controller i to all other controller nodes in the distributed system N; (5) Local controller i generates synchronization data and sends it to the shortest path tree t via a data update message i Child nodes of node i in the middle; after receiving the synchronization data sent by controller i, the child nodes on the shortest path tree compare the synchronization data with the local synchronization database. If the corresponding data in the local synchronization database exists and the version is not an old version, the data is discarded and the flooding process ends. Otherwise, the data is stored in the local database and flooded through data update messages.

2. A distributed controller data synchronization method based on the shortest path tree according to claim 1, characterized in that: Also includes: (6) When a controller node a is added to the network, all paths in set E are traversed to determine whether they contain controller node a. If so, the paths are split into two paths with node a as the breakpoint, and the path containing controller node a is deleted from set E and the two split paths are added. Then, a layer of node a is added between the nodes of the shortest path tree using the corresponding path. Otherwise, the shortest path between the switching node i and a is calculated, and steps (3), (4) and (5) are entered for processing. (7) When a controller node a is reduced in the network, all shortest path trees t are deleted. i For node a in the tree, adjust the subtree of a to the subtree of the parent node of a, and then calculate the shortest path tree t i , merge the paths in set E with a as the destination node and the source node.

Citation Information

Patent Citations

  • A method and device to determine the route based on the Fabric Shortest Path First protocol

    CN101552936A

  • Method and system for tracking configuration of synchronous network

    CN106888122A