CN107179912B - Hot upgrading method for distributed architecture software defined network controller - Google Patents
Hot upgrading method for distributed architecture software defined network controller Download PDFInfo
- Publication number
- CN107179912B CN107179912B CN201710423848.9A CN201710423848A CN107179912B CN 107179912 B CN107179912 B CN 107179912B CN 201710423848 A CN201710423848 A CN 201710423848A CN 107179912 B CN107179912 B CN 107179912B
- Authority
- CN
- China
- Prior art keywords
- network controller
- defined network
- software defined
- computing node
- hot
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Abstract
The invention provides a hot upgrading method of a distributed architecture software defined network controller, wherein the distributed architecture of the software defined network controller comprises N computing nodes, each computing node comprises a main software defined network controller, a virtual switch and a local database, and N is an integer greater than or equal to 2; the distributed architecture also comprises a hot standby software defined network controller; the hot standby software defined network controller takes over the virtual switch to realize the hot upgrade of the main software defined network controller, and the service network has zero packet loss and high reliability in the upgrade process.
Description
Technical Field
The invention relates to the technical field of software, in particular to a hot upgrading method for a distributed architecture software defined network controller.
Background
Software Defined Network (SDN) is a new Network innovation architecture, and is an implementation manner of Network virtualization. At present, no solution for distributed software defined network controller hot upgrade oriented to virtualization exists.
Disclosure of Invention
The invention aims to provide a hot upgrading method of a distributed architecture software defined network controller aiming at solving the problem that no virtualization-oriented hot upgrading solution of the distributed software defined network controller exists in the prior art, so that the hot upgrading of the software defined network controller is realized, and the reliability is high.
A distributed architecture software defined network controller hot upgrade method, the distributed architecture of the software defined network controller includes N computational nodes, each computational node includes main software defined network controller, virtual switch and local database, wherein N is an integer greater than or equal to 2;
the distributed architecture further comprises a hot standby software defined network controller;
the hot upgrading method comprises the following steps:
a main software definition network controller in each computing node detects whether upgrading information is received or not;
if yes, the hot standby software definition network controller reads a local database in each computing node and synchronizes topology information and configuration information of the main software definition network controller;
the hot standby software definition network controller creates a message queue and adds the message queue into a message queue service;
the hot standby software defined network controller takes over virtual switches on each computing node;
the main software definition network controller in each computing node acquires an upgrading program package from the upgrading information to update, and restarts the software package after the updating is successful;
a main software definition network controller in each computing node reads a local database, loads topology information and configuration information, creates a message queue and adds a message queue service;
the host software in each compute node defines a network controller that takes over the virtual switch.
Furthermore, the number of the hot standby software definition network controllers is N, and the hot standby software definition network controllers are distributed in each computing node.
Further, after the main software defined network controller in each computing node detects that the upgrade information is received, the hot standby software defined network controller in the computing node is started to read the local database, the topology information and the configuration information of the main software defined network controller are synchronized, a message queue is created to join in a message queue service, and the virtual switch is connected.
Further, after the host software-defined network controller in each computing node takes over the virtual switch, the method further includes:
and closing the hot standby software defined network controller.
Further, after the main software definition network controller in each computing node detects that the upgrading information is received, the service is stopped;
after detecting that the main software defined network controller stops service through a heartbeat protocol, the hot standby software defined network controller in each computing node reads a local database, synchronizes topology information and configuration information of the main software defined network controller, creates a message queue to join in a message queue service, and takes over a virtual switch.
Further, after the main software-defined network controller in each computing node takes over the virtual switch, the hot standby software-defined network controller continues to detect the state of the main software-defined network controller through a heartbeat protocol.
The hot upgrading method of the distributed architecture software defined network controller provided by the invention at least comprises the following beneficial effects;
(1) the hot standby software defined network controller takes over the virtual switch to realize the hot upgrade of the main software defined network controller, and the service network has zero packet loss and high reliability in the upgrade process;
(2) the N hot standby software defined network controllers are distributed in each computing node, the virtual switch is started and connected when the main software defined network controller is upgraded, the consumption of the whole upgrading process is low, the main software defined network controller and the hot standby software defined network controller use the same code when the hot standby software is upgraded, the maintenance cost is low, and the method is particularly suitable for an ultra-large-scale data center cloud network;
(3) the method comprises the following steps that a hot standby software defined network controller is adopted to take over all virtual switches, the switching speed of a main software defined network controller and the hot standby software defined network controller is high, the hot standby software defined network controller is closed after upgrading is completed, resources are released, and the method is particularly suitable for small-scale data center cloud networks;
(4) the N hot standby software defined network controllers are distributed in each computing node, and the hot standby software defined network controllers in the computing nodes monitor the state of the main software defined network controller in real time through a heartbeat protocol, so that the switching speed of the main software defined network controller and the hot standby software defined network controller is higher, and the method is particularly suitable for small-scale data center cloud networks.
Drawings
Fig. 1 is a flowchart of an embodiment of a method for hot-upgrading a distributed architecture software-defined network controller according to the present invention.
Fig. 2 is a schematic architecture diagram of a distributed architecture software defined network controller according to a second embodiment of the method for hot-upgrading the distributed architecture software defined network controller provided by the present invention.
Fig. 3 is a flowchart of a method for hot-upgrading a distributed architecture software defined network controller according to a second embodiment of the present invention.
Fig. 4 is a schematic architecture diagram of a distributed architecture software defined network controller according to a third embodiment of the method for hot-upgrading the distributed architecture software defined network controller provided by the present invention.
Fig. 5 is a flowchart of a method for hot-upgrading a distributed architecture software defined network controller according to a third embodiment of the present invention.
Fig. 6 is a flowchart of a fourth embodiment of a method for hot-upgrading a distributed architecture software-defined network controller according to the present invention.
Detailed Description
In order to make the objects, technical solutions and effects of the present invention clearer and clearer, the present invention is further described in detail below with reference to the accompanying drawings and examples. It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.
Example one
Referring to fig. 1, the present embodiment provides a method for hot-upgrading a distributed architecture software-defined network controller, where the distributed architecture of the software-defined network controller includes N computing nodes, each computing node includes a main software-defined network controller, a virtual switch, and a local database, where N is an integer greater than or equal to 2;
the distributed architecture further comprises a hot standby software defined network controller;
the hot upgrading method comprises the following steps:
step S101, a main software definition network controller in each computing node detects whether upgrading information is received;
step S102, if yes, the hot standby software definition network controller reads a local database in each computing node and synchronizes topology information and configuration information of the main software definition network controller;
step S103, the hot standby software definition network controller creates a message queue and joins in a message queue service;
step S104, the hot standby software definition network controller takes over virtual switches on each computing node;
step S105, the main software definition network controller in each computing node acquires an upgrading program package from the upgrading information to update, and restarts after the updating is successful;
step S106, a main software definition network controller in each computing node reads a local database, loads topology information and configuration information, creates a message queue and adds a message queue service;
step S107, the main software in each computing node defines the network controller to take over the virtual switch.
In the method for thermally upgrading a distributed architecture software defined network controller provided by this embodiment, a hot standby software defined network controller takes over a virtual switch to implement thermal upgrading of a main software defined network controller, and a service network has zero packet loss and high reliability in an upgrading process.
Example two
Referring to fig. 2 and fig. 3, the present embodiment provides a method for hot-upgrading a distributed architecture software-defined network controller, where the distributed architecture of the software-defined network controller includes N computing nodes, each computing node includes a main software-defined network controller, a virtual switch, and a local database, where N is an integer greater than or equal to 2;
the distributed architecture also comprises N hot standby software defined network controllers which are distributed in each computing node.
The hot upgrade method provided by the embodiment comprises the following steps:
step S201, a main software definition network controller in each computing node detects whether upgrading information is received;
step S202, if yes, a hot standby software defined network controller in the computing node is started to read a local database, topology information and configuration information of the main software defined network controller are synchronized, a message queue is created to join a message queue service, and a virtual switch is connected;
step S203, the main software definition network controller in each computing node acquires an upgrading program package from the upgrading information to update, and restarts after the updating is successful;
step S204, a main software definition network controller in each computing node reads a local database, loads topology information and configuration information, creates a message queue and adds a message queue service;
step S205, the main software in each computing node defines the network controller to take over the virtual switch;
and step S206, closing the hot standby software defined network controller.
Specifically, in step S201, the upgrade information includes an upgrade package.
In step S202, the master software defined network controller uses the old version to start the hot-standby software defined network controller to read the local database, and synchronizes the topology information and the configuration information of the master software defined network controller. A message queue join message queue service is created to receive synchronization information for a hot-standby software-defined network controller in other computing nodes. The hot standby software defined network controller takes over the virtual switch on the computing node through a Role request Message of an OpenFlow protocol, and the virtual switch keeps flow table configuration information to realize zero packet loss of the existing service network.
In step S203, if the update of the master software-defined network controller fails, the master software-defined network controller continues to use the old version to take over the virtual switch.
In step S204, after the main software-defined network controller is successfully updated, the local database is read, the topology information and the configuration information are loaded to achieve synchronization, and a message queue is created and added to the message queue service to receive the synchronization information of other main software-defined network controllers.
In step S205, the main software defined network controller in each computing node takes over the virtual switch on the computing node through the rollerequest Message of the Open Flow protocol, and the virtual switch retains configuration Flow table configuration information, so that the existing service network has zero packet loss.
In step S206, the hot-standby software definition network controller is turned off after the upgrade is completed, resources are released, and the hot-standby software definition network controller is turned on only in the upgrade process, so that the whole hot-upgrade process is low in consumption.
The hot-upgrading method for the distributed architecture software defined network controller provided by the embodiment can realize zero packet loss of the service network in the upgrading process, is low in consumption in the whole upgrading process, is low in maintenance cost because the main software defined network controller and the hot standby software defined network controller use the same code in hot upgrading, and is particularly suitable for an ultra-large-scale data center cloud network.
EXAMPLE III
Referring to fig. 4 and 5, the present embodiment provides a method for hot-upgrading a distributed architecture software-defined network controller, where the distributed architecture of the software-defined network controller includes N computing nodes, each computing node includes a main software-defined network controller, a virtual switch, and a local database, where N is an integer greater than or equal to 2;
the distributed architecture also comprises hot standby software defined network controllers, and the number of the hot standby software defined network controllers is 1.
The upgrading method comprises the following steps:
step S301, a main software definition network controller in each computing node detects whether upgrade information is received;
step S302, if yes, the hot standby software definition network controller reads a local database in each computing node, and synchronizes topology information and configuration information of each main software definition network controller;
step S303, the hot standby software defines the network controller to establish a message queue and join the message queue service;
step S304, the hot standby software definition network controller takes over virtual switches on each computing node;
step S305, the main software definition network controller in each computing node acquires an upgrading program package from the upgrading information to update, and restarts after the updating is successful;
step S306, the main software in each computing node defines the network controller to read the local database, load the topology information and the configuration information, create the message queue and join the message queue service;
step S307, the main software in each computing node defines the network controller to take over the virtual switch;
and step S308, closing the hot standby software defined network controller.
The hot upgrade method for the distributed architecture software defined network controller provided by this embodiment adopts one hot standby software defined network controller to take over all the virtual switches, so as to implement zero packet loss of the service network in the upgrade process, and reduce resource occupation, and the switching speed between the main software defined network controller and the hot standby software defined network controller is high, and after the upgrade is completed, the hot standby software defined network controller is closed, and resources are released, which is particularly suitable for a small-scale data center cloud network.
Example four
Referring to fig. 2 and fig. 6, the present embodiment provides a method for hot-upgrading a distributed architecture software-defined network controller, where the distributed architecture of the software-defined network controller includes N computing nodes, each computing node includes a main software-defined network controller, a virtual switch, and a local database, where N is an integer greater than or equal to 2;
the distributed architecture also comprises N hot standby software defined network controllers which are distributed in each computing node.
The hot upgrade method provided by the embodiment comprises the following steps:
step S401, a main software definition network controller in each computing node detects whether upgrading information is received;
step S402, if yes, the main software defines the network controller to stop service;
step S403, after the hot standby software defined network controller in each computing node detects that the main software defined network controller stops service through a heartbeat protocol, reading a local database, synchronizing topology information and configuration information of the main software defined network controller, creating a message queue to join in a message queue service, and taking over a virtual switch;
step S404, the main software definition network controller in each computing node acquires the upgrading program package from the upgrading information to update, and restarts after the updating is successful;
step S405, the main software in each computing node defines the network controller to read the local database, load the topology information and the configuration information, create the message queue and join the message queue service;
step S406, the main software in each computing node defines the network controller to take over the virtual switch;
step S407, the hot standby software defined network controller continues to detect the state of the main software defined network controller through a heartbeat protocol.
In the hot upgrade method for the distributed architecture software defined network controller provided by this embodiment, the hot standby software defined network controller in each computing node monitors the state of the main software defined network controller in real time through a heartbeat protocol, so that the switching speed between the main software defined network controller and the hot standby software defined network controller is faster, and the method is particularly suitable for a small-scale data center cloud network.
In summary, the method for hot-upgrading a distributed architecture software defined network controller provided by the present invention at least includes the following beneficial effects:
(1) the hot standby software defined network controller takes over the virtual switch to realize the hot upgrade of the main software defined network controller, and the service network has zero packet loss and high reliability in the upgrade process;
(2) the N hot standby software defined network controllers are distributed in each computing node, the virtual switch is started and connected when the main software defined network controller is upgraded, the consumption of the whole upgrading process is low, the main software defined network controller and the hot standby software defined network controller use the same code when the hot standby software is upgraded, the maintenance cost is low, and the method is particularly suitable for an ultra-large-scale data center cloud network;
(3) the method comprises the following steps that a hot standby software defined network controller is adopted to take over all virtual switches, the switching speed of a main software defined network controller and the hot standby software defined network controller is high, the hot standby software defined network controller is closed after upgrading is completed, resources are released, and the method is particularly suitable for small-scale data center cloud networks;
(4) the N hot standby software defined network controllers are distributed in each computing node, and the hot standby software defined network controllers in the computing nodes monitor the state of the main software defined network controller in real time through a heartbeat protocol, so that the switching speed of the main software defined network controller and the hot standby software defined network controller is higher, and the method is particularly suitable for small-scale data center cloud networks.
It will be understood that modifications and variations can be made by persons skilled in the art in light of the above teachings and all such modifications and variations are intended to be included within the scope of the invention as defined in the appended claims.
Claims (5)
1. A hot upgrade method of a distributed architecture software defined network controller is characterized in that the distributed architecture of the software defined network controller comprises N computing nodes, each computing node comprises a main software defined network controller, a virtual switch and a local database, wherein N is an integer greater than or equal to 2;
the distributed architecture also comprises N hot standby software defined network controllers distributed in each computing node;
the hot upgrading method comprises the following steps:
a main software definition network controller in each computing node detects whether upgrading information is received or not;
if yes, the hot standby software definition network controller reads a local database in each computing node and synchronizes topology information and configuration information of the main software definition network controller;
the hot standby software definition network controller creates a message queue and adds the message queue into a message queue service;
the hot standby software defined network controller takes over virtual switches on each computing node;
the main software definition network controller in each computing node acquires an upgrading program package from the upgrading information to update, and restarts the software package after the updating is successful;
a main software definition network controller in each computing node reads a local database, loads topology information and configuration information, creates a message queue and adds a message queue service;
the host software in each compute node defines a network controller that takes over the virtual switch.
2. The method according to claim 1, wherein after detecting that the upgrade information is received, the main network controller in each computing node starts a hot standby network controller in the computing node to read a local database, synchronizes topology information and configuration information of the main network controller, creates a message queue to join a message queue service, and takes over a virtual switch.
3. The method for hot-upgrade of a distributed architecture network controller according to claim 2, wherein after the master software defined network controller in each computing node takes over the virtual switch, the method further comprises:
and closing the hot standby software defined network controller.
4. The method of claim 1, wherein the main network controller in each computing node stops service after detecting that the upgrade information is received;
after detecting that the main software defined network controller stops service through a heartbeat protocol, the hot standby software defined network controller in each computing node reads a local database, synchronizes topology information and configuration information of the main software defined network controller, creates a message queue to join in a message queue service, and takes over a virtual switch.
5. The method for hot-upgrade of a distributed architecture network controller according to claim 4, wherein after the master network controller in each computing node takes over the virtual switch, the hot-standby network controller continues to detect the state of the master network controller through a heartbeat protocol.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710423848.9A CN107179912B (en) | 2017-06-07 | 2017-06-07 | Hot upgrading method for distributed architecture software defined network controller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710423848.9A CN107179912B (en) | 2017-06-07 | 2017-06-07 | Hot upgrading method for distributed architecture software defined network controller |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107179912A CN107179912A (en) | 2017-09-19 |
CN107179912B true CN107179912B (en) | 2020-09-01 |
Family
ID=59835274
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710423848.9A Active CN107179912B (en) | 2017-06-07 | 2017-06-07 | Hot upgrading method for distributed architecture software defined network controller |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107179912B (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110780894B (en) * | 2018-07-31 | 2023-04-28 | 阿里巴巴集团控股有限公司 | Thermal upgrade processing method and device and electronic equipment |
CN112099971B (en) * | 2020-09-04 | 2022-10-25 | 紫光云(南京)数字技术有限公司 | Method for smoothly upgrading SDN controller |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103929333A (en) * | 2014-05-08 | 2014-07-16 | 陈桂芳 | Implementation method for SDN controller pool |
CN104412560A (en) * | 2013-05-06 | 2015-03-11 | 华为技术有限公司 | SDN-based network configuration method, apparatus and system |
CN104468231A (en) * | 2014-12-23 | 2015-03-25 | 上海斐讯数据通信技术有限公司 | SDN interchanger and controller dynamic registration method |
CN104754053A (en) * | 2015-04-01 | 2015-07-01 | 清华大学深圳研究生院 | Distributed software-defined network and method of dynamically controlling controllers therein |
WO2015121304A1 (en) * | 2014-02-14 | 2015-08-20 | Nec Europe Ltd. | Sdn-based processing platform |
-
2017
- 2017-06-07 CN CN201710423848.9A patent/CN107179912B/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104412560A (en) * | 2013-05-06 | 2015-03-11 | 华为技术有限公司 | SDN-based network configuration method, apparatus and system |
WO2015121304A1 (en) * | 2014-02-14 | 2015-08-20 | Nec Europe Ltd. | Sdn-based processing platform |
CN103929333A (en) * | 2014-05-08 | 2014-07-16 | 陈桂芳 | Implementation method for SDN controller pool |
CN104468231A (en) * | 2014-12-23 | 2015-03-25 | 上海斐讯数据通信技术有限公司 | SDN interchanger and controller dynamic registration method |
CN104754053A (en) * | 2015-04-01 | 2015-07-01 | 清华大学深圳研究生院 | Distributed software-defined network and method of dynamically controlling controllers therein |
Also Published As
Publication number | Publication date |
---|---|
CN107179912A (en) | 2017-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Pashkov et al. | Controller failover for SDN enterprise networks | |
US20170048123A1 (en) | System for controlling switch devices, and device and method for controlling system configuration | |
EP2744166B1 (en) | Method for migrating a user link, method for migrating a user service, apparatuses and system | |
WO2013108761A1 (en) | Network system and path information synchronization method | |
US10812328B2 (en) | Network function virtualisation | |
EP3316555B1 (en) | Mac address synchronization method, device and system | |
WO2014101684A1 (en) | Data synchronizing method, apparatus and system | |
CN109245926B (en) | Intelligent network card, intelligent network card system and control method | |
CN105528272A (en) | Server system and related control method thereof | |
CN105516292A (en) | Hot standby method of cloud platform of intelligent substation | |
US11403319B2 (en) | High-availability network device database synchronization | |
JP2017535196A (en) | Method, apparatus and system for migrating virtual network function instances | |
CN107179912B (en) | Hot upgrading method for distributed architecture software defined network controller | |
CN108616455A (en) | A kind of route synchronization method of single machine pile system | |
CN111654384A (en) | Main/standby switching method, BRAS (broadband remote Access Server) equipment and storage medium | |
CN104954101A (en) | Multi-terminal data synchronization method based on ACK synchronization | |
CN106911597A (en) | A kind of board-spanning forwarding method and apparatus | |
US9706440B2 (en) | Mobile communication system, call processing node, and communication control method | |
CN107911250B (en) | Stacking system and method for preventing traffic loss | |
KR20160090485A (en) | Method and apparatus for operating distributed controllers of software defined network | |
CN116095145B (en) | Data control method and system of VPC cluster | |
CN105577310B (en) | The synchronous method of task partition and communication scheduling in a kind of time triggered Ethernet | |
CN111083074A (en) | High availability method and system for main and standby dual OSPF state machines | |
CN102983997A (en) | Method and device for migrating master services | |
CN115599494A (en) | Virtual machine migration method and device, upgrading method and server |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |