服务质量 (QoS) 概述

 

适用对象:Windows Server 2012

QoS 是一组技术,可使你能够经济高效地管理网络流量并增强企业环境中、小型办公机构甚至是家庭网络环境中的用户体验。

本文档提供有关 Windows Server® 2012 中服务质量 (QoS) 的简介。

QoS 功能

QoS 技术使你可以通过测量网络带宽、检测不断变化的网络条件(如拥塞或带宽的可用性)和设置(或限制)网络流量的优先级来满足工作负载或应用程序的服务要求。 例如,你可以使用 QoS 优先考虑延迟敏感型应用程序(如语音或视频流)的流量,并控制非延迟敏感型流量(如批量数据传输)的影响。

QoS 提供下列功能:

  • 带宽管理

  • 分类和标记

  • 基于优先级的流控制

  • 基于策略的 QoS 和 Hyper-V QoS

以下各部分提供了有关这些功能的信息。

备注

QoS 包含在 Windows Server 2012 和 Windows® 8 的所有版本中,支持 Windows Server® 2008 R2 和 Windows® 7 中的 QoS 提供的所有 QoS API 和功能。 QoS 在 Windows® RT 中不可用。

带宽管理

在以前版本的 QoS 中,与 Windows Server 2012 中的 QoS 一样,最大带宽是为工作负荷设置绝对上限(限制速度)的一种功能。Windows Server 2012 引入了最小带宽。

最小带宽在发生网络拥塞时向工作负荷提供指定级别的服务,同时仍允许此工作负荷在没有网络拥塞的情况下具有较高带宽利用率。 当多个工作负荷通过一个网络适配器竞争对外部网络的访问时,会在计算机系统上发生网络拥塞。

由于任何网络适配器的容量都是有限的,因此当工作负荷的总和超过该容量时,每个工作负荷的网络吞吐量便具有不确定性。 借助最小带宽,可以定义竞争的应用程序共享带宽的方式。

例如,你可能会让存储、实时迁移和群集在运行 Hyper-V 服务器角色的计算机上共享一个 10 GB NIC。 如果你分别向存储、实时迁移和群集分配 50、30 和 20 的权重,则它们会在 NIC 拥塞时收到对应的带宽份额。

最小带宽和最大带宽都使你可以为每个工作负荷实施可预测的网络吞吐量。 从管理员的角度来看,它们之间的主要区别在于它们如何利用网络资源。

网络资源利用率

为工作负荷设置最大带宽时,工作负荷绝不可能超过上限,即使系统中没有其他工作负荷使用网络带宽。 为工作负荷设置最小带宽时,工作负荷可以使用尽可能多的带宽,直到发生网络拥塞。 使用上面的示例,当实时迁移未进行时,存储和群集工作负荷可以超过其预定义的网络带宽份额。

可以基于特定方案的要求,选择启用最小带宽、最大带宽或同时启用。 例如,为了防止托管的 VM 意外使用所有可用的 Internet 带宽,公共主机托管服务提供商可以对 VM 施加 QoS 最大带宽设置。 相反,若要在数据中心内运行 Hyper-V 服务器角色的任何计算机上最大程度提高带宽利用率,可以对服务器施加最小带宽设置。

服务器消息块直通(SMB 直通)和数据中心桥接 (DCB)。

最小带宽和最大带宽由 QoS 数据包计划程序实施。 它们十分适用于流过 Windows Server 网络堆栈的流量。

但有些网络流量会绕过网络堆栈。 最值得注意的示例是服务器消息块直通(SMB 直通),这是在远程直接内存访问 (RDMA) 基础上构建的 Windows Server 2012 功能。 SMB 直通将 SMB 流量直接卸载到支持 RDMA 的 NIC,以减少延迟以及花费在网络方面的 CPU 周期数。 由于 SMB 直通仍会与 NIC 硬件上的其他网络流量竞争带宽,因此如果不加以抑制,一个流量可能会影响甚至阻止其他流量。

若要解决此问题,可以使用数据中心桥接 (DCB)。 DCB 由某些 NIC 供应商在网络适配器中 实现。 DCB 的工作方式与最小带宽相似:每个类别的流量(无论是否进行卸载)都具有带宽分配;发生网络拥塞时,每个类别可获取其份额 - 否则,每个类别获取尽可能多的可用带宽。

分类和标记

管理工作负荷的带宽之前,必须对工作负荷进行分类或筛选,以便 QoS 数据包计划程序或支持 DCB 的 NIC 可对它进行操作。 Windows 具有复杂的流量分类功能。 分类可以基于 5 元组、用户类型或 URI。Windows Server 2012 简化了管理任务,以便你可以调用 Windows PowerShell 中的内置筛选器对一些最常见的工作负荷进行分类。 下表列出了这些内置筛选器。

工作负荷

Windows PowerShell 中的内置筛选器(参数)

筛选器实现

iSCSI

-iSCSI

与 TCP 或 UDP 端口 3260 匹配

NFS

-NFS

与 TCP 或 UDP 端口 2049 匹配

SMB

-SMB

与 TCP 或 UDP 端口 445 匹配

实时迁移

-LiveMigration

与 TCP 端口 6600 匹配

SMB 直通

-NetDirect<port>

匹配指定端口

通配符

-Default

不以其他方式分类的任何流量

备注

  • SMB 直通会将 SMB 流量卸载到 NIC。 在 QoS 策略中指定“-NetDirect <port>”时,Windows 会将该指令发送给支持 SMB 直通的任何 NIC;兼容 NIC 随后基于指定端口筛选出网络流量。

  • 通过通配符可以捕获不会筛选出或进行分类的任何流量。 例如,可以使用此通配符筛选器在运行 Hyper-V 服务器角色的计算机上为管理创建流量类别。

带宽管理不是可以在 QoS 策略中指定的唯一操作。 例如,可以对流量确定优先级并进行标记,以便跨数据中心从端到端实施 QoS。

以前版本的 Windows 支持网络数据包 IP 标头中的优先级标记。 这些优先级位称为区分服务代码点 (DSCP)。Windows Server 2012 添加了对 802.1p 标记的支持。 802.1p 是第 2 层以太网帧中的 3 位优先级值。 因此它适用于非 IP 数据包(如以太网的 RDMA)。

基于优先级的流控制

工作负荷(如 RDMA)需要无损传输。 如果 RDMA 直接在以太网基础上构建(称为聚合以太网的 RDMA (ROCE)),以太网传输必须无损。 在传统上,链路级别流控制(依赖于 802.3 暂停帧)是一种解决方案。 但链路级别流控制会导致线端阻塞等问题。

此问题通过基于优先级的流控制 (PFC) 来解决,这种控制是由电气和电子工程师协会 (IEEE) DCB 工作组定义的一个标准。Windows Server 2012 允许你启用 PFC(只要 NIC 支持它)。 在以太网链路两端同时为 ROCE 启用 PFC 时,只有为 ROCE 指定的虚拟链路(通过优先级值来表示)会变为无损,相同物理链路上的其他工作负荷不会遭受线端阻塞。

基于策略的 QoS 和 Hyper-V QoS

对于网络管理员,Windows Server® 2012 中的 QoS 旨在帮助管理物理网络和虚拟网络上的网络通信。 基于策略的 QoS 旨在管理物理网络上的通信。 QoS 中的一种新功能(称为 Hyper-V QoS)使你可以管理虚拟网络上的流量。

基于策略的 QoS

可以使用基于策略的 QoS 管理物理网络上的网络流量。 你可以根据应用程序的类型、用户和计算机,使用基于策略的 QoS 指定网络带宽控制。 可以使用基于策略的 QoS 管理通信,以帮助控制带宽成本、与带宽提供商或业务部门协商服务级别,及提供更好的最终用户体验。 由于基于策略的 QoS 构建在组策略之中,它是现有管理基础结构的一部分,因此是一个即将实施的经济有效的解决方案。

通过基于策略的 QoS 能够:

  • 为流量实施最小带宽(由 5 元组流量筛选器标识)。

    备注

    5 元组是在计算机网络中使用的一个术语,用于描述一组五个不同的值,它们构成传输控制协议/Internet 协议 (TCP/IP) 连接。

  • 通过 WMI 和 PowerShell 配置并查询或查看 QoS 策略,用于增强最小和最大带宽以及 802.1p 或标记在已筛选数据包上的差分服务代码点 (DSCP)。

    备注

    • DSCP 是计算机网络中 IPv4 或 IPv6 标题中的一个字段。

    • 802.1p 是美国电子电机工程师协会 (IEEE) 的一个规范,支持使用第二层交换机执行通信优先级和动态多播筛选。

  • 使用“组策略”编辑器将扩展服务质量 (eQoS) 策略配置为使用 802.1p 值对数据包进行标记。

  • 配置关于未加入域的计算机的本地 QoS 策略。

有关详细信息,请参阅 基于策略的服务质量 (QoS)

Hyper-V QoS

可以使用 Hyper-V QoS 管理虚拟网络上的网络流量。 在 Windows Server® 2012 中,QoS 包括新带宽管理功能,让云托管提供商和企业可提供向运行 Hyper-V 服务器角色的服务器上的虚拟机提供可预测网络性能的服务。 Hyper-V QoS 支持管理高允带宽和低允带宽限制(通常指最大带宽和最小带宽)。

在托管环境中,Hyper-V QoS 是你可根据你与客户达成一致的服务级别协议 (SLA) 保证特定性能级别。 Hyper-V QoS 帮助确保客户不会受其共享基础结构(可能包括计算、存储和网络资源)上的其他客户影响或危害。

此外,企业网络可能需要类似的功能。 通过在企业中使用 Hyper-V QoS,可以在运行 Hyper-V 的主机服务器上运行多台基于虚拟机的应用程序服务器,并可确信每台应用程序服务器都可提供可预测的性能。

Hyper-V QoS 能够:

  • 为流量流强制执行最小带宽和最大带宽,流量流由 Hyper-V 虚拟交换机端口号所标识。

  • 使用 PowerShell cmdlet 或 Windows Management Instrumentation (WMI) 来配置每个 Hyper-V 虚拟交换机端口的最小带宽和最大带宽。

  • 在 Hyper-V 中配置多个虚拟网络适配器,并在每个虚拟网络适配器上单独指定 QoS。

Windows Server 2012 Hyper-V QoS 还可以使用与数据中心桥接 (DCB) 兼容的硬件在单个网络适配器上聚合多种类型的网络流量,并向每种类型的流量提供受保证的服务级别。 使用 Windows PowerShell,可以手动配置这些新功能,或启用脚本自动化来管理一组服务器,无论它们是否加入域。