Software Defined Networking (SDN) constructs a network framework, which separates control plane and data plane, and provides a new solution for developing new network protocols and applications and future network technologies. In the framework of SDN network, the controller is in the central position, which has an important impact on the performance of SDN network. The SDN controller of cloud platform is based on Java implementation.
It provides services to applications through RESTAPI, communicates with Openflow switch through Openflow protocol, and puts forward unique solutions on controller HA and distributed processing. With the rapid expansion and application of mobile interconnection and physical network, as an important part of the national strategic infrastructure, the function and structure of the Internet are becoming more and more complex, and the control ability is gradually weakening. As a router of network infrastructure, its functions are increasing, such as quality of service (QoS), traffic control, multicast, service differentiation, VPN, ACL, etc. Switches are transformed from basic data forwarding units into a complex with many functions. Functional expansion and performance improvement are still the main research and development goals of many mainstream manufacturers. Based on various technical ideas and user binding strategies, switches can only be configured through vendor-specific command line interface (Command and line interface) or WebUI. It is difficult for end users and researchers to research and deploy new network technologies in the current network environment. In order to solve many problems in TCP/IP architecture, major countries around the world have begun large-scale research and development for the next generation of Internet, such as SOFIA in China, GENI in the United States, FIRE in Europe, JGN2plus in Japan and so on. Because of the important position of switches in network architecture, the redevelopment and deployment of switches is the core focus of the next generation network system research and development. User-defined switching and routing modules are developed to realize adaptive network architecture and new technologies adapted to the development of the next generation Internet. Traditional network devices closely couple control logic with forwarding data logic, so that network control becomes more and more complex, network configuration lacks flexibility, and it is difficult to change the network architecture once it is determined. In order to improve the flexibility of the network, the control plane and data plane are separated. This new management and control idea is the core of SDN framework.
SDN has many similar projects in the academic world, such as Ethane, ForCES, 4D, etc. Ethane is security-related, involving some security policies. Ethane project view through a centralized controller, allows network administrators to easily define network flow-based security control strategies, and apply these security policies to various network devices, so as to achieve the whole network communication. Security control. In the development of SDN, it also shows that the security field is very suitable for SDN deployment, because the security field itself emphasizes that configuration management is not a dynamic network protocol. On the basis of Ethane project, Stanford University researchers published OpenFlow technology in 2008, and SDN framework has been widely promoted. OpenFlow is a way to implement SDN framework, and the core of SDN idea is control level.
Separation of plane and data plane. OpenFlow has become the de facto south-facing interface standard for SDN. Its position in SDN is similar to that of TCP/IP protocol in the Internet. In 2009, SDN was ranked as the top ten leading technologies by MIT.
In 2011, the Open Networking Foundation (ONF) was established to develop SDN standards. A number of start-ups such as Big Switch and Nicira are emerging. In order to seize the market opportunities, traditional network equipment manufacturers such as Huawei, Cisco and Juniper have launched network devices supporting OpenFlow. Openflow was first born at Stanford University, and its early development was more accomplished in the school’s laboratory. Professor Nick McKenown of Stanford University presented the concept of Openflow in his paper published in 2008. OpenFlow is mainly composed of controller and OpenFlow switch. One part of OpenFlow protocol runs on the controller, the other part runs on the OpenFlow switch. OpenFlow protocol defines the functional components of switch forwarding surface, how the controller controls the switch and how the switch feedback information to the controller, as well as the message type and message format of communication between the two. Cloud platform SDN controller is located between Openflow switch and user application APPs. For user APPs, SDN controller provides services through RestAPI. Developers can call RestAPI based on Java, Python, C and other application development languages to implement user applications with special requirements. For Openflow switches, SDN controller interacts with Openflow switches through openflow protocol, completes the functions of Openflow switch registration, stream table transmission, etc., realizes the same control of all Openflow switches, and realizes the centralized management of Openflow switches.
Find out the peripheral network equipment (mainly the OFswitch) and define the unique ID for the target device. Device manager requests to know the device through PacketIn, gets information through PacketIn message, classifies the device according to the information, and generally uses MAC address and VLAN to identify the device. These two attributes define a unique device. Topology manager maintains the topology information and searches for routing in the network. Topology service calculates the topology based on the link information learned from link discovery module. Current topology information will be stored in the topology instance. When there is any change in the topology structure, a new instance will be created and a notification message will be sent. SDN controller provides services to upper application APPs through RestAPI. Application developers can implement specific requirements by calling RestAPI. Stream caching module is used to record different types of events in the network. Its main function is to facilitate other modules to query events. Other modules make corresponding processing according to the results of queries. The bottom layer of stream caching module uses storage module to record information. Openflow service module is subdivided into switching module, Trace module, monitoring module and Controller Memory module. Its main function is to deal with the related issues of openflow protocol. It is responsible for the encapsulation, parsing and recording of openflow protocol. Through the analysis of Openflow flow flow table and PackeIn package, it monitors the current network operation. Because SDN controller is the core of cloud platform, if there is a fault, the network of cloud platform will be paralysed. In order to ensure the smooth operation of cloud platform, HA module is added to the SDN controller of cloud platform. Through the dual-active mode, the two SDN controllers backup each other. In order to solve the problem that single-point SDN controllers have limited processing capacity and may have single-node failures, distributed controllers implemented by cloud platform SDN controllers can be added to SDN controllers cluster on demand by users, thermostatic element and SDN controllers can meet the needs of SDN operators through distributed modules. The initial design of OpenFlow only needs a single controller to control the network. When the scale of the network expands, the control plane must be scalable and multi-controller solution must be required. SDN controller of cloud platform successfully solves the interaction and synchronization of network state among the units of multi-controller and the consistency of network state through distributed module.
Because the controller of OpenFlow standard is a single controller architecture, the SDN network system has a single point of failure. To solve the single point of failure, the cloud platform SDN controller introduces HA hot standby module, and the cloud platform SDN controller carries out one-to-one double active hot standby. Normally, two cloud platform SDN controllers provide services at the same time, and if one fails, another automatically takes over service.