What is software defined networking?

What is software defined networking?

Software defined networking (SDN) is a way to approach networking of computers through software abstractions in place of specialized hardware. By abstracting some of the low level functionality of the network into a software application, it allows network administrators to more easily manage dynamic networks. In a most basic sense, software defined networking separates the part of the networking infrastructure that decides where information is being sent (called the ‘control plane’) from the part where the data actually moves (the ‘data plane’), and allows the decision making part to happen in the software application. To learn more, watch the quick video below.

Open source, open standards, and open protocols are all important to software defined networking. Since networking is, by definition, an activity which connects related system, it is important that standards exist to manage this communication.

In traditional networking infrastructure, much of the control of network traffic is done by proprietary hardware solutions running proprietary software, or a mix of proprietary and open source software, on top of them. Software defined networking allows for an openness not previously available.

Software defined networking also opens up other possibilities for virtualizing parts of the networking infrastructure which had not previously been possible. Below are some of the terms and organizations which you may have heard about which address some these networking needs.

What is network functions virtualization?

Network functions virtualization (NFV) is a related concept, which is often but not always used in concert with SDN, which allows network services to be virtualized. These services include, but are not limited to, functions like firewalls, caching, routing, security services, load balancers, and other similar processes which have often in the past been carried out by dedicated hardware devices. Instead of running on dedicated devices, which are more often than not proprietary, the functions can be carried out by virtual machines running inside of a datacenter.

NFV is important to a number of industries, but telecommunications companies have been one of the main drivers of the technology. Of the many benefits of NFV, one of particular value is the ability to scale capacity through virtualized infrastructure instead of by having to purchase and add new machines every time capacity is reached. This allows for cheaper and more flexible operations, and also in some circumstances means that the processing of network data can happen closer to the location where it originates.

To learn more about NFV and what it means for open source and for project like OpenStack, check out this primer from OpenStack board member Mark McLoughlin, or explore some case studies.

What is OpenDaylight?

OpenDaylight is a collaborative project hosted by the Linux Foundation which provides "an open platform for network programmability to enable SDN and create a solid foundation for NFV for networks at any size and scale." In other words, it is an open source controller for software defined networks. Its goal is to provide a common framework which will provide consistency across the industry, while enjoying the benefits of collaborative design and code from across a wide group of project partners.

For more on OpenDaylight, take a look back at our interview with Neela Jacques, Executive Director of the OpenDaylight Project. You also might wish to check out our look at some of the features included in the OpenDaylight Helium release. You can also watch the two minute video below which shares a little more about the mission of OpenDaylight.

What is OpenStack Neutron?

Neutron is the networking component of OpenStack. At its most basic level, it manages networks and IP addresses within OpenStack, which had originally been managed as a part of the Nova compute component.

Neutron by itself is not a full networking stack, but rather, it connects OpenStack to an underlying networking infrastructure which can be provided by any number of physical and virtual devices. The plug-in infrastructure makes Neutron compatible with the infrastructure already in place in a number of data centers, and helps bridge it to future solutions which may be yet to be created.

To learn more about Neutron, check out our interview with the project's program team lead (PTL), Kyle Mestery.

How do all of these pieces fit together?

The landscape of projects, standards, organizations, and companies involved with the effort to build open source solutions for software defined networking and network functions virtualization can be a little complex. To learn more, we highly recommend you watch this video from OpenStack Summit which helps to tie the concepts together and explain their significance.