I. Introduction
In contrast to its initially well-structured design, the Internet has become a rather fragile patchwork by evolution due to many new requirements that nobody could have foreseen back when the Internet was designed [1]. As the slow migration process from IPv4 to IPv6 demonstrates, the effort required to change an existing network infrastructure or to even transition to a new one must not be underestimated. Network virtualization offers a possibility to smoothly test, debug, and roll out new network architectures in parallel [2]. This is enabled by some key concepts of network virtualization:
Abstraction: By abstracting from physical resources, network virtualization introduces a level of indirection. This indirection hides details of underlying actual physical resources and enables flexibility, e.g., transparent migration of virtual nodes. As another example, a virtual network (VNet) may appear homogeneous although composed from a variety of underlying network resources spanning multiple different infrastructure providers.
Isolation: In order to operate multiple VNets on top of common physical resources, different VNets need to be strictly isolated from each other. To enforce this isolation, on the one hand resources of a physical node have to be assigned to internal virtual nodes carefully and on the other hand, it is necessary to apply classical Quality-of-Service (QoS) mechanisms to substrate paths in order to support multiple concurrent virtual links over a single physical link. As today in server virtualization, the degree of isolation may depend on how much a customer is willing to pay. Some customers may content themselves with an assured minimum amount of a resource and only statistical guarantees beyond it whereas others need hard guarantees and are willing to pay for them.
Efficient use of physical resources: Infrastructure providers can now multiplex multiple isolated networks on top of their infrastructure. They may shift virtual nodes to different substrate nodes if required by the current resource situation and they may thereby also influence the load on their physical links. Furthermore, infrastructure providers may exploit the statistical multiplexing gain of virtual links that, e.g., only require a statistically guaranteed bandwidth.
Increased flexibility: It is easier to expand or shrink virtual networks than physical networks, if the actual underlying physical resources and the infrastructure providers' policy allow for this. New nodes can be integrated more easily and virtual node resources (e.g., memory) or virtual link resources (e.g., link bandwidth) can be configured to accommodate the current load easily. Completely different network architectures can run in parallel, thus VNets facilitate the roll-out of new network architectures [2].