What is Software Defined Networks (SDN)?

The term Software Defined Networks (SDN) refers to the concept of separating control and data plane in the network. The separation of the layer enables external management and control of distributed lower layer transport functionalities. The theoretical concept of SDN has been realized by multiple standardization organizations (ONF, IETF/IRTF, ETSI, ITU-T, IEEE, etc.) into practical solutions (OpenFlow, CISCO's OpenPK, IBM's DOVE, NEC's Programmable Flow, etc.).
Current network elements (router, switches) are limited controllable and programmable. The network nodes are closed and bound to specific hardware, what causes a high barrier for modifications in the network. Changes of routing table entries and topology updates are regarded as complex tasks. No open standardized interface to control and management network hardware has been available at the beginning of SDN. Routers and switches are regarded closed source, without providing the ability for flexible functional enhancements, simplified external control, functional substitutions or network evolution through new protocols – even in parallel to IP.
Addressing these network challenges, SDN introduces two main functional elements on the scene: SDN controller and SDN switch and a control communication protocol between those. The traffic control functions have been excluded from the SDN switch and have been aggregated and transferred into the SDN controller, which is the centralized control element managing a set of SDN switches over a SDN protocol. One famous example is OpenFlow protocol standardized by ONF enabling the communication between SDN controller (network controller) and SDN switch (SW).
NGNI, OpenSDNCore, SDN, infographic
Fraunhofer FOKUS
Additional applications have been envisaged on top of the SDN controller performing added value for the underlying network. Next to others these are Routing, Traffic Engineering and Mobility. Routing and Traffic Engineering are following algorithms for data path management, routing optimization and support QoS control.
With the virtualized Evolved Packet Core (EPC), SDN emerges also in mobile next generation telecommunication networks. The software defined EPC is characterized by a split data plane into User-data (SGW-U, PGW-U) and Control Plane (SGW-C, PGW-C) and new challenges and opportunities arise. Additional flexibility, scalability, elasticity are competing against complexity, reliability, security and cost for this integration.