CN107179912B - Hot upgrading method for distributed architecture software defined network controller - Google Patents

Hot upgrading method for distributed architecture software defined network controller Download PDF

Info

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
Application number
CN201710423848.9A
Other languages
Chinese (zh)
Other versions
CN107179912A (en
Inventor
刘忻
林冬艺
袁龙浩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Bingo Software Co Ltd
Original Assignee
Guangzhou Bingo Software Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangzhou Bingo Software Co Ltd filed Critical Guangzhou Bingo Software Co Ltd
Priority to CN201710423848.9A priority Critical patent/CN107179912B/en
Publication of CN107179912A publication Critical patent/CN107179912A/en
Application granted granted Critical
Publication of CN107179912B publication Critical patent/CN107179912B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network 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

Hot upgrading method for distributed architecture software defined network controller
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.
CN201710423848.9A 2017-06-07 2017-06-07 Hot upgrading method for distributed architecture software defined network controller Active CN107179912B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
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