适用对象:Windows Server 2012 R2
图 1 显示了此关系。
图 1:服务器虚拟化与网络虚拟化对比
每个客户可以在该数据中心有一个或多个 VM 网络,而每个 VM 网络由一个或多个虚拟子网组成。
VM 网络
-
因此,同一个 VM 网络中的虚拟子网不得使用重叠的 IP 地址前缀。
-
RDID 是一个 Windows GUID - 例如“{11111111-2222-3333-4444-000000000000}”。
虚拟子网
-
同一虚拟子网中的虚拟机必须使用相同的 IP 前缀。
-
VSID 在数据中心内部必须是唯一的,可在 4096 到 2^24-2 的范围内。
注意:一个数据中心内的 RDID 和 VSID 都是唯一的。
图 2:客户网络和虚拟子网
因此,带有 RDID1 的虚拟网络适配器不能将数据包发送到带有 RDID2 的虚拟网络适配器。
|
|
|---|
|
由于一台虚拟机可以有多台虚拟网络适配器,这些虚拟网络适配器可以有不同的虚拟子网 ID (VSID) 或路由域 ID (RDID),HNV 专门侧重虚拟网络适配器之间发送和接收的数据包。 |
VSID 的所有广播流量均通过此多播地址进行发送。
|
|
|---|
|
此外,不管主机上存在多少个相关虚拟机,都只为每个主机发送一个单播数据包。 |
正因为如此,在上述图 2 的示例中,该数据包从 VSID5001 向 VSID5003 虚拟机传送时,在送达目标虚拟机之前,必须更改数据包的 VSID。
从虚拟网络适配器发出的数据包如果没有 VSID ACL,就会通过 Hyper-V 交换机而不会发生更改。
在接收端,HNV 执行策略寻找,并在数据包送达 Hyper-V 交换机之前,将 VSID 添加到 OOB 数据中。
|
|
|---|
|
例如,防火墙交换机扩展可将带有 VSID 为 5001的 OOB 的 CA IP 地址 10.1.1.5 和 VSID 为 6001 的相同 CA IP 地址区分开来。 |
需要了解两个重要的方面:如何在虚拟子网之间路由数据包,以及如何在虚拟网络外部路由数据包。
一般而言,VPN 和路由都需要 HNV 网关。
网关可基于 Windows Server 2012 R2 而构建,可整合至顶架 (TOR) 交换机、负载平衡器中,或放入其他现有的网络设备中,或构成一个新的独立网络设备。
|
|
|---|
|
网关简单演示脚本。 |
在 HNV 中的每个虚拟网络适配器都与两个 IP 地址相关:
-
CA 对虚拟机是可见的,并且可由客户访问。
-
PA 在物理网络上是可见的,但在虚拟机上不可见。
下图展示了因网络虚拟化而在虚拟机 CA 与网络基础设施 PA 之间所建立的概念关系。
图 6:物理基础结构的网络虚拟化概念图
关键在于主机如何确定与 Contoso 和 Fabrikam CA 相对应的“发货地址”(PA 地址)、“封套”如何套在数据包上、目标主机如何打开数据包并将数据包正确发送到 Contoso 和 Fabrikam 目标虚拟机上。
这一简单的类比突显出网络虚拟化的重要方面:
-
同一个 PA 可能有多个关联的 CA。
-
根据映射,将虚拟机在 CA 空间中发送的数据包放置在一个含有 PA 源和目标对的“封套”中。
-
CA-PA 映射必须允许主机为不同的客户虚拟机区分数据包。
下一部分将描述地址虚拟化的实际机制。
HNV 支持基本路由封装实现网络虚拟化 (NVGRE) 作为一种机制来虚拟化 IP 地址:
如图 7 所示,新的数据包报头含有合适的源和目标 PA IP 地址,另外还有存储在 GRE 报头密钥字段中的虚拟子网 ID。
图 7:网络虚拟化 - NVGRE 封装
这可让同一台主机上的所有虚拟机分享一个 PA(如图 7 所示)。
例如,如果每台终端主机平均有 30 台虚拟机,网络基础设施需要知悉的 IP 和 MAC 地址数量将减少到三十分之一,数据包中嵌入式虚拟子网 ID 还能轻易地将数据包与实际客户联系起来。
这是因为,在线 NVGRE 包是 PA 空间中的常规 IP 包,可与当前的网络基础结构相兼容。
随着人们意识到 NVGRE 能运用到商业中,NVGRE 将带来更多益处。
下图展示了一个两名客户在云数据中心交互的部署案例,其中 CA-PA 关系由 HNV 策略所定义。
图8:多租户部署案例
在转到托管提供商的共享 IaaS 服务之前:
-
Web)IP 地址为 10.1.1.12,并用其 SQL Server 处理数据库事务。
-
Web),IP 地址为 10.1.1.12,并用其 SQL Server 处理数据库事务。
所有虚拟机都保持其原有的内部网 IP 地址(其 CA)。
配置虚拟机时,托管提供商为两家公司都指定了以下虚拟子网 ID (VSID) 以及 PA:
-
WEB 为 192.168.2.20
-
WEB 为 192.168.2.20
提供商将这些策略设置应用于 Hyper-V 主机 1 和 Hyper-V 主机 2。
当 Hyper-V 主机 2 上的 Contoso 公司 Web 虚拟机查询位于 10.1.1.11 的 SQL Server 时,会发生以下情况:
Hyper-V 主机 2,基于其策略设置,转化以下位置数据包中的地址:
-
Web 的 CA)
-
SQL 的 CA)
封装的数据包含有:
-
GRE 报头中的 VSID 为:5001
-
外部源:192.168.2.20(Contoso 公司 Web 的 PA)
-
外部目标:192.168.1.10(Contoso 公司 SQL 的 PA)
当在 Hyper-V 主机 1 上接收数据包时,基于其策略设置,它会解封以下 NVGRE 数据包:
-
Web 的 PA)
-
SQL 的 PA)
-
GRE 报头中的 VSID 为:5001
SQL 虚拟机:
-
Web 的 CA)
-
SQL 的 CA)
SQL 虚拟机响应查询时,会发生以下情况:
Hyper-V 主机 1,基于其策略设置,转化以下位置数据包中的地址:
-
SQL 的 CA)
-
Web 的 CA)
数据包封装地址:
-
GRE 报头中的 VSID 为:5001
-
外部源:192.168.1.10(Contoso 公司 SQL 的 PA)
-
外部目标:192.168.2.20(Contoso 公司 Web 的 PA)
当在 Hyper-V 主机 2 处收到数据包时,它将基于策略设置,解封以下数据包:
-
SQL 的 PA)
-
Web 的 PA)
-
GRE 报头中的 VSID 为:5001
Web 虚拟机:
-
SQL 的 CA)
-
Web 的 CA)
尽管两家公司虚拟机使用的是相同的 IP 地址,也不会互相影响。
这意味着通过 HNV,可以进行跨子网虚拟机配置和实时迁移。
|
|
|---|
|
Hyper-V 网络虚拟化数据包流,PowerPoint 演示地址:http://www.microsoft.com/en-us/download/details.aspx?id=34782。 |
这种体系结构的负面影响之一是,交换机扩展可能只能看到 CA 地址空间流量,而看不到 PA 空间的流量。
在 Windows Server 2012 R2 中,HNV 现已成为虚拟交换机的一部分,它使扩展能够同时洞察 CA 和 PA 空间地址。
图 9:HNV 体系结构
基于网络虚拟化策略,HNV 将 CA 虚拟化成 PA。
基于 VSID 的特殊网络虚拟化访问控制列表能将虚拟机从其他不属于同一虚拟子网或同一路由域的虚拟机独立出来。
由于 Virtual Machine Manager 必须能感知虚拟机,最重要的是,它能在数据中心配置虚拟机以及整个客户虚拟网络,并且必须能感知多租户,因此,管理 HNV 策略是基于策略网络的自然延伸。
若要了解有关 HNV 的详细信息,请访问以下链接:
|
内容类型 |
参考 |
|---|---|
|
产品评估 |
|
|
体系结构 |
|
|
解决方案指南 |
|
|
社区资源 |
|
|
修补程序 |
适用于 Windows Server 2012 和 Windows Server 2012 R2 Hyper-V 网络虚拟化 (HNV) 环境的建议修补程序、更新和已知解决方案 |
|
示例脚本 |
|
|
RFC |
|
|
相关技术 |