虚拟化网络的概念和术语

以下列表提供了虚拟化网络部分中使用的关键概念和术语的定义。 建议先熟悉这些术语,然后再阅读本节中的其他主题:

子分区
在 Hyper-V 中,子分区是基于软件的虚拟机, (VM) 具有对主计算机物理资源的无特权访问权限。

每个子分区都是通过父分区创建的。 可以在主计算机上的 Hyper-V 下运行一个或多个子分区。 每个子分区托管一个来宾操作系统。

一般情况下,子分区不能直接访问物理硬件资源,并且会以虚拟设备的形式呈现资源的虚拟视图。 通过 VM 总线 (VMBus) 或虚拟机监控程序将虚拟设备的请求重定向到处理这些请求的父分区。 此外,子分区无法创建其他分区。

注意从Windows Server 2012开始,子分区可以直接访问支持单根 I/O 虚拟化 (SR-IOV) 的物理网络适配器的资源。

模拟网络适配器
Hyper-V 可扩展交换机以太网适配器,在 Hyper-V 子分区中运行的来宾操作系统中公开。 模拟网络适配器是一种 VM 网络适配器。 仿真网络适配器模拟 Intel 网络适配器,并使用硬件仿真将数据包转发到可扩展交换机端口和从可扩展交换机端口转发数据包。

此适配器在 Windows XP、Windows Vista 或更高版本的 Windows 来宾操作系统中公开。 此适配器还会在非 Windows 操作系统的来宾操作系统中公开。

外部可扩展交换机

虚拟以太网交换机,用于在 Hyper-V 父分区、一个或多个 Hyper-V 子分区和主机的物理网络接口之间路由数据包。 这种类型的交换机允许在所有 Hyper-V 分区和主机上的物理网络接口之间发送或接收数据包。

此外,在管理操作系统中运行的应用程序和驱动程序可以通过这种类型的交换机发送或接收数据包。

外部网络适配器
在 Hyper-V 父分区中运行的管理操作系统中公开的 Hyper-V 可扩展交换机以太网适配器。 外部网络适配器绑定到主机上的一个或多个物理网络适配器。

外部网络适配器在 Hyper-V 分区和主机上的物理网络接口之间路由数据包。

注意 可扩展交换机的每个实例支持不超过一个外部网络适配器。

可扩展交换机团队
这是一种配置,其中可扩展交换机外部网络适配器绑定到 NDIS 多路复用器 (MUX) 中间驱动程序的虚拟微型端口边缘。 MUX 中间驱动程序绑定到主机上一个或多个物理网络的团队。

在此配置中,可扩展交换机扩展将公开给团队中的每个网络适配器。 这允许可扩展交换机驱动程序堆栈中的转发扩展管理团队中各个网络适配器的配置和使用。 例如,该扩展可以通过将传出数据包转发到单个适配器,支持通过团队 (LBFO) 解决方案进行负载均衡故障转移。 此类扩展称为 组合提供程序

有关详细信息,请参阅 NDIS MUX 中间驱动程序

来宾操作系统
在 Hyper-V 子分区中运行的操作系统。 每个子分区只能托管一个操作系统。 但是,许多不同的操作系统可以托管在子分区中。 这包括不同版本的 Windows 和 Linux。

虚拟机监控程序
在 Hyper-V 中,虚拟机监控程序是在物理硬件与 Hyper-V 分区中运行的一个或多个操作系统之间运行的软件层。

虚拟机监控程序main目的是提供称为分区的隔离执行环境。 虚拟机监控程序为每个分区提供一组硬件资源,例如内存、设备和 CPU 周期。 虚拟机监控程序控制并仲裁从每个分区到基础硬件的访问。

Hyper-V 可扩展交换机
在管理操作系统中运行的虚拟以太网交换机。 可扩展交换机的每个实例在连接到 Hyper-V 可扩展交换机网络适配器的端口之间路由数据包。

有关详细信息,请参阅 Hyper-V 可扩展交换机

注意 NDIS 6.30 及更高版本的 NDIS 支持 Hyper-V 可扩展交换机。

Hyper-V 可扩展交换机扩展
Hyper-V 可扩展交换机扩展是附加到可扩展交换机驱动程序堆栈的 NDIS 筛选器驱动程序。 附加后,扩展可以捕获、筛选或转发网络数据包和 NDIS OID。 数据包和 OID 可以转发到连接到可扩展交换机端口的网络适配器。

NDIS 6.30 及更高版本的 NDIS 支持 Hyper-V 可扩展交换机扩展。

注意 Windows 筛选平台 (WFP) 提供内置可扩展开关筛选扩展 (Wfplwfs.sys ) 。 此扩展允许 WFP 筛选器或标注驱动程序沿 Hyper-V 可扩展交换机数据路径截获数据包。 这允许筛选器或标注驱动程序使用 WFP 管理和系统功能执行数据包检查或修改。 有关 WFP 的概述,请参阅 Windows 筛选平台

Hyper-V 可扩展交换机网络适配器
由 Hyper-V 可扩展交换机管理的网络适配器。 这些网络适配器连接到可扩展交换机上的端口,由以下适配器类型组成:

  • 在 Hyper-V 父分区中运行的管理操作系统中公开的外部和内部网络适配器。

  • 在 Hyper-V 子分区中运行的来宾操作系统中公开的合成或模拟 VM 网络适配器。

内部可扩展交换机
虚拟以太网交换机,在 Hyper-V 父分区和一个或多个 Hyper-V 子分区之间路由数据包。 这种类型的交换机从主机上的物理网络接口中排除数据包流量。

此外,在管理操作系统中运行的应用程序和驱动程序可以通过这种类型的交换机发送或接收数据包。

内部网络适配器
在 Hyper-V 父分区中运行的管理操作系统中公开的 Hyper-V 可扩展交换机以太网适配器。 内部网络适配器在所有 Hyper-V 分区之间发送或接收数据包。 但是,内部网络适配器未绑定到主机的物理网络接口。

I/O 内存管理单元 (IOMMU)
IOMMU 用于将物理内存地址重新映射到子分区所使用的地址。 IOMMU 独立于处理器使用的内存管理硬件运行。

LBFO) 团队 (负载平衡故障转移
这是一种配置,其中可扩展交换机外部网络适配器绑定到 LBFO 提供程序的虚拟微型端口边缘。 LBFO 提供程序本身可以绑定到包含一个或多个物理网络适配器的团队。

在此配置中,可扩展交换机扩展仅作为网络适配器公开给基础虚拟微型端口边缘。 这允许提供程序通过绑定到多个物理网络适配器来支持 LBFO 解决方案。 这些适配器不由在可扩展交换机驱动程序堆栈中运行的转发扩展进行管理。

管理操作系统
在 Hyper-V 父分区中运行的操作系统。 父分区运行在主计算机上运行的操作系统。 对于 Hyper-V,主计算机必须运行 x64 版本的 Windows Server 2008 或更高版本的 Windows Server。

网络虚拟网络客户端 (NetVSC) 驱动程序
在 Hyper-V 子分区的来宾操作系统中运行的 NDIS 驱动程序。 NetVSC 公开称为 VM 网络适配器的虚拟化 网络适配器

NetVSC 访问 Hyper-V 可扩展交换机,以通过交换机管理的网络接口转发数据包。 NetVSC 通过 VMBus 将消息传递给关联的 NetVSP 驱动程序来执行此操作。 此驱动程序在 Hyper-V 父分区的管理操作系统中运行。

在大多数情况下,NetVSC 通过连接到 Hyper-V 可扩展交换机上的端口来发送和接收数据包。 但是,NetVSC 可以配置为连接到支持 SR-IOV 接口的物理网络适配器的虚拟函数 (VF) 。 在这种情况下,NetVSC 直接通过基础物理适配器发送和接收数据包。

网络虚拟网络生成者 (NetVSP) 驱动程序
在 Hyper-V 父分区的管理操作系统中运行的 NDIS 驱动程序。 此驱动程序提供的服务支持 Hyper-V 子分区的网络访问。

NIC 开关
NIC 交换机是网络适配器的硬件组件,支持单根 I/O 虚拟化 (SR-IOV) 。 此交换机在适配器的物理网络接口与物理功能 (PF) 以及适配器上的一个或多个 VF 之间桥接网络流量。

分区
分区由虚拟机监控程序管理。 每个分区表示隔离的处理器和内存资源的逻辑单元。 这允许多个独立操作系统共享单个硬件平台。

虚拟机监控程序还管理主计算机上的内存和设备访问策略。 这些策略对于父分区和子分区是不同的。

父分区
在 Hyper-V 中,父分区是主计算机上的第一个分区。 此分区具有对主计算机物理资源的特权访问权限,例如对内存和设备的访问权限。 此外,父分区负责启动虚拟机监控程序和创建子分区。

只有一个父分区在主计算机上的 Hyper-V 下运行。 父分区托管管理操作系统。

注意 父分区也称为 分区。

物理函数 (PF)
PCI Express (PCIe) 函数,支持单根 I/O 虚拟化 (SR-IOV) 接口。 SR-IOV 扩展了 PCIe 接口,使多个 VM 能够共享相同的 PCIe 物理硬件资源。 PF 在其 PCI 配置空间中包含 PCIe SR-IOV 扩展功能结构。

PF/VF 反向通道
PCIe 虚拟函数 (VF) 的微型端口驱动程序与 PCIe 物理功能 (PF) 之间的专用通信接口。 每个 VF 微型端口驱动程序都可以通过反向通道向 PF 微型端口驱动程序发出请求。 PF 微型端口驱动程序可以通过反向通道向单个 VF 微型端口驱动程序发出状态通知。

在 PF 和 VF 微型端口驱动程序之间通过反向通道接口交换的数据涉及使用 VF 配置块。 每个 VF 配置块在概念上都类似于进程间通信 (IPC) 消息,其中每个块都有专有的格式、长度和块标识符。 独立硬件供应商 (IHV) 可以为 PF 和 VF 微型端口驱动程序定义一个或多个 VF 配置块。

专用可扩展交换机
虚拟以太网交换机,用于在一个或多个 Hyper-V 子分区之间路由数据包。 这种类型的交换机从 Hyper-V 父分区和主机上的物理网络接口中排除数据包流量。

注意 在管理操作系统中运行的应用程序和驱动程序无法通过这种类型的交换机发送或接收数据包。

单根 I/O 虚拟化 (SR-IOV)
SR-IOV 是一种方法,通过该方法可将 PCIe 网络适配器分区成一个物理函数 (PF) 和一个或多个虚拟函数 (VF) 。 为适配器上的每个函数分配一个唯一的 PCIe 请求者 ID。 这使适配器能够应用内存和中断转换,以便将不同的网络流量流直接传送到相应的 PF 或 VF。 通过避免通过 Hyper-V 可扩展交换机组件路由网络流量,SR-IOV 减少了虚拟化网络环境中的 I/O 开销。

有关详细信息,请参阅 单根 I/O 虚拟化 (SR-IOV)

注意 NDIS 6.30 及更高版本的 NDIS 支持 SR-IOV。

综合数据路径
来宾操作系统中公开的 VM 网络适配器和管理操作系统中的 Hyper-V 可扩展交换机组件之间的网络数据路径。

合成网络适配器
Hyper-V 可扩展交换机以太网适配器,在 Hyper-V 子分区中运行的来宾操作系统中公开。 合成网络适配器是一种 VM 网络适配器。 在 VM 中运行的 NetVSC) (网络虚拟网络服务客户端公开此综合网络适配器。 NetVSC 通过 VM 总线向可扩展交换机端口转发数据包, (VMBus) 转发到关联的 NetVSP 驱动程序。

此网络适配器在 Windows Vista 或更高版本的 Windows 来宾操作系统中公开。

虚拟函数 (VF)
与支持 SR-IOV 的网络适配器上的 PF 关联的 PCIe 函数。 VF 与 PF 和与同一 PF 关联的其他 VF 共享适配器上的一个或多个物理资源,例如物理以太网端口。

VF 数据路径
来宾操作系统中公开的 VM 网络适配器与 SR-IOV 网络适配器上的 VF 之间的网络数据路径。 在此数据路径中,VM 网络适配器与来宾操作系统中的 VF 网络适配器组合在一起。 VF 微型端口驱动程序将数据包转发到 VM 网络适配器或从 VM 网络适配器转发到 VF。 然后,SR-IOV 网络适配器上的 NIC 交换机将数据包转发到 VF 或从 VF 转发到适配器上的物理网络接口。

VF 网络适配器
在 VF 的来宾操作系统中公开的虚拟网络适配器。 为 VF 分配资源并附加到子分区时,该分区的来宾操作系统中的 VPCI 总线驱动程序会公开 VF 网络适配器。 VPCI 总线驱动程序还会为此适配器加载 VF 微型端口驱动程序。

虚拟机 (VM)
在软件中实现并托管在物理主计算机中的虚拟来宾计算机。 虚拟机在独立的独立软件环境中模拟完整的硬件系统,从处理器到网络适配器。 这将启用其他不兼容操作系统的并发操作。

每个来宾操作系统在其自己的独立软件虚拟机中运行。

注意 在 Hyper-V 中,子分区也称为 VM。

虚拟机总线 (VMBus)
在 Hyper-V 父分区和子分区之间传递控制和数据消息的虚拟通信总线。 通过虚拟服务客户端 (VSC) 和虚拟服务提供商 (VSP) 组件之间的 VMBus,子分区访问主计算机上的物理资源。

虚拟机 (VM) 网络适配器
Hyper-V 可扩展交换机虚拟网络适配器,在 Hyper-V 子分区的来宾操作系统中公开。

VM 网络适配器支持以下虚拟化类型:

  • VM 网络适配器可以是网络适配器的合成虚拟化, (综合网络适配器) 。 在这种情况下,在 VM 中运行的网络虚拟网络服务客户端 (NetVSC) 公开此虚拟网络适配器。 NetVSC 通过 VM 总线 (VMBus) 向/从可扩展交换机端口转发数据包。

  • VM 网络适配器可以是物理网络适配器的模拟虚拟化, (模拟网络适配器) 。 在这种情况下,VM 网络适配器模拟 Intel 网络适配器,并使用硬件仿真将数据包转发到可扩展交换机端口和从可扩展交换机端口转发数据包。

可以将 VM 网络适配器配置为访问 Hyper-V 外部、内部或专用网络接口。

虚拟机队列 (VMQ)
支持 VMQ 的网络适配器使用 DMA 将所有传入帧直接传输到 VM 内存。 VMQ 还通过将多个 VM 的网络流量处理分布到多个处理器中来提高网络吞吐量。

有关详细信息,请参阅 虚拟机队列 (VMQ)

注意 NDIS 6.20 及更高版本的 NDIS 支持 VMQ。

虚拟 PCI (VPCI) 驱动程序
在 Hyper-V 子分区的来宾操作系统中运行的 PCI 总线驱动程序。 此驱动程序将 VF 公开为来宾操作系统中的虚拟网络适配器。

VPCI 驱动程序是 Hyper-V VSC,与 Hyper-V 父分区的管理操作系统中运行的 VPCI VSP 通信。 VPCI VSP 和 VSC 组件之间的通信通过 VMBUS 进行。

有关 VPCI 接口的详细信息,请参阅 GUID_PCI_VIRTUALIZATION_INTERFACE

虚拟化堆栈
管理 Hyper-V 下子分区的创建和执行的软件组件的集合。 虚拟化堆栈管理子分区对主计算机上的硬件资源的访问。 虚拟化堆栈在 Hyper-V 父分区中运行。