24 Aug 2015

What is software-defined networking?

Level: Intermediate.
Estimated reading time: 5  minutes.

Without a doubt, currently the biggest hype in computer networking revolves around Software-defined networking (SDN). IDC predicts the SDN market will grow from less than 1 billion dollars in 2014, to $3.7 billion by 2016 and 8 billion by 2018. The promises of SDN include simplified network control, more agile networks, increased automation and improved cost efficiency. These might ring a bell if you are familiar with virtualization. SDN is basically extending the transformation that has been going on in the storage and server world to networks.

In this blog post I will explain what is software-defined networking and I will give an overview of the general architecture.

What is SDN?

SDN architecture allows network engineers to respond quickly to rapidly changing requirements through abstraction of lower-level functions. In other words, SDN decouples the intelligence (control plane) of networking devices such as routers, switches, bridges, gateways, wireless access points and firewalls from the muscle (data plane). The data plane actually stays with the networking hardware, but the control plane which makes the decisions about how packets should flow through the network, is moved to a software running on a server. This separation transforms the networking devices to just dumb packet pushers but now the controller has knowledge of the complete network. Because the controller has such accurate information of the whole network, it is possible, for example to dynamically allocate bandwith to an access point (youtube works faster).

With SDN the network administrator can also alter the network traffic from a centralized control console without logging in to the switches or other devices directly one by one. This way he can deliver services to wherever they are needed in the network, without regard to what specific devices a server or other device is connected to.  Open Networking Foundation (ONF) lists the key points and advantages of SDN architecture as follows:

  • Directly programmable: Network control is directly programmable because it is decoupled from forwarding functions.
  • Agile: Abstracting control from forwarding lets administrators dynamically adjust network-wide traffic flow to meet changing needs.
  • Centrally managed: Network intelligence is (logically) centralized in software-based SDN controllers that maintain a global view of the network, which appears to applications and policy engines as a single, logical switch.
  • Programmatically configured: SDN lets network managers configure, manage, secure, and optimize network resources very quickly via dynamic, automated SDN programs, which they can write themselves because the programs do not depend on proprietary software.
  • Open standards-based and vendor-neutral: When implemented through open standards, SDN simplifies network design and operation because instructions are provided by SDN controllers instead of multiple, vendor-specific devices and protocols.

ONF also developed OpenFlow, which is often mistakenly thought to be synonymous to SDN. OpenFlow is a communications protocol between the networking devices and the control plane. It allows switches from different vendors to be managed remotely using a single, open protocol (I briefly discussed the benefits of open source in my OpenStack article). OpenFlow happens to be the most widely used protocol for SDN but not the only one and it is just one piece of the overall architecture.


SDN architecture

The basic components and layers needed to create a network with SDN are

  • SDN Applications (Programs that communicate network behavior and requirements with the SDN Controller via application programming interface (APIs))
  • SDN Controller (Logical entity that receives instructions or requirements from the SDN Application layer and relays them to the networking components. Also provides the SDN applications with an abstract view of the network)
  • Data controlling plane (Control plane matches the packet header field and instruct forwarding plane about taking corresponding required action on packet)
  • Networking devices (OpenFlow enabled switches that control the forwarding and data processing capabilities for the network)


In the next article I will be setting up a SDN environment in our data center so stay tuned!


About Mikko Ala-Jaakkola

Master of the Blinking Lights/ System Specialist at Devilabs Inc. Also busy with writing my Master's thesis in Computer Science. HP Certified in Server and Storage. Interests: Security, Operating systems, Virtualization and Analytics. Open to everything new & Sceptical about everything.

Leave a Comment