了解 CoS 输出队列调度程序
输出队列调度可定义输出队列的服务等级 (CoS) 属性。输出队列映射到转发类,分类器根据 IEEE 802.1p 或 DSCP 代码点将传入流量映射到转发类。输出队列属性包括分配给队列的接口带宽量、分配给存储数据包的内存缓冲区大小、队列的优先级以及与队列关联的加权随机早期检测 (WRED) 丢弃配置文件。队列调度与优先级组调度配合使用,以创建两层分层调度器。
分层调度程序将端口带宽分配给称为优先级组(转发类集)的一组队列(转发类),队列调度确定特定队列可以使用的优先级组带宽部分。因此,第一个调度层正在为转发类集分配端口带宽,第二个调度层正在将转发类集的带宽分配给转发类(队列)。
调度器图将队列调度器与转发类相关联。映射到转发类的队列接收分配给该转发类的调度资源。您可以将调度器图与流量控制配置文件相关联,然后将流量控制配置文件与转发类集(优先级组)和端口接口相关联,以便将调度应用于端口。队列调度与在流量控制配置文件中配置的优先级组调度配合使用,可为队列配置数据包调度程序和加权随机早期检测 (WRED) 数据包丢弃流程。
为队列或优先级组配置带宽时,交换机仅会将数据视为配置的带宽。交换机未考虑前导码和帧间间隙 (IFG) 消耗的带宽。因此,在计算和配置队列或优先级组的带宽要求时,请考虑前导码和 IFG 以及计算中的数据。
输出队列调度组件
表 1 提供了用于确定输出队列(转发类)带宽属性的调度器组件的快速参考, 表 2 提供了一些相关调度配置组件的快速参考。
输出队列调度器组件 |
描述 |
|---|---|
缓冲区大小 |
设置队列缓冲区的大小。 请参阅 了解 CoS 缓冲区配置。 |
丢弃配置文件映射 |
将丢弃配置文件映射到丢失优先级。丢弃配置文件映射组件包括:
请参阅 配置 CoS 丢包配置文件图。 |
显式拥塞通知 |
在队列上启用显式拥塞通知 (ECN)。 |
优先级 |
设置应用于队列的调度优先级。 请参阅 定义 CoS 队列调度优先级。 |
整形速率 |
设置队列可以消耗的最大带宽。 |
传输速率 |
设置队列的最小保证带宽。额外的带宽将按照每个队列的最小保证带宽的比例在队列之间共享。请参阅 了解 CoS 优先级组和队列保证的最小带宽。 |
其他调度组件 |
描述 |
|---|---|
转发类 |
将流量映射到输出队列。分类器将转发类映射到 IEEE 802.1p、DSCP 或 EXP 代码点。转发类、输出队列和代码点位将相互映射并识别相同的流量。(代码点位标识传入流量。分类器根据代码点位将流量分配给转发类。转发类映射到输出队列。此映射确定各类流量在交换机出口接口上使用的输出队列。) |
输出队列 |
在交换机将流量转发出出口接口之前缓冲流量。输出队列映射到转发类。通过将转发类映射到调度器图中的调度器,交换机将调度器中定义的 CoS 属性应用于输出队列。映射到转发类的队列具有在映射到该转发类的调度器中定义的 CoS 属性。 |
调度器图 |
将调度器映射到转发类(转发类映射到队列,因此转发类表示队列,映射到转发类的调度器确定映射到该转发类的输出队列的 CoS 属性)。 |
流量控制配置文件 |
为转发类集(优先级组)配置调度,并将调度器映射与转发类集相关联,以便将队列调度应用于转发类集中的转发类。额外的端口带宽将按照每个转发类集的最小保证带宽的比例在转发类集之间共享。 |
转发类集 |
优先级组的名称。您可以将转发类映射到转发类集。转发类集由一个或多个转发类组成。 |
默认调度程序
每个转发类都需要一个调度程序来设置转发类及其输出队列的 CoS 属性。您可以使用默认调度程序,也可以为关联的转发类定义新的调度程序。对于任何其他转发类,您必须显式配置调度器。有关详细信息,请参阅 默认计划。
传输速率(最小保证带宽)
传输速率决定每个转发类的最小保证带宽。交换机将最小带宽保证应用于映射到转发类的输出队列。传输速率还决定了每个低优先级队列可以共享多少多余(额外)带宽;每个队列按其传输速率的比例共享额外的带宽。您可以将速率(以位/秒为单位)指定为固定值(如 1 Mbps),或指定为总转发类集最小保证带宽(流量控制配置文件中设置的保证速率)的百分比。默认调度程序或您配置的调度程序会按照传输速率的比例将一部分传出接口带宽分配给每个转发类。
对于低于 1 Gbps 的传输速率,建议将传输速率配置为百分比,而非固定速率。这是因为系统将固定利率转换为百分比,并且可能会将较小的固定利率四舍五入到较低的百分比。例如,350 Mbps 的固定速率向下舍入为 3%。
您无法为严格高优先级队列配置传输速率。配置了传输速率的队列不能包含在具有严格高优先级队列的转发类集中(不能在同一转发类集中混合使用严格高优先级队列和非严格高优先级的队列)。
如果转发类集中的其他队列没有使用所有分配的带宽,则分配的带宽可能会超过配置的最小速率。在拥塞期间,配置的传输速率是队列的保证最小带宽。此行为使您能够确保每个队列接收到与其服务级别相适应的带宽量,并且还能够共享未使用的带宽。
除非同时为流量控制配置文件中设置的转发类配置最小保证带宽(保证速率),否则无法为转发类配置最小保证带宽(传输速率)。
此外,转发类集中队列的传输速率之和不应超过转发类集的保证速率。(您不能保证队列的组合最小带宽大于整组队列保证的最小带宽。
有关更多信息,请参阅 了解 CoS 优先级组和队列保证的最小带宽。
共享额外带宽
当转发类集未全部使用其最低保证带宽(保证速率)时,低优先级队列可以使用额外的带宽。额外带宽在设定的转发类中的转发类之间共享,比例与每个队列的最小保证带宽(传输速率)。
例如,在转发类集中,队列 A 的传输速率为 1 Gbps,队列 B 的传输速率为 1 Gbps,队列 C 的传输速率为 2 Gbps。在为这些队列的最低保证带宽提供服务后,转发类集有额外的 2 Gbps 可用带宽,并且所有三个队列仍有数据包要转发。队列按照其传输速率的比例接收额外的带宽,因此队列 A 接收额外的 500 Mbps,队列 B 接收额外的 500 Mbps,队列 C 接收额外的 1 Gbps。
整形速率(最大带宽)
整形速率可设置转发类可以消耗的最大带宽。您可以将速率(以位/秒为单位)指定为固定值,例如 3 Mbps,或指定为总转发类集最大带宽(流量控制配置文件中设置的整形速率)的百分比。
队列的最大带宽取决于队列所属的转发类集可用的总带宽,以及转发类集中其他队列消耗的带宽量。
建议始终在调度程序中为严格高优先级队列配置整形速率,以防止它们使其他队列耗尽。
有关更多信息,请参阅了解 CoS 优先级组整形和队列整形(最大带宽)。
调度优先级
调度优先级决定了接口从其输出队列传输流量的顺序。这可以确保包含重要流量的队列获得对传出接口带宽的优先访问。调度程序中的优先级设置决定了队列的优先级。
有关更多信息,请参阅 定义 CoS 队列调度优先级。
调度器丢弃配置文件映射
丢包配置文件图将丢包配置文件与队列调度程序和丢包优先级 (PLP) 相关联。丢弃配置文件根据队列填充级别和在指定队列填充级别丢包的百分比概率,设置在拥塞期间丢包的阈值。在不同的填充级别下,丢弃配置文件会设置在拥塞期间丢弃数据包的不同概率。
分类器将传入流量分配给转发类(映射到输出队列),并将 PLP 分配给传入流量。PLP 可以是低、中高或高。您可以将具有不同 PLP 的流量分类到同一转发类中,以区分转发类内流量的处理方式。
在丢弃配置文件映射中,您可以为每个 PLP 配置不同的丢弃配置文件,并将丢弃配置文件关联(映射)到队列调度程序。调度器图将队列调度器映射到转发类(输出队列)。分类到转发类的流量使用丢弃配置文件映射与队列调度器关联的丢包配置文件中定义的丢包特征。流量使用的丢弃配置文件取决于分类器分配给流量的 PLP。(您可以将不同的丢弃配置文件映射到不同 PLP 的转发类。)
总结一下:
当分类器将流量分配给转发类时,分类器会将三个 PLP(低、中-高、高)之一分配给传入流量。
丢弃配置文件会设置不同队列填充级别的数据包丢弃阈值。
丢弃配置文件映射将丢弃配置文件与每个 PLP 相关联,并将丢弃配置文件映射到调度程序。
调度器映射将调度器映射到转发类,转发类映射到输出队列。映射到转发类的调度器决定了映射到转发类的输出队列的 CoS 特征,包括丢弃配置文件映射。
缓冲区大小
大部分系统缓冲区空间总分为两个缓冲池,共享缓冲区和专用缓冲区。共享缓冲区是端口根据需要动态共享的全局池。专用缓冲区是缓冲池的保留部分,均匀分布到所有端口。每个端口都会收到相等分配的专用缓冲区空间。端口的专用缓冲区分配不可配置,因为它是为端口保留的。
队列缓冲区是从分配给端口的专用缓冲池中分配的。默认情况下,端口在出口队列之间分配专用缓冲区的比例与默认调度器为流量设置的最低保证传输速率 (transmit-rate) 的比例相同。只有默认调度程序中包含的队列才会接收专用缓冲区。
如果不使用默认配置,则可通过以下两种方式之一显式配置队列缓冲区大小:
百分比 — 当队列映射到调度程序且调度程序映射到端口时,队列接收指定百分比的专用端口缓冲区。
作为余数 — 在端口为具有显式缓冲区大小百分比配置的队列提供服务后,剩余的端口专用缓冲区空间将在调度器附加到的其他队列中平均分配。(没有默认或显式调度程序意味着队列没有专用的缓冲区分配。如果配置调度程序,但未将缓冲区大小指定为百分比,则 剩余部分 为默认设置。
端口上所有队列的所有显式配置的缓冲区大小百分比之和不能超过 100%。
如需全面了解入口和出口端口缓冲区配置中的队列缓冲区配置,请参阅 了解 CoS 缓冲区配置。
显式拥塞通知
显式拥塞通知 (ECN) 通知网络有关拥塞的信息,目的是通过使发送设备在不丢包之前降低传输速率来减少拥塞丢失和延迟。ECN 支持在基于 TCP/IP 的网络上的两个端点之间发出端到端拥塞通知。默认情况下,ECN 处于禁用状态。
有关更多信息,请参阅 CoS 显式拥塞通知 (ECN)。
调度器图
调度器图将转发类与调度器配置相关联。配置调度器后,您必须将其包含在调度器图中,将调度器图与流量控制配置文件相关联,然后将流量控制配置文件与接口和转发类集相关联,以便实施配置的队列调度。
您最多可以将四个用户定义的调度器图与流量控制配置文件相关联。有关详细信息,请参阅 默认调度器概述。