Introduction to Software Defined Networking

Introduction to Software Defined Networking

If you’re into networking then you will have surely heard of it. If reciting command after command is your thing then its time to be scared. I have been following the progress of a new technology now commonly referred to as “Software-defined networking”. There is a lot of movement towards how it is being incorporated into today’s infrastructure. Not only has the virtualisation experts benefited from it already, the Hardware vendors have gotten on board as well, integrating it into their hardware devices.

What is SDN?
SDN is a concept to take the control from network switches and routers and uses an external software controller to define flows and manage paths on physical and virtual devices.

How does it work?
SDN is being built around an emerging protocol called OpenFlow. The Open Networking Foundation now maintains this specification. The protocol is used in the communication between the switch and a controller. It uses a concept called flow tables which is Layer 2 based and allows you to specify the path of packets through the switch/router.

Who is using it?
So far there have been several hardware vendors adopting the protocol and have been integrating it into their devices. To list a few:

Brocade Arista Cisco
Extreme IBM Juniper

My main focus has been with the use of OpenFlow in OpenvSwitch. A  virtual switch used in such Hypervisors as:

Xen Cloud Platform XenServer VMware
KVM VirtualBox  Xen

To promote this protocol even further. Google operates OpenFlow on its internal networks. It claims it can run functions 25-50 times faster on a 32-core workstation. They incorporated this technology into their own custom switches which run virtually no software, just the OpenFlow agent. Not only is this used internally, it is also used across their WAN connections.

Why would you use it?
There are more and more emerging uses for this technology, and I am sure in the next 6 – 12 months there will be even more. For me some ideas on where you would use SDN is for VM segregation and security in a virtualised hosting environment. As it matures the feature set will surely increase and the usability will far outway traditional networking procedures.

Overall, I believe that this technology will solve many of the problems faced in today’s virtualized environments. I think that the traditional architecture of physical devices will now be extended into a software based fabric and will provide a simplistic way to enhance networking as we know it.