AI and Machine Learning for networks

27 May 2022


Software-Defined Networking (SDN)—a gentle introduction

12 minutes reading

Software-Defined Networking (SDN)—a gentle introduction

The SDN approach to network architecture has been steadily gaining ground. More and more companies are designing their network infrastructure with this approach in mind. According to Statista, the traffic from SDNs and virtualized network functions in data centers from around the world in 2021 was estimated to have achieved 7.4 zettabytes. The increasing popularity of software-defined networking across a variety of industries shows how important this technology has become for global businesses. 

This article provides you with the classic definition of software-defined networking technology, then covers a few typical use cases and explains why software-defined networking technology is worth your time.

What is Software-Define Networking (SDN)?

According to the classic definition, SDN is an approach to networking that enables the programmatic and dynamic control of a network. This kind of an approach is more congruent with cloud computing than traditional rigid network management. One of the drivers behind SDN is a desire to transition from an old network design mindset to the new agile and more flexible approach so often used in software development practices. When implementing software-defined networking in practice, automation and flexibility are key concepts.

But before delving into the details, let’s take a look at the road that eventually led to the creation of software-defined networking.

SDN and NFV CodiLime services

A changing approach to networking

The evolution of networking has a good deal in common with the evolution of computers. In the early years of the computer era, computers were black boxes in which operating systems, applications and dedicated hardware devices were vertically integrated. They were also guarded by strict proprietary laws prohibiting any third-party modifications. Such an approach to computer architecture was a real innovation blocker and narrowed down the number of potential customers to specialized companies in the IT industry.

One bright day, somebody came up with the idea of decoupling the hardware, operating system (OS) and apps and enabling communication between them via open interfaces. So, instead of having one black box with all these elements sealed up, you could buy hardware, an OS and software separately, from different providers, or even develop your own specialized components and blend them into an innovative system. 

Disaggregation of the black box revolutionized the IT market, opening it up to new cohorts of customers. More companies could offer products that were easy to integrate with other products on the market. No less significantly, Figure 1 shows how innovations could now be rapidly implemented and scaled.

The evolution of computers - software-defined networking

Fig. 1 The evolution of computers

Just a few short years ago, the situation in networking resembled the state computer architecture was in more than 30 years ago. Network services were provided by a few specialized network operators whose actions were based on traditional network devices that were very similar to early computers: black boxes that could not be modified and were guarded by proprietary laws. Such an infrastructure was very slow to adopt innovations, and only those functionalities that had been implemented by vendors could be used.

What software-defined networking brings to the table

From this perspective, the SDN movement represents the same type of major change in the networking world as occurred in computer architecture many years ago. Instead of having an all-in-one solution, it is beneficial to decouple the components and use them separately – the new outline is presented in Figure 2. The components communicate with each other via defined and standardized open interfaces. 

Thus different hardware and software providers can independently develop solutions that can be easily integrated into a network that better suits customers' needs. Such an approach also considerably shortens the time-to-market for new solutions. 

Even more importantly, modern service providers can compete by providing their own innovative networking functionalities that will differentiate their portfolio from those of others. This allows them to create a competitive advantage over rival providers and spread fresh ideas throughout the networking market. This process is not unlike the innovative computer applications that flood the market every day.

Evolution of networks - software-defined networking

Fig. 2 The evolution of networks

Separation of the control and data planes

So, SDN solutions are changing our approach to network architecture. To better understand this change, let's explain the separation of two essential notions: the data plane and control plane.

In the traditional network infrastructure that is still most commonly applied today, there is a set of black boxes with dedicated hardware, an operating system and functionalities provided by networking vendors. This makes the whole infrastructure very difficult to manage and leads to vendor lock-in. The traditional network approach is shown in the below figure. 

The traditional approach to network architecture - software-defined networking

Fig. 3 The traditional approach to network architecture

In the SDN approach, the underlying role of hardware is to maintain the definition of a data plane. Network functions, on the other hand, are moved to centralized software that defines the network control plane by which, in turn, the data plane is defined. As Figure 4 shows, to make this possible hardware-wise, there are agents that work as an interface between the hardware and the network operating system (NOS). 

The NOS, which in pre-SDN models was installed on every device, has been moved to a higher layer, while network functions needed at a given moment can be “installed” on such an NOS. For example, if a routing application is called for, it is implemented within the NOS, which in turn communicates with the hardware. The hardware behaves according to what has been defined in the app.

Control plane and data plane separation - software-defined networking

Fig. 4 Control plane and data plane separation

Benefits of software-defined networking

SDN provides more than an easier form of network management, it also offers considerable business benefits. 

  • Software-defined networking helps bring down operating and capital expenses (OPEX and CAPEX) in the long run.
  • An SDN-based network is more flexible, allowing updates and changes to be made faster. 
  • The number of errors and downtime are reduced, as automation in many cases eliminates the human factor. 
  • The network administrator has a good view of the network topology.
  • SDN creates an important technological advantage in networking, allowing new functionalities to be introduced faster and at lower cost.

Implementing software-defined networking can help increase the level of  network security – the following section with real-life examples of SDN usage shows how this solution facilitates the work of the networking devices.

Sample SDN use cases

Let’s consider the following example of SDN architecture for a single data center (DC). This is a traditional topology where there are servers on which virtual machines (VMs) are deployed. In Figure 5, the white rectangles stand for network elements, while the violet rectangles denote agents controlling the hardware.

Everything is controlled by applications built on top of an SDN controller cluster. This control layer automatically configures hardware according to current needs. For example, when end points in the network want to communicate with each other, the SDN controller automatically configures hardware to enable or disable such communication depending on the applicable policies.

SDN stack for single data center - software-defined networking

Fig. 5 Example of SDN stack for single data center

But how to orchestrate more than one data center when there are various types of control planes in these data centers that may not be compatible? Well, here comes the SDN orchestrator. SDN orchestrators can communicate with different types of local SDN controllers (which control networks in single data centers) to manage the connectivity and services across multiple DCs. 

The below graphic visualizes a possible solution using an SDN orchestrator.

SDN software used to connect many data centers - software-defined networking

Fig. 6 An example SDN stack for a data center interconnection

Other types of software-defined networking

In this article, a classical approach to software-defined networking known as Open SDN has been described. It uses open protocols for controlling the dataplane, which is clearly decoupled from the control plane in this model. But there are also other types of SDN, the two most popular of which are:

  • API-based SDN—using southbound APIs such as NETCONF/YANG, REST, gRPC, and XMPP to control and manage network devices.
  • SDN via overlays—creates a virtual network on top of underlying infrastructure in an automated way.

It is worth knowing that SDN is in fact a very broad concept. It covers a number of different techniques and mechanisms and can be understood in many ways today.

Final thoughts

Consider implementing SDN in your networking infrastructure – allows for changing thinking about network infrastructure. 

However, there is no need to sweep aside your traditional network and build a software-defined networking solution from scratch. One of our previous articles provides a comparison of SDN vs traditional networks that shows how SDN can optimize existing network resources.

Original post date 07/03/2021, update date 05/27/2022.


Karolina Rusinowicz

Content writer