目录

简介

先决条件

要求

使用的组件

背景信息

配置示例

示例 1

示例 2

验证

故障排除

可能的问题

其他有用的命令

简介

本文档介绍Catalyst 6500系列交换机上的微流策略。

先决条件

要求

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

使用的组件

本文档中的信息基于运行在Supervisor引擎720上的Cisco Catalyst 6500系列交换机。

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

背景信息

这是一个用例供您考虑。大学要求在学生使用Internet时将带宽限制为10 Mbps。如果配置了聚合策略，则学生之间的带宽分配不均。微流监察器更能帮助我们完成此任务。

微流策略可帮助用户根据流量来管制流量。流通常由源IP(SRC-IP)、目标IP(DST-IP)、SRC-DST IP、SRC-DST端口或SRC-Interface定义。示例如下：

Source 10.0.0.1 sending a tcp stream to 15.0.0.1 with a source tcp port of 50

and destination 2000

Source 10.0.0.1 sending a tcp stream to 15.0.0.2 with a source tcp port of 60

and destination 2000.

如果根据SRC-IP进行分类，则流数等于1。如果根据DST-IP进行分类，则流数等于2。如果根据DST端口进行分类，则流数等于1。

注意：微流监察器只能应用于入口方向，与聚合监察器不同。

在物理接口或交换机虚拟接口(SVI)下应用服务策略时，服务策略在硬件中编程。使用服务质量(QoS)三态内容可寻址存储器(TCAM)来存储条目。此外，由于交换机必须记住流，因此它会在硬件中存储单个流信息。NetFlow TCAM用于此目的。因此，您可以在两个位置检查硬件中的编程：访问控制列表(ACL)TCAM和NetFlow TCAM。

由于网络地址转换(NAT)、NetFlow数据导出(NDE)和Web缓存通信协议(WCCP)等其他功能使用相同的NetFlow TCAM，因此硬件中的微流监察器编程可能存在冲突。本文档末尾提供了一些TCAM冲突场景。

配置示例

示例 1

有一台Cisco Catalyst 6500系列交换机参与VLAN间路由。流量源位于VLAN 20中，并具有以下IP地址：20.20.20.2和20.20.20.3。两个源都尝试向位于VLAN 30中的IP地址30.30.30.2发送流量。目标是为每个源分配100Kbps的带宽。

1. 在类映射中创建并映射ACL，以匹配来自这两个源的流量。

ip access-list ext vlan20_30

permit ip 20.20.20.0 0.0.0.255 30.30.30.0 0.0.0.255

class-map POLICE_DIFF_SRC

match access-group name vlan20_30

2. 在策略映射中应用类映射。根据需要配置承诺信息速率(CIR)和突发值。

policy-map POLICE_DIFF_SRC

class POLICE_DIFF_SRC

police flow mask src-only 100000 3000 conform transmit exceed drop
以下是警察流掩码后可用的选项:

police flow mask ?

dest-only

full-flow

src-only

3. 在入口SVI或入口物理接口下应用服务策略。如果在接口VLAN下应用该接口，请在物理接口下配置mls qos vlan-based。这指示Cisco IOS®在数据包到达特定VLAN中的第2层接口后，立即在接口VLAN下查找策略。

interface vlan 20

service-policy input POLICE_DIFF_SRC

示例 2

有一台Catalyst 6500系列交换机参与同一VLAN中流量的第2层交换。本示例说明如何限制从10.10.10.2到10.10.10.3（在VLAN中）的流量，使其达到100Kbps的带宽。要使监察器影响第2层交换流量，必须在接口VLAN 10下输入mls qos bridged命令。

ip access-list ext VLAN10

permit ip 10.10.10.0 0.0.0.255 10.10.10.0 0.0.0.255

class-map POLICE_SAME

match access-group name VLAN10

policy-map POLICE_SAME

class POLICE_SAME

police flow mask src-only 100000 3000 conform transmit exceed drop

int vlan 10

service-policy in POLICE_SAME

mls qos bridged

验证

当前没有可用于此配置的验证过程。

故障排除

1. 输入show mls qos ip命令，并检查监察器名称旁边的FL ID。如果FL ID为1，则策略用于微流策略。

6500#show mls qos ip

QoS Summary [IPv4]:      (* - shared aggregates, Mod - switch module)

Int Mod Dir  Class-map DSCP  Ag  Trust   FL   AgForward-By   AgPoliced-By

Id           Id

---------------------------------------------------------------------------

Fa3/3  1 In   POLICE_SAM   0   0*   dscp    1   11266001160            0
根据此输出，以下是一些值得注意的点：

- 策略在硬件中映射。

- 应用该接口的接口是Fa3/3。

- 如果机箱中存在支持分布式转发卡(DFC)的线卡(LC)，则QoS策略会针对每个DFC和策略功能卡(PFC)单独编程。 模块编号提供插槽1中PFC/DFC的条目。

- 管理引擎720为创建的每个聚合监察器创建聚合ID(AgID)。1020 AgID是最大可用ID，这是硬件限制。这与微流监察器无关，但是对于聚合监察器是有用的命令。

- 信任字段在本例中不相关。

- FL ID=1，如前所述。

- AgForward?By和AgPoliced-By不用于计算微流监察器传输或丢弃的数据包（有单独的命令）。 但是，使用相同的计数器来计算聚合监察器发送/丢弃的数据包。

2. 输入show tcam int < vlan/or physical interface> qos type1 ip命令，以确定ACL是否在QoS TCAM中编程。

6500#show tcam interface fa3/3 qos type1 ip

QOS Results:   A - Aggregate Policing       F - Microflow Policing

M - Mark          T - Trust

U - Untrust

------------------------------------------------------

FT     ip 10.10.10.0 0.0.0.255 10.10.10.0 0.0.0.255  ==> entry is

programmed correctly

MU     ip any any

3. 检查show mls NetFlow ip qos nowrap命令的输出，以便发现流是否安装在Netlflow TCAM中。

6500#show mls NetFlow ip qos nowrap

Displaying NetFlow entries in Active Supervisor EARL in module 1

DstIP           SrcIP           Prot         : SrcPort :   DstPort   Src i/f         :AdjPtr    Pkts

Bytes         LastSeen      QoS       PoliceCount  Threshold   Leak          Drop     Bucket

------------------------------------------------------------------------------------------------------

0.0.0.0          0.0.0.0            0                     :0                   :0           --

0x0       140394

67383880   15:16:29        0x0                   0                    0           0

NO             0

0.0.0.0         10.10.10.2      0                     :0                   :0           --

0x0           227

108506        15:16:22        0x0                  35996208    0           0                NO         3386
在此输出中，您可以看到流（仅源）安装在NetFlow TCAM中，并且有35,996,208个数据包受管制。

可能的问题

在这些情况下，服务策略可能未在硬件中编程。原因如下：

1. 对可配置的聚合/微流监察器的数量有硬件限制。为了保留硬件资源，服务策略未在硬件中编程。

输入show platform hardware capacity qoscan命令以检查监察器的可用性。

6500#show platform hardware capacity qos

QoS Policer Resources

Aggregate policers: Module                      Total         Used     %Used

1                            1024            102     10%

6                            1024            102     10%

Microflow policer configurations: Module        Total         Used     %Used

1                64            32        50%

6                64            32        50%

2. 由于流掩码与在同一接口下配置的其他功能冲突，微流监察器可能无法缓存NetFlow TCAM中的流。

了解流掩码的概念非常重要。为了支持某些功能的硬件加速，有专用硬件(TCAM)，用于安装某些功能。有多个使用相同TCAM的功能，例如NAT WCCP NetFlow。它们使用通常称为NetFlow TCAM的TCAM，而对于安全ACL等功能，策略型路由(PBR)使用ACL TCAM。

对于NetFlow TCAM，在硬件中安装条目需要流掩码。NetFlow流掩码确定要测量的流的粒度。非常特定的流掩码会生成大量的NetFlow表条目，以及大量要导出的统计信息。较少特定的流掩码将流量统计信息聚合到较少的NetFlow表条目中，并生成较少的统计信息量。

NetFlow表配置文章介绍流掩码要求（支持）功能。

- 输入show fm summary命令，并确定接口是否处于非活动状态。“非活动”状态表示接口下配置了某些功能，这些功能无法在硬件中编程。在该接口上收到的需要该功能的数据包在软件中编程。

6500#show fm summary

Interface: Vlan13 is up

TCAM screening for features: INACTIVE inbound

TCAM screening for features: INACTIVE outbound

Interface: Vlan72 is up

TCAM screening for features: ACTIVE inbound

TCAM screening for features: ACTIVE outbound

Interface: Vlan84 is up

TCAM screening for features: ACTIVE inbound

TCAM screening for features: INACTIVE outbound

- 输入show fm fie interface <>命令，并确定是否在硬件中配置了微流监察器。

6500#show fm fie int vlan 10

Interface Vl10:

Feature interaction state created: Yes

Flowmask conflict status for protocol IP :

FIE_FLOWMASK_STATUS_SUCCESS

Flowmask conflict status for protocol OTHER :

FIE_FLOWMASK_STATUS_SUCCESS Interface Vl10 [Ingress]:

Slot(s) using the protocol IP : 1

FIE Result for protocol IP : FIE_SUCCESS_NO_CONFLICT

Features Configured : [empty] - Protocol : IP

FM Label when FIE was invoked : 66  Current FM Label : 66

Last Merge is for slot: 0  num# of strategies tried : 1

num# of merged VMRs in bank 1 = 0

num# of free TCAM entries in Bank1 = Unknown

num# of merged VMRs in bank 2 = 1

num# of free TCAM entries in Bank2 = Unknown

Slot(s) using the protocol OTHER : 1

FIE Result for protocol OTHER : FIE_SUCCESS_NO_CONFLICT

Features Configured : OTH_DEF   - Protocol : OTHER

FM Label when FIE was invoked : 66

Current FM Label : 66

Last Merge is for slot: 0

Features in Bank1 = OTH_DEF

+-------------------------------------+

Action Merge Table

+-------------------------------------+

OTH_DEF      RSLT    R_RSLT  COL

+-------------------------------------+

SB           HB      P       0

X            P       P       0

+-------------------------------------+

num# of strategies tried : 1

Description of merging strategy used:

Serialized Banks: FALSE

Bank1 Only Features: [empty]

Bank2 Only Features: [empty]

Banks Swappable: TRUE

Merge Algorithm: ODM

num# of merged VMRs in bank 1 = 1

num# of free TCAM entries in Bank1 = 32745

num# of merged VMRs in bank 2 = 0

num# of free TCAM entries in Bank2 = 32744 Interface Vl10 [Egress]:

No Features Configured

No IP Guardian Feature Configured

No IPv6 Guardian Feature Configured

IP QoS Conflict resolution configured, QoS policy name: POLICE_SAME

兼容流掩码应用于在共享NetFlow TCAM的同一接口下配置的功能。兼容流掩码几乎可用于所有类型的组合。

其他有用的命令

- 应用策略

- 检查FL-ID=1 - show mls qos ip

- 检查QoS TCAM - show tcam int <> qos type 1 ip

- 检查NetFlow TCAM - show mls NetFlow ip qos module nowrap

- 检查监察器的可用性 — show platform hardware capacity fabric

- 检查流掩码(FM)冲突 — show log, show fm summary

- 检查接口下配置的功能 — show fm fie interface