Thursday, 4 June 2015

SDN: A Transformation Milestone in the Networking World

​By Sivabalan K


Before introducing SDN (Software Defined Networking), one should look into the evolution and limitations of various computing resources, which include CPU, memory, network and storage, where everything is physical, tough to maintain, and very hard to scale. But, things started changing. Thanks to virtualization! Virtualization products like VMware, Microsoft Hyper-V, KVM etc. could virtualize CPU, memory and the storage (virtual hard disks) to a larger extent, but, the networking resources could still not be effectively virtualized. Due to this, whenever a new VM is provisioned, required networking resources have to be created beforehand, so that the VM can use that network resource to communicate with others in the network.

With the advent of cloud computing, the provisioning of the above mentioned virtualized resources like VMs were highly automated. Yet, the networking resources lagged behind in this process to a level that networking resources had to be deployed and configured manually, which required more hardware resources, and increased the energy consumption and manpower requirement as well.

Then entered a concept called Software Defined Networking. SDN is a new, emerging technology that will decouple the decision making layer - the "control plane" from the networking layer, which actually forwards the network traffic to the destination, called as "data plane", in SDN terms. The separation between the control plane and the data plane open up possibilities for network administrators to control and configure the entire network just by accessing the control plane, instead of accessing each and every node in the network. This makes management of the network seamless and simple. This also enables SDN to seamlessly integrate with various cloud-based platforms, although the SDN implementation for each cloud platform may differ.

SDN addresses the following network limitations:
  • Vendor dependence 
  • Expensive to maintain traditional networks 
  • Each network router that has its own proprietary software 
  • There is very little room for innovation as the software for the networking equipment is developed only by their vendors. 
  • Managing and reconfiguring complex networks with the addition of a new machine 
  • Difficult task for IT departments to manage it, which exposes the enterprise network to non-compliance of regulatory compliances, security breaches, and other negative consequences.
Some of the pressing needs for SDN:

The network traffic pattern changed from a traditional client server model to a state where a single application draws information from multiple databases before returning the end result to the users. With the advent of BYOD (Bring Your Own Device) for IT administrators, it is a nightmare to manage all these devices in a corporate network, and at the same time protect confidential corporate data. The rise of cloud services, both public and private cloud, also increases the requirement for SDN. Finally, there has been the emergence of big data, which needs very huge parallel processing of thousands of interconnected servers. This requires an additional capacity in those data centers with dynamic scaling capability.

SDN Architecture

Source: https://www.opennetworking.org/images/stories/downloads/sdn-resources/technical-reports/SDN-architecture-overview-1.0.pdf

A simple pictorial depiction of SDN


Traditional Computer Networks: 
  • Forward, filter, buffer, mark, rate-limit, and measure packets 
  • Track topology changes, compute routes, install forwarding rules​


Software Defined Networking (SDN)

  • ​Logically-centralized control​


Source: https://www.cs.princeton.edu/courses/archive/spring12/cos461/docs/lec24-sdn.ppt - (Slide # 11)​

Ongoing open source SDN controller projects:
  • ONOS 
  • Project Floodlight 
  • Beacon 
  • NOX/POX 
  • OpenFlow 
  • Open Daylight (controller baseline project upon which many other controllers are built) 
​Conclusion

As the world is moving towards cloud based services, the networking resources also need to be upgraded to the next level to match the new cloud based environment. SDN is the right step towards that direction, where we can have tailor-made SDN implementation for different cloud computing environments. Although it will not fulfil all the requirements of cloud computing, it serves most of them.

No comments:

Post a Comment