虚拟机网络适配器

虚拟机 (VM) 网络适配器在 Hyper-V 子分区中运行的来宾操作系统中公开。

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

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

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

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

下图显示了 VM 网络适配器与可扩展交换机 NDIS 6.40 (Windows Server 2012 R2) 及更高版本之间的接口。

显示模拟 VM 网络适配器与 ndis 6.40 可扩展交换机之间的接口的流程图。

下图显示了 VM 网络适配器与 NDIS 6.30 (Windows Server 2012) 的可扩展交换机之间的接口。

显示模拟 VM 网络适配器与 ndis 6.30 可扩展交换机之间的接口的流程图。

当用户启动 Hyper-V VM 时,将执行以下步骤:

  1. 可扩展交换机的协议边缘 (OID 发出对象标识符,) OID_SWITCH_PORT_CREATE可扩展交换机驱动程序堆栈中的 OID_SWITCH_PORT_CREATE 集请求。 此 OID 请求通知基础可扩展交换机扩展正在为 VM 创建端口。

  2. 可扩展交换机的协议边缘在可扩展交换机驱动程序堆栈下发出 OID_SWITCH_NIC_CREATE 的 OID 集请求。 此 OID 请求通知基础可扩展交换机扩展,正在为以前创建的 VM 端口创建 VM 网络适配器的网络连接。

  3. 当网络堆栈正常运行并绑定到 VM 网络适配器时,可扩展交换机的协议边缘会发出 OID 集请求 ,OID_SWITCH_NIC_CONNECT 可扩展交换机驱动程序堆栈向下。 此 OID 请求通知基础可扩展交换机扩展 VM 网络适配器的网络连接已连接且可正常运行。 此时,扩展可以检查、注入数据包并将其转发到连接到 VM 网络适配器的端口。

当用户停止 Hyper-V VM 时,将执行以下步骤:

  1. 可扩展交换机的协议边缘在可扩展交换机驱动程序堆栈中发出 OID_SWITCH_NIC_DISCONNECT 的 OID 集请求。 此 OID 请求通知基础可扩展交换机扩展与 VM 网络适配器的连接正在断开。

  2. 完成面向网络连接的所有数据包流量和 OID 请求后,可扩展交换机的协议边缘会发出OID_SWITCH_NIC_DELETE可扩展交换机驱动程序 堆栈中的 OID 集请求。 此 OID 请求通知基础可扩展交换机扩展,已正常断开和删除与 VM 网络适配器的连接。

  3. 可扩展交换机的协议边缘在可扩展交换机驱动程序堆栈中发出 OID_SWITCH_PORT_TEARDOWN 的 OID 集请求。 此 OID 请求通知底层可扩展交换机扩展,用于 VM 网络适配器连接的端口正在被拆毁。

  4. 可扩展交换机的协议边缘在可扩展交换机驱动程序堆栈中发出 OID_SWITCH_PORT_DELETE 的 OID 集请求。 此 OID 请求通知基础可扩展交换机扩展 VM 端口已被拆毁和删除。