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. The following introduction, which provides the classical definition of software-defined networking technology, goes over a few typical use cases and explains why SDN technology is worth your time.
According to the classical 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 networking. One of the drivers behind SDN is a desire to transition from an old networking mindset to the new agile and more flexible approach so often used in software development practices. When implementing SDN in practice, automation and flexibility are key concepts.
But before we delve into the details, we’ll take a look at the road that eventually led to the creation of SDN.
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 where operating systems, applications and hardware 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, however, 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, the innovations could now be rapidly implemented and scaled (see Figure 1).
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 service providers whose operations were based on network devices that were very similar to early computers: black boxes that could not be modified and were guarded by proprietary laws. As you’d imagine, such an infrastructure was very slow to adopt innovations, and only those functionalities that had been implemented by vendors could be used.
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 (see Figure 2). They will 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 competitors and spread fresh ideas across the networking market. This process is not unlike the innovative computer applications that flood the market every day.
Fig. 2 The evolution of networks
In the traditional network infrastructure that is 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 (see Figure 3).
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 control plane by which, in turn, the data plane is defined. As Figure 4 shows, to make this possible on the hardware, 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.
Fig. 4 Control plane and data plane separation
From a business perspective, SDN architecture also offers considerable business benefits.
- SDN 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
Let’s consider the following example of SDN architecture for a single data center. 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.
Fig. 5 Example of SDN stack for single data center
But what if we want to orchestrate more than one data center and there are more types of control planes in these data centers that may not be compatible (see Figure 6)? Well, then we need an 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.
Fig. 6 An example SDN stack for a data center interconnection
In this article, we have described a classical approach to SDN known as Open SDN. 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 concepts, the two most popular of which are:
- API-based SDN—uses 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
However, 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.
Consider implementing SDN in your networking infrastructure. And rest assured: doing so doesn’t mean you’ll have to sweep aside your legacy network and build an SDN solution from scratch. You can enhance your existing network with SDN solutions that will add value to what you already have.