Software-Defined Network Virtualization with FlowN
Network virtualization enables multiple control planes to run concurrently and each affect only its portion of the data plane state and configuration. With the standardization of the interface between the control plane and data plane, software defined networking is a natural fit with network virtualization as any software can run to interact with the data plane. A virtualization layer can then be created which modifies the view of the physical network and enables multiple control planes to run concurrently ? each targeting a different view of the dataplane. In contrast to previous virtualization solutions, which also attempt to abstract the network design, we propose
that for shared infrastructures, such as cloud computing, the abstraction should be decoupled from the virtualization support, to support different abstractions for different tenants. With this, we present the FlowN system, which implements full network virtualization, with which each virtual
network: (i) is independent and can control the entire flow address space, (ii) can control the entire path within the network, (iii) can be an arbitrary topology.
The FlowN architecture is designed to be scalable through two novel approaches in software defined networking (SDN): the use of existing database technology for mapping virtual to physical topologies, and a shared controller platform analogous to container-based virtualization. Our prototype extends the OpenFlow NOX controller and uses a MySQL database. We demonstrate the
latency efficiency of our container based approach by comparing it to FlowVisor and unvirtualized NOX.