虚拟机网络适配器
虚拟机 (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.30(Windows Server 2012)的可扩展交换机之间的接口。
启动 Hyper-V 虚拟机
当用户启动 Hyper-V VM 时,将执行以下步骤:
可扩展交换机的协议边缘沿着可扩展交换机驱动程序堆栈发出 OID_SWITCH_PORT_CREATE 的对象标识符 (OID) 设置请求。 此 OID 请求通知底层的可扩展交换机扩展模块,正在为 VM 创建端口。
可扩展交换机的协议边缘沿着可扩展交换机驱动程序堆栈发出 OID_SWITCH_NIC_CREATE 的 OID 设置请求。 此 OID 请求通知基础可扩展交换机扩展,正在为之前创建的 VM 端口创建 VM 网络适配器的网络连接。
当网络堆栈正常运行并已绑定到 VM 网络适配器时,可扩展交换机的协议边缘沿着可扩展交换机驱动程序堆栈发出 OID_SWITCH_NIC_CONNECT 的 OID 设置请求。 此 OID 请求通知基础可扩展交换机扩展模块,虚拟机网络适配器的网络连接已连接并正常运行。 此时,扩展可以检查、注入数据包并将其转发到连接到 VM 网络适配器的端口。
停止 Hyper-V VM
当用户停止 Hyper-V VM 时,将执行以下步骤:
可扩展交换机的协议边缘沿着可扩展交换机驱动程序堆栈发出 OID_SWITCH_NIC_DISCONNECT 的 OID 设置请求。 此 OID 请求通知基础可扩展交换机扩展,与 VM 网络适配器的连接正在断开。
在所有以网络连接为目标的数据包流量和 OID 请求完成后,可扩展交换机的协议边缘沿着可扩展交换机驱动程序堆栈发出 OID_SWITCH_NIC_DELETE 的 OID 设置请求。 此 OID 请求通知底层可扩展交换机扩展,与 VM 网络适配器的连接已被正常断开并删除。
可扩展交换机的协议边缘沿着可扩展交换机驱动程序堆栈发出 OID_SWITCH_PORT_TEARDOWN 的 OID 设置请求。 此 OID 请求通知基础可扩展交换机扩展,用于 VM 网络适配器连接的端口正在被拆毁。
可扩展交换机的协议边缘沿着可扩展交换机驱动程序堆栈发出 OID_SWITCH_PORT_DELETE 的 OID 设置请求。 此 OID 请求通知基础可扩展交换机扩展 VM 端口已拆除并删除。