Decoupling network control from networking devices is the common denominator of Software-Defined Networking (SDN). SDN is a recent paradigm shift in computer networking, where network control functionality (also known as the control plane) is decoupled from data forwarding functionality (also known as the data plane), and furthermore, the split control is programmable. The migration of control logic, which used to be tightly integrated into networking devices (for example, Ethernet switches) into accessible and logically centralized controllers enables the underlying networking infrastructure to be abstracted from an application's point of view. This separation paves the way for a more flexible, programmable, vendor-agnostic, cost-effective, and innovative network architecture.
Besides the network abstraction, the SDN architecture will provide a set of APIs that simplify the implementation of common network services (for example, routing, multicast, security, access control, bandwidth management, traffic engineering, QoS, energy efficiency, and various forms of policy management). As a result, enterprises, network operators, and carriers gain unprecedented programmability, automation, and network control, enabling them to build highly scalable, flexible networks that readily adapt to changing business needs. OpenFlow is the first standard interface designed specifically for SDN, providing high-performance, granular traffic control across multiple networking devices.
This book looks at the fundamentals of OpenFlow, as one of the early implementations of the SDN concept. Starting from an SDN introduction, we will go from OpenFlow switches and controllers up to the development of OpenFlow-based network applications (Net Apps), network virtualization, OpenFlow in cloud computing, active OpenFlow-related open source projects, and the future of SDN. If you are still hungry for more, this book shows you how to set up SDN with OpenFlow.