目录

简介

先决条件

要求

使用的组件

规则

应用服务策略

应用分级策略

配置基于等级的整形

配置

验证

相关信息

简介

本文档介绍如何在以太网子接口上应用 Class-Based Weighted Fair Queueing (CBWFQ) 和其他基于 Cisco IOS® 软件的服务质量 (QoS) 特性。以太网子接口是 Cisco IOS 中的逻辑接口。您可以使用模块化 QoS 命令行界面 (CLI) (MQC) 创建服务策略并将其应用于以太网子接口。

先决条件

要求

本文档没有任何特定的要求。

使用的组件

本文档中的信息基于以下软件和硬件版本：

- Cisco IOS 软件 12.2(2)T

- 采用快速以太网网络模块的 Cisco 2620 路由器

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

规则

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

应用服务策略

一般来说，选择在哪里应用策略取决于您的策略激活的 QoS 特性。以太网子接口支持下述功能：

- 基于类的策略 - 如果使用 police 命令将策略同时应用至接口和子接口，则对于匹配类的流量，只有子接口监察器处于活动状态。有关详细信息，请参阅流量策略。

- 基于类的标记 - 有关详细信息，请参阅分类概述。

- 基于类的整形 - 有关详细信息，请参阅配置基于类的整形。

- 基于类的队列 - 队列是以太网子接口的一个特例。有关详细信息，请参阅本部分剩余的部分。

当需要从接口中传出的数据包数量超过该接口的输出速率时，路由器开始对数据包进行排队。然后，对超额数据包进行排队。排队方法可应用于等待传输的数据包。

Cisco IOS逻辑接口本身不支持拥塞状态，并且不支持运用排队方法的服务策略的直接应用程序。相反，您首先需要使用通用流量整形(GTS)或基于等级的整形，将整形应用到子接口。有关详细信息，请参阅策略和整形。

如果以太网子接口使用应用排队而非整形的服务策略进行配置，则路由器将打印以下日志消息：

router(config)# interface ethernet0/0.1

router(config-subif)# service-policy output test

CBWFQ : Not supported on subinterfaces

请注意，同一规则适用于千兆以太网子接口。

c7400(config)# interface gig0/0.1

c7400(config-subif)# service-policy ou

c7400(config-subif)# service-policy output outFE

CBWFQ : Not supported on subinterfaces

也就是说，您必须在父级上使用 shape 命令配置分级策略。请对 CBWFQ 使用 bandwidth 命令，对更低级别上的 Low Latency Queueing (LLQ) 使用 priority 命令。基于类的整形限制了输出速率，并且（我们可以认为）导致逻辑子接口处于拥塞状态。这时子接口应用“反压力”，Cisco IOS 开始对整形器保留的超额数据包进行排队。

应用分级策略

按照以下步骤应用分级策略：

1. 创建一个子策略或更低级的策略，来配置排队机制。在下面的示例中，我们使用 priority 命令对 LLQ 进行配置，使用 bandwidth 命令对 CBWFQ 进行配置。有关详细信息，请参阅拥塞管理概述。

policy-map child

class voice

priority 512

2. 创建应用基于类的整形的父策略或顶层策略。因为子类的准入控制是根据父类的整形速率完成的，所以将子策略作为父策略的命令。

policy-map parent

class class-default

shape average 2000000

service-policy child

3. 对子接口应用父策略。

interface ethernet0/0.1

service-policy parent

配置基于等级的整形

本部分提供有关如何配置本文档所述功能的信息。

注：要查找有关本文档中使用的命令的其他信息，请使用命令查找工具(仅注册客户)。

配置

路由器 2620A

hostname 2620A

!

ip cef

!

class-map match-any dscp46

match ip dscp 46

class-map match-all telnet_ping_snmp

match access-group 150

class-map match-all http

match access-group 154

class-map match-all pop3_smtp

match access-group 153

!

!

policy-map voice_traffic

class dscp46

shape average 30000 10000

class telnet_ping_snmp

shape average 20000 15440

class pop3_smtp

shape average 20000 15440

class http

shape average 20000 15440

!

interface FastEthernet0/0

ip address 10.10.247.2 255.255.255.0

duplex auto

speed auto

!

interface FastEthernet0/0.1

encapsulation dot1Q 1 native

ip address 10.1.1.1 255.255.255.0

service-policy output voice_traffic

验证

本部分所提供的信息可用于确认您的配置是否正常工作。

输出解释器工具支持某些 show 命令（只限于注册用户），通过它可以查看 show 命令输出的分析。

- show policy-map {policy name} - 显示指定服务策略映射的所有类的配置。

2620A# show policy-map voice_traffic

Policy Map voice_traffic

Class dscp46

Traffic Shaping

Average Rate Traffic Shaping

CIR 30000 (bps) Max. Buffers Limit 1000 (Packets)

Bc 10000

Class telnet_ping_snmp

Traffic Shaping

Average Rate Traffic Shaping

CIR 20000 (bps) Max. Buffers Limit 1000 (Packets)

Bc 15440

Class pop3_smtp

Traffic Shaping

Average Rate Traffic Shaping

CIR 20000 (bps) Max. Buffers Limit 1000 (Packets)

Bc 15440

Class http

Traffic Shaping

Average Rate Traffic Shaping

CIR 20000 (bps) Max. Buffers Limit 1000 (Packets)

Bc 15440

2620A# show policy-map voice_traffic class dscp46

Class dscp46

Traffic Shaping

Average Rate Traffic Shaping

CIR 30000 (bps) Max. Buffers Limit 1000 (Packets)

Bc 10000

- show policy-map interface fast - 显示指定服务策略映射的所有类的匹配计数器。

2620A# show policy-map interface fa0/0.1

FastEthernet0/0.1

Service-policy output: voice_traffic

Class-map: dscp46 (match-any)

0 packets, 0 bytes

5 minute offered rate 0 bps, drop rate 0 bps

Match: ip dscp 46

0 packets, 0 bytes

5 minute rate 0 bps

Traffic Shaping

Target    Byte   Sustain   Excess    Interval  Increment Adapt

Rate      Limit  bits/int  bits/int  (ms)      (bytes)   Active

30000     2500   10000     10000     333       1250      -

Queue     Packets   Bytes     Packets   Bytes     Shaping

Depth                         Delayed   Delayed   Active

0         0         0         0         0         no

Class-map: telnet_ping_snmp (match-all)

0 packets, 0 bytes

5 minute offered rate 0 bps, drop rate 0 bps

Match: access-group 150

Traffic Shaping

Target    Byte   Sustain   Excess    Interval  Increment Adapt

Rate      Limit  bits/int  bits/int  (ms)      (bytes)   Active

20000     3860   15440     15440     772       1930      -

Queue     Packets   Bytes     Packets   Bytes     Shaping

Depth                         Delayed   Delayed   Active

0         0         0         0         0         no

Class-map: pop3_smtp (match-all)

0 packets, 0 bytes

5 minute offered rate 0 bps, drop rate 0 bps

Match: access-group 153

Traffic Shaping

Target    Byte   Sustain   Excess    Interval  Increment Adapt

Rate      Limit  bits/int  bits/int  (ms)      (bytes)   Active

20000     3860   15440     15440     772       1930      -

Queue     Packets   Bytes     Packets   Bytes     Shaping

Depth                         Delayed   Delayed   Active

0         0         0         0         0         no

Class-map: http (match-all)

0 packets, 0 bytes

5 minute offered rate 0 bps, drop rate 0 bps

Match: access-group 154

Traffic Shaping

Target    Byte   Sustain   Excess    Interval  Increment Adapt

Rate      Limit  bits/int  bits/int  (ms)      (bytes)   Active

20000     3860   15440     15440     772       1930      -

Queue     Packets   Bytes     Packets   Bytes     Shaping

Depth                         Delayed   Delayed   Active

0         0         0         0         0         no

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

926 packets, 88695 bytes

5 minute offered rate 0 bps, drop rate 0 bps

Match: any

注意：基于类的整形在接口和子接口级别工作。Cisco IOS 12.2(2.5) 引入了在主接口上配置整形以及在子接口上配置 IP 地址的功能。

相关信息

- QoS 支持页

- 技术支持 - Cisco Systems