目录

简介

先决条件

要求

使用的组件

规则

概述

服务行为类别

修改访问链路上的COS行为

出口队列选择和计划

创建自定义队列策略

注意事项

相关信息

简介

本文档提供Cisco Nexus 7000系列交换机上服务质量(QoS)功能的示例配置，以简化分类和排队的实现方式。

先决条件

要求

尝试进行此配置之前，请确保满足以下要求：

- 了解Nexus 7000系列交换机配置的基本知识

- 了解QoS的基本知识

使用的组件

本文中的信息基于 Nexus 7000 系列交换机。

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

规则

有关文档约定的更多信息，请参考 Cisco 技术提示约定。

概述

Nexus 7000交换机上的默认QoS参数足以满足大多数部署。但是，您需要了解创建自定义策略所需的限制和配置详细信息。

Nexus 7000 M系列线卡上的QoS需要考虑两个方面：

- 排队策略

- QoS 策略

排队在硬件中执行，并使用模块化QoS CLI(MQC)排队策略进行配置。用于标记或管制流量的QoS策略通过MQC策略使用，其格式与其他思科平台上的标准QoS策略完全相同。例如，访问列表，用于使用相应的策略映射对类映射中的流量进行分类以设置/管制流量。

目前，M系列模块严格根据服务类别(CoS)值执行排队。因此，您需要首先了解CoS值是如何派生的。在您知道哪些CoS值进入/离开交换机后，您可以专注于队列配置，以获得不同流量类型所需的QoS。

服务行为类别

对于路由单播流量，CoS值从差分服务代码点(DSCP)值的3个最高有效位派生。对于桥接单播流量，从802.1q报头中接收的CoS值复制CoS值。请注意，在L2接入链路上没有中继报头。因此，如果在接入端口上收到流量并将其桥接，则它将以CoS 0出口交换机。DSCP值不会更改，但数据包可能没有获得所需的优先级。您可以通过手动设置CoS或DSCP值的任何QoS策略在策略映射中手动设置CoS值。

了解组播的行为也很重要。路由组播流量以与路由单播流量相同的方式获取其CoS值。对于桥接组播流量，行为取决于L3状态。如果组播组没有L3状态，则CoS的派生方式与桥接单播流量相同。如果组播组有L3状态，则CoS的派生方式与路由单播流量相同。请注意，当在接收流量的VLAN的交换机虚拟接口(SVI)上以稀疏模式启用协议独立组播(PIM)时，当看到组播时，会创建S，G条目。

总之，流量类型的CoS行为如下所示：

流量类型

CoS行为

路由单播

从3 MSB的ToS复制

桥接单播

不变

路由组播

从3 MSB的ToS复制

具有组L3状态的网桥组播

从3 MSB的ToS复制

没有组L3状态的网桥组播

不变

修改访问链路上的COS行为

以接入端口(Eth8/1)上接收流量并在VLAN上桥接的流量为例。默认情况下，桥接单播流量的CoS值保持不变。如果流量到达接入端口，则分配默认CoS值0。在本例中，优先级流量(DSCP 46)在接入端口上接收，并以DSCP值不变且CoS值为0的方式出口交换机。因此，数据包未获得适当的优先级。

注意：CoS报头仅用于说明。E8/1是接入端口，因此CoS值为0。数据包流从左到右。

一个可能的解决方法是创建QoS策略，以在入口端口上手动设置CoS值。

在本例中，只有DSCP为46的数据包的CoS值才更新。如果需要多个DSCP值来确保适当的CoS值，则需要定义策略映射中的其他类映射和操作。

另一种选项是将表映射与操作“default copy”一起使用。 表映射允许您根据当前DSCP值重置DSCP。例如，如果收到DSCP值为40的流量，并且您需要确保该流量被重新标记为DSCP值46，则可以使用带有“40到46”操作的表映射。

表映射还包含“默认复制”操作，该操作将DSCP值设置为其原始值。这类似于创建具有“match dscp ef”分类和“set dscp ef”操作的策略映射。 逻辑上，DSCP值保持不变，但“set dscp”操作将CoS值隐式设置为新DSCP值的3-MSB。

因此，如果需要确保CoS值始终更新为DSCP值的3-MSB，请使用具有“default copy”的单个操作的表映射。

出口队列选择和计划

一旦CoS值被派生，您就可以控制全局队列类映射以影响cos-to-queue映射。这些类映射是全局的，会影响该特定队列类型的所有虚拟设备环境(VDC)中的所有模块。例如，请考虑M108和M132模块(1p7q4t)的以下默认队列类映射：

class-map type queuing match-any 1p7q4t-out-pq1

Description: Classifier for egress priority queue of type 1p7q4t

match cos 5-7

class-map type queuing match-any 1p7q4t-out-q2

Description: Classifier for egress queue 2 of type 1p7q4t

class-map type queuing match-any 1p7q4t-out-q3

Description: Classifier for egress queue 3 of type 1p7q4t

class-map type queuing match-any 1p7q4t-out-q4

Description: Classifier for egress queue 4 of type 1p7q4t

class-map type queuing match-any 1p7q4t-out-q5

Description: Classifier for egress queue 5 of type 1p7q4t

class-map type queuing match-any 1p7q4t-out-q6

Description: Classifier for egress queue 6 of type 1p7q4t

class-map type queuing match-any 1p7q4t-out-q7

Description: Classifier for egress queue 7 of type 1p7q4t

class-map type queuing match-any 1p7q4t-out-q-default

Description: Classifier for egress default queue of type 1p7q4t

match cos 0-4

默认情况下，cos 0-4映射到默认队列，cos 5-7映射到优先级队列。这些与相同队列类型的默认队列策略相配合：

policy-map type queuing default-out-policy

class type queuing out-pq1

priority level 1

queue-limit percent 16

class type queuing out-q2

queue-limit percent 1

class type queuing out-q3

queue-limit percent 1

class type queuing out-q-default

queue-limit percent 82

bandwidth remaining percent 25

优先级队列为“优先级”，队列限制为16%。默认队列的队列限制为82%，默认带宽剩余权重。其他未使用的队列将分配1%的队列限制。请注意，q4、q5和q6不在默认排队策略中表示，因此，在硬件中编程的队列限制和带宽权重会更小。

创建自定义队列策略

要创建自定义队列策略，请完成以下步骤：

1. 创建具有所需队列限制和带宽分配的自定义队列策略。

2. 修改全局队列类映射以创建所需的CoS到队列映射。

3. 将新的队列策略应用到相应的接口。

以具有1p7q4t队列架构的M132模块为例，其中所有8个CoS值都映射到单独的队列。输出显示自定义队列策略以及对全局队列类映射的更改：

policy-map type queuing 10G_POLICY

class type queuing 1p7q4t-out-pq1

priority level 1

queue-limit percent 10

class type queuing 1p7q4t-out-q2

queue-limit percent 10

bandwidth remaining percent 10

class type queuing 1p7q4t-out-q3

queue-limit percent 5

bandwidth remaining percent 5

class type queuing 1p7q4t-out-q4

queue-limit percent 5

bandwidth remaining percent 5

class type queuing 1p7q4t-out-q5

queue-limit percent 10

bandwidth remaining percent 20

class type queuing 1p7q4t-out-q6

queue-limit percent 5

bandwidth remaining percent 10

class type queuing 1p7q4t-out-q7

queue-limit percent 5

bandwidth remaining percent 10

class type queuing 1p7q4t-out-q-default

queue-limit percent 50

bandwidth remaining percent 40

! voice

class-map type queuing match-any 1p7q4t-out-pq1

match cos 5

! scavenger

class-map type queuing match-any 1p7q4t-out-q2

match cos 1

! transactional

class-map type queuing match-any 1p7q4t-out-q3

match cos 2

! call signaling

class-map type queuing match-any 1p7q4t-out-q4

match cos 3

! video

class-map type queuing match-any 1p7q4t-out-q5

match cos 4

! routing

class-map type queuing match-any 1p7q4t-out-q6

match cos 6

! management

class-map type queuing match-any 1p7q4t-out-q7

match cos 7

! best effort

class-map type queuing match-any 1p7q4t-out-q-default

match cos 0

最后一步是将自定义队列策略应用到每个1p7q4t接口：

interface Ethernet8/1

service-policy type queuing output 10G_POLICY

注意事项

默认队列策略假设CoS 0-4映射到默认队列，CoS 5-7映射到优先级队列。因此，队列q3、q4、q5、q6和q7的队列限制非常小。您可以输入show queuing interface命令，以验证硬件中配置和应用的当前队列大小和带宽。

考虑上一节中每个CoS值映射到特定队列的示例策略。在本例末尾，自定义队列策略应用于Eth8/1。此外，假设还有另一个1p7q4t接口(Eth6/1)保留了默认队列策略：

N7k# show queuing interface e6/1

<some output omitted>

Configured queue-limit ratios

queue-limit ratios:     78[1p7q4t-out-q-default] 1[1p7q4t-out-q2] 1[1p7q4t-out-q3]

*1[1p7q4t-out-q4] *1[1p7q4t-out-q5] *1[1p7q4t-out-q6] *1[1p7q4t-out-q7] 16[1p7q4t-out-pq1]

* means unused queue with mandatory minimum queue-limit

Thresholds:

COS   Queue                      Threshold Type     Min    Max

______________________________________________________________

0    1p7q4t-out-q-default           DT             100    100

1    1p7q4t-out-q2                  DT             100    100

2    1p7q4t-out-q3                  DT             100    100

3    1p7q4t-out-q4                  DT             100    100

4    1p7q4t-out-q5                  DT             100    100

5    1p7q4t-out-pq1                 DT             100    100

6    1p7q4t-out-q6                  DT             100    100

7    1p7q4t-out-q7                  DT             100    100

从上述输出中，您可以看到队列q2和q3的队列限制为1%，而q4、q5、q6和q7的队列限制为*1%，这是最小的强制队列限制（换句话说，显着小于1%）。 此外，您可以看到CoS值1-4和6-7使用这些非常小的队列。小队列大小会快速导致输出丢弃，并会降低网络性能。如果默认流量CoS 0映射到这些小队列之一，则会进一步恶化。

总之，如果创建自定义排队策略并更改全局排队类映射，则必须将自定义排队策略应用于机箱上共享相同排队类型的所有接口。

此外，下面列出了一些有用的drop命令：

- show policy-map interface ex/y

- show system internal queueing stat interface ex/y

相关信息

- Cisco Nexus 7000系列NX-OS服务质量配置指南，版本5.x

- 技术支持和文档 - Cisco Systems