简介
本文档介绍如何了解show policy-map interface 输出并监控服务质量(QoS)服务策略的结果。
先决条件
要求
本文档没有任何特定的要求。
使用的组件
本文档不限于特定的软件和硬件版本。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
注意:在Cisco IOS®软件版本12.1T中,本文档中列出的命令输出中的数据包包括与特定类匹配的所有数据包。然而,在 Cisco IOS 软件版本 12.1 中,仅在这些相同命令的输出中统计并显示在拥塞时排队的数据包。
规则
有关文档规则的详细信息,请参阅 Cisco 技术提示规则。
拥塞定义
要解释show policy-map interface 命令,您首先需要了解拥塞。
拥塞管理概述从概念上定义为“在传出接口,数据包到达的速度比接口发送它们的速度更快”。
也就是说,当快速的输入接口向相对缓慢的输出接口传输数据包时,通常会出现拥塞。常见的拥塞点是分支机构路由器,该路由器带有面向LAN的以太网端口和面向WAN的串行端口。LAN 网络上的用户会产生 10 Mbps 的流量,以 1.5 Mbps 的带宽向 T1 传输数据包。
从功能上讲,拥塞是指接口上的传输环路变满的时间。环路是一种特殊的缓冲区控制结构。每个接口都支持一对环:接收数据包的接收环和发送数据包的发送环。环路的大小随接口控制器以及接口或虚电路 (VC) 的带宽而变化。例如,用 show atm vc <vcd>命令显示PA-A3 ATM端口适配器上传输环路的值。
7200-1#show atm vc 3
ATM5/0.2: VCD: 3, VPI: 2, VCI: 2
VBR-NRT, PeakRate: 30000, Average Rate: 20000, Burst Cells: 94
AAL5-LLC/SNAP, etype:0x0, Flags: 0x20, VCmode: 0x0
OAM frequency: 0 second(s)
PA TxRingLimit: 10
InARP frequency: 15 minutes(s)
Transmit priority 2
InPkts: 0, OutPkts: 0, InBytes: 0, OutBytes: 0
InPRoc: 0, OutPRoc: 0
InFast: 0, OutFast: 0, InAS: 0, OutAS: 0
InPktDrops: 0, OutPktDrops: 0
CrcErrors: 0, SarTimeOuts: 0, OverSizedSDUs: 0
OAM cells received: 0
OAM cells sent: 0
Status: UP
Cisco IOS也称为第3层(L3)处理器,当数据包被移到物理介质时,接口驱动程序使用传输环路。这两个处理器通过以下方式进行协作:
-
接口根据接口速率或整形速率传输数据包。
-
接口保持一个硬件队列或传输环路,在其中存储等待传输至物理线路的数据包。
-
当硬件队列或传输环路充满时,接口向 L3 处理器系统提供明显的反压力。因为传输环路已充满,接口会通知 L3 处理器停止将数据包移至接口传输环路。这时 L3 处理器将超额数据包存储在 L3 队列中。
-
当接口发送完传输环路上的数据包并清空环路时,就会再次拥有充足可用的缓冲区来存储数据包。接口将解除反压力,L3 处理器将新的数据包移至接口。
此通信系统的最重要的方面是,接口识别其传输环路充满,并抑制从 L3 处理器系统接收新的数据包。因此,当接口拥塞时,丢弃决策从传输环路先进先出 (FIFO) 队列的随机后进先弃决策变为由 L3 处理器实现的基于 IP 级服务策略的差异化决策。
数据包与匹配的数据包之间的区别
由于服务策略仅适用于存储在第3层队列中的数据包,因此您需要了解路由器何时使用L3队列。
下表说明了数据包何时停留在L3队列中。本地产生的数据包通常先进行程序交换,传送至 L3 队列,然后传输至接口驱动器。快速交换和 Cisco Express Forwarding (CEF) 交换数据包直接传送至传输环路,仅在传输环路充满时停留在 L3 队列中。
数据包类型 |
拥塞 |
非拥塞 |
本地产生的数据包,包括 Telnet 数据包和 ping |
Yes |
Yes |
程序交换的其他数据包 |
Yes |
Yes |
CEF 交换或快速交换的数据包 |
Yes |
无 |
本示例显示应用于show policy-map interface 输出的先前指南(四个密钥计数器以粗体显示):
7206#show policy-map interface atm 1/0.1
ATM1/0.1: VC 0/100 -
Service-policy output: cbwfq (1283)
Class-map: A (match-all) (1285/2)
28621 packets, 7098008 bytes
5 minute offered rate 10000 bps, drop rate 0 bps
Match: access-group 101 (1289)
Weighted Fair Queueing
Output Queue: Conversation 73
Bandwidth 500 (kbps) Max Threshold 64 (packets)
(pkts matched/bytes matched) 28621/7098008
(depth/total drops/no-buffer drops) 0/0/0
Class-map: B (match-all) (1301/4)
2058 packets, 148176 bytes
5 minute offered rate 0 bps, drop rate 0 bps
Match: access-group 103 (1305)
Weighted Fair Queueing
Output Queue: Conversation 75
Bandwidth 50 (kbps) Max Threshold 64 (packets)
(pkts matched/bytes matched) 0/0
(depth/total drops/no-buffer drops) 0/0/0
Class-map: class-default (match-any) (1309/0)
19 packets, 968 bytes
5 minute offered rate 0 bps, drop rate 0 bps
Match: any (1313)
此表定义了粗体计数器。
计数器 |
说明 |
28621 packets, 7098008 bytes |
与类别标准匹配的数据包的数量。无论接口是否发生拥塞,此计数器都会增加。 |
(pkts matched/bytes matched) 28621/7098008 |
当接口拥塞时,与类别标准匹配的数据包的数量。也就是说,接口传输环路充满,驱动器和 L3 处理器系统协同工作对 L3 队列中的超额数据包进行排队,其中应用了服务策略。经过程序交换的数据包通常能通过 L3 排队系统,从而使“packets matched”计数器的数值增加。 |
类映射:B (match-all) (1301/4) |
这些编号定义了与 CISCO-CLASS-BASED-QOS-MIB 管理信息库 (MIB) 一起使用的内部 ID。它们在 Cisco IOS 当前版本的 show policy-map 输出中不再出现。 |
5 minute offered rate 0 bps, drop rate 0 bps |
用 load-interval命令更改该值,并使其成为瞬时值。最小值为30秒;但是,在 show policy-map interface 输出中显示的统计信息每10秒更新一次。由于命令在特定时刻有效提供快照,因此统计信息不会反映队列大小的临时增加。
|
如果没有拥塞,则无需对任何超额数据包进行排队。出现拥塞时,数据包(包括CEF和快速交换的数据包)可以进入L3队列。请参阅Cisco拥塞管理概述如何定义拥塞,拥塞是指数据包在接口处累积并排队,直到接口可用于发送它们;然后根据已分配的优先级和为该接口配置的队列机制调度数据包。
通常,数据包计数器比数据包匹配计数器大得多。如果两个计数器的值大致相同,则接口当前会收到大量进程交换数据包或严重拥塞。必须研究这两种情况才能确保最佳的数据包转发。
会话号码分配
此部分说明应用服务策略时,路由器如何分配已创建队列的会话编号。
Router#show policy-map interface s1/0.1 dlci 100
Serial1/0.1: DLCI 100 -
output : mypolicy
Class voice
Weighted Fair Queueing
Strict Priority
Output Queue: Conversation 72
Bandwidth 16 (kbps) Packets Matched 0
(pkts discards/bytes discards) 0/0
Class immediate-data
Weighted Fair Queueing
Output Queue: Conversation 73
Bandwidth 60 (%) Packets Matched 0
(pkts discards/bytes discards/tail drops) 0/0/0
mean queue depth: 0
drops: class random tail min-th max-th mark-prob
0 0 0 64 128 1/10
1 0 0 71 128 1/10
2 0 0 78 128 1/10
3 0 0 85 128 1/10
4 0 0 92 128 1/10
5 0 0 99 128 1/10
6 0 0 106 128 1/10
7 0 0 113 128 1/10
rsvp 0 0 120 128 1/10
Class priority-data
Weighted Fair Queueing
Output Queue: Conversation 74
Bandwidth 40 (%) Packets Matched 0 Max Threshold 64 (packets)
(pkts discards/bytes discards/tail drops) 0/0/0
Class class-default
Weighted Fair Queueing
Flow Based Fair Queueing
Maximum Number of Hashed Queues 64 Max Threshold 20 (packets)
class-default 类是当流量不满足在策略映射中定义策略的其它类的匹配标准时,该流量所指向的默认类。fair-queue命令允许您指定IP流排序和分类的动态队列的数量。或者,路由器根据接口或 VC 的带宽分配默认队列数量。这两种情况支持的值都是 2 的幂次方,范围在 16 到 4096 之间。
下表列出了接口和 ATM 永久虚电路 (PVC) 的默认值:
作为接口带宽函数的动态队列默认数量
带宽范围 |
动态队列数量 |
小于或等于 64 Kbps |
16 |
大于 64 Kbps,小于或等于 128 Kbps |
32 |
大于 128 Kbps,小于或等于 256 Kbps |
64 |
大于 256 Kbps,小于或等于 512 Kbps |
128 |
大于 512 Kbps |
256 |
作为 ATM PVC 带宽函数的动态队列默认数量
带宽范围 |
动态队列数量 |
小于或等于 128 Kbps |
16 |
大于 128 Kbps,小于或等于 512 Kbps |
32 |
大于 512 Kbps,小于或等于 2000 Kbps |
64 |
大于 2000 Kbps,小于或等于 8000 Kbps |
128 |
大于 8000 Kbps |
256 |
基于加权公平排队的保留队列数量,Cisco IOS 将分配如下表所示的会话或队列编号:
会话/队列编号 |
通信类型 |
1 - 256 |
基于流的一般流量队列。与用户创建的类不匹配的流量可与class-default和基于流的队列之一匹配。 |
257 - 263 |
为 Cisco 发现协议 (CDP) 以及用内部高优先级标志位标记的数据包保留的队列。 |
264 |
为优先级类(用 priority 命令配置的类)保留的队列。在 show policy-map interface 输出中查找类的“Strict Priority”值。优先级队列使用与动态队列数量加上 8 所得数值相等的会话 ID。 |
265 及以上版本 |
用于用户创建的类的队列。 |
确认您的服务策略
如果需要测试数据包匹配计数器和服务策略,请完成以下步骤:
-
使用大量ping和扩展ping模拟拥塞。同时,尝试从文件传输协议 (FTP) 服务器下载一个大文件。文件构成令人不快的数据并填充接口带宽。
-
用tx-ring-limit命令减小接口传输环路。减少该值能促进 Cisco IOS 软件中 QoS 的使用。
interface ATMx/y.z point-to-point
ip address a.b.c.d M.M.M.M
PVC A/B
tx-ring-limit <size>
service-policy output test
-
指定大小,作为 2600 和 3600 系列路由器的数据包数量,或者作为 7200 和 7500 系列路由器的内存粒子数量。
-
确保数据流与您策略的输入或输出参数匹配。例如,从 FTP 服务器下载文件会造成接收方向发生拥塞,因为服务器会发送 MTU 大小的大型帧而客户端 PC 会返回少量的确认消息 (ACK)。
相关信息