4.6
Survey on Network Virtualization Hypervisors for Software Defined Networking
Software defined networking (SDN) has emerged as a promising paradigm for making the control of communication networks flexible. SDN separates the data packet forwarding plane, i.e., the data plane, from the control plane and employs a central controller. Network virtualization allows the flexible sharing of physical networking resources by multiple users (tenants). Each tenant runs its own applications over its virtual network, i.e., its slice of the actual physical network. The virtualization of SDN networks promises to allow networks to leverage the combined benefits of SDN networking and network virtualization and has therefore attracted significant research attention in recent years. A critical component for virtualizing SDN networks is an SDN hypervisor that abstracts the underlying physical SDN network into multiple logically isolated virtual SDN networks (vSDNs), each with its own controller.
4.7
The Road to SDN: An Intellectual History of Programmable Networks
Software Defined Networking (SDN) is an exciting technology that enables innovation in how we design and manage networks. Although this technology seems to have appeared suddenly, SDN is part of a long history of efforts to make computer networks more programmable. In this paper, we trace the intellectual history of programmable networks, including active networks, early efforts to separate the control and data plane, and more recent work on OpenFlow and network operating systems. We highlight key concepts, as well as the technology pushes and application pulls that spurred each innovation. Along the way, we debunk common myths and misconceptions about the technologies and clarify the relationship between SDN and related technologies such as network virtualization.
4.8
[1] Recent advances in Software Defined Networking have paved the way for dataplane programmability, which results in network devices, including hardware, that may be reprogrammed in the field to parse custom protocols and excute custom functionality.
[2] The full potential of dataplane programmability, however, (1) remains untapped, and (2) efforts to exploit this feature are at risk of fragmentation among a proliferating collection of software and hardware devices that provide programmable dataplanes. To the first point, we believe virtualization opens up attractive possibilities, and to the second point, an ideal virtualization solution should be portable across many platforms.
[3] Of the many ways to pursue programmable data plane virtualization, our approach is highly dynamic, such that the features listed above may be employed and reconfigured without interrupting the operation of the network device.
4.9
P4, a language for Programming Protocol Independent Packet Processors, is a recent innovation providing an abstract model suitable for programming the network data plane.