S9700交换机ACL资源不足的优化方法

发布时间:  2016-01-04 浏览次数:  760 下载次数:  0
问题描述
用户自行定义ACL并且在多个vlan下面调用相应策略,提示ACL资源不足,导致策略调用失败!
告警信息
Error: Adding rule failed. Insufficient resource in policy policy-Server classifier KF8 behavior Action-permit acl 3999, rule 85, on slot 4 vlan 102. Error: Adding rule failed. Insufficient resource in policy policy-Server classifier KF8 behavior Action-permit acl 3999, rule 85, on slot 4 vlan 103. Error: Adding rule failed. Insufficient resource in policy policy-Server classifier KF8 behavior Action-permit acl 3999, rule 85, on slot 6 vlan 102. Error: Adding rule failed. Insufficient resource in policy policy-Server classifier KF8 behavior Action-permit acl 3999, rule 85, on slot 6 vlan 103.

Feb 26 2015 22:36:56.60.1+08:00 S9706 %%01ACLE/3/DEVICE_DOWN(l)[92]:Failed to send the data to the slot 6 device. (ErrorInfomation= Adding rule failed. Insufficient resource in policy ZJSM-KF8-Server classifier KF8 behavior Action-permit acl 3999, rule 85)
Feb 26 2015 22:36:54.920.8+08:00 S9706 %%01ACLE/3/DEVICE_DOWN(l)[93]:Failed to send the data to the slot 4 device. (ErrorInfomation= Adding rule failed. Insufficient resource in policy ZJSM-KF8-Server classifier KF8 behavior Action-permit acl 3999, rule 85)
处理过程
(1) EH1D2X16SFC0单板入方向ACL资源总共有2048条,其中512条ACL资源为CPCAR等特性预先占用,用于保护设备不受恶意攻击侵犯;剩余2048-512=1536条ACL资源可用于流策略配置。
(2) 流策略在vlan下应用时,每一个单板会分别下发该流策略,假设应用到一个vlan占用acl资源M条,该流策略应用到N个vlan时,占用acl资源为M*N条。
(3) 现网环境中配置的流策略traffic-policy policy-Server inbound使用的acl 3999, acl 3999有54条rule,每一条rule占用1条资源,所以应用一次策略占用54条acl资源,由于应用到30个vlan,共占用acl资源54*30=1620条,大于1536条。所以配置时提示资源不足。
根因
用户定义的ACL较多并且在多个接口下调用,需要消耗大量设备ACL资源,超出设备规格!
解决方案
考虑到用户定义ACL的rule已经无法进行合并,建议采用其他调用方式进行规避!
针对现网的acl资源可以才用如下方法优化,如果需要配置ACL还会增加,需要根据具体配置分析能否优化,针对现网当前acl配置的优化方案如下:因为连续的Vlan 101 ~ vlan 130配置相同的流策略traffic-policy policy-Server inbound,可以将vlan 101~vlan 122下配置的流策略删除,在全局下做如下配置(在流分类定义时operator为“与”):
Traffic classifier KF8- vlan101-130 operator and
 if-match vlan-id 101 to 130
 if-match acl ZJSM-KF8server-IN
traffic policy KF8-vlan101-130
 classifier KF8-vlan101-130 behavior Action-permit
traffic-policy KF8-vlan101-130 global inbound

按照如上优化方式进行重新调用,根据vlan进行划分,策略只需要占用54*6=326条ACL rule资源,大大降低了对资源的消耗。

<S9706>display acl vlan-division 101 to 130
Vlan range: 101 to 130;  Total rules: 6
--------------------------------------------------
  [ 1]:Value = 101   Mask = 0xfff  Range[ 101, 101]
  [ 2]:Value = 102   Mask = 0xffe  Range[ 102, 103]
  [ 3]:Value = 104   Mask = 0xff8  Range[ 104, 111]
  [ 4]:Value = 112   Mask = 0xff0  Range[ 112, 127]
  [ 5]:Value = 128   Mask = 0xffe  Range[ 128, 129]
  [ 6]:Value = 130   Mask = 0xfff  Range[ 130, 130]
建议与总结
目前华为框式交换机在ACL实现是基于每块物理单板单独实现的,当需要定义并且调用的ACL较多时,可以从以下两个方面来避免受到规格影响:
1、将可以合并的rule进行合并;
2、如果rule已经无法再深入合并,可以考虑改变调用的方式来规避,比如将原先在多个接口下改为在vlan下面调用、单板调用或者结合vlan的方式调用(如本案例)

END