Software defined networking (SDN) is an innovative approach to network design and implementing functionality in the network. It is based on the ability to dynamically modify the behaviour of network components. SDN uses software components that can be customised and configured in a deployment, independent of the hardware, to enable networked systems to expand data flow control.
SDN is targeted towards creating an abstraction to the low-level network and presenting a unified-service-facing view of the network. It makes networks more flexible, dynamic and cost-efficient, yet simplifies operational complexity. SDN is next-generation networking that provides benefits like network and service customisability, configurability, improved operations, with increased performance. There are several different approaches to SDN and its practical implementation.
What’s driving SDN
A fast change in the way the Internet is used, and the way large industry players want to use the network and data, has led to the larger and powerful data centres. The network capacity of traditional networking equipment has grown many folds, and there is a strong push towards keeping everything in the cloud and processing as much as possible within the cloud. This is driving the demand for modern-day high-performance data centres.
Here are some of the changes in the usage of networks and how they demand the creation of high-performing, scalable and adaptable data centres:
Changing traffic patterns. Today’s applications access different databases and servers, creating a flood of machine-to-machine traffic before the data is returned back to end user. Users are moving towards accessing content from different kinds of devices and the expectation is that the network would adapt to the device specifications and capabilities.
Rise of cloud services. The large enterprises have adopted the cloud services, both private and public, resulting in an exponential growth of the service. Businesses are looking for the agility to access applications, infrastructure and other IT resources on demand, and as and what they need. The services rendered by cloud demand enhanced security, compliance and auditing requirements. Business reorganisation, consolidation and mergers require IT for the business changes overnight. Providing self-service provisioning, whether in a private or public cloud, requires elastic scaling of computing, storage and network resources.
‘Big data’ means more bandwidth. Handling today’s ‘big data’ or mega datasets requires massive parallel processing on thousands of servers, all of which need direct connections to each other. The rise of mega datasets is fuelling constant demand for additional network capacity in the data centres. Operators of hyper-scale data-centre networks face the daunting task of scaling the network to unimaginable size, maintaining any-to-any connectivity and still keeping the cost of the implementation low.
Movement of distributed data centres to clouds has been the major driver towards the software-defined networks. The cloud service providers want their networks to be flexible and extensible. The application of SDN lies in a data-centre environment, where the network services are fluid and are able to move from one hardware to another in the network. There is a need to create an instance of service dynamically and then destroy the instance when not in use.
SDN also solves the use case for multi-tenancy environment. That is, if I am a data centre service provider, and I provide distributed data centre solution to multiple customers, I should be able to connect the different data centres securely for my customers. And I should be able to do this dynamically in case of changes required in the service or configuration. In each of these use cases multiple tenants in a data centre share the same physical resources (physical servers, physical storage and physical network). Each tenant is assigned its own logical resources (virtual machines, virtual storage and virtual networks). These logical resources are isolated from each other.
SDN primarily helps us in the following two ways:
1. Cloud networking. Helps generate private clouds for enterprises or service providers, builds and provides network infrastructure as a service (IaaS) and helps build virtual private clouds (VPCs) for cloud service providers (also known as MSP).
2. Network function virtualisation (NFV) in service-provider networks. This provides value-added services (VAS) for service-provider edge networks, such as business-edge networks, broadband-subscriber-management edge networks and mobile-edge networks.
SDN also helps in moving a number of network services to general-purpose hardware, eliminating the need for dedicated hardware for these applications. Examples of such applications are intrusion detection or preventions systems (IDS/IPS), deep packet inspection (DPI), caching and wide area network (WAN) optimisation in virtual machines instead of on physical hardware appliances.
In its present state the structure of SDN is not very well defined. It looks like every vender understands the problem they are trying to solve, but every vendor has a different approach towards it. Some organisations are trying to build standards around the SDN.
One of the important aspects of SDN is to keep different components in the network physically separate and yet make them work together in cohesion. For example, if we take a high-performance integrated-service gateway, it is likely to have a firewall, IDP/IDS, routing and switching system, all built into one box. When we take all these services to an SDN, we have different software components doing the firewall, IDP routing and switching. Also, in SDN only the forwarding of the actual connectivity has to be provided by a dedicated physical hardware. All these different components are controlled by a master component called the SDN controller.
This brings in a challenge to making sure that all these different components work together and are controllable by a controller in the network. This requires a protocol to be developed for the communication among the different components in an SDN network.
To understand the very-high-level architecture of the SDN network please see Fig. 3.
Open Network Foundation (ONF) (https://www.opennetworking.org) is a non-profit industry consortium that is leading the advancement of SDN and standardising critical elements of the SDN architecture, such as the OpenFlow protocol which structures communication between the control and data planes of supported network devices. OpenFlow is the first standard interface designed specifically for SDN, providing high-performance, granular traffic control across multiple vendors’ network devices.
One of the most important aspects of SDN is seamless network management. The SDN aims at delivering an application as a whole, rather than each network service. The high-level network applications are formed with well-orchestrated configuration of different network services. This demands an implementation of a very powerful and open network management system (NMS). An NMS which translates a high-level business policy into a configuration of each of the different service layers, including routing, switching, security and virtual machine provisioning, is the core of an SDN network. Along with providing easy configurability it should also provide a clear visibility in the network and highlight problems, if any.
ONF is the main organisation driving the standardisation effort of the SDN. It mainly deals with defining the protocols and standardising the way services should be provided in a network. The main idea is to keep the network components and services interoperable, so that healthy competition is maintained, and customers can choose the best components from different vendors.
Strengths of SDN
There is a complete transition of the network architecture in SDN. In SDN the control and data planes are decoupled, network intelligence and state are logically centralised and the underlying network infrastructure is abstracted from the applications. As a result, a network administrator gains unprecedented programmability, automation and network control, enabling him to build highly scalable, flexible networks that readily adapt to changing business needs.
OpenFlow-based SDN is currently being rolled out in a variety of networking devices and software, delivering substantial benefits to both enterprises and carriers, including:
1. Centralised management of networking equipment from multiple vendors
2. Improved automation so that network administrators deal just with the business policies and abstracting the underlying complication of provisioning individual components
3. Possibility of rapidly deploying newer services, without being blocked by any network device or a vendor to release an update
4. Opening avenues for all parities to generate revenue by enabling programmability of the network through open API, creating vendor independence
5. Centralised and automated management to increase the reliability of the network and, because the network is flexible, enhancing the reliability by automatically reprogramming in the event of failure
6. Granular network control with the ability to apply comprehensive and wide-ranging policies at the session, user, device and application levels
7. Enhance end users’ experience as the network adapts, the network is centralised and changes in the network appear seamless to the end-user
The strength of SDN lies in building a scalable and adaptable network which can be changed to adapt to the need of the environment. SDN banks on building the network with basic individual components, all separated out but controlled in unison using powerful software.
The SDN technology is still shaping up and different vendors are implementing the solution to differentiate themselves from the others, along with a strong standardisation effort being made by various organisations. It is difficult for each of these vendors to ignore the standardisation, but they are free to build in hooks such that their solutions work better with their own components than with a competitor’s components.
The main effect of the SDN will be seen by the service provider and the larger enterprises. The end users will experience the virtue of SDN in the form of enhanced services from the cloud, seamless usage of the network and security of their data.
The author has a masters degree in Communication and 14 years of work experience in telecommunications software. He is working at Juniper Networks, on their next generation network management solution