目录

简介

设置和拓扑

情形 1：ACI上未启用QoS策略

方案 2：Dot1p保留已启用

情形 3：在EPG上设置的QoS级别

场景 4：具有Dot1P保留的QoS类

场景 5：自定义QoS类

简介

在思科以应用为中心的基础设施(ACI)中，我们提供了多种选项来对流量进行分类，以在交换矩阵内以特定方式提供服务。这些规则通常称为服务质量(QoS)。 QoS主要通过在以太网（第2层）或IP（互联网协议，第3层）报头(分别称为服务类别(COS)和差分服务代码点(DSCP))上设置某些值来实现。

ACI还允许用户对传入或传出交换矩阵的数据流量执行、忽略或修改这些QOS标记。我们将详细了解这些。

在本文档的范围内，我们将限制在ACI交换矩阵中的单个Pod设置。

设置和拓扑

测试和捕获是在3.2.x版本的第2代硬件上完成的。

在本文档中，我们将使用以下设置（指示图）。

我们有一个包含两个终端组(EPG)的交换矩阵：EPG-1和EPG-2。每个EPG都链接到其自己的网桥域(BD)。

EPG-1的BD有子网10.0.1.254/24

EPG-2的BD有子网10.0.2.254/24

枝叶1和枝叶2上存在两个EPG的端点。

为方便起见，我们将简要介绍我们将详细介绍的不同QOS配置：

场景 1

在此场景中，我们将保持交换矩阵不受任何QOS策略的影响。这是在处理预标记了不同COS或/和DSCP值的流量时检查交换矩阵的默认行为。

场景 2

在此场景中，我们将启用“Dot1p保留”选项：

然后，我们将重复场景1中的一些流量流，并比较/对比交换矩阵对流量的处理

场景 3

在此场景中，我们将使用EPG策略中可用的“QoS类”选项，并将其设置为不同的可用级别。然后，我们重复这些流量并比较交换矩阵对此流量的处理。

场景 4

这是在启用“Dot1p保留”选项的情况下对场景3的重复。

方案 5

在此场景中，我们将定义4个自定义QoS策略，然后在EPG策略上调用它们。

此类策略的示例：

这些自定义QoS策略将有助于了解对数据流量的COS/DSCP进行重新标记的不同方式。

情形 1：ACI上未启用QoS策略

此场景用于观察预标记了某些COS或DSCP值的流量的默认行为。

只有两种关注行为 —

1)是否保留了COS?

2)是否保留DSCP?

默认情况下，COS不会在任何情况下保留。当VLAN报头在入口枝叶上删除且出口处未标记cos值时，该值将丢失（使用cos 0）

示例 1

此处我们将流量从E1D1发送到E1D11。E1D1的流量标有Cos = 4。

流量从枝叶1发出，由E1D11接收，但已丢失其成本标记。

默认情况下保留DSCP

示例 2

此处我们将流量从E1D1发送到E1D2。E1D1的流量标有Cos = 2和DSCP = 12

流量使用0 Cos和相同DSCP(12)退出枝叶2。 外部报头具有DSCP(16)，将在以下各节中介绍。

方案 2：Dot1p保留已启用

“Dot1P”是“IEEE 801.1p”的简称 — 服务质量优先级方案；这是IEEE 802.1Q“Dot1Q”（支持VLAN的网络标准）的一部分

Dot1Q报头：

TPID:标记协议标识符 — 设置为值0x8100，将帧标识为Dot1Q标记帧

TCI :标记控制信息包含以下子字段：

PCP:优先级代码点，一个3位字段，表示Dot1P服务类别并映射到帧优先级

DEI:丢弃资格指示器，一个1位字段，可与PCP结合使用，用于指示在拥塞期间有资格丢弃的帧。

VID:VLAN ID，12位字段，指定帧所属的VLAN。

默认情况下（带或不带“Dot1p preserve”），传入数据包（进入交换矩阵）上的COS值将编码到外部报头（iVXLAN报头）DSCP。DSCP的6位映射如下（4.0之前）：

有效3位= cos值

低3位=流量上使用的类（默认为3级）

下面是一个表，其中包含一些DSCP值示例：

启用“Dot1p保留”后，会对外部报头DSCP值进行解码，以找出数据流量的原始COS值。然后，此内容会写入枝叶出口上VLAN报头的Dot1P部分。

示例 3

此处我们将流量从E1D1发送到E2D2。E1D1的流量标有Cos = 1和DSCP = 8。启用dot1p preserve后，当在目标E2D2上检查时，这两个值都将保留。

情形 3：在EPG上设置的QoS级别

EPG流量可以标记某些QOS级别。默认标记为3级。4.0之前只有三个用户可配置级别 — 1级到3级。4.0之后有6个级别。

级别在另一个报头（iVXLAN报头）COS上表示，如下所示：

4.0之前版本：

1 级

科斯2

2 级

Cos 1

第 3 级

Cos 0

4.0后：

下面未提及的COS + DEI组合保留供内部使用。

1 级

科斯2

DEI 0

2 级

Cos 1

DEI 0

第 3 级

Cos 0

DEI 0

4 级

科斯2

第一

5 级

Cos 3

第一

6 级

Cos 5

第一

请注意，即使使用DEI位，第4类、第5类和第6类也不会在拥塞期间自动丢弃资格。该字段之所以用，是因为它是增加类（与PCP相邻）的一种便捷方式

示例 4

此处我们将流量从E1D1发送到E2D2。流量在源处标记为CoS = 1,DSCP = 8,EPG-1使用QOS类“Level 1”。

— 第1级在外部报头上反映为CoS 2。

— 由于原始CoS为1，级别为1，外部报头DSCP为001010 = 10

— 警告=如果在EPG上使用级别时未启用保留CoS，则丢弃数据帧的原始CoS，并将与级别对应的CoS放置到出口帧（已在3.2.x中测试）

场景 4：具有Dot1P保留的QoS类

在此场景中，我们还将启用Dot1P保留，同时在EPG-1上使用QoS类分配。

示例 5

这将与EXAMPLE 4相同，并启用Dot1P保留选项。启用Dot1P保留后，我们在出口帧CoS上看不到任何意外值。

场景 5：自定义QoS类

在此场景中，我们将定义自定义QoS类，并将其应用于源EPG（即EPG-1）。如果同时使用QoS类和自定义QoS，则优先使用自定义QoS。

此外，在自定义QoS策略中，如果同时使用“Dot1P分类器”和“DSCP to Priority Map”，则DSCP映射优先。

自定义类的定义如下：

- CoS值4应匹配。如果是，流量将分类为CoS为3且DSCP CS3(24)的第2级

示例 6

此处我们将将流量从E1D1发送到E1D2。流量在E1D1上标有CoS 4和DSCP 0。EPG-1使用上述自定义QoS策略。

— 类（2级）在外部报头中表示为CoS 1

— 重写的CoS(3)与类一起以DSCP = 011001 = 25编码

此处我们再次观察相同的警告 — 如果未启用Dot1P保留，我们将看到与“2级”对应的CoS值反映在出口数据帧上。即，在E1D2上，我们将看到帧包含CoS 1和DSCP 24。

使用Dot1P Preserve（Dot1P保留）可获得实际期望的CoS(3):