Windows Server 2012: Hyper-V Network Virtualization
Hyper-V Network Virtualization allow customers to keep their own internal IP addresses when moving to the cloud while providing isolation from other customers’ VMs – even if those VMs happen to use the exact same IP addresses.
The way it works is that each VM receive two IP addresses :
The first one, the IP address visible in the VM, is relevant in the context of a given tenant’s virtual subnet. Following the IEEE nomenclature we call this the Customer Address (CA).
The other IP address is relevant in the context of the physical network in the cloud datacenter. This is called the Provider Address (PA). This decoupling of tenant and datacenter IP addresses provides many benefits.
One of the benefits is that you can move your VMs to the cloud without modifying the VM’s network configuration and without worrying about what else (or who else) is sitting in that datacentre.
Another big reason is the policy enforcement in the end hosts that provides a scalable solution for multi-tenant isolation, instead of using Vlan’s, for isolation.
There are 2 different mechanisms to virtualize the IP address:
Generic Routing Encapsulation (GRE) : should be used for network virtualization, because it provides the most flexibility and performance. It will be used for most environments/deployments
IP Rewrite : may be appropriate to provide performance and compatibility in some current high-capacity datacenters.
A very good article was posted by Jeffrey about this topic