目录

简介

先决条件

要求

使用的组件

规则

常见分类

同一路由器上的标记与其它 QoS 操作

网络图

配置

相关信息

简介

本文档说明在入站或出站方向上将服务质量 (QoS) 功能应用于运行 Cisco IOS® 软件的路由器上的接口时，执行这些功能的顺序。QoS 策略是使用模块化 QoS 命令行界面 (MQC) 配置的。本文档还将讨论 IP 报头标记（如 DSCP 和 IP Precedence）以及路由器对 QoS 策略的各个组件进行评估的顺序。

先决条件

要求

本文读者应该有以下知识：

- 基本 QoS 方法

使用的组件

本文档“配置”部分中的示例输出是在运行 Cisco IOS 软件版本 12.2 的 Cisco 7513 系列平台上捕获的。

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

规则

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

常见分类

分类就是定义流量类的过程，这些流量类将流量归类为数据流的多个类别组。分类定义了需要由 QoS 策略处理的每个流量类的“匹配条件”。更具体地讲，分类定义在应用服务策略对数据包进行检查时所用的“流量过滤器”。

分布式平台和非分布式平台都将数据包匹配到策略映射中的一个类。匹配过程在第一个匹配类处终止。如果一个策略映射内有两个类与同一个 IP Precedence 或 IP 地址范围匹配，则数据包始终属于第一个匹配类。因此，策略映射内的类顺序十分重要。

这种分类方法称为“常见分类”，具有三个优点：

- 准确记帐并避免在采用“常见分类”之前出现的双重记帐问题。

- 降低访问控制列表 (ACL) 对 CPU 的影响，因为按类检查 ACL，而不是按功能进行检查。

- 由于进行缓存，数据包报头的查找更加快速。

使用 service-policy 命令附加输入或输出策略映射时，将自动启用常见分类。

此表说明常见分类的操作顺序。如果分类是在 QoS 功能中发生的，则了解此表的内容十分重要。在入站路径上，数据包是在交换之前分类的。在出站路径上，数据包是在交换之后分类的。

入站

出站

1. 通过边界网关协议 (BGP) 进行 QoS 策略传播 (QPPB)

2. 输入常见分类

3. 输入 ACL

4. 输入标记（基于类的标记或 Committed Access Rate (CAR)）

5. 输入策略（通过基于类的监察器或 CAR）

6. IP 安全 (IPSec)

7. Cisco Express Forwarding (CEF) 或快速交换

1. CEF 或快速交换

2. 输出常见分类

3. 输出 ACL

4. 输出标记

5. 输出策略（通过基于类的监察器或 CAR）

6. 队列（Class-Based Weighted Fair Queueing (CBWFQ) 和 Low Latency Queueing (LLQ)）以及 Weighted Random Early Detection (WRED)

注意： 入站 Network-Based Application Recognition (NBAR) 发生在 ACL 之后和基于策略的路由之前。

在功能顺序和重新标记的值使用方面进行了重要更改。这些更改包括移动了输入 CAR、输入 MAC 和 IP precedence 记帐功能以使其在 MQC 输出分类之前发生：

- 输入速率限制（或 CAR）应用于进程交换路径之后且目的地为路由器的数据包。以前，只能对使用 CEF 并通过路由器进行交换的数据包进行速率限制。

- 由输入 CAR 或 QPPB 设置的新 IP precedence 值可用于选择 ATM VC 捆绑中的虚拟电路 (VC)。

- 由输入 CAR 或 QPPB 设置的 IP Precedence、Differentiated Service Code Point (DSCP) 和 QoS 组值可用于 MQC 输出数据包分类。

同一路由器上的标记与其它 QoS 操作

QoS 的一个常见应用是对数据包进行重新标记，然后应用一个操作，该操作会考虑同一接口或同一路由器上已重新标记的值。可以使用常见分类配置标记和其他 QoS 操作。

可以使用以下 QoS 功能重新标记数据包：

- 带有基于类的标记的 set 命令

- 带有基于类的策略的 police 命令

- CAR

此表指明 QoS 操作是否在服务策略中考虑重新标记的值。

策略位置

由出站策略操作使用的值

在同一策略中标记并应用 QoS 操作。

QoS 操作使用已进行常见分类的数据包的原始值。该数据包在传输时将携带新值，下一个路由器使用该新值。

通过入站策略进行标记，并通过出站策略应用 QoS 操作。

在按照出站策略对流量进行分类时，QoS 操作使用新值或重新标记的值。

在出站路径上，常见分类发生在应用任何 QoS 功能之前。这种方法的结果是，应用于出站策略上的任何 QoS 功能都作用于原始优先级值。如果需要基于同一路由器上已重新标记的值来执行操作，则必须对传入接口上的数据包进行标记，并在传出接口上基于这个新优先级应用其他 QoS 操作。

网络图

本部分中的配置使用以下网路图：

注意： Multilayer Switch Feature Card (MSFC) 充当主机。

配置

此示例说明操作顺序如何影响数据包标记。

独立标记和整形策略配置

class-map match-all In_Mark

match any

policy-map In_Bound

class In_Mark

set ip precedence 5

!--- Use Private address below:

interface FastEthernet4/0/0

ip address  10.20.3.2 255.255.255.0

ip route-cache distributed

service-policy input In_Bound

!--- Apply the input policy for class-based marking.

class-map match-all Out_Shaper

match ip precedence 5

!

policy Map Outbound_Shaper

class  Out_Shaper

shape average 64000 256 256

!--- Use Private address below:

interface Serial2/0/0

ip address 172.16.20.1 255.255.255.252

ip route-cache distributed

service-policy output Outbound_Shaper

!--- Apply the output policy for class-based shaping.

完成以下步骤以确认标记和整形策略：

1. 针对 172.16.20.2 目标地址使用 ping 命令。该 ping 命令匹配名为“In_Mark”的类映射的条件。

msfc#ping 172.16.20.2

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 40.1.44.2, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 8/9/12 ms

2. 使用 show policy-map interface fast 4/0/0 命令可查看基于输入类的标记策略的匹配计数器。分类机制在 IP 数据包上成功匹配，并将 IP Precedence 值重新标记为 5。

7513#show policy-map interface fast 4/0/0

FastEthernet4/0/0

Service-policy input: In_Bound

Class-map: In_Mark (match-all)

5 packets, 570 bytes

5 minute offered rate 0 bps, drop rate 0 bps

Match: any

QoS Set

ip precedence 5

Packets marked 5

Class-map: class-default (match-any)

0 packets, 0 bytes

5 minute offered rate 0 BPS, drop rate 0 BPS

Match: any

3. 使用 show policy-map interface serial 2/0/0 命令可查看基于出站类的整形策略的匹配计数器。分类机制在数据包报头中重新标记的 IP Precedence 值 5 上成功匹配，并将数据包排队至正确的类。

7513#show policy-map interface serial 2/0/0

Serial2/0/0

Service-policy output: Outbound_Shaper

Class-map: Out_Shaper(match-all)

5 packets, 520 bytes

5 minute offered rate 0 BPS, drop rate 0 BPSMatch: ip precedence 5

queue size 0, queue limit 16

packets output 5, packet drops 0

tail/random drops 0, no buffer drops 0, other drops 0

Shape: cir 64000,  Bc 256,  Be 256

output bytes 520, shape rate 0 BPS

Class-map: class-default (match-any)

0 packets, 0 bytes

5 minute offered rate 0 BPS, drop rate 0 BPS

Match: any  (1327)

当我们配置一个将整形和标记同时应用于流量的某个类时（如本例所示），可以看到所发生的情况。

单一标记和整形策略配置

class-map match-all prec5

match any

!

policy-map shape_five

class prec5

set ip precedence 5

shape average 64000 256 256

int serial1/0/0

service-policy out shape_five

show policy-map interface serial 2/0/0 命令的输出显示，路由器对 5 个 ping 数据包进行了重新标记，并将这些数据包排队至 class-default 类。此路由器上的 QoS 分类机制没有在 IP precedence 字段中考虑重新标记的值。

7513#show policy-map interface serial 2/0/0

Serial2/0/0

Service-policy output: shape_five

Class-map: prec5 (match-all)

0 packets, 0 bytes

5 minute offered rate 0 BPS, drop rate 0 BPS

Match:  any

queue size 0, queue limit 16

packets output 0, packet drops 0

tail/random drops 0, no buffer drops 0, other drops 0

QoS Set

ip precedence 5

Packets marked 5

Shape: cir 64000,  BC 256,  Be 256

output bytes 0, shape rate 0 BPS

Class-map: class-default (match-any)

5 packets, 520 bytes

5 minute offered rate 0 BPS, drop rate 0 BPS

Match: any

相关信息

- QoS 支持页

- 技术支持 - Cisco Systems