Summary

Software Defined Networking (SDN) is a modern paradigm shift in network building, configuration, management, and monitoring. SDN platforms consist of a front-end client application and a back-end network controller, which automate device configuration, provide a central point for configuring a variety of devices, allow for managing the network as a whole, and combine management and monitoring functions into a single application. This simplifies the tasks of building, configuring, updating, troubleshooting, and resolving issues compared to previous models.

What Is Software Defined Networking?

Software Defined Networking is a relatively modern paradigm shift in how networks are built, configured, managed, and monitored — effectively combining all of those respective processes into something that can be done through a single software application application.

SDN Architecture

SDN platforms consist of two main components: a front-end client application and a back-end network controller:

Front End

The front end consists of a user interface (UI) for the network administrator / engineer to build, manage, and monitor the network. This is a client-side software application — typically primarily built as a website/”web application” but also often with an accompanying mobile and/or desktop client. Through this front end a network administrator or engineer is able to do all tasks relating to building the network, managing each component on a micro-to-macro scale, easily make configuration changes that can effect a single or many devices, and pull statistics and logs from each network device and the network controller itself.

Back End

This part is often referred to as the “network controller.” A service that the front end application communicates with via an API that initiates firmware upgrades, configuration changes, and pulls data from network devices for the purposes of monitoring and troubleshooting devices. Based upon the global configuration the administrator/engineer creates the controller automatically breaks everything down into separate configuration files for each respective device category, device type, and specific devices and makes it availbile to download initiates the process of applying the configuration in a process referred to a “provisioning.” The controller also serves as the authoritative source of devices that make up the network (which the administrator/engineer “adopts” when they first connect a new device into the network), and likewise knows which devices are not on the network. This is critical in creating a list of authorized devices that are permitted to pull down configs and manage device firmware versions. This maintains control over which devices recieves the proper configuration files, and prevents a rouge device from pulling down a configuration file containing information that could be used to exploit parts of the network.

Advantages of SDN Platforms

  1. Automating device configuration. Whether you are plugging in a new device for the first time, or making a change to the network’s configuration, each device gets automatically configured without requiring individual or manual intervention. This makes anything from minor to major changes, from small to large networks, a trivial task compared to the incredibly time consuming, tedious, and potentially error-prone task of going to each device and making changes as needed.
  2. Providing a central point through which a large variety of devices can be configured. This is a huge departure from networks of the past where each type of network device was configured and managed as individual categories depending on the type of device they were: routers, switches, wireless access points, VPN servers, etc.
  3. Being able to conceptualize, design, manage, and operate the network as a whole rather than it’s individual components. While each device will typically end up with an entirely different confiugration, that logic is built into the management application, where it knows which device will ultimately end up being configured in different ways (reguardless of how minor or major those differences are).
  4. Combining management and monitoring functions into a single application / “single pane of glass.” Historically these two very different functions, they are equally critical. In software defined networking you are able to manage and monitor the network, each network device, and each client device connnected to the network from a macro to a micro level in once place, with a single application, via a unified interface. This makes building, configuring, updating, troubleshooting, and reslolving any issues far more simple than the previous model of requiring different applications, that serve entirely different purposes, for each of the above listed tasks, particularly when providing end-user support.