An approach to designing, building and operating large-scale networks that is essentially based on programming the forwarding decisions in routers and switches via software from a central server. Software-defined networking (SDN) differs from traditional networking, which requires configuring each device separately and which relies on protocols that cannot be altered.
The primary applications of SDN have been in wide area network (WAN) traffic engineering, datacenter network virtualization and monitoring. SDN gives network administrators the flexibility to customize their networks for their traffic requirements.
Separate the Control from the Forwarding
SDN routers and switches ("bare metal devices") perform basic forwarding functions under program control from a central server that commands the hardware via the OpenFlow interface. Fewer built-in protocols and vendor-specific features in the hardware mean less complexity and greater reliability, and central control makes setting up new networks, as well as making changes, much easier than deploying scripts to each device or waiting for vendors to update their firmware. Software control also enables the creation of innovative forwarding algorithms, and simulating and testing them is simplified, because the hardware can be easily emulated. See SD-WAN
SDN and OpenFlow
The OpenFlow protocol, which is the basic instruction set in SDN routers and switches, was standardized in 2009, and the first large-scale deployments occurred starting in 2011. See OpenFlow
Example From Big Switch Networks
This shows the separation of the software (control plane) from the forwarding (data plane). Providing network virtualization and monitoring, Big Virtual Switch and Big Tap communicate with Big Network Controller (an SDN operating system). Big Network Controller controls the virtual hypervisor switches and physical switches via OpenFlow commands. (Image courtesy of Big Switch Networks, Inc., www.bigswitch.com)