Search code examples
network-programmingvirtualizationopenflowsdn

Virtual switch using SDN


I was going through SDN controllers and OpenFlow implementation. I was wondering if SDN could be used to create a virtual switch by combining the capabilities of several switches within a data center.

1) Can any of you help me with this? 2) Are there companies who have developed these kind of capabilities? Where can I find white papers for it? 3) Also, in a real world data center network, is this really possible? NOTE: I am looking for conceptual as well as implementation-level information on this. Any help on this will be appreciated. Thank you.

P.S: Are there any SDN-centric forums where I could have similar discussions?

Thanks in advance.


Solution

  • When you say virtual switch, I am assuming, you mean not a physical switch. In more proper term, you want to virtualize network functions of a switch where the protocol will be OpenFlow.

    There is a piece of concept missing in your big picture. Please let me explain.

    The concept of SDN decouples control plane and data plane. And the control plane is centralised in an implementation of SDN. So, when you run an SDN, you basically introduce a centralised control plane. Now, to have the functionality of a switch, you can either go, buy physical switches that support OpenFlow or you can buy switches that are modifiable and you can install software that enables you to support OpenFlow. Or you can install some software on commodity servers to virtualize switch functions. The later two motives of introducing software to support switch functionalities that talk OpenFlow introduces the possibility of third party Data Plane agents that talks to SDN as necessary and forwards, in this case, frames (because it's switch and so, ideally, L2).

    There are some ready-made production-quality open-source software switches available these days. Open vSwitch and FD.io's VPP are two of the major software that let you achieve these virtual switch functionalities. Currently, both Open vSwitch and FD.io are Linux Foundation projects.And both have them have great industry support including vendors like Cisco, Brocade. From my experience, they are really production grade. OVS is one of the most famous network mechanism driver for OpenStack at present.

    Now, to integrate SDN and these data plane agents, you need to play a bit with configurations and overall setups. But I can provide some pointers for this. Please take a look at this documentation where they say how to emulate intelligent switches using OpenFlow in different SDN platforms.

    TL;DR

    Take a look at THIS.