[go: up one dir, main page]

CN118827424A - Virtual controller construction method, device and system - Google Patents

Virtual controller construction method, device and system Download PDF

Info

Publication number
CN118827424A
CN118827424A CN202410007041.7A CN202410007041A CN118827424A CN 118827424 A CN118827424 A CN 118827424A CN 202410007041 A CN202410007041 A CN 202410007041A CN 118827424 A CN118827424 A CN 118827424A
Authority
CN
China
Prior art keywords
controller
physical
message
physical controller
sdn
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.)
Pending
Application number
CN202410007041.7A
Other languages
Chinese (zh)
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.)
China Mobile Communications Group Co Ltd
China Mobile Hangzhou Information Technology Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Hangzhou Information Technology 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 China Mobile Communications Group Co Ltd, China Mobile Hangzhou Information Technology Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN202410007041.7A priority Critical patent/CN118827424A/en
Publication of CN118827424A publication Critical patent/CN118827424A/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/622Layer-2 addresses, e.g. medium access control [MAC] addresses

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开了一种虚拟控制器构建方法、装置及系统,其中,SDN中的每个物理控制器广播自身作为宿主控制器的同步消息;对于SDN中的任意第一物理控制器,第一物理控制器接收SDN中任一第二物理控制器广播的同步消息;第一物理控制器对接收到的同步消息中的MAC地址进行更新,得到第一同步消息,并对第一同步消息进行广播;在第一物理控制器接收SDN中其他物理控制器广播的多条同步消息的情况下,若N条同步消息中均携带第一物理控制器的MAC地址,则将第一物理控制器作为虚拟控制器的宿主控制器;在第一物理控制器上构建虚拟控制器。上述中,通过虚拟控制器将SDN的公共网络信息同步给SDN中的所有物理控制器,降低控制平面的网络流量开销。

The present application discloses a method, device and system for constructing a virtual controller, wherein each physical controller in the SDN broadcasts a synchronization message of itself as a host controller; for any first physical controller in the SDN, the first physical controller receives a synchronization message broadcast by any second physical controller in the SDN; the first physical controller updates the MAC address in the received synchronization message, obtains a first synchronization message, and broadcasts the first synchronization message; when the first physical controller receives multiple synchronization messages broadcast by other physical controllers in the SDN, if the N synchronization messages all carry the MAC address of the first physical controller, the first physical controller is used as the host controller of the virtual controller; and a virtual controller is constructed on the first physical controller. In the above, the public network information of the SDN is synchronized to all physical controllers in the SDN through the virtual controller, thereby reducing the network traffic overhead of the control plane.

Description

虚拟控制器构建方法、装置及系统Virtual controller construction method, device and system

技术领域Technical Field

本申请属于通信技术领域,尤其涉及一种虚拟控制器构建方法、装置及系统。The present application belongs to the field of communication technology, and in particular, relates to a method, device and system for constructing a virtual controller.

背景技术Background Art

软件定义网络(Software defined networking,SDN)通过控制平面和数据平面的分离,实现了对网络数据转发设备的逻辑集中控制。分布式SDN网络由多个物理控制器和数据转发设备(例如,openflow交换机)构成,物理控制器管理各自控制域下的数据转发设备,底层数据转发设备的转发策略均由上层控制器制定、下发,上层控制器构成SDN网络控制平面。Software defined networking (SDN) achieves logical centralized control of network data forwarding devices by separating the control plane and the data plane. A distributed SDN network consists of multiple physical controllers and data forwarding devices (e.g., openflow switches). Physical controllers manage the data forwarding devices under their respective control domains. The forwarding strategies of the underlying data forwarding devices are formulated and issued by the upper-layer controllers, which constitute the SDN network control plane.

目前,SDN网络中的各个物理控制器之间需要交互公共网络信息,公共网络信息包括各个物理控制器频繁发送的心跳信息和各个物理控制器共享控制域内的网络信息等等,心跳信息用来维护物理控制器的网络状态,由于各物理控制器之间发送的信息较多,导致控制平面的网络流量开销较大。At present, the physical controllers in the SDN network need to exchange public network information. The public network information includes the heartbeat information frequently sent by each physical controller and the network information within the shared control domain of each physical controller. The heartbeat information is used to maintain the network status of the physical controller. Since a lot of information is sent between the physical controllers, the network traffic overhead of the control plane is large.

发明内容Summary of the invention

本申请实施例提供一种虚拟控制器构建方法、装置及系统,可以在某个物理控制器上构建虚拟控制器,通过虚拟控制器将SDN的公共网络信息同步给SDN中的所有物理控制器,降低控制平面的网络流量开销。The embodiments of the present application provide a method, device and system for constructing a virtual controller, which can construct a virtual controller on a physical controller, synchronize the public network information of the SDN to all physical controllers in the SDN through the virtual controller, and reduce the network traffic overhead of the control plane.

第一方面,本申请实施例提供一种虚拟控制器构建方法,方法包括:In a first aspect, an embodiment of the present application provides a method for constructing a virtual controller, the method comprising:

软件定义网络SDN中的每个物理控制器广播自身作为宿主控制器的同步消息,每个同步消息包括一个物理控制器的MAC地址;Each physical controller in the software defined network (SDN) broadcasts a synchronization message that it is a host controller. Each synchronization message includes a MAC address of a physical controller.

对于所述SDN中的任意第一物理控制器,所述第一物理控制器接收所述SDN中任一第二物理控制器广播的同步消息;For any first physical controller in the SDN, the first physical controller receives a synchronization message broadcast by any second physical controller in the SDN;

所述第一物理控制器对接收到的同步消息中的MAC地址进行更新,得到第一同步消息,并对所述第一同步消息进行广播;The first physical controller updates the MAC address in the received synchronization message to obtain a first synchronization message, and broadcasts the first synchronization message;

在所述第一物理控制器接收所述SDN中其他物理控制器广播的多条同步消息的情况下,若N条同步消息中均携带第一物理控制器的MAC地址,则将所述第一物理控制器作为虚拟控制器的宿主控制器,N大于m/2,m为所述SDN中物理控制器的数量;In the case where the first physical controller receives multiple synchronization messages broadcasted by other physical controllers in the SDN, if N synchronization messages all carry the MAC address of the first physical controller, the first physical controller is used as the host controller of the virtual controller, where N is greater than m/2, and m is the number of physical controllers in the SDN;

在所述第一物理控制器上构建虚拟控制器,所述虚拟控制器用于将所述SDN的公共网络信息同步给所述SDN中的所有物理控制器。A virtual controller is constructed on the first physical controller, where the virtual controller is used to synchronize public network information of the SDN to all physical controllers in the SDN.

第二方面,本申请实施例提供了一种虚拟控制器构建装置,装置包括:In a second aspect, an embodiment of the present application provides a virtual controller construction device, the device comprising:

第一广播模块,用于通过软件定义网络SDN中的每个物理控制器广播自身作为宿主控制器的同步消息,每个同步消息包括一个物理控制器的MAC地址;A first broadcast module, configured to broadcast a synchronization message of itself as a host controller through each physical controller in the software defined network SDN, wherein each synchronization message includes a MAC address of a physical controller;

接收模块,用于通过所述SDN中的任意第一物理控制器接收所述SDN中任一第二物理控制器广播的同步消息;A receiving module, configured to receive a synchronization message broadcasted by any second physical controller in the SDN through any first physical controller in the SDN;

更新模块,用于通过所述第一物理控制器对接收到的同步消息中的MAC地址进行更新,得到第一同步消息;An updating module, configured to update the MAC address in the received synchronization message through the first physical controller to obtain a first synchronization message;

第二广播模块,用于通过所述第一物理控制器对所述第一同步消息进行广播;A second broadcast module, configured to broadcast the first synchronization message through the first physical controller;

确定模块,用于在所述第一物理控制器接收所述SDN中其他物理控制器广播的多条同步消息的情况下,若N条同步消息中均携带第一物理控制器的MAC地址,则将所述第一物理控制器作为虚拟控制器的宿主控制器,N大于m/2,m为所述SDN中物理控制器的数量;a determination module, configured to, when the first physical controller receives multiple synchronization messages broadcasted by other physical controllers in the SDN, use the first physical controller as a host controller of the virtual controller if N synchronization messages all carry the MAC address of the first physical controller, where N is greater than m/2 and m is the number of physical controllers in the SDN;

构建模块,用于在所述第一物理控制器上构建虚拟控制器,所述虚拟控制器用于将所述SDN的公共网络信息同步给所述SDN中的所有物理控制器。A construction module is used to construct a virtual controller on the first physical controller, and the virtual controller is used to synchronize the public network information of the SDN to all physical controllers in the SDN.

第三方面,本申请实施例提供了一种虚拟控制器构建系统,所述系统包括软件定义网络SDN中的多个物理控制器,第一物理控制器为所述SDN中的任意物理控制器;In a third aspect, an embodiment of the present application provides a virtual controller construction system, the system comprising a plurality of physical controllers in a software defined network SDN, the first physical controller being any physical controller in the SDN;

每个物理控制器,用于广播自身作为宿主控制器的同步消息,每个同步消息包括一个物理控制器的MAC地址;Each physical controller is used to broadcast a synchronization message that it serves as a host controller, and each synchronization message includes a MAC address of a physical controller;

第一物理控制器,还用于:The first physical controller is also used to:

接收所述SDN中任一第二物理控制器广播的同步消息,对接收到的同步消息中的MAC地址进行更新,得到第一同步消息,并对所述第一同步消息进行广播;Receiving a synchronization message broadcasted by any second physical controller in the SDN, updating a MAC address in the received synchronization message to obtain a first synchronization message, and broadcasting the first synchronization message;

在所述第一物理控制器接收所述SDN中其他物理控制器广播的多条同步消息的情况下,若N条同步消息中均携带第一物理控制器的MAC地址,则将所述第一物理控制器作为虚拟控制器的宿主控制器,N大于m/2,m为所述SDN中物理控制器的数量;In the case where the first physical controller receives multiple synchronization messages broadcasted by other physical controllers in the SDN, if N synchronization messages all carry the MAC address of the first physical controller, the first physical controller is used as the host controller of the virtual controller, where N is greater than m/2, and m is the number of physical controllers in the SDN;

在所述第一物理控制器上构建虚拟控制器,所述虚拟控制器用于将所述SDN的公共网络信息同步给所述SDN中的所有物理控制器。A virtual controller is constructed on the first physical controller, where the virtual controller is used to synchronize public network information of the SDN to all physical controllers in the SDN.

本申请实施例的虚拟控制器构建方法、装置及系统,可以在某个物理控制器上构建虚拟控制器,通过虚拟控制器将SDN的公共网络信息同步给SDN中的所有物理控制器,降低控制平面的网络流量开销。The virtual controller construction method, device and system of the embodiments of the present application can build a virtual controller on a physical controller, synchronize the public network information of the SDN to all physical controllers in the SDN through the virtual controller, and reduce the network traffic overhead of the control plane.

附图说明BRIEF DESCRIPTION OF THE DRAWINGS

为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单的介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。In order to more clearly illustrate the technical solution of the embodiments of the present application, the following is a brief introduction to the drawings required for use in the embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.

图1是本申请一个实施例提供的SDN数据交互示意图;FIG1 is a schematic diagram of SDN data interaction provided by an embodiment of the present application;

图2是本申请一个实施例提供的虚拟控制器构建方法的流程示意图;FIG2 is a schematic diagram of a flow chart of a method for constructing a virtual controller provided by an embodiment of the present application;

图3是本申请一个实施例提供的SDN结构示意图;FIG3 is a schematic diagram of an SDN structure provided by an embodiment of the present application;

图4是本申请一个实施例提供的同步消息的字段组成结构示意图;FIG4 is a schematic diagram of the field composition structure of a synchronization message provided by an embodiment of the present application;

图5是本申请一个实施例提供的虚拟控制器发送广播信息的示意图;FIG5 is a schematic diagram of a virtual controller sending broadcast information according to an embodiment of the present application;

图6是本申请一个实施例提供的虚拟控制器构建装置的结构示意图。FIG6 is a schematic diagram of the structure of a virtual controller construction device provided in one embodiment of the present application.

具体实施方式DETAILED DESCRIPTION

下面将详细描述本申请的各个方面的特征和示例性实施例,为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本申请进行进一步详细描述。应理解,此处所描述的具体实施例仅意在解释本申请,而不是限定本申请。对于本领域技术人员来说,本申请可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本申请的示例来提供对本申请更好的理解。The features and exemplary embodiments of various aspects of the present application will be described in detail below. In order to make the purpose, technical solutions and advantages of the present application clearer, the present application will be further described in detail below in conjunction with the accompanying drawings and specific embodiments. It should be understood that the specific embodiments described herein are only intended to explain the present application, rather than to limit the present application. For those skilled in the art, the present application can be implemented without the need for some of these specific details. The following description of the embodiments is only to provide a better understanding of the present application by illustrating the examples of the present application.

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。It should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the statement "include..." do not exclude the presence of other identical elements in the process, method, article or device including the elements.

软件定义网络(Software defined networking,SDN)通过控制平面和数据平面的分离,实现了对网络数据转发设备的逻辑集中控制。如图1所示,分布式SDN网络由多个物理控制器和数据转发设备(例如,openflow交换机)构成的,物理控制器管理各自控制域下的数据转发设备,底层数据转发设备的转发策略均由上层控制器制定、下发,上层控制器构成SDN网络控制平面。Software defined networking (SDN) achieves logical centralized control of network data forwarding devices by separating the control plane and the data plane. As shown in Figure 1, a distributed SDN network consists of multiple physical controllers and data forwarding devices (e.g., openflow switches). Physical controllers manage the data forwarding devices under their respective control domains. The forwarding strategies of the underlying data forwarding devices are formulated and issued by the upper-layer controllers, which constitute the SDN network control plane.

SDN网络中的各个物理控制器之间需要交互公共网络信息,例如,若SDN网络中有三个物理控制器,则每两两物理控制器之间都需要交互公共网络信息,公共网络信息包括各个物理控制器频繁发送的心跳信息和各个物理控制器共享控制域内的网络信息等等,心跳信息用来维护物理控制器的网络状态,导致控制平面的网络流量开销较大。Public network information needs to be exchanged between the physical controllers in the SDN network. For example, if there are three physical controllers in the SDN network, public network information needs to be exchanged between every two physical controllers. The public network information includes the heartbeat information frequently sent by each physical controller and the network information within the shared control domain of each physical controller, etc. The heartbeat information is used to maintain the network status of the physical controller, resulting in a large network traffic overhead in the control plane.

为了解决现有技术问题,本申请实施例提供了一种虚拟控制器构建方法、装置及系统。下面首先对本申请实施例所提供的虚拟控制器构建方法进行介绍。In order to solve the problems in the prior art, the embodiments of the present application provide a method, device and system for constructing a virtual controller. The following first introduces the method for constructing a virtual controller provided in the embodiments of the present application.

图2示出了本申请一个实施例提供的虚拟控制器构建方法的流程示意图。如图2所示,本申请实施例提供的虚拟控制器构建方法包括如下步骤101-步骤105,其中:FIG2 shows a flow chart of a virtual controller construction method provided by an embodiment of the present application. As shown in FIG2 , the virtual controller construction method provided by an embodiment of the present application includes the following steps 101 to 105, wherein:

步骤101,软件定义网络SDN中的每个物理控制器广播自身作为宿主控制器的同步消息,每个同步消息包括一个物理控制器的媒体存取控制位址(Media Access ControlAddress,MAC)地址,MAC地址也可称为局域网地址(LAN Address),以太网地址(EthernetAddress)或物理地址(Physical Address),MAC地址用于指示物理控制器唯一物理硬件地址,占48位。Step 101, each physical controller in the software defined network SDN broadcasts a synchronization message of itself as a host controller, each synchronization message includes a media access control address (MAC) address of a physical controller, MAC address can also be called local area network address (LAN Address), Ethernet address (Ethernet Address) or physical address (Physical Address), MAC address is used to indicate the unique physical hardware address of the physical controller, occupying 48 bits.

示例性地,同步消息还包括如下至少一项:Exemplarily, the synchronization message further includes at least one of the following:

所述消息类型TYPE,用于指示同步消息的类型,占4位,默认寄宿消息类型为0001,寄宿结果通知消息类型为0002,心跳消息类型为0003;The message type TYPE is used to indicate the type of synchronization message, occupies 4 bits, the default lodging message type is 0001, the lodging result notification message type is 0002, and the heartbeat message type is 0003;

所述消息优先级PRIORITY,用于指示同步消息的优先级,占8位,值越小优先级越高;The message priority PRIORITY is used to indicate the priority of the synchronization message, occupies 8 bits, and the smaller the value, the higher the priority;

所述当前轮次ROUND,用于指示同步消息的轮次,占32位;The current round ROUND is used to indicate the round of the synchronization message, occupying 32 bits;

所述网络当前状态NETWORK STATE,用于指示发送同步消息的物理控制器的网络状态,占32位。The network current state NETWORK STATE is used to indicate the network state of the physical controller that sends the synchronization message, and occupies 32 bits.

本步骤中的同步消息的消息类型为0001,PRIORITY默认为11111111,ROUND为00000001,NETWORK STATE通过读取配置文件获取,MAC地址由发送同步消息的物理控制器决定。The message type of the synchronization message in this step is 0001, the default value of PRIORITY is 11111111, the default value of ROUND is 00000001, the NETWORK STATE is obtained by reading the configuration file, and the MAC address is determined by the physical controller that sends the synchronization message.

步骤102,对于所述SDN中的任意第一物理控制器,所述第一物理控制器接收所述SDN中任一第二物理控制器广播的同步消息。Step 102: For any first physical controller in the SDN, the first physical controller receives a synchronization message broadcasted by any second physical controller in the SDN.

SDN中的每个物理控制器都接收其他物理控制器广播的同步消息,并对同步消息进行分析。为便于描述,在本步骤中以第一物理控制器接收第二物理控制器广播的同步消息为例进行说明。Each physical controller in the SDN receives the synchronization message broadcast by other physical controllers and analyzes the synchronization message. For ease of description, in this step, the first physical controller receives the synchronization message broadcast by the second physical controller as an example.

第二物理控制器可以是SDN中的任意一个除第一物理控制器之外的物理控制器。The second physical controller may be any physical controller in the SDN except the first physical controller.

步骤103,所述第一物理控制器对接收到的同步消息中的MAC地址进行更新,得到第一同步消息,并对所述第一同步消息进行广播。Step 103: The first physical controller updates the MAC address in the received synchronization message to obtain a first synchronization message, and broadcasts the first synchronization message.

第一物理控制器接收到同步消息之后,将最近更新的同步消息与接收到的同步消息做比较,在需要对接收到的同步消息中的MAC地址进行更新的情况下,对接收到的同步消息中的MAC地址进行更新,得到第一同步消息,并将第一同步消息广播给其他物理控制器。After receiving the synchronization message, the first physical controller compares the most recently updated synchronization message with the received synchronization message. If the MAC address in the received synchronization message needs to be updated, the MAC address in the received synchronization message is updated to obtain the first synchronization message, and the first synchronization message is broadcast to other physical controllers.

示例性地,所述第一物理控制器对接收到的同步消息中的MAC地址进行更新,得到第一同步消息,具体可包括:Exemplarily, the first physical controller updates the MAC address in the received synchronization message to obtain the first synchronization message, which may specifically include:

在所述第一物理控制器接收到的第三同步消息的消息类型为预设消息类型的情况下,若所述第一物理控制器的第二同步消息的当前轮次与所述第三同步消息的当前轮次相同,则将目标同步消息的当前轮次的值增加1,得到第一同步消息;In a case where the message type of the third synchronization message received by the first physical controller is a preset message type, if the current round of the second synchronization message of the first physical controller is the same as the current round of the third synchronization message, the value of the current round of the target synchronization message is increased by 1 to obtain the first synchronization message;

其中,所述目标同步消息为所述第二同步消息对应的值和所述第三同步消息对应的值中的最小值者。The target synchronization message is the minimum value between the value corresponding to the second synchronization message and the value corresponding to the third synchronization message.

上述中,为便于描述,将第一物理控制器接收到的同步消息称为第三同步消息,将在接收第三同步消息之前第一物理控制器中的最新的同步消息称为第二同步消息。第一物理控制器接收到第三同步消息之后,判断第三同步消息的消息类型是否为0001,若是,则判断第二同步消息的当前轮次与第三同步消息的当前轮次是否相同,若相同,则从第二同步消息和第三同步消息中选择值最小的同步消息,作为目标同步消息。In the above, for the convenience of description, the synchronization message received by the first physical controller is called the third synchronization message, and the latest synchronization message in the first physical controller before receiving the third synchronization message is called the second synchronization message. After receiving the third synchronization message, the first physical controller determines whether the message type of the third synchronization message is 0001. If so, it determines whether the current round of the second synchronization message is the same as the current round of the third synchronization message. If they are the same, the synchronization message with the smallest value is selected from the second synchronization message and the third synchronization message as the target synchronization message.

由于同步消息包括MAC地址、消息类型、消息优先级、当前轮次、网络当前状态5个字段,每个字段采用二进制数进行标识,根据这些二进制可以计算得到同步消息的值。Since the synchronization message includes five fields, namely, MAC address, message type, message priority, current round, and current network status, each field is identified by a binary number, and the value of the synchronization message can be calculated based on these binary numbers.

根据目标同步消息,可以生成第一同步消息。第一同步消息的内容具体如下,TYPE为0001,PRIORITY默认为11111111,ROUND自增1,NETWORK STATE和MAC为目标同步消息的相应值。According to the target synchronization message, a first synchronization message can be generated. The content of the first synchronization message is as follows: TYPE is 0001, PRIORITY defaults to 11111111, ROUND increments by 1, and NETWORK STATE and MAC are corresponding values of the target synchronization message.

在本申请一些实施例中,所述第一物理控制器对接收到的同步消息中的MAC地址进行更新,得到第一同步消息,包括:In some embodiments of the present application, the first physical controller updates the MAC address in the received synchronization message to obtain the first synchronization message, including:

在所述第一物理控制器接收到的第三同步消息的消息类型为预设消息类型的情况下,若所述第二同步消息的当前轮次小于所述第三同步消息的当前轮次,则更新所述第二同步消息的当前轮次为所述第三同步消息的当前轮次。When the message type of the third synchronization message received by the first physical controller is a preset message type, if the current round of the second synchronization message is smaller than the current round of the third synchronization message, the current round of the second synchronization message is updated to the current round of the third synchronization message.

SDN中的其他物理控制器也会做与第一物理控制器相同的处理,直到每个物理控制器接收到所有其他物理控制器的同步消息,或者接收到的多条同步消息中有大于SDN中物理控制器数量一半的消息都包括第一物理控制器的MAC地址。The other physical controllers in the SDN will also perform the same processing as the first physical controller until each physical controller receives synchronization messages from all other physical controllers, or more than half of the received synchronization messages include the MAC address of the first physical controller.

步骤104,在所述第一物理控制器接收所述SDN中其他物理控制器广播的多条同步消息的情况下,若N条同步消息中均携带第一物理控制器的MAC地址,则将所述第一物理控制器作为虚拟控制器的宿主控制器,N大于m/2,m为所述SDN中物理控制器的数量。Step 104, when the first physical controller receives multiple synchronization messages broadcast by other physical controllers in the SDN, if N synchronization messages all carry the MAC address of the first physical controller, the first physical controller is used as the host controller of the virtual controller, N is greater than m/2, and m is the number of physical controllers in the SDN.

若每个物理控制器接收到所有其他物理控制器的多条同步消息,这些同步消息中有大于m/2的同步消息均携带第一物理控制器的MAC地址,则说明SDN中有大于m/2的物理控制器选择将第一物理控制器作为宿主控制器。If each physical controller receives multiple synchronization messages from all other physical controllers, and more than m/2 of these synchronization messages carry the MAC address of the first physical controller, it means that more than m/2 physical controllers in the SDN choose the first physical controller as the host controller.

步骤105,在所述第一物理控制器上构建虚拟控制器,所述虚拟控制器用于将所述SDN的公共网络信息同步给所述SDN中的所有物理控制器。Step 105: construct a virtual controller on the first physical controller, where the virtual controller is used to synchronize public network information of the SDN to all physical controllers in the SDN.

由于每条同步消息都采用广播的方式进行发送,可使得各个物理控制器拥有的同步消息是相同的,在各个物理控制器选出宿主控制器之后,即N条同步消息中均携带第一物理控制器的MAC地址,则第一物理控制器获知自己成为宿主控制器,由第一物理控制器建模虚拟控制器。Since each synchronization message is sent in a broadcast manner, the synchronization messages possessed by each physical controller are the same. After each physical controller selects a host controller, that is, N synchronization messages all carry the MAC address of the first physical controller, the first physical controller learns that it has become the host controller, and the virtual controller is modeled by the first physical controller.

本实施例中,通过SDN中的各个物理控制器广播同步消息,选出宿主控制器,并在宿主控制器上构建虚拟控制器,通过虚拟控制器将SDN的公共网络信息同步给SDN中的所有物理控制器,相比于每两两物理控制器都需要进行信息交互,通过虚拟控制器将信息同步给所有物理控制器,可以大大降低控制平面的网络流量开销,同时也能极大降低控制平面网络信息一致性维护难度。In this embodiment, synchronization messages are broadcasted through each physical controller in the SDN, a host controller is selected, and a virtual controller is built on the host controller. The public network information of the SDN is synchronized to all physical controllers in the SDN through the virtual controller. Compared with the need for information exchange between each pair of physical controllers, synchronizing information to all physical controllers through the virtual controller can greatly reduce the network traffic overhead of the control plane, and at the same time greatly reduce the difficulty of maintaining the consistency of the control plane network information.

在本申请一些实施例中,在所述软件定义网络SDN中的每个物理控制器广播自身作为宿主控制器的同步消息之前,所述方法还包括:In some embodiments of the present application, before each physical controller in the software defined network SDN broadcasts a synchronization message indicating that it serves as a host controller, the method further includes:

所述SDN中的每个物理控制器广播自身的MAC地址;Each physical controller in the SDN broadcasts its own MAC address;

对于所述SDN中的任意第三物理控制器,所述第三物理控制器根据接收到的所述SDN中其他物理控制器广播的MAC地址,确定所述SDN中物理控制器的数量。For any third physical controller in the SDN, the third physical controller determines the number of physical controllers in the SDN according to the received MAC addresses broadcasted by other physical controllers in the SDN.

本实施例为物理控制器发现阶段,一般在网络初始化或新的物理控制器加入SDN等网络事件发生时进行,具体地,物理控制器将自身MAC地址通过TYPE为0003类型的同步消息(其他部分为0)广播至控制平面网络。接收和分析该类型消息条数,计算出SDN当前物理控制器总数m,并将m记录在本地配置文件。This embodiment is the physical controller discovery phase, which is generally performed when network events such as network initialization or new physical controllers joining SDN occur. Specifically, the physical controller broadcasts its MAC address to the control plane network through a synchronization message of TYPE 0003 (other parts are 0). The number of messages of this type is received and analyzed, the total number of physical controllers m currently in the SDN is calculated, and m is recorded in the local configuration file.

在本申请一些实施例中,所述网络当前状态根据如下表达式确定:In some embodiments of the present application, the current state of the network is determined according to the following expression:

其中,表示物理控制器Ci的中央处理器负载状态,Idlei表示物理控制器Ci中央处理器空闲时间,TRi表示物理控制器Ci中央处理器运行时间;in, represents the CPU load status of the physical controller Ci , Idle i represents the CPU idle time of the physical controller Ci , and TR i represents the CPU running time of the physical controller Ci ;

表示物理控制器Ci的内存负载状态,Freei表示物理控制器Ci空闲内存,TMi表示物理控制器Ci总内存; Indicates the memory load status of the physical controller C i , Free i indicates the free memory of the physical controller C i , and TM i indicates the total memory of the physical controller C i ;

表示物理控制器Ci和物理控制器Cj间链路资源利用状态,Di,j表示物理控制器Ci和物理控制器Cj间最短带内通信链路的集合,Sendl表示第l条链路单位时间消息量,Brandl表示第l条链路分配的带宽; represents the link resource utilization status between physical controller Ci and physical controller Cj , Di ,j represents the set of the shortest in-band communication links between physical controller Ci and physical controller Cj , Send l represents the number of messages per unit time on the lth link, and Brand l represents the bandwidth allocated to the lth link;

ω1、ω2、ω3为权重调节因子,且ω123=1。ω 1 , ω 2 , and ω 3 are weight adjustment factors, and ω 123 =1.

在本申请一些实施例中,在所述第一物理控制器上构建虚拟控制器之后,所述方法还包括:In some embodiments of the present application, after constructing the virtual controller on the first physical controller, the method further includes:

所述第一物理控制器上的虚拟控制器将所述第一物理控制器的MAC地址通过第四同步消息进行广播,所述第四同步消息用于告知所述SDN中的所有物理控制器所述第一物理控制器为虚拟控制器的宿主控制器;The virtual controller on the first physical controller broadcasts the MAC address of the first physical controller through a fourth synchronization message, where the fourth synchronization message is used to inform all physical controllers in the SDN that the first physical controller is a host controller of the virtual controller;

所述第四同步消息的消息类型与第一同步消息的类型不同,且所述第四同步消息的消息优先级、当前轮次、以及网络当前状态均取值为0。The message type of the fourth synchronization message is different from the type of the first synchronization message, and the message priority, current round, and current network status of the fourth synchronization message are all 0.

本实施例属于结果分发阶段,虚拟控制器将宿主控制器的MAC地址通过TYPE为0002类型的同步消息(其他部分为0)广播出去,已告知其他物理控制器第一物理控制器为宿主控制器。This embodiment belongs to the result distribution stage. The virtual controller broadcasts the MAC address of the host controller through a synchronization message of type 0002 (other parts are 0), and informs other physical controllers that the first physical controller is the host controller.

在本申请一些实施例中,在所述第一物理控制器上构建虚拟控制器之后,所述方法还包括:In some embodiments of the present application, after constructing the virtual controller on the first physical controller, the method further includes:

在所述第一物理控制器发生故障的情况下,若所述第一物理控制器与所述SDN中其他物理控制器之间的连接中断,则跳转至SDN中的每个物理控制器广播自身作为宿主控制器的同步消息的步骤执行,以从所述SDN中确定新的宿主控制器。In the event of a failure of the first physical controller, if the connection between the first physical controller and other physical controllers in the SDN is interrupted, the step of jumping to each physical controller in the SDN to broadcast a synchronization message of itself as a host controller is executed to determine a new host controller from the SDN.

当宿主控制器发生单点故障,控制平面其他控制器与虚拟控制器间连接中断,可跳转至SDN中的每个物理控制器广播自身作为宿主控制器的同步消息的步骤执行,以重新选出新的宿主控制器,并在新的宿主控制器上构建虚拟控制器,以使得控制平面快速恢复连接。When a single point failure occurs in the host controller, the connection between other controllers and the virtual controller of the control plane is interrupted. The process can jump to the step where each physical controller in the SDN broadcasts a synchronization message that it is the host controller, so as to re-select a new host controller and build a virtual controller on the new host controller, so that the control plane can quickly restore the connection.

以下对本申请提供的虚拟控制器构建方法进行如下举例说明。The following is an example of the method for constructing a virtual controller provided in this application.

如图3所示,假设SDN网络有n个交换机,网络中第i个交换机表示为Si,1≤i≤n。假设有m个控制器,网络中第i个控制器表示为Ci,1≤i≤m。如上图所示,在虚线控制域中,控制器C2管控交换机S1、S2、S4。控制器C1、C2、C3和C4通过交换机间链路通信构成上层控制平面。一般地,在分布式SDN控制平面,控制器间需要频繁发送心跳信息维护网络状态,共享各自控制域内网络信息,保证网络全局一致。As shown in Figure 3, assuming that the SDN network has n switches, the i-th switch in the network is represented by S i , 1≤i≤n. Assuming that there are m controllers, the i-th controller in the network is represented by C i , 1≤i≤m. As shown in the above figure, in the dotted control domain, controller C 2 controls switches S 1 , S 2 , and S 4 . Controllers C 1 , C 2 , C 3 , and C 4 communicate through inter-switch links to form the upper control plane. Generally, in a distributed SDN control plane, controllers need to frequently send heartbeat information to maintain the network status, share network information in their respective control domains, and ensure global consistency of the network.

如图4所示,同步消息(以下称SYNC消息)由TYPE、PRIORITY、ROUND、NETWORKSTATE、MAC地址五部分组成,其中TYPE用于区分控制器间消息类型,占4位,默认寄宿消息类型为0001,寄宿结果通知消息类型为0002,心跳消息类型为0003;PRIORITY表示消息优先级,占8位,值越小优先级越高;ROUND表示当前SYNC轮次,占32位。NETWORK STATE表示网络当前状态,占32位。MAC表示控制器唯一物理硬件地址,占48位。As shown in Figure 4, the synchronization message (hereinafter referred to as SYNC message) consists of five parts: TYPE, PRIORITY, ROUND, NETWORKSTATE, and MAC address. TYPE is used to distinguish the message type between controllers, occupying 4 bits. The default host message type is 0001, the host result notification message type is 0002, and the heartbeat message type is 0003. PRIORITY indicates the message priority, occupying 8 bits. The smaller the value, the higher the priority. ROUND indicates the current SYNC round, occupying 32 bits. NETWORK STATE indicates the current state of the network, occupying 32 bits. MAC indicates the unique physical hardware address of the controller, occupying 48 bits.

SDN中控制器Ci的网络状态NETWORK STATE为:The network state of controller Ci in SDN is:

其中,表示物理控制器Ci的中央处理器负载状态,Idlei表示物理控制器Ci中央处理器空闲时间,TRi表示物理控制器Ci中央处理器运行时间;in, represents the CPU load status of the physical controller Ci , Idle i represents the CPU idle time of the physical controller Ci , and TR i represents the CPU running time of the physical controller Ci ;

表示物理控制器Ci的内存负载状态,Freei表示物理控制器Ci空闲内存,TMi表示物理控制器Ci总内存; Indicates the memory load status of the physical controller C i , Free i indicates the free memory of the physical controller C i , and TM i indicates the total memory of the physical controller C i ;

表示物理控制器Ci和物理控制器Cj间链路资源利用状态,Di,j表示物理控制器Ci和物理控制器Cj间最短带内通信链路的集合,Sendl表示第l条链路单位时间消息量,Brandl表示第l条链路分配的带宽; represents the link resource utilization status between physical controller Ci and physical controller Cj , Di ,j represents the set of the shortest in-band communication links between physical controller Ci and physical controller Cj , Send l represents the number of messages per unit time on the lth link, and Brand l represents the bandwidth allocated to the lth link;

ω1、ω2、ω3为权重调节因子,且ω123=1。ω 1 , ω 2 , and ω 3 are weight adjustment factors, and ω 123 =1.

虚拟控制器构建方法包括:控制器发现、虚拟控制器寄宿、结果分发三个阶段。The virtual controller construction method includes three stages: controller discovery, virtual controller hosting, and result distribution.

控制器发现阶段:一般在网络初始化或新的物理控制器加入等网络事件发生时进行。物理控制器将自身MAC通过TYPE为0003类型的SYNC消息(其他部分为0)广播至控制平面网络。同时通过接收和分析该类型消息条数,计算出网络当前物理控制器总数m,记录在本地配置文件。Controller discovery phase: This is usually performed when network events such as network initialization or the addition of a new physical controller occur. The physical controller broadcasts its MAC to the control plane network through a SYNC message with a TYPE of 0003 (other parts are 0). At the same time, by receiving and analyzing the number of messages of this type, the total number of physical controllers in the network, m, is calculated and recorded in the local configuration file.

虚拟控制器寄宿阶段:所有物理控制器首先广播自身为宿主物理控制器的SYNC消息至控制平面网络,消息内容具体如下,TYPE为0001,PRIORITY默认为11111111,ROUND为00000001,NETWORK STATE通过读取配置文件获取,MAC由当前物理控制器本身决定。Virtual controller hosting stage: All physical controllers first broadcast a SYNC message to the control plane network indicating that they are the host physical controllers. The message content is as follows: TYPE is 0001, PRIORITY is 11111111 by default, ROUND is 00000001, NETWORK STATE is obtained by reading the configuration file, and MAC is determined by the current physical controller itself.

物理控制器接收到TYPE为0001的SYNC消息后,若物理控制器当前ROUND与接收到消息ROUND相同,通过比较SYNC消息数值大小找出数值最小的SYNC消息,并产生新的消息,内容具体如下,TYPE为0001,PRIORITY默认为11111111,ROUND自增1,NETWORK STATE和MAC为数值最小的SYNC消息的对应部分值,最后广播出去;After the physical controller receives a SYNC message with TYPE of 0001, if the current ROUND of the physical controller is the same as the ROUND of the received message, the SYNC message with the smallest value is found by comparing the values of the SYNC messages, and a new message is generated. The content is as follows: TYPE is 0001, PRIORITY defaults to 11111111, ROUND increments by 1, NETWORK STATE and MAC are the corresponding values of the SYNC message with the smallest value, and finally it is broadcasted;

若物理控制器当前ROUND小于接收到消息ROUND,更新物理控制器当前ROUND,并清空历史ROUND消息。If the current ROUND of the physical controller is less than the ROUND of the received message, update the current ROUND of the physical controller and clear the historical ROUND messages.

重复上述步骤,直到收到所有物理控制器的SYNC消息或者寄宿第一物理控制器的消息条数大于m/2,将第一物理控制器作为宿主控制器。Repeat the above steps until SYNC messages from all physical controllers are received or the number of messages hosted by the first physical controller is greater than m/2, and the first physical controller is used as the host controller.

在第一物理控制器上构建虚拟控制器,虚拟控制器主要负责运算和维护控制器间需要同步共享的公共网络关键信息。虚拟控制器将公共网络信息分发同步给所有控制器,实现多控制器间的数据状态实时同步及一致性。虚拟控制器根据SYNC消息(步骤S2具体介绍)寄宿在控制平面某实际物理控制器上,建模该被寄宿的物理控制器为宿主控制器。若网络状态发生变化,虚拟控制器可动态转移到新的宿主控制器并继续提供服务,动态转移机制有效避免虚拟控制器单点故障问题。虚拟控制器将极大减轻控制平面流量开销,极大降低网络一致性维护难度。如图5所示,虚拟控制器寄宿在宿主控制器C1上,并为C2、C3、C4提供共享公共网络信息功能。A virtual controller is built on the first physical controller. The virtual controller is mainly responsible for calculating and maintaining the key public network information that needs to be synchronized and shared between controllers. The virtual controller distributes and synchronizes the public network information to all controllers to achieve real-time synchronization and consistency of data status among multiple controllers. The virtual controller is hosted on an actual physical controller of the control plane according to the SYNC message (detailed introduction of step S2), and the hosted physical controller is modeled as a host controller. If the network status changes, the virtual controller can be dynamically transferred to the new host controller and continue to provide services. The dynamic transfer mechanism effectively avoids the single point failure problem of the virtual controller. The virtual controller will greatly reduce the control plane traffic overhead and greatly reduce the difficulty of network consistency maintenance. As shown in Figure 5, the virtual controller is hosted on the host controller C1 and provides the function of sharing public network information for C2, C3, and C4.

结果分发阶段:虚拟控制器将宿主控制器的MAC地址通过TYPE为0002类型的消息(其他部分为0)广播出去。Result distribution stage: The virtual controller broadcasts the MAC address of the host controller through a message with TYPE of 0002 (the rest of the message is 0).

当宿主控制器发生单点故障,控制平面其他控制器与虚拟控制器间连接中断,重复上述控制器发现、虚拟控制器寄宿、结果分发这三个阶段,产生新的虚拟控制器和宿主控制器构成新的控制平面。When a single point failure occurs in the host controller, the connection between other controllers in the control plane and the virtual controller is interrupted, and the above three stages of controller discovery, virtual controller hosting, and result distribution are repeated to generate a new virtual controller and host controller to form a new control plane.

本申请实施例提供的虚拟控制器构建方法,充分考虑物理控制器域间网络通信性能问题,在物理控制器间采用带内(in-band)通信方式下,通过选择网络状态较好的宿主控制器为虚拟控制器提供物理资源,进而由虚拟控制器负责运算、维护和下发控制器间需要同步共享的公共网络关键信息。虚拟控制器极大减轻了控制平面网络流量开销,极大降低了控制平面网络信息一致性维护难度。同时,在宿主控制器单点故障的情况下,虚拟控制器还可以进行动态转移,使得控制平面快速恢复连接。该方法中的SYNC消息值比较带来的快速收敛性,适用于大规模网络。The virtual controller construction method provided in the embodiment of the present application fully considers the network communication performance issues between physical controller domains. When the in-band communication mode is adopted between physical controllers, the host controller with better network status is selected to provide physical resources for the virtual controller, and then the virtual controller is responsible for calculating, maintaining and issuing key public network information that needs to be synchronously shared between controllers. The virtual controller greatly reduces the control plane network traffic overhead and greatly reduces the difficulty of maintaining the consistency of control plane network information. At the same time, in the event of a single point failure of the host controller, the virtual controller can also be dynamically transferred so that the control plane can quickly restore the connection. The rapid convergence brought by the comparison of SYNC message values in this method is suitable for large-scale networks.

图6示出了本申请实施例提供的虚拟控制器构建装置的结构图。如图6所示,虚拟控制器构建装置300包括:FIG6 shows a structural diagram of a virtual controller construction device provided in an embodiment of the present application. As shown in FIG6 , a virtual controller construction device 300 includes:

第一广播模块301,用于通过软件定义网络SDN中的每个物理控制器广播自身作为宿主控制器的同步消息,每个同步消息包括一个物理控制器的MAC地址;A first broadcast module 301 is used to broadcast a synchronization message of itself as a host controller through each physical controller in the software defined network SDN, each synchronization message includes a MAC address of a physical controller;

第一接收模块302,用于通过所述SDN中的任意第一物理控制器接收所述SDN中任一第二物理控制器广播的同步消息;A first receiving module 302 is configured to receive a synchronization message broadcasted by any second physical controller in the SDN through any first physical controller in the SDN;

更新模块303,用于通过所述第一物理控制器对接收到的同步消息中的MAC地址进行更新,得到第一同步消息;An updating module 303, configured to update the MAC address in the received synchronization message through the first physical controller to obtain a first synchronization message;

第二广播模块304,用于通过所述第一物理控制器对所述第一同步消息进行广播;A second broadcast module 304, configured to broadcast the first synchronization message through the first physical controller;

确定模块305,用于在所述第一物理控制器接收所述SDN中其他物理控制器广播的多条同步消息的情况下,若N条同步消息中均携带第一物理控制器的MAC地址,则将所述第一物理控制器作为虚拟控制器的宿主控制器,m为所述SDN中物理控制器的数量,N大于n/2;A determination module 305 is configured to, when the first physical controller receives multiple synchronization messages broadcasted by other physical controllers in the SDN, use the first physical controller as a host controller of the virtual controller if N synchronization messages all carry the MAC address of the first physical controller, where m is the number of physical controllers in the SDN, and N is greater than n/2;

构建模块306,用于在所述第一物理控制器上构建虚拟控制器,所述虚拟控制器用于将所述SDN的公共网络信息同步给所述SDN中的所有物理控制器。The construction module 306 is used to construct a virtual controller on the first physical controller, and the virtual controller is used to synchronize the public network information of the SDN to all physical controllers in the SDN.

在本申请一实施例中,所述装置还包括:In one embodiment of the present application, the device further includes:

第三广播模块,用于通过所述SDN中的每个物理控制器广播自身的MAC地址;A third broadcast module, configured to broadcast its own MAC address through each physical controller in the SDN;

第二接收模块,用于通过第三物理控制器根据接收到的所述SDN中其他物理控制器广播的MAC地址,确定所述SDN中物理控制器的数量。The second receiving module is used to determine the number of physical controllers in the SDN according to the received MAC addresses broadcasted by other physical controllers in the SDN through the third physical controller.

在本申请一实施例中,同步消息还包括如下至少一项:In an embodiment of the present application, the synchronization message further includes at least one of the following:

所述消息类型,用于指示同步消息的类型;The message type is used to indicate the type of synchronization message;

所述消息优先级,用于指示同步消息的优先级;The message priority is used to indicate the priority of the synchronization message;

所述当前轮次,用于指示同步消息的轮次;The current round is used to indicate the round of synchronization messages;

所述网络当前状态,用于指示发送同步消息的物理控制器的网络状态。The current network status is used to indicate the network status of the physical controller that sends the synchronization message.

在本申请一实施例中,更新模块303,用于在所述第一物理控制器接收到的第三同步消息的消息类型为预设消息类型的情况下,若所述第一物理控制器的第二同步消息的当前轮次与所述第三同步消息的当前轮次相同,则将目标同步消息的当前轮次的值增加1,得到第一同步消息,所述第二同步消息为所述第一物理控制器在接收所述第三同步消息之前所述第一物理控制器中最新的同步消息;In an embodiment of the present application, the update module 303 is used to increase the value of the current round of the target synchronization message by 1 to obtain the first synchronization message, when the message type of the third synchronization message received by the first physical controller is a preset message type, if the current round of the second synchronization message of the first physical controller is the same as the current round of the third synchronization message, and the second synchronization message is the latest synchronization message in the first physical controller before the first physical controller receives the third synchronization message;

其中,所述目标同步消息为所述第二同步消息对应的值和所述第三同步消息对应的值中的最小值者。The target synchronization message is the minimum value between the value corresponding to the second synchronization message and the value corresponding to the third synchronization message.

在本申请一实施例中,更新模块303,用于在所述第一物理控制器接收到的第三同步消息的消息类型为预设消息类型的情况下,若所述第一物理控制器的第二同步消息的当前轮次小于所述第三同步消息的当前轮次,则更新所述第二同步消息的当前轮次为所述第三同步消息的当前轮次,所述第二同步消息为所述第一物理控制器在接收所述第三同步消息之前所述第一物理控制器中最新的同步消息。In one embodiment of the present application, the update module 303 is used to update the current round of the second synchronization message to the current round of the third synchronization message if the message type of the third synchronization message received by the first physical controller is a preset message type and if the current round of the second synchronization message of the first physical controller is less than the current round of the third synchronization message, the second synchronization message is the latest synchronization message in the first physical controller before the first physical controller receives the third synchronization message.

在本申请一实施例中,所述网络当前状态根据如下表达式确定:In an embodiment of the present application, the current state of the network is determined according to the following expression:

其中,表示物理控制器Ci的中央处理器负载状态,Idlei表示物理控制器Ci中央处理器空闲时间,TRi表示物理控制器Ci中央处理器运行时间;in, represents the CPU load status of the physical controller Ci , Idle i represents the CPU idle time of the physical controller Ci , and TR i represents the CPU running time of the physical controller Ci ;

表示物理控制器Ci的内存负载状态,Freei表示物理控制器Ci空闲内存,TMi表示物理控制器Ci总内存; Indicates the memory load status of the physical controller C i , Free i indicates the free memory of the physical controller C i , and TM i indicates the total memory of the physical controller C i ;

表示物理控制器Ci和物理控制器Cj间链路资源利用状态,Di,j表示物理控制器Ci和物理控制器Cj间最短带内通信链路的集合,Sendl表示第l条链路单位时间消息量,Brandl表示第l条链路分配的带宽; represents the link resource utilization status between physical controller Ci and physical controller Cj , Di ,j represents the set of the shortest in-band communication links between physical controller Ci and physical controller Cj , Send l represents the number of messages per unit time on the lth link, and Brand l represents the bandwidth allocated to the lth link;

ω1、ω2、ω3为权重调节因子,且ω123=1。ω 1 , ω 2 , and ω 3 are weight adjustment factors, and ω 123 =1.

在本申请一实施例中,所述装置还包括:In one embodiment of the present application, the device further includes:

第四广播模块,用于通过所述第一物理控制器上的虚拟控制器将所述第一物理控制器的MAC地址通过第四同步消息进行广播,所述第四同步消息用于告知所述SDN中的所有物理控制器所述第一物理控制器为虚拟控制器的宿主控制器;a fourth broadcast module, configured to broadcast the MAC address of the first physical controller through a fourth synchronization message through the virtual controller on the first physical controller, wherein the fourth synchronization message is used to inform all physical controllers in the SDN that the first physical controller is a host controller of the virtual controller;

所述第四同步消息的消息类型与第一同步消息的类型不同,且所述第四同步消息的消息优先级、当前轮次、以及网络当前状态均取值为0。The message type of the fourth synchronization message is different from the type of the first synchronization message, and the message priority, current round, and current network status of the fourth synchronization message are all 0.

在本申请一实施例中,所述装置还包括:In one embodiment of the present application, the device further includes:

跳转模块,用于在所述第一物理控制器发生故障的情况下,若所述第一物理控制器与所述SDN中其他物理控制器之间的连接中断,则跳转至SDN中的每个物理控制器广播自身作为宿主控制器的同步消息的步骤执行,以从所述SDN中确定新的宿主控制器。A jump module is used to jump to each physical controller in the SDN to broadcast a synchronization message of itself as a host controller if the connection between the first physical controller and other physical controllers in the SDN is interrupted in the case that the first physical controller fails, so as to determine a new host controller from the SDN.

本申请实施例提供的虚拟控制器构建装置300能够实现前述虚拟控制器构建方法实施例实现的各个过程,并达到相同的技术效果,为避免重复,这里不再赘述。The virtual controller construction device 300 provided in the embodiment of the present application can implement the various processes implemented in the aforementioned virtual controller construction method embodiment and achieve the same technical effect. To avoid repetition, it will not be described here.

本申请实施例还提供一种虚拟控制器构建系统,所述系统包括软件定义网络SDN中的多个物理控制器,第一物理控制器为所述SDN中的任意物理控制器;The embodiment of the present application also provides a virtual controller construction system, the system comprising a plurality of physical controllers in a software defined network SDN, the first physical controller being any physical controller in the SDN;

每个物理控制器,用于广播自身作为宿主控制器的同步消息,每个同步消息包括一个物理控制器的MAC地址;Each physical controller is used to broadcast a synchronization message that it serves as a host controller, and each synchronization message includes a MAC address of a physical controller;

第一物理控制器,还用于:The first physical controller is also used to:

接收所述SDN中任一第二物理控制器广播的同步消息,对接收到的同步消息中的MAC地址进行更新,得到第一同步消息,并对所述第一同步消息进行广播;Receiving a synchronization message broadcasted by any second physical controller in the SDN, updating a MAC address in the received synchronization message to obtain a first synchronization message, and broadcasting the first synchronization message;

在所述第一物理控制器接收所述SDN中其他物理控制器广播的多条同步消息的情况下,若N条同步消息中均携带第一物理控制器的MAC地址,则将所述第一物理控制器作为虚拟控制器的宿主控制器,m为所述SDN中物理控制器的数量,N大于n/2;In the case where the first physical controller receives multiple synchronization messages broadcasted by other physical controllers in the SDN, if N synchronization messages all carry the MAC address of the first physical controller, the first physical controller is used as the host controller of the virtual controller, m is the number of physical controllers in the SDN, and N is greater than n/2;

在所述第一物理控制器上构建虚拟控制器,所述虚拟控制器用于将所述SDN的公共网络信息同步给所述SDN中的所有物理控制器。A virtual controller is constructed on the first physical controller, where the virtual controller is used to synchronize public network information of the SDN to all physical controllers in the SDN.

在本申请一实施例中,所述SDN中的每个物理控制器还用于广播自身的MAC地址;In one embodiment of the present application, each physical controller in the SDN is further used to broadcast its own MAC address;

对于所述SDN中的任意第三物理控制器,所述第三物理控制器,用于根据接收到的所述SDN中其他物理控制器广播的MAC地址,确定所述SDN中物理控制器的数量。For any third physical controller in the SDN, the third physical controller is configured to determine the number of physical controllers in the SDN according to received MAC addresses broadcasted by other physical controllers in the SDN.

在本申请一实施例中,同步消息还包括如下至少一项:In an embodiment of the present application, the synchronization message further includes at least one of the following:

所述消息类型,用于指示同步消息的类型;The message type is used to indicate the type of synchronization message;

所述消息优先级,用于指示同步消息的优先级;The message priority is used to indicate the priority of the synchronization message;

所述当前轮次,用于指示同步消息的轮次;The current round is used to indicate the round of synchronization messages;

所述网络当前状态,用于指示发送同步消息的物理控制器的网络状态。The current network status is used to indicate the network status of the physical controller that sends the synchronization message.

在本申请一实施例中,所述第一物理控制器,还用于在接收到的第三同步消息的消息类型为预设消息类型的情况下,若所述第一物理控制器的第二同步消息的当前轮次与所述第三同步消息的当前轮次相同,则将目标同步消息的当前轮次的值增加1,得到第一同步消息,所述第二同步消息为所述第一物理控制器在接收所述第三同步消息之前所述第一物理控制器中最新的同步消息;In an embodiment of the present application, the first physical controller is further used for, when the message type of the received third synchronization message is a preset message type, if the current round of the second synchronization message of the first physical controller is the same as the current round of the third synchronization message, then increasing the value of the current round of the target synchronization message by 1 to obtain the first synchronization message, wherein the second synchronization message is the latest synchronization message in the first physical controller before the first physical controller receives the third synchronization message;

其中,所述目标同步消息为所述第二同步消息对应的值和所述第三同步消息对应的值中的最小值者。The target synchronization message is the minimum value between the value corresponding to the second synchronization message and the value corresponding to the third synchronization message.

在本申请一实施例中,在本申请一实施例中,所述第一物理控制器,还用于在接收到的第三同步消息的消息类型为预设消息类型的情况下,若所述第一物理控制器的第二同步消息的当前轮次小于所述第三同步消息的当前轮次,则更新所述第二同步消息的当前轮次为所述第三同步消息的当前轮次,所述第二同步消息为所述第一物理控制器在接收所述第三同步消息之前所述第一物理控制器中最新的同步消息。In one embodiment of the present application, in one embodiment of the present application, the first physical controller is also used to update the current round of the second synchronization message to the current round of the third synchronization message if the message type of the received third synchronization message is a preset message type and if the current round of the second synchronization message of the first physical controller is less than the current round of the third synchronization message, the second synchronization message is the latest synchronization message in the first physical controller before the first physical controller receives the third synchronization message.

在本申请一实施例中,所述网络当前状态根据如下表达式确定:In an embodiment of the present application, the current state of the network is determined according to the following expression:

其中,表示物理控制器Ci的中央处理器负载状态,Idlei表示物理控制器Ci中央处理器空闲时间,TRi表示物理控制器Ci中央处理器运行时间;in, represents the CPU load status of the physical controller Ci , Idle i represents the CPU idle time of the physical controller Ci , and TR i represents the CPU running time of the physical controller Ci ;

表示物理控制器Ci的内存负载状态,Freei表示物理控制器Ci空闲内存,TMi表示物理控制器Ci总内存; Indicates the memory load status of the physical controller C i , Free i indicates the free memory of the physical controller C i , and TM i indicates the total memory of the physical controller C i ;

表示物理控制器Ci和物理控制器Cj间链路资源利用状态,Di,j表示物理控制器Ci和物理控制器Cj间最短带内通信链路的集合,Sendl表示第l条链路单位时间消息量,Brandl表示第l条链路分配的带宽; represents the link resource utilization status between physical controller Ci and physical controller Cj , Di ,j represents the set of the shortest in-band communication links between physical controller Ci and physical controller Cj , Send l represents the number of messages per unit time on the lth link, and Brand l represents the bandwidth allocated to the lth link;

ω1、ω2、ω3为权重调节因子,且ω123=1。ω 1 , ω 2 , and ω 3 are weight adjustment factors, and ω 123 =1.

在本申请一实施例中,所述第一物理控制器,还用于将所述第一物理控制器的MAC地址通过第四同步消息进行广播,所述第四同步消息用于告知所述SDN中的所有物理控制器所述第一物理控制器为虚拟控制器的宿主控制器;In an embodiment of the present application, the first physical controller is further used to broadcast the MAC address of the first physical controller through a fourth synchronization message, and the fourth synchronization message is used to inform all physical controllers in the SDN that the first physical controller is a host controller of the virtual controller;

所述第四同步消息的消息类型与第一同步消息的类型不同,且所述第四同步消息的消息优先级、当前轮次、以及网络当前状态均取值为0。The message type of the fourth synchronization message is different from the type of the first synchronization message, and the message priority, current round, and current network status of the fourth synchronization message are all 0.

在本申请一实施例中,所述第一物理控制器,还用于在所述第一物理控制器发生故障的情况下,若所述第一物理控制器与所述SDN中其他物理控制器之间的连接中断,则跳转至SDN中的每个物理控制器广播自身作为宿主控制器的同步消息的步骤执行,以从所述SDN中确定新的宿主控制器。In one embodiment of the present application, the first physical controller is also used to jump to the step of broadcasting a synchronization message of itself as a host controller to each physical controller in the SDN if the connection between the first physical controller and other physical controllers in the SDN is interrupted when the first physical controller fails, so as to determine a new host controller from the SDN.

本申请实施例提供的虚拟控制器构建系统能够实现前述虚拟控制器构建方法实施例实现的各个过程,并达到相同的技术效果,为避免重复,这里不再赘述The virtual controller construction system provided in the embodiment of the present application can implement each process implemented in the aforementioned virtual controller construction method embodiment and achieve the same technical effect. To avoid repetition, it will not be repeated here.

另外,结合上述实施例中的虚拟控制器构建方法,本申请实施例可提供一种计算机存储介质来实现。该计算机存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种虚拟控制器构建方法。In addition, in combination with the virtual controller construction method in the above embodiment, the embodiment of the present application can provide a computer storage medium for implementation. The computer storage medium stores computer program instructions; when the computer program instructions are executed by a processor, any one of the virtual controller construction methods in the above embodiment is implemented.

需要明确的是,本申请并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本申请的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本申请的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。It should be clear that the present application is not limited to the specific configuration and processing described above and shown in the figures. For the sake of simplicity, a detailed description of the known method is omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of the present application is not limited to the specific steps described and shown, and those skilled in the art can make various changes, modifications and additions, or change the order between the steps after understanding the spirit of the present application.

以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本申请的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。The functional blocks shown in the above-described block diagram can be implemented as hardware, software, firmware or a combination thereof. When implemented in hardware, it can be, for example, an electronic circuit, an application-specific integrated circuit (ASIC), appropriate firmware, a plug-in, a function card, etc. When implemented in software, the elements of the present application are programs or code segments that are used to perform the required tasks. The program or code segment can be stored in a machine-readable medium, or transmitted on a transmission medium or a communication link by a data signal carried in a carrier wave. "Machine-readable medium" can include any medium capable of storing or transmitting information. Examples of machine-readable media include electronic circuits, semiconductor memory devices, ROM, flash memory, erasable ROM (EROM), floppy disks, CD-ROMs, optical disks, hard disks, optical fiber media, radio frequency (RF) links, etc. The code segment can be downloaded via a computer network such as the Internet, an intranet, etc.

还需要说明的是,本申请中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本申请不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。It should also be noted that the exemplary embodiments mentioned in this application describe some methods or systems based on a series of steps or devices. However, this application is not limited to the order of the above steps, that is, the steps can be performed in the order mentioned in the embodiment, or in a different order from the embodiment, or several steps can be performed simultaneously.

上面参考根据本公开的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各方面。应当理解,流程图和/或框图中的每个方框以及流程图和/或框图中各方框的组合可以由计算机程序指令实现。这些计算机程序指令可被提供给通用计算机、专用计算机、或其它可编程数据处理装置的处理器,以产生一种机器,使得经由计算机或其它可编程数据处理装置的处理器执行的这些指令使能对流程图和/或框图的一个或多个方框中指定的功能/动作的实现。这种处理器可以是但不限于是通用处理器、专用处理器、特殊应用处理器或者现场可编程逻辑电路。还可理解,框图和/或流程图中的每个方框以及框图和/或流程图中的方框的组合,也可以由执行指定的功能或动作的专用硬件来实现,或可由专用硬件和计算机指令的组合来实现。Aspects of the present disclosure are described above with reference to the flowchart and/or block diagram of the method, device (system) and computer program product according to the embodiment of the present disclosure. It should be understood that each box in the flowchart and/or block diagram and the combination of each box in the flowchart and/or block diagram can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device to produce a machine so that these instructions executed by the processor of the computer or other programmable data processing device enable the implementation of the function/action specified in one or more boxes of the flowchart and/or block diagram. Such a processor can be, but is not limited to, a general-purpose processor, a special-purpose processor, a special application processor, or a field programmable logic circuit. It can also be understood that each box in the block diagram and/or flowchart and the combination of boxes in the block diagram and/or flowchart can also be implemented by dedicated hardware that performs a specified function or action, or can be implemented by a combination of dedicated hardware and computer instructions.

以上所述,仅为本申请的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。The above is only a specific implementation of the present application. Those skilled in the art can clearly understand that for the convenience and simplicity of description, the specific working processes of the systems, modules and units described above can refer to the corresponding processes in the aforementioned method embodiments, and will not be repeated here. It should be understood that the protection scope of the present application is not limited to this. Any technician familiar with the technical field can easily think of various equivalent modifications or replacements within the technical scope disclosed in this application, and these modifications or replacements should be included in the protection scope of this application.

Claims (10)

1. A virtual controller building method, the method comprising:
Each physical controller in the software defined network SDN broadcasts a synchronous message which is taken as a host controller, wherein each synchronous message comprises the MAC address of one physical controller;
for any first physical controller in the SDN, the first physical controller receives a synchronization message broadcast by any second physical controller in the SDN;
The first physical controller updates the MAC address in the received synchronous message to obtain a first synchronous message, and broadcasts the first synchronous message;
Under the condition that the first physical controller receives a plurality of synchronous messages broadcast by other physical controllers in the SDN, if the N synchronous messages all carry the MAC address of the first physical controller, the first physical controller is used as a host controller of a virtual controller, N is larger than m/2, and m is the number of the physical controllers in the SDN;
And constructing a virtual controller on the first physical controller, wherein the virtual controller is used for synchronizing public network information of the SDN to all physical controllers in the SDN.
2. The method of claim 1, wherein before each physical controller in the software defined network SDN broadcasts a synchronization message that itself is a hosting controller, the method further comprises:
each physical controller in the SDN broadcasts its own MAC address;
For any third physical controller in the SDN, the third physical controller determines the number of physical controllers in the SDN according to the received MAC addresses broadcast by other physical controllers in the SDN.
3. The method of claim 1, wherein the synchronization message further comprises at least one of:
a message type for indicating a type of the synchronization message;
message priority, is used for pointing out the priority of the synchronous message;
The current round is used for indicating the round of the synchronous message;
the network current state is used for indicating the network state of the physical controller sending the synchronous message.
4. A method according to claim 3, wherein the first physical controller updates the MAC address in the received synchronization message to obtain the first synchronization message, and comprises:
If the current round of the second synchronous message of the first physical controller is the same as the current round of the third synchronous message under the condition that the message type of the third synchronous message received by the first physical controller is a preset message type, increasing the value of the current round of the target synchronous message by 1 to obtain a first synchronous message, wherein the second synchronous message is the latest synchronous message in the first physical controller before the first physical controller receives the third synchronous message;
The target synchronization message is the minimum value of the value corresponding to the second synchronization message and the value corresponding to the third synchronization message.
5. A method according to claim 3, wherein the first physical controller updates the MAC address in the received synchronization message to obtain the first synchronization message, and comprises:
and if the current round of the second synchronous message of the first physical controller is smaller than the current round of the third synchronous message under the condition that the message type of the third synchronous message received by the first physical controller is a preset message type, updating the current round of the second synchronous message to be the current round of the third synchronous message, wherein the second synchronous message is the latest synchronous message in the first physical controller before the first physical controller receives the third synchronous message.
6. A method according to claim 3, wherein the current state of the network is determined according to the expression:
wherein, Indicating the CPU load status of physical controller C i, idle i indicating the CPU Idle time of physical controller C i, and TR i indicating the CPU run time of physical controller C i;
Representing the memory load status of physical controller C i, free i representing the Free memory of physical controller C i, and TM i representing the total memory of physical controller C i;
Representing the link resource utilization status between the physical controller C i and the physical controller C j, D i,j representing the set of the shortest in-band communication links between the physical controller C i and the physical controller C j, send l representing the first link unit time message amount, and Brand l representing the bandwidth allocated by the first link;
ω 1、ω2、ω3 is a weight adjustment factor, and ω 123 =1.
7. The method of claim 3, wherein after building a virtual controller on the first physical controller, the method further comprises:
The virtual controller on the first physical controller broadcasts the MAC address of the first physical controller through a fourth synchronous message, wherein the fourth synchronous message is used for informing all physical controllers in the SDN that the first physical controller is a host controller of the virtual controller;
The message type of the fourth synchronous message is different from the type of the first synchronous message, and the message priority, the current round and the current state of the network of the fourth synchronous message are all 0.
8. The method of any of claims 1-7, wherein after building a virtual controller on the first physical controller, the method further comprises:
If the first physical controller fails, if connection between the first physical controller and other physical controllers in the SDN is interrupted, the step of jumping to each physical controller in the SDN to broadcast a synchronization message as a host controller is executed, so as to determine a new host controller from the SDN.
9. A virtual controller building apparatus, the apparatus comprising:
A first broadcasting module, configured to broadcast, by each physical controller in the software defined network SDN, a synchronization message as a host controller, where each synchronization message includes a MAC address of one physical controller;
a receiving module, configured to receive, by using any first physical controller in the SDN, a synchronization message broadcasted by any second physical controller in the SDN;
The updating module is used for updating the MAC address in the received synchronous message through the first physical controller to obtain a first synchronous message;
A second broadcasting module, configured to broadcast, by the first physical controller, the first synchronization message;
A determining module, configured to, when the first physical controller receives a plurality of synchronization messages broadcast by other physical controllers in the SDN, take the first physical controller as a host controller of a virtual controller if the N synchronization messages all carry MAC addresses of the first physical controller, where N is greater than m/2, and m is the number of physical controllers in the SDN;
a building module, configured to build a virtual controller on the first physical controller, where the virtual controller is configured to synchronize public network information of the SDN to all physical controllers in the SDN.
10. A virtual controller building system, wherein the system comprises a plurality of physical controllers in a software defined network, SDN, a first physical controller being any physical controller in the SDN;
Each physical controller is used for broadcasting synchronous messages which are taken as host controllers, and each synchronous message comprises the MAC address of one physical controller;
The first physical controller is further configured to:
receiving a synchronous message broadcast by any second physical controller in the SDN, updating the MAC address in the received synchronous message to obtain a first synchronous message, and broadcasting the first synchronous message;
Under the condition that the first physical controller receives a plurality of synchronous messages broadcast by other physical controllers in the SDN, if the N synchronous messages all carry the MAC address of the first physical controller, the first physical controller is used as a host controller of a virtual controller, N is larger than m/2, and m is the number of the physical controllers in the SDN;
And constructing a virtual controller on the first physical controller, wherein the virtual controller is used for synchronizing public network information of the SDN to all physical controllers in the SDN.
CN202410007041.7A 2024-01-02 2024-01-02 Virtual controller construction method, device and system Pending CN118827424A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410007041.7A CN118827424A (en) 2024-01-02 2024-01-02 Virtual controller construction method, device and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410007041.7A CN118827424A (en) 2024-01-02 2024-01-02 Virtual controller construction method, device and system

Publications (1)

Publication Number Publication Date
CN118827424A true CN118827424A (en) 2024-10-22

Family

ID=93065975

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410007041.7A Pending CN118827424A (en) 2024-01-02 2024-01-02 Virtual controller construction method, device and system

Country Status (1)

Country Link
CN (1) CN118827424A (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105515802A (en) * 2014-09-22 2016-04-20 杭州华三通信技术有限公司 Network virtualization method and network virtualization apparatus
CN110266520A (en) * 2019-05-30 2019-09-20 深圳市中航比特通讯技术有限公司 A kind of reliable efficient electoral machinery based on SDN controller
CN110838935A (en) * 2018-08-15 2020-02-25 上海宽带技术及应用工程研究中心 High-availability SDN controller clustering method, system, storage medium and equipment
CN112398688A (en) * 2020-11-13 2021-02-23 广东省华南技术转移中心有限公司 Container network configuration method, container network system, and storage medium
CN115412419A (en) * 2022-08-29 2022-11-29 福建乐摩物联科技有限公司 A method for master node election and data synchronization of ad hoc network
CN116074319A (en) * 2022-12-29 2023-05-05 北京邮电大学 SDN controller load balancing method, system and SDN controller

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105515802A (en) * 2014-09-22 2016-04-20 杭州华三通信技术有限公司 Network virtualization method and network virtualization apparatus
CN110838935A (en) * 2018-08-15 2020-02-25 上海宽带技术及应用工程研究中心 High-availability SDN controller clustering method, system, storage medium and equipment
CN110266520A (en) * 2019-05-30 2019-09-20 深圳市中航比特通讯技术有限公司 A kind of reliable efficient electoral machinery based on SDN controller
CN112398688A (en) * 2020-11-13 2021-02-23 广东省华南技术转移中心有限公司 Container network configuration method, container network system, and storage medium
CN115412419A (en) * 2022-08-29 2022-11-29 福建乐摩物联科技有限公司 A method for master node election and data synchronization of ad hoc network
CN116074319A (en) * 2022-12-29 2023-05-05 北京邮电大学 SDN controller load balancing method, system and SDN controller

Similar Documents

Publication Publication Date Title
CN106375231B (en) A kind of flow switching method, equipment and system
CN100555948C (en) A kind of switching equipment of in the stack exchanger system, being coupled of being used for
EP2182670A1 (en) A method and apparatus for tracking clock source
RU2513918C1 (en) Cluster router and cluster routing method
JP2007324935A (en) Network component
US10693774B1 (en) Modular architecture for computer network operations
CN102946305B (en) A kind of synchronous method of Link State Protocol Data Unit and equipment
WO2018121201A1 (en) Distributed cluster service structure, node cooperation method and device, terminal and medium
CN110830394B (en) Method for generating routing table based on RapidIO network
Alomari et al. On minimizing synchronization cost in nfv-based environments
CN112153153B (en) Coordinated distributed intra-network resource scheduling method and system and storage medium
JP7234408B2 (en) Multi-link terminal, method, apparatus and storage medium for multi-link terminal to perform link exchange
CN113810297A (en) A multi-network fusion train network system and its communication method
CN118400420A (en) Cross-domain service discovery method based on distributed soft bus
CN111556137A (en) Data synchronization method and system for distributed system in self-organizing heterogeneous network
CN107547374B (en) Aggregation route processing method and device
CN118827424A (en) Virtual controller construction method, device and system
CN115884252A (en) Policy adjustment method, data transmission method, system, server and storage medium
CN118714010A (en) Device networking method, system, intelligent terminal and computer-readable storage medium
EP4395246A1 (en) Data forwarding method and system, electronic device, and storage medium
CN111682968A (en) Communication equipment network access management method and system
CN117675068A (en) Industrial gateway equipment, industrial network clock synchronization method and storage medium
CN118101757A (en) A distributed distribution system deployment, distribution method, system, device and medium
JP3844215B2 (en) Network configuration management system, node device, network configuration management method, node device control method, and node device control program
CN1248467C (en) Method for solving stability of OSPF protocol at multi-neighbour high route

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