仅软件 (SO) 功能和技术
仅软件功能作为 OS 的一部分实现,独立于基础 NIC。 有时,这些功能需要对 NIC 进行一些优化,以实现最佳操作。 这些功能的示例包括 Hyper-V 功能,例如虚拟机服务质量 (vmQoS)、访问控制列表 (ACL),以及非 Hyper-V 功能(如 NIC 组合)。 若要了解详细信息,请参阅 Azure 本地的主机网络要求。
访问控制列表 (ACL)
用于管理 VM 安全性的 Hyper-V 和 SDNv1 功能。 此功能适用于非虚拟化 Hyper-V 堆栈和 HVNv1 堆栈。 可以通过 Add-VMNetworkAdapterAcl 和 Remove-VMNetworkAdapterAcl PowerShell cmdlet 管理 Hyper-V 交换机 ACL。
扩展 ACL
Hyper-V 虚拟交换机扩展 ACL 使你能够配置 Hyper-V 虚拟交换机扩展端口 ACL,为数据中心中的租户 VM 提供防火墙保护并强制实施安全策略。 由于端口 ACL 是在 Hyper-V 虚拟交换机上而非 VM 内部配置的,因此管理员可以管理多租户环境中所有租户的安全策略。
可以通过 Add-VMNetworkAdapterExtendedAcl 和 Remove-VMNetworkAdapterExtendedAcl PowerShell cmdlet 管理 Hyper-V 交换机扩展 ACL。
提示
此功能适用于 HNVv1 堆栈。 有关 SDN 堆栈中的 ACL,请参阅下面的软件定义的网络 (SDN) ACL。
有关此库中的扩展端口访问控制列表的详细信息,请参阅使用扩展端口访问控制列表创建安全策略。
NIC 组合
NIC 组合也称为 NIC 绑定,是将多个 NIC 端口聚合到被主机视为单个 NIC 端口的实体中。 NIC 组合可防止单个 NIC 端口(或连接到它的电缆)发生故障。 它还聚合网络流量,以获得更快的吞吐量。
Windows Server 2016 中提供了两种组合方法:
Windows Server 2012 组合解决方案
Windows Server 2016 交换机嵌入式组合 (SET)
vSwitch 中的 RSC
vSwitch 中的接收段合并 (RSC) 功能使用属于同一流并在网络中断之间到达的数据包,将它们合并为单个数据包,然后传送到操作系统。 Windows Server 2019 中的虚拟交换机具有此功能。 有关此功能的更多详细信息,请参阅 vSwitch 中的接收段合并。
软件定义的网络 (SDN) ACL
Windows Server 2016 中的 SDN 扩展改进了支持 ACL 的方法。 在 Windows Server 2016 SDN v2 堆栈中,使用 SDN ACL 而不是 ACL 和扩展 ACL。 可以使用网络控制器来管理 SDN ACL。
SDN 服务质量 (QoS)
Windows Server 2016 中的 SDN 扩展改进了以 5 元组为基础提供带宽控制(流出量预留、流出量限制和流入量限制)的方法。 通常,这些策略在 vNIC 或 vmNIC 级别应用,但你可以使它们更加具体。 在 Windows Server 2016 SDN v2 堆栈中,使用 SDN QoS 而不是 vmQoS。 可以使用网络控制器来管理 SDN QoS。
交换机嵌入式组合 (SET)
SET 是一种替代 NIC 组合解决方案,可用于包含 Windows Server 2016 的 Hyper-V 和软件定义的网络 (SDN) 堆栈的环境。 SET 将一些 NIC 组合功能集成到 Hyper-V 虚拟交换机中。 有关此库中的交换机嵌入式组合的信息,请参阅远程直接内存访问 (RDMA) 和交换机嵌入式组合 (SET)。
虚拟接收方缩放 (vRSS)
软件 vRSS 用于将发往 VM 的传入流量分散到 VM 的多个逻辑处理器 (RP)。 软件 vRSS 使 VM 能够处理的网络流量比单个 LP 能够处理的网络流量还要多。
虚拟机服务质量 (vmQoS)
虚拟机服务质量是一项 Hyper-V 功能,允许交换机为每个 VM 生成的流量设置限制。 它还使 VM 能够在外部网络连接上保留一定数量的带宽,以便一个 VM 不能耗尽另一个 VM 的带宽。 在 Windows Server 2016 SDN v2 堆栈中,SDN QoS 取代了 vmQoS。
vmQoS 可以设置流出量限制和流出量预留。 在创建 Hyper-V 交换机之前,必须确定流出量预留模式(相对权重或绝对带宽)。
使用 New-VMSwitch PowerShell cmdlet 的 –MinimumBandwidthMode 参数确定流出量预留模式。
使用 Set-VMNetworkAdapter powerShell cmdlet 上的 –MaximumBandwidth 参数设置流出量限制的值。
使用 Set-VMNetworkAdapter powerShell cmdlet 的任意以下参数设置流出量预留的值:
如果 New-VMSwitch cmdlet 上的 –MinimumBandwidthMode 参数为 Absolute,则在 Set VMNetworkAdapter cmdlet 上设置 –MinimumBandwidthAbsolute 参数。
如果 New-VMSwitch cmdlet 上的 –MinimumBandwidthMode 参数为 Weight,则在 Set VMNetworkAdapter cmdlet 上设置 –MinimumBandwidthWeight 参数。
由于此功能使用的算法存在限制,我们建议最高权重或绝对带宽不超过最低权重或绝对带宽的 20 倍。 如果需要更多控制,请考虑使用 SDN 堆栈和 SDN-QoS 功能。