所选语种没有对应资源,请选择:

本站点使用Cookies,继续浏览表示您同意我们使用Cookies。Cookies和隐私政策>

提示

尊敬的用户,您的IE浏览器版本过低,为获取更好的浏览体验,请升级您的IE浏览器。

升级

ACL资源不足怎么办

评分并提供意见反馈 :
华为采用机器翻译与人工审校相结合的方式将此文档翻译成不同语言,希望能帮助您更容易理解此文档的内容。 请注意:即使是最好的机器翻译,其准确度也不及专业翻译人员的水平。 华为对于翻译的准确性不承担任何责任,并建议您参考英文文档(已提供链接)。
ACL资源不足怎么办

ACL资源不足怎么办

简介

很多业务都会使用ACL资源,而设备ACL资源是有限的,所以当ACL资源不足时,使用ACL资源的业务就会下发失败。

以下章节,将详细介绍ACL资源不足的原因、使用ACL资源的业务、以及ACL资源不足的解决方案。

ACL资源不足的原因

在现网中,用户往往仅配置了少量规则Rule,还远没有达到Rule的规格,但是设备就会报ACL资源不足。这是为什么呢?因为Rule资源仅仅是ACL资源的一种,而ACL资源的瓶颈在于KB资源。

当业务下发时,业务会首先选择一个Group,然后再申请所需要的KB资源。只有KB资源充足,Group创建成功后,业务才可以正常运行。Group可以分为单宽组、双宽组和四宽组。其中单宽组和双宽组需要占用一个KB,四宽组需要占用两个KB。

当配置新业务时,如果已经创建的Group满足要求,业务可以直接下发到已创建的Group中,而无需占用额外的KB资源。如果已创建的Group无法满足要求,则需要再申请KB资源创建新的Group。

为了更好的理解,我们以CE12800设备为例,并通过如下表格来简单地介绍下ACL原理。

表格的行数为桶深,表示Rule的规格,表格的列数为桶宽,表示KB的规格,其中桶宽为业务能否下发成功的瓶颈。如果一条Rule匹配字段的总和不超过80bit(例如匹配源IP地址和目的IP地址,因为IP地址为32bit,那么匹配字段总和就是64bit),则会选择单宽组并占用一个KB;如果一条Rule匹配字段的总和为80到160bit之间,则会选择双宽组并占用一个KB;如果一条Rule匹配字段的总和超过160bit,则会选择四宽组并占用两个连续的KB,且要求KB的起始编号必须为偶数。

例如:

Rule 1:rule permit tcp source 1.1.1.1 24 destination 1.1.2.2 24

Rule 2:rule permit tcp source 1.1.1.1 24 destination 1.1.2.2 24 source-port eq 1 destination-port eq 10

Rule 3:rule permit tcp source 1.1.1.1 24 destination 1.1.2.2 24 source-port eq 1 destination-port eq 10 tcp-flag ack ttl-expired tos 2 precedence 5 logging

如上表格所示,Rule 1下发到单宽组中占用一个KB,Rule 2下发到双宽组中占用一个KB,Rule 3下发到四宽组中占用两个KB,另外设备默认占用两个KB用于协议报文的上送。

假设后续再配置Rule 4 、Rule 5、Rule 6、Rul4 7、Rul4 8后,8个KB资源全部被占用。如果继续配置新业务,而已创建的Group又无法满足条件时,因为已经没有KB资源去创建新的Group,所以设备就会提示ACL资源不足导致业务下发失败。

更多ACL资源的原理请参考ACL技术专题中的ACL资源原理章节。

使用ACL资源的业务

ACL功能非常强大,一方面用户可以直接配置MQC实现针对不同业务的差分服务,另一方面很多业务的功能实现也是依赖内部下发ACL完成。IPv4、IPv6、MPLS、TRILL、VXLAN等相关特性的业务,基本都与ACL有着不可分割的联系。比如Vlanif流量统计业务,需要下发ACL针对对应Vlanif的流量进行统计。

业务下发ACL规则流程和对应的芯片处理流程如下图所示。

分组的选择方式有两种:一种是静态选组,即业务使用的ACL规则使用哪个分组是固定的,选组时直接选择对应分组;一种是动态选组,即需要根据用户配置字段和动作信息去遍历预定义好的分组模板,找到一个合适的分组,该选组方式主要用于MQC业务。

如果业务下发ACL时,选到的分组已经创建,则此时不需要再创建该分组,即不需要再申请KB、CE、Action资源。只需要申请TCAM Bank资源下发ACL规则。

静态选组的分组模板定义与业务映射关系举例如下:

Group ID

Type

字段集合

动作集合

14

ALL

Port

Vlan ID

DMAC Hit

DMAC

Statistics

CAR

QoS CAR

Y

-

-

-

Y

Y

Port BC Suppress

Y

-

-

Y

-

Y

Port Unknown UC Supress

Y

-

Y

-

-

Y

Vlan BC Suppress

-

Y

-

Y

-

Y

该表说明了编号为14的ACL Group对应所有的报文类型以及下发到该组的业务所匹配的字段和执行的动作,其中Y表示某业务中匹配相应的字段和执行相应的动作。

动态选组的分组模板定义举例如下,与业务不是静态映射的,根据用户配置进行动态选组:

Group ID

Type

字段集合

动作集合

Port

VS

SrcIP

DstIP

L4SPort

L4DPort

Protocol

Statistics

Deny

Redirect

290

IPv4

Y

-

Y

-

-

-

-

-

Y

Y

214

IPv4

-

Y

Y

Y

Y

Y

Y

Y

Y

Y

该表说明,某类型的报文匹配某些字段和执行某些动作时会下发到相应的分组,其中Y表示匹配该字段以及执行该动作。

根据用户对使用ACL的感知情况,当前业务分为显式使用ACL的业务和隐式使用ACL业务。当用户配置的MQC流策略时,会配置ACL规则,所以属于显式使用ACL的业务;当用户使能IPv6业务时,虽然会下发用于处理IPv6协议报文的ACL,但是用户没有直观的感知,所以就属于隐式的使用ACL的业务。

更多显式使用ACL的业务和隐式使用ACL的业务的具体介绍,请参考ACL技术专题中的业务与ACL章节。

ACL资源应用最佳实践

默认情况,用户配置的业务都下发到系统预置的分组中。系统预置的分组为了满足不同用户的需求,包含较多的匹配字段和动作,无法做到ACL资源的最大化利用。为了更好的满足客户的定制需求,设备提供了一种开放式的硬件资源可编程能力——TCAM ACL资源自定义。

通过TCAM ACL资源自定义功能,用户可以创建自定义的ACL资源分组,指定分组包含的匹配条件、动作和优先级,业务在下发时优先使用用户创建的自定义分组。通过这种方式,减少了下发到芯片中分组的冗余字段,从而实现用户需求和芯片资源的最优匹配。

下面简单介绍下TCAM ACL资源自定义的三个应用,更多ACL应用最佳实践内容,请参考ACL技术专题中的ACL应用最佳实践章节。

应用多个traffic policy包含不同匹配字段

用户下发多个traffic policy,包含的匹配字段不相同,使用系统预置分组下发时会占用多个分组。通过配置TCAM ACL资源自定义分组,分组中包含多个traffic policy中所有的匹配字段和执行动作,系统在选择分组时会优先选择配置的自定义分组,最终只创建一个分组,从而节省了分组资源。

例如系统包含如下三个预置分组供traffic policy选取:

分组ID

分组模式

字段集合

动作集合

213

160bit

Source IP

Destination IP

Source Interface

VSI

Redirect Interface

Deny

Statistics

216

160bit

Source IP

Destination IP

L4 Source Port

L4 Destination Port

IP Protocol

IP Fragment Type

Source Interface

VSI

Redirect Interface

Deny

Remark DSCP

Mirror

294

160bit

Source IP

Destination IP

L4 Source Port

L4 Destination Port

IP Protocol

TCP Flag

IP Fragment Type

Source Interface

VSI

Redirect Interface

Deny

Statistics

配置acl 3001,匹配source IP,执行动作deny:

#
acl 3001
 rule 5 permit ip source 1.1.1.1 0
 rule 10 deny ip
#

Group 213包含source IP字段和deny动作,满足需求,在芯片中创建分组Group 213。

配置acl 3002,匹配destination IP和 source TCP port。

#
acl 3002
 rule 5 permit tcp destination 2.2.2.2 0 source-port eq 10000
 rule 10 deny ip
#

由于Group 213中不包含source TCP port字段,无法下发到Group 213,因此继续查找其他系统预置模板。

Group 216包含规则中字段和动作,满足需求,在设备上创建Group 216。

配置acl 3003,匹配destination IP,destination TCP port和TCP flag。

#
acl 3003
 rule 5 permit tcp destination 3.3.3.3 0 destination-port eq 10001 tcp-flag established
 rule 10 deny ip
#

原理同上,由于Group 213中不包含source TCP port字段,无法下发到Group 213;Group 216中不包含TCP flag字段,无法下发到Group 216,继续查找其他系统预置模板;Group 294包含规则中字段和动作,满足需求,因此在设备上创建Group 294。

最终,用户应用了3个traffic policy,由于匹配字段的差异,选择了3个不同的系统预置分组,占用了3个芯片group资源。

可以使用如下TCAM ACL资源自定义分组减少traffic policy占用的group资源个数:

分组ID

分组模式

字段集合

动作集合

User Define Group

160bit

Source IP

Destination IP

L4 Source Port

L4 Destination Port

IP Protocol

TCP Flag

IP Fragment Type

Source Interface

VSI

Deny

在traffic policy进行选组时会优先判断用户配置的TCAM ACL资源分组是否能满足需求,因为用户配置的TCAM ACL资源自定义分组包含acl 3001、acl 3002、acl 3003匹配的所有字段和执行的动作,所以acl 3001、acl 3002、acl 3003对用户配置的TCAM ACL资源分组选组成功,不再下发到系统预置分组。

最终,通过配置TCAM ACL自定义模板,用户应用了3个traffic policy,包含不同的匹配字段,仅占用了1个芯片group资源。

应用多个traffic policy执行不同动作

用户下发多个traffic policy,执行不同的动作,使用系统预置分组下发时也会占用多个分组。通过配置TCAM ACL资源自定义分组,分组中包含多个traffic policy中所有的匹配字段和执行动作,系统在选择分组时会优先选择配置的自定义分组,最终只创建一个分组,从而节省了分组资源。

例如系统包含如下两个预置分组供traffic policy选取:

分组ID

分组模式

字段集合

动作集合

213

160bit

Source IP

Destination IP

Source Interface

VSI

Redirect Interface

Deny

Statistics

295

160bit

Source IP

Destination IP

L4 Source Port

L4 Destination Port

IP Protocol

IP Fragment Type

Source Interface

VSI

Redirect Interface

Deny

Car

如果配置如下:

1、配置acl 3001,匹配source IP,动作deny:

#
acl 3001
 rule 5 permit ip source 1.1.1.1 0
 rule 10 deny ip
#

2、配置traffic policy statistics,匹配acl 3001,动作为统计:

#
traffic classifier statistics
 if-match acl 3001
traffic behavior statistics
 statistics enable
traffic policy statistics
 classifier statistics behavior statistics
#

3、配置traffic policy car,匹配acl 3001,动作为car:

#
traffic classifier car
 if-match acl 3001
traffic behavior car
 statistics car
traffic policy car
 classifier car behavior car
#

按照系统预置分组,Group 213包含字段source IP address和动作statistics,满足traffic policy statistics需求,因此创建分组Group 213。

由于Group 213不包含car动作,而traffic policy car包含car动作,无法下发到Group 213,继续查找其他分组。

Group 295包含字段source IP address和动作car,满足traffic policy car需求,因此创建分组Group 295。

最终,用户应用了2个traffic policy,由于执行动作的差异,选择了2个不同的系统预置分组,占用了2个芯片group资源

可以使用如下TCAM ACL资源自定义分组减少traffic policy占用的group资源个数:

分组ID

分组模式

字段集合

动作集合

User Define Group

160bit

Source IP

Destination IP

L4 Source Port

L4 Destination Port

IP Protocol

TCP Flag

IP Fragment Type

Source Interface

VSI

Statistics

car

在traffic policy进行选组时会优先判断用户配置的TCAM ACL资源分组是否能满足需求,用户配置的TCAM ACL资源自定义分组包含source IP address和statistics、car动作,所以traffic policy statistics、traffic policy car对用户配置的TCAM ACL资源分组选组成功,不再下发到系统预置分组。

最终,通过配置TCAM ACL自定义模板,用户应用了2个traffic policy,包含不同的动作,仅占用了1个芯片group资源。

应用traffic policy匹配较少字段下发到320bit分组

用户下发traffic policy,仅包含少量的匹配字段,但是使用系统预置分组时会下发到320bit分组。可以通过配置TCAM ACL资源自定义分组,分组中包含多个traffic policy中所有的匹配字段和应用动作,删除预置分组的不必要字段,最终将分组宽度缩小到160bit,减少芯片资源的占用。

例如系统包含如下预置分组:

分组ID

分组模式

字段集合

动作集合

233

320bit

Source IP

Destination IP

L4 Source Port

L4 Destination Port

IP Protocol

TCP Flag

IP Fragment Type

IP TOS

IP TTL

ICMP Type

Source Interface

VSI

Redirect Interface

Deny

Statistics

Remark 8021p

Remark VLAN

Remark DSCP

Mac learning disable

用户创建traffic policy匹配IP dscp字段,执行动作remark dscp,在所有系统预置模板中,仅Group 233可以满足,而Group 233为320bit的分组包含较多匹配字段和动作,所以占用了较多芯片资源。

可以配置如下TCAM ACL资源自定义分组:

分组ID

分组模式

字段集合

动作集合

User Define Group

160bit

Source IP

Destination IP

IP ToS

VSI

remark dscp

创建的TCAM ACL资源自定义分组,位宽为160bit,仅包含用户需要的匹配的字段和动作,占用少量芯片Group资源。

当traffic policy进行选组时会优先判断用户配置的TCAM ACL资源分组是否能满足需求,用户配置的TCAM ACL资源自定义分组包含IP ToS和remark dscp动作,所以traffic policy对用户配置的TCAM ACL资源分组选组成功,不再下发到系统预置分组。

最终,通过配置TCAM ACL自定义模板,用户下发的policy占用较少的芯片资源,并且实现了用户的功能。

常见问题诊断及解决方案

问题现象

下发traffic policy时,提示如下traffic policy下发失败的信息:

Error: Failed to apply the traffic policy p1 on slot 1. To check the cause, run the display traffic-policy applied-record command.

查看下发失败原因

可以通过两种方式查看traffic policy下发失败的原因。

1、执行display traffic-policy applied-record命令行查看下发失败原因。

[~HUAWEI] display traffic-policy applied-record                           
Total records : 1                                                               
------------------------------------------------------------------------------- 
Policy Type/Name                 Apply Parameter             Slot   State       
------------------------------------------------------------------------------- 
P1                               Global inbound                 1   fail(3)     
------------------------------------------------------------------------------- 
Fail reason:                                                                    
   3 -- The numbers of matched conditions and actions in the traffic policy exceed the limit. 

其中fail(3)表示traffic policy下发失败,编号3代表下发失败的具体原因。常见原因见下表:

编号

设备显示的失败原因

原因描述

3

The numbers of matched conditions and actions in the traffic policy exceed the limit.

系统预置模板中没有动作和匹配字段的组合

4

Insufficient ACL resources.

KB、CE或者Bank资源不足

2、在诊断视图下执行display system tcam fail-record查看失败的原因。

[~HUAWEI-diagnose] display system tcam fail-record                       
----------------------------------------------------------------------------------- 
Slot  Chip Time                Service                  ErrInfo                    
----------------------------------------------------------------------------------- 
1     1    2017-03-28 10:31:38 Traffic Policy Global    Select group                 
Total: 1   

其中ErrInfo表示traffic policy下发失败的原因,常见原因见下表:

设备显示的失败原因

原因描述

Select group.

系统预置模板没有动作和匹配字段的组合

Group resource full

KB或CE资源不足

Entry resource full

Bank资源不足

解决方案

如果traffic policy下发失败是因为KB或CE资源不足,可以在系统视图下执行display system tcam acl group resource [ slot slot-id [ chip chip-id ] ]命令行查看设备KB或CE资源使用情况:

其他原因的解决方案,请参考ACL技术专题中的ACL维护章节。

[~HUAWEI] display system tcam acl group resource slot 1
STG : Stage                   KCP  : Key Construction Program                   
ING : Ingress                 EGR  : Egress                                     
CYC : Cycle                   PTYPE: PortType                                   
FRT : Front Ports             RCY  : Recycle Ports                              
16-L: 16bit-LSB Copy Engine   16-M : 16bit-MSB Copy Engine                      
32-L: 32bit-LSB Copy Engine   32-M : 32bit-MSB Copy Engine                      
F   : Free                    T    : Total                                      
--------------------------------------------------------------------------------
Slot: 1    Chip : 0   UseRate:Normal                                            
--------------------------------------------------------------------------------
STG KCP PacketType       PTYPE       CYC Group   UsedKey 16-L  32-L  16-M  32-M 
                                                          F|T   F|T   F|T   F|T 
--------------------------------------------------------------------------------
ING   1 L2               FRT           0 2       2,3      2|8   5|8   7|8   6|8 
ING   2 IPV4             FRT           0 3       2,3      0|8   4|8   4|8   6|8 
ING   3 TRILL            FRT           0 1       2,3      6|8   5|8   7|8   6|8 
ING   4 IPV6             FRT           0 4       2,3      2|8   5|8   1|8   6|8 
--------------------------------------------------------------------------------

其中,STG:代表占用的是入方向还是出方向的ACL资源,ING代表入方向,EGR代表出方向;

CYC:代表ACL的资源池编号,以E系列单板为例,资源池0包含3个KB资源,资源池1号包含4个KB资源;

Group:代表业务下发的group ID,与在诊断视图下执行display system tcam service brief中显示的的FE GroupID相对应;

UsedKey:代表当前已使用的KB资源编号;

16-L、32-L、16-M、32-M:代表CE资源的使用情况,T表示所有的CE资源、F表示剩余的CE资源。

其他具体信息请参照产品文档中display system tcam acl group resource命令的描述。

当相同KCP下,7个KB资源被全部使用时,说明traffic policy下发失败是因为KB资源不足造成的。则通过如下方案解决:

1、可以通过配置TCAM ACL资源自定义分组,节省KB资源的占用(推荐)。

2、在V100R006C00版本及之后版本中,执行命令traffic-policy resource-saving-mode开启应用流策略时采用资源节约模式的功能,重新整合并下发所有流策略需要的ACL资源,以尝试将其他业务应用成功。
说明:
  1. 开启此功能时,设备上的所有流策略都会自动重新下发,可能会导致业务短暂中断。
  2. 开启此功能后,在设备上应用新的流策略或者已应用的流策略包含的流分类、流行为、ACL规则发生变化时,设备上的所有流策略都会自动重新下发,可能会导致业务短暂中断。
翻译
下载文档
更新时间:2019-07-01

文档编号:EDOC1100087008

浏览量:908

下载量:122

平均得分:
本文档适用于这些产品
相关版本
相关文档
Share
上一页 下一页