Driving Network Agility through SDN
The competitive nature of current day business environments requires a high degree of agility in terms of IT infrastructure. Although an increasing number of organizations are moving to the cloud today, there exist certain sectors (such as banking) that cannot migrate to newer systems easily, as doing so without adequate preparations could affect their regular workflow. This snowballs into a major problem as legacy and conventional networks are centered around hardware comprising of a complex array of routers, switches, and appliances that cannot respond rapidly to the changes in network traffic brought-in by the myriad of business applications (both cloud-based and on premises), essentially leaving a gap to be bridged. The ‘bridge’ comes in the form of network automation, which basically tries to do away with the need for configuring network settings manually, thereby eliminating the entry of specific commands in appropriate devices. The automation performed using scripts that replicated the device-specific commands, eventually saving time and effort for the IT personnel. However, the scripts too had an inherent drawback; the device specific nature of scripts became another pain point as they stopped working each time the network configuration was changed. This marked the inception of software defined networking (SDN).
Software Defined Networking
Network architecture is composed of three planes—the control, data and management. In conventional (or legacy) networks, all planes are implemented using routers and switches. SDN separates the control plane of the network from data and the devices enabling the administration of traffic by the software. The separation allows network administrators to route or control the traffic from centralized consoles as opposed to writing commands or scripts for individual switches. This eventually takes network automation to a higher level.
SDN is implemented using a network controller (also called SDN controller). A network controller is an application that manages the flow of data packets within a network and is generally referred to as the ‘brain of SDN’. Typically, an SDN controller platform contains a collection of software modules capable of performing various tasks like gathering various network statistics; extensions can be inserted as per the requirements to support more advanced algorithms to perform analytics.
The routing of traffic by a network controller generally happens according to a protocol. The most popularly implemented protocol is the OpenFlow, which allows an SDN controller to directly interact with the forwarding (data) plane of network devices—both physical and virtual. This makes it easier for SDN to adapt to the changes in network quickly. Generally, the type of protocol implemented, influences the network architecture.
Network controllers serve as strategic control point in the network, managing the flow of traffic “below” and “above” the network, using Southbound and Northbound APIs, respectively. Southbound APIs are those that facilitate the communication between the SDN controller and the region “below” the network comprising of routers and switches. Northbound APIs are those used to enable the movement of data between the SDN controller and the region “above” the network that involves the business applications.
Agility brought-in by SDN Controllers
The ability of SDN controllers to interact with the forwarding planes of devices can be leveraged to integrate them with storage, computing and various other environments of enterprise networks, to automate their functioning. The automation tunes the network resources according to the policies, service level requirements and best practices followed by enterprises.
SDN controllers simplify the adoption of cloud technology, due to which the distribution of patches and updates becomes faster and easier. The faster flow of traffic within the network improves the quality of service associated with latency-sensitive communication applications such as Voice over Internet Protocol (VoIP) or even video conferencing. Consequently, the pace of application and service delivery is accelerated. On the whole, SDN reduces the time required to configure and manage physical and virtual network resources, to create a network infrastructure that is more scalable and flexible.