目录

简介

开始使用前

规则

先决条件

使用的组件

队列

严格优先级排队/低延迟排队

共享链路带宽

流量整形

转接 队列 调度

相关信息

简介

带Supervisor III(WS-X4014)或Supervisor IV(WS-X4515)的Catalyst 4000支持高级服务质量(QoS)功能，包括分类、策略、标记、队列和调度。本文档介绍排队和调度功能，包括流量整形、共享和严格优先级/低延迟队列。队列确定数据包如何在出口接口的各种队列中排队，而调度确定如何（在拥塞时）优先于低优先级流量的高优先级流量。

开始使用前

规则

有关文档规则的详细信息，请参阅 Cisco 技术提示规则。

先决条件

本文档的读者应具备以下方面的知识：

- 帧的第2层(L2)优先级取决于服务类别(CoS)值，该值在交换机间链路(ISL)报头（4位用户字段中的三个最低有效位）和802.1Q报头（2字节标记控制信息字段中的三个最高有效位）中可用。

- 数据包的第3层(L3)优先级取决于差分服务代码点(DSCP)值，该值在IP报头中的服务类型(ToS)字节（6个最高有效位）或ToS字节中的IP优先级值（3个最高有效位）中可用。

- 有关其他配置帮助，请参阅软件配置指南。

使用的组件

本文档中的信息基于Supervisor III(WS-X4014)上的以下软件版本：

- 思科IOS®软件版本12.1(8)EW

注意：Cisco IOS软件版本12.1(12c)EW首先支持Supervisor IV。本文档中描述的功能也适用于Supervisor IV，除非另有明确区分。

本文档中的信息都是基于特定实验室环境中的设备创建的。本文档中使用的所有设备最初均采用原始（默认）配置。如果您是在真实网络上操作，请确保您在使用任何命令前已经了解其潜在影响。

队列

Catalyst 4000 Supervisor III和IV使用共享内存交换架构，能够为现有线卡提供排队和调度功能。由于Supervisor提供无阻塞交换架构，因此不存在输入队列。数据包通过背板转发到输出端口或出口端口。接口的输出端提供四个传输队列。队列大小当前固定为240个数据包（用于快速以太网端口）和1920个数据包（用于无阻塞千兆以太网接口）。非阻塞表示在连接到背板时端口未超订用。无阻塞千兆以太网端口列表如下：

- 管理引擎III(WS-X4014)和IV(WS-X4515)上的上行链路端口

- WS-X4306-GB线卡上的端口

- WS-X4232-GB-RJ线卡上有两个1000BASE-X端口

- WS-X4418-GB线卡上的前两个端口

- WS-X4412-2GB-TX线卡上有两个1000BASE-X端口

阻塞（超订用）千兆以太网端口队列大小当前也固定在240个数据包上。阻塞端口列出如下：

- WS-X4412-2GB-TX线卡上的10/100/1000 T端口

- WS-4418-GB线卡上的端口，前两个端口除外

- WS-X4424-GB-RJ45线卡上的端口

- WS-X4448-GB-LX线卡上的端口

- WS-X4448-GB-RJ45线卡上的端口

注意：队列大小取决于数据包的数量，而不是数据包的大小。目前，Supervisor III不支持任何拥塞避免机制，例如传输队列的加权随机早期检测(WRED)。

注意：Supervisor IV支持Cisco IOS 12.1(13)EW及更高版本中的主动队列管理(AQM)功能。AQM是一种拥塞避免技术，在发生缓冲区溢出之前起作用。AQM通过动态缓冲限制(DBL)实现。DBL跟踪交换机中每个流量的队列长度。当特定流的队列长度超过其限制时，DBL将丢弃数据包或在数据包报头中设置显式拥塞通知(ECN)位。有关如何配置DBL的详细信息，请参阅配置QoS。

禁用QoS时，数据包在入口端口上受到传入DSCP的信任，并排入相应队列。这些队列为循环服务。

启用QoS后，数据包将根据内部DSCP进行排队，该DSCP是从使用端口信任状态的传入CoS/DSCP或输入端口或访问列表(ACL)/基于类的标记上的CoS/DSCP默认配置中派生的。根据全局DSCP - tx队列映射选择队列，该映射完全可配置。映射可显示如下：

Switch#show qos maps dscp tx-queue

DSCP-TxQueue Mapping Table (dscp = d1d2)

d1 : d2 0  1  2  3  4  5  6  7  8  9

-------------------------------------

0 :    01 01 01 01 01 01 01 01 01 01

1 :    01 01 01 01 01 01 02 02 02 02

2 :    02 02 02 02 02 02 02 02 02 02

3 :    02 02 03 03 03 03 03 03 03 03

4 :    03 03 03 03 03 03 03 03 04 04

5 :    04 04 04 04 04 04 04 04 04 04

6 :    04 04 04 04

上述映射是默认映射。如果需要，可以通过发出qos map dscp-values to tx-queue queue-id命令来更改映射。例如，要将DSCP值50映射到tx-queue 2，请在全局配置模式下进行以下配置：

Switch(config)#qos map dscp 50 to tx-queue 2

!--- You can verify to make sure the changes have been made.

Switch #show qos maps dscp tx-queue

DSCP-TxQueue Mapping Table (dscp = d1d2)

d1 : d2 0  1  2  3  4  5  6  7  8  9

-------------------------------------

0 :    01 01 01 01 01 01 01 01 01 01

1 :    01 01 01 01 01 01 02 02 02 02

2 :    02 02 02 02 02 02 02 02 02 02

3 :    02 02 03 03 03 03 03 03 03 03

4 :    03 03 03 03 03 03 03 03 04 04

5 :    02 04 04 04 04 04 04 04 04 04

6 :    04 04 04 04

有关更改映射的配置步骤的详细信息，请参阅以下文档：

- 配置指南

由于交换机专用集成电路(ASIC)限制，如果入口端口设置为trust-cos，则传输CoS等于端口上配置的传入数据包CoS或默认CoS（对于无标记数据包）。如果策略配置为通过为此类数据包发出set ip dscp value命令来为数据包设置DSCP，则它们将用作内部DSCP的源，而不是默认/数据包CoS，并在相应的队列中排队。如果端口不受CoS信任，则传出CoS将基于内部DSCP值。

严格优先级排队/低延迟排队

如果需要，传输队列3可配置为严格优先级队列，以便在队列中排队的数据包未超过配置的共享值时，该队列中排队的数据包将被安排在在队列中排队的数据包之前传输。以下部分对此进行了说明。

默认情况下禁用严格优先级功能。默认映射将在传输队列3中将CoS 4和5以及DSCP 32到47的数据包排入队列。可以根据需要修改DSCP到tx队列的映射，以便将所需的数据包排入高优先级队列中。

为了不使低优先级数据包饿死，此队列需要配置为主要用于低流量但高优先级流量（如语音流量），而不是用于批量低优先级TCP/IP流量。如果需要防止其他非严格优先级队列耗竭，建议为高优先级队列配置整形/共享。通过配置整形/共享，在满足严格队列的形状/共享值后，将调度其他低优先级数据包。

Switch#show run interface gigabitEthernet 1/1

interface GigabitEthernet1/1

no switchport

ip address 10.1.1.1 255.255.255.0

tx-queue 3

priority high

end

共享链路带宽

Catalyst 4000 Supervisor III和IV支持bandwidth命令，该命令是tx-queue命令下的子命令。此命令允许为四个传输队列中的每个队列提供保证的最小带宽。此命令不应与用于路由协议用途的接口级带宽命令相混淆。这与DSCP-tx-queue映射一起，可精细控制四个队列中每个队列中排队的每类流量保证多少带宽。通常，通过严格优先级队列，保证在拥塞期间语音流量等高优先级流量达到一定的最小流量，并为传输队列3配置共享。仅在无阻塞千兆以太网端口上支持链路带宽的共享。此功能目前在阻塞千兆以太网端口或10/100快速以太网接口上不可用。

当交换机上全局启用QoS时，默认情况下，所有四个队列在所有端口上分配的最低带宽均为250 Mbps。可能需要更改默认设置，以确保默认设置与应用程序或相关网络的所需设置匹配。

Switch#show run interface gigabitEthernet 1/1

interface GigabitEthernet1/1

no switchport

ip address 10.1.1.1 255.255.255.0

tx-queue 1

bandwidth 500 mbps

tx-queue 2

bandwidth 25 mbps

tx-queue 3

bandwidth 50 mbps

priority high

tx-queue 4

bandwidth 200 mbps

end

Switch#show qos interface GigabitEthernet 1/1

QoS is enabled globally

Port QoS is enabled

Port Trust State: 'untrusted'

Default DSCP: 0 Default CoS: 0

tx-Queue Bandwidth ShapeRate Priority QueueSize

(bps)     (BPS)        (packets)

1     500000000 disabled     N/A      1920

2   250000000 disabled     N/A   1920

3  50000000  disabled     high   1920

4     200000000 disabled N/A   1920

交换机当前不验证每个队列的带宽共享总和<= 1 Gbps。例如，如果Q1 = 300 Mbps，Q2 = 200 Mbps，Q3 = 100 Mbps，Q4 = 500 Mbps，我们将超过该接口可用的总带宽1 Gbps。要了解交换机在此超订用场景中的行为，我们需要了解调度的工作方式。

当传输队列输出速率低于其配置的共享和形状值时，它被视为高优先级队列。最初，所有队列都将是高优先级队列，因为没有队列被授予其共享，因此将以轮询方式提供服务（请注意，如果配置为高优先级的队列在达到共享之前不为空，则始终首先为其提供服务）。 一旦某些队列达到其共享，如果有更多具有高优先级的队列，将为它们提供服务。如果没有高优先级队列，则所有低优先级队列（已满足其共享的队列）将以轮询方式进行服务。

根据上述操作说明，在我们的示例场景中，Q1、Q2和Q3将获得其份额，但在拥塞时不会获得Q4份额，因为接口分配的带宽不能超过其可用物理带宽。根据用户/应用要求选择共享值时应谨慎。

流量整形

Catalyst 4000 Supervisor III和IV支持除管制功能外的其他流量整形功能。整形功能可以按快速以太网和千兆以太网上的传输队列进行配置。整形将每个队列每秒传输的带宽限制为可配置的最大值，从16 Kbps到1 Gbps（快速以太网端口为100 Mbps）。 由于从特定队列传输数据包的决策是按数据包进行的，因此整形与所配置的值相差非常小。

Switch#show run interface FastEthernet 5/9

interface FastEthernet5/9

no switchport

no snmp trap link-status

ip address 10.1.1.1 255.255.255.0

tx-queue 1

shape 50 mbps

tx-queue 2

shape 35 mbps

tx-queue 3

priority high

shape 5 mbps

tx-queue 4

shape 10 mbps

Switch#show qos interface FastEthernet 5/9

QoS is enabled globally

Port QoS is enabled

Port Trust State: 'untrusted'

Default DSCP: 0 Default CoS: 0

tx-Queue Bandwidth ShapeRate Priority QueueSize

(BPS)     (BPS)        (packets)

1      N/A    50000000  N/A  240

2      N/A    35000000  N/A  240

3      N/A     5000000  high  240

4      N/A    10000000  N/A  240

转接 队列 调度

数据包根据内部DSCP在前面介绍的四个队列之一上排队。内部DSCP可以从入口DSCP、入口端口DSCP或基于类的标记派生。传输队列调度发生如下。如果配置了整形，则检查传输队列中的数据包是否在配置的最大形状值内。如果超出该值，则会排入队列且不传输。

如果数据包符合条件，则考虑共享/严格优先级功能。首先，只要严格优先级排队的数据包低于为队列配置的形状参数，就会给出优先级。在对严格优先级队列进行服务（即，在严格优先级队列中没有数据包或它已达到其共享）后，在非严格优先级队列中排队的数据包将以轮询方式进行服务。由于有三个此类队列，因此再次考虑为这些队列配置的共享。例如，如果传输队列1未达到其共享，则其优先级高于传输队列2，后者已达到其共享。一旦此类优先级较高的队列数据包出队，队列中已满足其共享的数据包将被考虑。

注意：在此情景中，优先级越高并不意味着DSCP、CoS或IP优先级值越高。它仅基于特定队列是否满足其共享。如果特定非严格优先级队列未达到其共享，则在已达到其共享的非严格优先级队列中，该队列被视为优先级较高的队列。

相关信息

- 了解和配置 QoS

- Catalyst 4000 服务质量的常见问题

- Catalyst 4000 Supervisor Engine 3 的 QOS 策略和标记

- LAN 产品支持

- LAN 交换技术支持

- 技术支持 - Cisco Systems