abstraction, that is, the virtual layer is independent of the physical layer. If there is any change in the physical layer, the translation layer can hide the changes to the virtual layer. The user controller requires no modification and acts as if it was communicating directly with the physical switches. Since we will introduce SDN in more details in later sections, we keep the description here at a high level for now. 2.3.5 Host-Based Network Virtualization Another way to implement network virtualization is using a host- oriented approach. Given the wide deployment and success of server virtualization techniques, this approach relies on the virtual switch in the hypervisor to control the forwarding behavior SO as to provide an abstraction for virtual network. Among the work in this area, VMWare's NVP system [32] has been widely used in practice in a scalable manner. This approach is usually used in a multitenant data center, where a large set of physical hosts connected by a physical network under one administrative domain. Each host runs multiple VMs on the hypervisor, which has a virtual switch to handle the forwarding from and to these VMs. The notion of network hypervisor is then built using these distributed virtual switches. The network hypervisor provides an abstraction of control plane to the tenants. The tenants can use this control plane to define logical network elements such as logical switches and their forwarding rules. The sequence of logical elements forms a logical data plane. This logical data path is translated into rules and implemented in the software virtual switch. Figure 2.6 shows the architecture; there are essentially three segments in the network path: source hypervisor, tunneling, and destination hypervisor. There is a tunnel between any pair of hosts in the physical network; any typical tunneling protocol can be Ingress Logical Logical Logical End-to-end Egress point Hop 1 Hop 2 Hop n tunneling point Destination Source virtual switch Tunnel virtual switch Figure 2.6 Host-based SDN v