We have heard a lot about server virtualization. Server virtualization is the ability to run multiple virtual servers on top of a single physical server. The physical server is called the host and runs a hypervisor like Hyper-V, VMware, or others to enable multiple virtual servers to run on top of it. Network virtualization is a similar concept – just replace servers with networks in the above context. So when multiple virtual networks can run on top of a single physical network , the network is virtualized. So why does this matter?

Today, a VLAN is used to isolate the network for a given set of systems from the rest of the network traffic. VLANs are typically also used in cloud operations to isolate the servers belonging to one customer from those belonging to other customers. But VLANs have limitations where a single VLAN cannot span multiple IP subnets and there is a high overhead associated with management of VLANs. The current VLAN architecture also poses another problem when one decides to move an existing on-premise server to the cloud. This is because the IP addresses that were assigned to the server on-premise have no context in the cloud environment.  The IP addresses are typically tied to network policies, security configurations and the like and moving that server to a virtualized cloud server can pose significant rework of the network configuration. Unless the cloud is running Hyper-V 2012!

With Hyper-V 2012, the network virtualization feature allows the customer to keep the original IP address configuration even when the server is virtualized into the cloud. So for example if the server was running locally as, it will continue to have the same IP address when moved to the cloud, even if the cloud infrastructure is configured for a 10.10.10. network. Hyper-V achieves this by assigning multiple IP addresses to the virtual machines, one is a Customer Address and the other is a Provider Address. This association of IP addresses allows traffic to flow between the on-premise location to the virtualized cloud server using the original IP addresses. The other servers that are on-premise still communicate with the cloud server with the original IP address and are unaware of the Provider Address as this is only exposed to the host hosting the virtual machine.  Network virtualization is accomplished by virtualizing the IP addresses and having an association with the physical address. Hyper-V modifies the VM network packets to include this association, thereby allowing multiple virtual networks to run on one physical network. You can read more about network virtualization here.

The same concept of network virtualization has also been extended to the Azure cloud depicted as follows:


Source: MSDN

Network virtualization opens the gates for monitored adoption of the cloud. It allows companies to move assets into the cloud, be it private or public, without any disruption to the business.

Please comment back with any questions you may have.