SDN controllers must be able to schedule and control network resources. Therefore, SDN's southbound network control technology needs to control and schedule the device layers in the entire network, including link discovery, topology management, policy formulation, and table item delivery. Link discovery and topology management mainly control the use of the uplink channel of the southbound interface to centrally monitor and collect statistics on the information reported by the underlying switch device; policy formulation and table item issuance are the unified control of network devices using the downlink channel of the southbound interface.
Link discovery and Topology Management
Link discovery is the key to obtaining SDN information across the network. It is the basis for implementing network functions such as network address learning, VLAN, route forwarding, and so on, different from the link discovery in traditional networks, the network elements are independent, and the link discovery in SDN networks is completed by the Controller in a unified manner.
The SDN controller uses LLDP (Link Layer Discovery Protocol, Link Layer Discovery Protocol) as the Link Discovery Protocol, which provides a standard Link Discovery method, the main capabilities, management addresses, device IDs, interface IDs, and other information of local devices can be grouped into different TLV (Type/Length/Value, Type/Length/Value ), it is encapsulated in the LLDPDU (Link Layer Discovery Protocol Date Unit, Link Layer Discovery Protocol Data Unit) and published in its own directly connected neighbor. After the neighbor receives the information, store it in the form of a standard MIB (Management Information Base, Management Information Base) for the network Management system to query the machine to determine the communication status of the link.
A packet encapsulated with LLDPDU is called an LLDP packet. The packet contains a specific multicast address, a target MAC address, and a specific Ethernet type. The LLDP packet has been differentiated from other MAC data frames. For OpenFlow switches, the forwarding mechanism based on stream table match cannot directly process conventional LLDP operations. Therefore, the related work must be completed by the Controller. The process of the controller discovering the link of an SDN network:
When the Controller executes the link discovery process, it first sends an LLDP packet to all connected switches through a packet-out message. This message Command sends the LLDP packet to all ports, once the switch receives the packet-out message, it sends the LLDP packet to the connected device through all its ports. If its neighbor switch is an OpenFLow switch, then the vswitch will find the corresponding flow table. Because the vswitch does not have a dedicated flow table item for processing LLDP messages, it will send data packets to the Controller through a packet-in message. After receiving the packet-in message, the Controller analyzes the data packets and creates a link record between two switches in the Link discovery table it stores. Other switches in the network send packet-in messages to the Controller in the same way. Therefore, the controller can create a complete network topology view based on this view, the controller can push different flow table items for each switch based on the traffic requirements of business applications.
The LLDP message-based method intelligently detects links of openflow switches directly connected to controllers. If there is a non-openflow domain in the network, that is, two openflow switches are connected through multiple other non-openflow switches, in this case, other link discovery methods are required. In this case, the Controller will first send a packet-out message to the connected openflow switch, but at the same time, the Controller will require the switch to issue a broadcast packet, the broadcast package will be sent to other ports except the ports connected to the vswitch and controller. After a broadcast packet is sent from an openflow switch, if a non-openflow domain exists in the network, the broadcast packet enters and passes through one end of the network domain, reach other openflow switches connected to the non-openflow domain. Because there is no corresponding stream table item in the openflow switch that receives the broadcast package for broadcast package matching, the broadcast package will be uploaded to the Controller, this notifies the Controller that there is a non-openflow domain in the network. If the Controller does not receive the uploaded broadcast package, it can be determined that the entire network is composed of an openflow switch.
Topology Management is used to monitor and collect information about SDN switches in the network at any time, and to timely feedback the working status and link status of devices in the network. To achieve this goal, the controller needs to regularly send packet-out messages of LLDP packets to the SDN switch connected to the Controller and obtain the switch information based on the feedback packet-in message, update the network topology view while monitoring the switch status. However, when the SDN network scale is large, this topology management mechanism will lead to slow convergence and affect real-time feedback on the network status. At the same time, this mechanism also makes the cycle setting of packet-out messages containing LLDP data packets more complicated.
Another task of topology management is to record various logical networking information while updating SDN switches and links at any time. The most typical scenario is to share network resources with multiple tenants under cloud computing. In the case of multiple tenants, network resources are virtualized into resource pools. Each tenant can obtain resources such as devices, ports, and bandwidth according to their actual needs, at the same time, all its resources can be flexibly networked according to their own needs. All the resource information related to the tenant network needs to be saved and displayed in the topology management to reflect the real network utilization and optimize resource scheduling. Meanwhile, the extended topology information of different tenant networks is provided. SDN controllers can set access control lists and Qos for corresponding network data paths, and support isolation of tenant networks in terms of performance and security, provides a better user experience.
Policy formulation and table item delivery
The flow table is the most basic basis for SDN switches to process data packets. It directly affects the efficiency of data forwarding and the overall network performance. A stream table is generated by a centralized controller based on the network-wide topology view and uniformly distributed to all SDN switches on the data stream transmission path. Therefore, the algorithm used to generate stream tables has become a key factor affecting the intelligence of controllers.
The flow table mechanism of SDN switches breaks the hierarchical concept in the traditional network, whether it is the source MAC, vlan id and other traditional L2 network information, or source IP, destination IP, and other L3 information, or layer-4 information such as the source TCP/UDP port number and destination TCP/UDP port number is encapsulated in the stream table. Therefore, the controller needs to develop forwarding policies for different layers of network transmission needs and generate a forwarding table to be sent to the switch.
For layer-2 forwarding, MAC address learning is implemented in the Controller's link discovery process in SDN networks. It is also easy to implement packet forwarding Based on layer-2 information, the Controller only needs to write the corresponding switch forwarding port number to the corresponding switch flow table entry based on the target MAC address.
For layer-3 forwarding, in an SDN network, the controller uses relevant routing algorithms to calculate route information between the source and destination addresses, and takes IP addresses and MAC addresses as the basis, write the corresponding vswitch forwarding port number to the corresponding vswitch flow table.
For layer-4 forwarding, layer-4 packet resolution is completed in the Controller in the SDN network, and is based on the TCP/UDP port number, IP address, and MAC address, write the corresponding vswitch forwarding port number to the corresponding vswitch flow table.
Like traditional networks, SDN controllers can effectively process data forwarding at different levels. When creating a stream table, they can use rules and algorithms at various network levels to reduce the number of flow tables. The difference is that traditional networks execute related algorithms locally on each device. Generally, they can only make Data Processing decisions based on the limited local connections that the device has. SDN has the advantage of centralized control, the Controller has a global view of network resources, making it easier to obtain optimized algorithm execution results. However, this will also cause some problems. For example, in the SDN system, all data stream forwarding processes must be decided by the Controller, which puts heavy pressure on the control.
The controller controls the SDN switch device through the stream table delivery mechanism, and the SDN controller has two modes: active and passive. Active data packets are set to flow tables before they arrive at the openflow switch. Therefore, when the first data packet arrives at the switch, the switch knows how to process the data packet. This method effectively eliminates the limit on the amount of data that can be processed per second. Ideally, the Controller should try its best to pre-spread the stream table items. The Passive Mode means that when the first data packet arrives at the vswitch, it does not find any matching flow table items. It can only be sent to the Controller for processing. Once the Controller determines the corresponding method, the related information will be returned and cached on the switch, and the Controller will determine the retention time limit of the cache information.
Different stream table delivery modes have their own characteristics. Active Stream table delivery uses preset rules to avoid setting the stream table items for each data stream each time. However, considering the diversity of data streams, in order to ensure that each stream is forwarded, the management of stream table items becomes complicated. For example, you need to properly set wildcards to meet forwarding requirements. The passive stream table can more effectively use the stream table storage resources on the vswitch, but the additional stream table setting time will be added during the processing process, once the connection between the Controller and the switch is disconnected, the switch cannot forward the subsequent data streams.