te(NAT)和数据包封装(GRE基本路由封装)。
A、包重写IP-Rewrite(NAT)这种方法是不推荐使用的,当数据包离开主机时,使用IP-Rewrite技术,将源和目标的CA IP地址重写成适当的PA地址,同样,当虚拟子网的数据包进入目的主机,PA被重写成适当的CA。IP-Rewrite技术要求每台虚拟机的CA对应一个唯一的PA,以便隔离从不同客户的虚拟机使用重叠的IP地。 IP重写是NAT技术,因此它需要一个单PA的IP为每个虚拟机的CA。这将要求一个大的PA池和一个同样大的查找表。并且需要网络基础设施去学习大量的IP和MAC地址,其结果是巨大的。
B、GRE基本路由封装 是主要IP虚拟化的机制,此网络虚拟化机制将基本路由封装 (NVGRE) 用作通道报头的一部分。虚拟机的数据包是通过使用CA的IP地址在另一个封装使用PA的IP地址,随着VSID和虚拟机的发送复制分组接口的MAC地址。这种地址虚拟化机制的模式是专为大多数部署 Hyper-V 网络虚拟化的数据中心而设计的。在 NVGRE中,虚拟机的数据包被封装在另一个数据包中。如图所示,新的数据包报头含有合适的源和目标 PA IP地址,另外还有存储在 GRE报头密钥字段中的虚拟子网 ID。

包含在 GRE报头中的虚拟子网 ID可让主机为任何指定的数据包确定客户虚拟机,尽管数据包上的 PA和 CA出现重叠。这可让同一台主机上的所有虚拟机分享一个 PA(如图 3 所示)。共享 PA对网络可扩展性产生很大的影响。网络基础设施必须知悉的 IP和 MAC地址数量得以大幅减少。例如,如果每台终端主机平均有 30台虚拟机,网络基础设施需要知悉的 IP和 MAC地址数量将减少到三十分之一,数据包中嵌入式虚拟子网 ID还能轻易地将数据包与实际客户联系起来。使用 Windows Server 2012,Hyper-V网络虚拟化完全支持即开即用的 NVGRE;不需要升级或购买新的网络硬件,如 NIC(网络适配器)、交换机或路由器。因为在线 NVGRE包是 PA空间中的常规 IP包,可与当前的网络基础结构相兼容。Windows Server 2012优先考虑运作标准。在与主要的产业合作伙伴(Arista、BroadcomArista、Dell、Emulex、Hewlett Packard 和 Intel)的共同努力下,Microsoft发行了一份介绍基本路由封装 (GRE) 使用情况的 RFC草案,它是现有的 IETF标准并且是网络虚拟化封装协议的一部分。
Hyper-V网络虚拟化的适用环境:
1、多租户部署,通过NVGRE虚拟化映射以及转化将虚拟网络构架从物理网络基础结构中脱离出来,这意味着通过 Hyper-V 网络虚拟化,可以进行跨子网虚拟机配置和动态迁移
2、Hyper-V网络虚拟化网关:大多数客户部署将需要 Hyper-V 网络虚拟化环境与不属于 Hyper-V网络虚拟化环境的资源进行交流。这就需要网络虚拟化网关来实现两种环境之间的交流。需要Hyper-V 网络虚拟化网关的方案包括私有云以及混合云。一般而言,VPN和路由都需要 Hyper-V网络虚拟化网关。网关可以有不同的实体构成元素。网关可基于 Windows Server 2012而建,可整合至顶架 (TOR)交换机、负载平衡器中,或放入到另一个现有的网络设备中,或构成一个新的独立网络设备。
3、私有云(路由):大型公司可能不愿意,或者出于合规原因不能将其一些服务和数据转移到一个公有云主机中。但是,公司仍然想要通过将数据中心资源整合到一个私有云中,来享受由 Hyper-V 网络虚拟化提供的云所带来的好处。在私有云部署中,可能不需要重叠的 IP地址,因为公司一般有足够的不可路由的内部地址(如 10.x.x.x或 192.x.x.x)空间。在这种情况下,Hyper-V网络虚拟化网关提供 公司网络 和 公有云之间的路由。
4、混合云(站到站 VPN):Hyper-V网络虚拟化的主要优点是,能将本地数据中心无缝地延伸到基于 Windows Server 2012的云数据中心。这就是混合云模式,在这种情况下,内部子网(如含有 web、ad、dns服务器的子网),将从公司网络转移到云主机的数据中心。利用由主机提供的“带上自己的 IP 地址”,公司无需改变 Web服务器虚拟机或者任何其他引用该 Web服务器的网络端点的网络配置。主机通过 Hyper-V网络虚拟化网关设备提供一个安全的链接。公司管理员只需配置带有合适 IP地址的本地 VPN。Web服务器虚拟机不会察觉其已经被移至云中。它仍然保持域与活动目录 (AD)相结合的状态,并且使用公司的 DNS服务器。 Web服务器虚拟机还继续与公司其他的服务器(如 SQL Server)进行交互。这三种服务(AD、DNS、SQL)仍然在本地。网络诊断工具(如计算网络跃点数目的路径跟踪程序),表明 Web 服务器虚拟机与 SQL之间的网络流量不再是在本地而是在整个 Internet上进行路由。Hyper-V网络虚拟化网关可支持多个站对站 (S2S) VPN隧道,注意SCVMM是 Hyper-V 网络虚拟化部署所必需的。
实验一:网络虚拟化之虚拟子网(Virtaul Subnet),单一主机
准备一台Windows Server 2012 R2的物理主机,并且安装Hyper-v角色。
在主机上创建四台虚拟机分别为Blue1,Blue2,Red1,Red2,并且网络都连接到外部的虚拟交换机vswitch上。注意它们的MAC是不一样.
设置Blue1的IP为10.10.10.10/24,Blue2的IP为10.10.10.20/24
设置Red1的IP为10.10.10.10/24,Red2的IP为10.10.10.20/24
每台虚拟机的防火墙先关闭,以免影响测试
查看虚拟环境网络设置,并测试虚拟机之间的联通性。因为每个客户的虚拟机都使用相同的IP地址范围,我们会得到Red与Blue租户的IP地址冲突,此时Red租户无法使用。
#查看各虚拟机的网络设置
Get-VMNetworkAdapter* |Format-table
VMName,SwitchName,VirtualSubnetID,MACAddress,IPAddresses,status–autosize
使用虚拟子网(Virtual Subnet)隔离多租户环境下的IP重叠问题,设置Blue1与Blue2在5010虚拟子网,Red1与Red2在5020虚拟子网
Get-VMNetworkAdapter Blue* | Set-VMNetworkAdapter-VirtualSubnetId 5010
Get-VMNetworkAdapter Red* | Set-VMNetworkAdapter-VirtualSubnetId 5020
Get-VMNetworkAdapter* |Format-table
VMName,SwitchName,VirtualSubnetID,MACAddress,IPAddresses,status–autosize
重新连接Red和Blue租户的虚拟机网络,使配置生效.此时IP冲突没有了
Disconnect-VMNetworkAdapter –VMName Red*,blue*
Connect-VMNetworkAdapter –VMName Red*,blue* –Sw