SDN aims at providing networks an innovative approach in controlling data flow in the dataplane. SDN proposes a common, centralized control plane where the controller or NOS is responsible for maintaining an inventory of all network devices, packet switching, and allocating networking resources to applications running on top of the controller.
In SDN, the control plane is centralized. An SDN controller is able to control a small part of the whole network,termed as the SDN domain. Data centers, especially those in the cloud, are a logical example of an SDN domain. With the increasing use of SDN, exchange of information between multiple SDN domains will become an important need.
A network can have multiple SDN domains, each controlled by an individual SDN Controller. Interconnecting these controllers to share information and coordinate their decisions is important for routing information and providing quality of service. In the future, when SDN will be deployed in large-scale networks, operators of this large scale enterprise will want to divide the whole network into multiple connected SDN domains for better scalability and security.
Today, networks are moving towards cloud architecture (data center) and SDN is becoming the key enabler of the same. To utilize data center resources efficiently, SDN controllers need to communicate. In a multi-SDN controller environment, each controller needs to be connected to the neighboring controller.
Approaches to Inter-SDN Controller Communication
Inter–SDN controller communication can be implemented using the vertical or the horizontal approach.
In the vertical approach, there is a master controller over the individual network controllers. The master controller has a global view of the network across all connected SDN domains and can orchestrate the configuration in each domain.
In the horizontal approach, the SDN controllers establish peer-to-peer communication. Each controller can request for information or connections from its peers, that is, SDN controllers from other domains in the network. This is also called the SDN east-west interface.
SDN east-west interface is used to exchange information between SDN domains that are under the control of single or multiple network operators. A session needs to be established between the two controllers by using either BGP or Session Initiation Protocol (SIP) over Transmission Control Protocol (TCP) to exchange information.
SIP is a request-response protocol for initiating and managing communication. The protocol defines the messages that are sent between peers, which govern establishment, termination, and other essential elements of a call. SIP maintains a session but it is mostly used in establishing multimedia sessions. BGP is an inter-autonomous system routing protocol. It maintains a session between routers and follows a state machine approach.
A session can be established by either of these application protocols, but BGP has significant advantages.
BGP is a routing protocol required to share routing information between two autonomous systems. This makes BGP an ideal protocol as it can be easily adapted for inter-SDN controller communication, where various SDN domains will have access and control of QoS, policies, and other parameters through the SDN controllers.
BGP has the following features that are needed for SDN east-west interface:
- BGP messages can carry capability and reachability information as part of their message format.
- BGP is a standard and the most feasible protocol for any peer data to be exchanged.
Conclusion: Why SDN is the Future of Cloud Computing
As businesses rapidly adapt to cloud-based IAAS, there will be an increase in the number of switches, both real and virtual, as well as the number of Virtual Machines (VMs) or hosts that need to be supported. However, there is a limitation to the number of switches and hosts that an SDN controller can manage (a BigSwitch network controller can support 1,000 switches and 250,000 hosts).