For questions about Software-defined networking (SDN), an approach to networking architecture that separates the control plane from the forwarding plane, with the network control logic implemented in software-based controllers.

Software-defined networking (SDN) is a way of organising networks in which the data and control planes are fully decoupled. This allows the logic and intelligence of the control plane to be implemented in external software controllers, while abstracting away the complexities of the physical forwarding plane.

In software-defined networks the state of the network, rather than being distributed across network elements such as routers and switches, is cen- tralised in a software-based controller. Unlike traditional routing protocols, where each network element generally only sees the subset of the network state that is needed to route packets to the next element, in a software-defined network it is possible to build up a global view of the entire network state in a centralised location. This allows for radically new approaches to networking problems, such as routing, load balancing and security enforcement.

As the control logic is implemented in software rather than firmware or hardware ASICs, it makes implementing new features and services much easier than with traditional networking.

There are several implementations of SDN architectures, the most prominent being OpenFlow.