Is SDN a buzzword or is it a protocol, standard, or recommendation?

What differentiates SDN from VMware NSX, for example?


5 Answers 5


I am assuming you are talking about Software Defined Networking. Currently state of the art networks make forwarding decisions within your networking infrastructure. Example - bridge tables are built dynamically from source MAC packets - routing decisions are made off of route tables built from dynamic routing protocol (eigrp/ospf/etc.). In SDN the network infrastructure is simply viewed as a control plane and takes forwarding direction from a central controller (an application running on a server somewhere). So each networking device layer2/layer3 would query the controller for forwarding decisions.

This is a decent article on the subject: SDN

The Wikipedia page goes into a more in-depth discussion of the history and motives: Wikipedia

  • 1
    I think the network infrastructure would be considered the data plane. The article you reference is a good overview.
    – Ron Trunk
    Jun 18, 2015 at 17:43
  • 1
    So, SDN is just a buzzword then as Ricky Beam indicated here? Jun 18, 2015 at 18:02
  • 3
    I think it's more accurate to say that SDN removes most of the control plane intelligence from the network nodes and consolidates it in the controller. Instead of the distributed protocols that routers and switches use today determining how forwarding is handled, the updates come from a single controller. Jun 18, 2015 at 18:25
  • 1
    Perhaps a single "logical controller" might be more accurate. Every SDN vendor addresses the single point of failure issue.
    – Ron Trunk
    Jun 18, 2015 at 21:07
  • 2
    @Todd one could argue that any switch with a distributed FIB is effectively a little SDN (in the generic sense) when it is standalone. Jun 19, 2015 at 21:45

I think SDN has lost it's meaning a bit (i.e. it can mean several different things now) because a lot of vendors have entered this market with several solutions that implement "SDN" in different ways.

I've blogged about SDN and it's origins here: http://filipv.net/2014/03/17/on-sdn-nfv-and-openflow/

Since you specifically mention VMware NSX in your question and how it contrasts with SDN, I'd say the main difference is that SDN typically also "programs state" in the data plane of the network, by using OpenFlow for example, and also configures physical network devices by using OVSDB for example. Whereas VMware NSX is a network virtualisation solution that does not configure or program forwarding state in physical devices but threats the physical network purely as an underlay to carry the overlay network which it does "program".

Note: in the next version of NSX-v, there will be OVSDB support so the lines will become more blurry. NSX-MH (the old Nicira NVP product) already had OVSDB support.

  • Your answer is not bad at all. Appreciate it. Jul 23, 2016 at 2:03

Separating a network's control logic from the underlying physical routers and switches that forward traffic allows network operators to write high-level control programs that specify the behavior of an entire network, in contrast to conventional networks, whereby network operators must codify functionality in terms of low-level device configuration.

Logically centralized network control makes it possible for operators to specify more complex tasks that involve integrating many disjoint network functions (e.g., security, resource control, prioritization) into a single control framework, allowing network operators to create more sophisticated policies, and making network configurations easier to configure, manage, troubleshoot, and debug

Simply put, Software-defined networking (SDN) is an approach to networking in which control is decoupled from the physical infrastructure

Arxiv: Software-Defined Networking: A Comprehensive Survey

It is separating the network's control logic from the underlying routers and switches, promoting (logical) centralization of network control, and introducing the ability to program the network

Wikipedia: Software-defined networking (SDN) is an approach to computer networking that allows network administrators to manage network services through abstraction of lower-level functionality. This is done by decoupling the system that makes decisions about where traffic is sent (the control plane) from the underlying systems that forward traffic to the selected destination (the data plane). The inventors and vendors of these systems claim that this simplifies networking.


Software Defined Networking

I usually describe SDN as the separation of the Muscle and the Brain of the networking devices.

The text book definition of SDN is that it is the separation of the Control Plane and the Data Plane. The place where many people get lost is to differentiate what the control plane is and what the data plane is.

To understand this, let's look at how networking devices have been working.

  1. They receive data via a specific interface.
  2. Process the data(routing/switching algorithm, ACL etc)
  3. From the result of the processing, do a specific action(Send Packet out a specific interface, Broadcast the packet, Drop the packet, Modify then unicast the packet etc)

From above, you can see the second step is the only place where there are some 'thinking' happening. The first step involves receiving the packet and the third doing a specific action after the 'thinking' is done.

So we can separate the three steps either as muscle or brain. The first step is the muscle, the second is the brain and the final is also a muscle.

We call the brain the Control Plane and the muscle is called the Data Plane as far as SDN is concerned.

The first statement in this answer said SDN is the separation of the muscle and brain of the network. How exactly does SDN do this ?

We take the brain to a central server, also called the controller. The server has the knowledge of all the networking devices in the network and does the thinking for them. All the networking devices have to do is receive a packet/datagram and if they don't know what to do, they just send the header information to the controller and it will tell the devices what to do with the packet and they can then do the action.

So the controller becomes the brain of the whole network, and the networking devices become the muscle just pushing data through.

Any questions ? :)


SDN, software defined networking

SDN, software defined networking, is defined by the Open Networking Foundation (ONF) as

The physical separation of the network control plane from the forwarding plane, and where a control plane controls several devices. [...and...] the OpenFlow® protocol is a foundational element for building SDN solutions.

Where Open SDN favors OpenFlow®, commercial networking incumbents market their own flavors of SDN fashioned programmable network systems, e.g. Cisco ACI™ and VMware NSX® (the Software-Defined Data Center, SDDC). Cisco's Meraki cloud managed devices utilize, but make no mention of, an underlying SDN architecture. Lastly, the Term SDN was first mentioned in an MIT Academic Article on OpenFlow Greene, K. 2009. TR10: software-defined networking.

SDN and Cloud Computing

Whereas SDN is an architecture for a programmable network; OpenStack, Eucalyptus, vCloud Air™, and Apache CloudStack™ are architectures for programmable clouds (i.e. network, memory, i/o, and storage). Programmable cloud compute systems may or may not use SDN. For example, OpenStack's Neutron element

can be viewed as orthogonal to SDN since it can integrate with traditional networks with existing protocols [What is OpenStack Networking?].

The Benefit

Automated distributed smart ports. Today, you link to a wired or wireless LAN which may include networking control features such as routing, firewall, optimizing, VLAN's etc. With SDN, these control features are available at the NIC/vNIC and are programmable via the SDN controller.

The Driver

SDN architectures are being adopted and driven by the deployment of private clouds such as OpenStack, Eucalyptus, vCloud Air™, and Apache CloudStack™.

OpenStack's Neutron project, providing networking as a service between interface devices (e.g., vNICs), recognizes SDN as a possible networking solution for OpenStack Clouds [OpenDaylight: An Open Source SDN for Your OpenStack Cloud].

Eucalyptus Virtual Private Cloud (VPC) support is implemented with a Software-Defined Networking (SDN) technology [Understanding VPC and MidoNet].

  • Meraki is SDN??
    – cpt_fink
    Jun 19, 2015 at 3:48
  • 1
    I don't often agree with @RonRoyston, but in this case I do. If you think of SDN as a technique, rather than a product, then yes Meraki and Cisco CUWN are examples. So is MPLS-TE, for that matter.
    – Ron Trunk
    Jun 19, 2015 at 14:05
  • 3
    Meraki has the management plane abstracted to the "cloud", the local equipment (switches specifically) still handles all of the forwarding table creation and updates as well as the traffic. CUWN(/Meraki Wireless) and MPLS-TE are the initial baby-step towards SDN, MPLS SR would be a better example of SDN with MPLS.
    – cpt_fink
    Jun 22, 2015 at 2:34
  • 1
    Would be nice to know what kind of ownership... owned as in copyrights, or owned as in when your boss says they want you to own this issue. Because my boss never means he wants me to take our server rack home with me.
    – Smithers
    Jun 23, 2015 at 20:16
  • 2
    Meraki is NOT SDN. "Cloud Managed" is not an SDN/OF control plane. It's merely an internet based interface (hosted website) to configure your gear (which you have to pay for every year.) The equipment will continue to do it's job without access to that Cloud Service; you just won't be able to change or troubleshoot anything.
    – Ricky
    Jun 3, 2016 at 21:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.