With the growth of new network applications such as cloud computing and Internet of Things, thermostatic element network applications require more and more high quality of transmission and service (QoS) of the Internet. Many complex functions are constantly added to the network transmission architecture. Therefore, traditional network architecture faces great challenges in network carrying, control and business diversity. The traditional network equipment closely coupled with software control and hardware forwarding is more and more difficult to meet the needs of rapid network development. In order to solve the above problems, academia and industry have done a lot of research on the next generation network architecture, and proposed the Software Defined Network (SDN).
With the increasing network size, once the performance of a single SDN controller reaches a bottleneck, it will lead to degradation or even paralysis of the whole network service capability, and it can not cope with the SDN network problem across multiple regions. Therefore, the idea of SDN architecture with multiple controllers has been put forward, which can avoid the problems of reliability, scalability and performance of single controller nodes. At present, there is no unified standard for the East-West interface used for communication and communication between multiple controllers. Referring to the widely accepted SDN model architecture and OpenFlow protocol, this paper makes further research and Analysis on the networking of multiple controllers.
SDN is a new network innovation structure put forward by the US Clean Slate research group. Its basic idea is to separate the control logic of the data transmission strategy in the traditional IP network from the router and other devices, and realize the free control of hardware data forwarding strategy by software programming. At present, SDN can be divided into two kinds: one is generalized SDN, which refers to the network architecture with open interface and software programmable, and has three characteristics: separation of control and forwarding decoupling, centralization of logical control and opening of application interface; the other is narrow SDN, which refers to the architecture that conforms to the definition of Open Network Foundation (ONF). The network based on standard OpenFlow protocol includes software controller and SDN switch. The network device control layer and data layer are decoupled to achieve flexible control of data flow. For large-scale networks, performance cannot be guaranteed only by multithreading. A large-scale network is divided into several domains. The processing ability of controllers with single centralized control structure is limited. Control planes need to be designed by networking of multiple controllers. At present, the most mainstream design scheme is distributed cluster control with multiple controllers. Its main control idea is to use distributed cluster control with multiple controllers. It is to divide the existing network into different areas and deploy one or more controllers in each area. These controllers ensure the consistency of network state through East-West interface. Load balancing controller coordinates and unifies the management of global network. Figure 1 shows the logical architecture of the cluster multi-controller control system. In the logic architecture diagram, JGroups is used to communicate between the controllers through the East-West interface, and IGMP and Hazelcast are used to manage the nodes of cluster controllers and to cache data. In the cluster, IGMP and Hazelcast are used for node management and data caching. The nodes in the cluster all have the same algorithm for producing and updating network mapping. The load balancing control node is responsible for maintaining and updating the controller-switch mapping in the global network view. One of the nodes acts as the master controller. Its selection is realized by the distributed primitive provided by JGroups. All other nodes need to monitor the master controller nodes. Once the primary node is abnormal, other nodes will be selected to replace the primary node to take over the network, so as to avoid the network performance degradation caused by the failure of the primary node, and the whole handover process is transparent to the switch. As shown in Figure 2, the network architecture of a cluster multi-controller control system is presented. In this framework, there are three layers. The first layer is the load balancing controller layer, which can be implemented by some mature load balancing algorithm mechanisms such as polling scheduling or hashing algorithm. When the load balancing controller node maps its topology, it can adjust according to the existing network conditions to achieve the purpose of load balancing. At the initial stage, it lets the newly joined node know which controller node is connected to form a cluster. Load balancing controller aggregates partition information to achieve the unification of global network view. The second layer: using existing controllers to construct the controller cluster, each controller only needs to maintain the network state of the region, and each controller gives information such as partition network topology to the load balancing controller, which can support the dynamic addition and removal of controllers in the cluster when the load capacity of the controller exceeds or falls below the threshold. The third layer: SDN switch forwards data through control commands issued by controller through OpenFlow protocol, avoids network congestion and achieves high efficiency of network.
Each level of the architecture has good scalability, which ensures the scalability of the whole architecture. This architecture is suitable for large-scale networks with frequent state changes. The distributed cluster scheme of controller can solve the scalability problem of SDN controller to some extent, and this idea based on lateral scalability is the mainstream direction of SDN scalability research at present. What characteristics should a controller cluster system have in order to meet the network requirements, the key is to treat the distributed network topology data as a whole, which requires a reliable multicast communication system in the cluster nodes. Therefore, we analyze several key points that need to be considered in the design of the controller cluster. When the network load exceeds the processing capacity of the cluster, it is necessary to dynamically add new controllers to the resource pool of the cluster to achieve higher performance by increasing the number of controllers.
Similarly, when the network load drops to a predetermined threshold, the controllers need to be dynamically removed from the cluster to save system overhead. In the controller cluster system, one can ensure that when one controller node fails, the other controller nodes take over the devices in the control area of the failure node, and can save the equipment status information connected to the failure node to achieve error recovery; the other is the error recovery when the link between the controller and the switching device fails or the link between the switching device fails. It is to ensure that the cluster system can be rebuilt quickly or the small cluster can work normally when the cluster system is split due to failure.
In the cluster system, the performance of the cluster system is affected by the topology of the controller nodes, the consistency of state information synchronization and the coordination of the controllers. Under the premise of guaranteeing availability, the state consistency can be achieved as far as possible, and the availability of cluster system can ensure the final consistency of state information.
Through the development of a few years, SDN technology has attracted great attention of the industry, especially in the direction of control plane research. This paper analyses the current mainstream control plane research programs, and discusses the demand analysis when designing control planes of multiple SDN controllers, hoping to inspire the follow-up research.