Today’s Internet applications require the underlying networks to be fast, carry large amounts of traffic, and to deploy a number of distinct, dynamic applications and services. Adoption of the concepts of “inter-connected data centers” and “server virtualization” has increased network demand tremendously. Software Defined Networking (SDN) is an idea which has recently reignited the interest of network researchers for programmable networks and shifted the attention of the networking community to this topic by promising to make the process of designing and managing networks more innovative and simplified compared to the well-established but inflexible current approaches.
Definition of Software Defined Networking
Software defined networking is not a technology, but an architecture that provides support for virtual machine mobility independent of the physical network. Software Defined Networking (SDN) is an emerging network architecture where network control is decoupled from forwarding and is directly programmable. This migration of control, formerly tightly bound in individual network devices, into accessible computing devices enables the underlying infrastructure to be abstracted for applications and network services, which can treat the network as a logical or virtual entity.
The goal of Software Defined Networking (SDN) is to enable cloud and network engineers and administrators to respond quickly to changing business requirements via a centralized control console. The Open Networking Foundation (ONF) is the group that is most associated with the development and standardization of software-defined networks. According to the ONF, “Software Defined Networking (SDN) is an emerging architecture that is dynamic, manageable, cost-effective, and adaptable, making it ideal for the high-bandwidth, dynamic nature of today’s applications. This architecture decouples the network control and forwarding functions enabling the network control to become directly programmable and the underlying infrastructure to be abstracted for applications and network services.
Architecture of Software-Defined Networking
Figure 1 depicts a logical view of the SDN architecture. Network intelligence is (logically) centralized in software-based SDN controllers, which maintain a global view of the network. As a result, the network appears to the applications and policy engines as a single, logical switch. With SDN, enterprises and carriers gain vendor-independent control over the entire network from a single logical point, which greatly simplifies the network design and operation. SDN also greatly simplifies the network devices themselves, since they no longer need to understand and process thousands of protocol standards but merely accept instructions from the SDN controllers.
Figure 1: Software-Defined Network Architecture
Perhaps most importantly, network operators and administrators can programmatically configure this simplified network abstraction rather than having to hand-code tens of thousands of lines of configuration scattered among thousands of devices. In addition, leveraging the SDN controller’s centralized intelligence, IT can alter network behavior in real-time and deploy new applications and network services in a matter of hours or days, rather than the weeks or months needed today. By centralizing network state in the control layer, SDN gives network managers the flexibility to configure, manage, secure, and optimize network resources via dynamic, automated SDN programs. Moreover, they can write these programs themselves and not wait for features to be embedded in vendors’ proprietary and closed software environments in the middle of the network.
Benefits of Software-Defined Networking
SDN offers a centralized, programmable network that can dynamically provision so as to address the changing needs of businesses. It also provides the following benefits.
Directly Programmable: Network is directly programmable because the control functions are decoupled from forwarding functions, which enables the network to be programmatically configured by proprietary or open source automation tools, including OpenStack, Puppet, and Chef.
Centralized Management: Network intelligence is logically centralized in an SDN controller software that maintains a global view of the network, which appears to applications and policy engines as a single, logical switch.
Reduce CapEx: Software-Defined Networking potentially limits the need to purchase purpose-built, ASIC-based networking hardware, and instead supports pay-as-you-grow models
Reduce OpEX: SDN enables algorithmic control of the network of network elements (such as hardware or software switches/routers) that are increasingly programmable, making it easier to design, deploy, manage, and scale networks. The ability to automate provisioning and orchestration optimizes service availability and reliability by reducing overall management time and the chance for human error.
Deliver Agility and Flexibility: Software-Defined Networking helps organizations rapidly deploy new applications, services, and infrastructure to quickly meet changing business goals and objectives.
Enable Innovation: SDN enables organizations to create new types of applications, services, and business models that can offer new revenue streams and more value from the network.
 “Software-Defined Networking: The New Norm for Networks”, ONF White Paper April 13, 2012
 “What is Software Defined Networking (SDN)? Definition”, available online at: https://www.sdxcentral.com/sdn/definitions/what-the-definition-of-software-defined-networking-sdn/
 Jammal, Manar, Taranpreet Singh and Yiming Li, “Software defined networking: State of the art and research challenges.” Computer Networks 72 (2014): pp. 74-98.
 “SDN 101: An Introduction to Software Defined Networking”, white paper, available online at: https://www.citrix.co.in/products/netscaler-adc/resources/sdn-101.html