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.
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 platforms consist of two main components: a front-end client application and a back-end network controller:
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.
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.