• 全部
  • 经验案例
  • 典型配置
  • 技术公告
  • FAQ
  • 漏洞说明
  • 全部
  • 全部
  • 大数据引擎
  • 知了引擎
产品线
搜索
取消
案例类型
发布者
是否解决
是否官方
时间
搜索引擎
匹配模式
高级搜索

S6500交换机ACL在非A类板上的匹配顺序说明

2006-08-28 发表
  • 0关注
  • 0收藏 965浏览
粉丝: 关注:

ACL非A类板上的匹配顺序说明

QACL在非A类板上通过4种硬件表项资源来实现的:MASK表(规则表),RULE表(掩码表),COUNTER表(计数器表),METER表(限流表)。通常来说,每个千兆端口都拥有一套表项资源 ,而每8个百兆端口共用一套表项资源。

QOS的大部分功能需要MASK表和RULE表这两种硬件资源配合使用。所以在这里主要说明的是MASK表和RULE表,对COUTER表和METER表不作过多说明。

一、MASK表和RULE

1MASK表(掩码表)

组成结构 = 掩码的位置 + RULE的起始序号 + RULE的长度

MASK表项和RULE表项存在一对多的关系,因此在下发RULE表项时,会自动把使用相同MASK表项的RULE表项排列在一起。在MASK表项中,记录了这个RULE表项块的起始位置和相应长度。

    当进行MASK表的查找时,总是从表的最底端开始向上查找。而MASK表的存储顺序则是由全局视图下定义的ACL ORDER命令来确定的。

1)        acl  order  auto

规则的匹配顺序采用深度优先。在存储MASK时,会自动调整MASKMASK表中的位置,优先级最高的MASK会在MASK表的最底端。当具有新的优先级更高的MASK规则下发时,会将MASK表中的所有表项向上移动一个位置空出最底端位置,然后将新的MASK存入到表底位置上。当一条规则下发后,首先找到MASK的位置,然后将该位置以上的MASK表项都向上移动一位,然后插入该规则的MASK,这个算法思想很象数据结构中的插入算法。

2)        acl  order  first-config-first-match

规则的匹配顺序采用先下发先生效。在存储MASK时,最先下发的规则其MASK存放在最底端,然后依次根据规则下发的顺序由低向高存入相应规则的MASK。如果MASK已经存在那么相应表项中将RULE表的长度加1RULE表的起始位置不变。而该规则在RULE表中将和具有相同MASK的规则存入在一块。

3)        acl  order  last-config-first-match

规则的匹配顺序采用后下发先生效。在存储MASK时,每新加入一条MASK表项时,MASK表中已存在的所有表项都将向上移动一位空出最底端位置,然后将新的MASK表项插入到最底端。这么保证了最后下发的规则,永远都是第一个进行匹配的。如果MASK已经存在那么相应表项中将RULE表的长度加1RULE表的起始位置不变。而该规则在RULE表中将和具有相同MASK的规则存入在一块。

 

注意:

当一条规则的MASK同已下发的ACL规则MASK相同时,会复用MASK表中已有的MASK而不会生成新的MASK表项插入到MASK表中。

2RULE表(规则表)

组成结构 = MASK表序号 + IN-PROFILE动作 + OUT-PROFILE动作 + COUNTER表项序号 + METER表项序号 + 其他杂项

RULE表项记录了自己使用的MASK表项序号、METER表项序号和COUNTER表项序号。如果没有限流和计数功能,这两个成员的数值被设置为0。当报文匹配时,会采取一定的动作。动作类型分为两类:限内动作(In -Profile)和限外动作(Out-Profile动作):限内动作指使能限流功能后匹配的报文不超过设定的门限值时采取的动作;限外动作指使能限流功能后匹配的报文超过设定的门限值后采取的动作。如果没有使能限流功能,只有限内动作起作用。

二、下发顺序引起的跳跃问题

采用auto的方式下发规则时,由于MASK采用的是深度优先,进行规则匹配时完全按照优先级的顺序进行匹配的,所以不存在任何问题。而在采用其它两种方式时,由于MASK表项复用,所以在下发规则时稍不注意就会引起ACL规则匹配顺序的跳跃问题。

1.先下发先生效

定义规则3000ACL的匹配顺序为先下发先生效,然后在端口上下发该规则。并进行以下操作:

1)        192.168.2.0网段上的某台主机ping192.168.48.0网段中的某台主机;

2)        192.168.2.0网段上的某台主机登录192.168.48.0网段中的FTP服务器。

acl number 3000

rule 0 permit ip source 192.168.2.0 0.0.0.255 destination 192.168.88.0 0.0.0.255

rule 1 deny ip

rule 2 deny tcp destination-port eq ftp-data

rule 3 deny tcp destination-port eq ftp

rule 4 permit ip source 192.168.2.0 0.0.0.255 destination 192.168.48.0 0.0.0.255

按照这样的配置顺序下发,通常理解会认为这两种操作的结果都不会成功。而事实上,在进行匹配的过程中,由于rule 4复用了rule 0的掩码(掩码相同)rule 4会先在rule 1rule 2rule 3之前进行匹配并成功,所以以两个操作都会成功。

2. 先下发先生效MASK表的存储结构

 

2.后下发先生效

定义规则3000ACL的配置跟前例相同,ACL的匹配顺序为后下发先生效,在端口上下发ACL后进行以下操作:

1)        192.168.2.0网段上的某台主机ping192.168.48.0网段中的某台主机;

2)        192.168.2.0网段上的某台主机登录192.168.48.0网段中的FTP服务器。

按照配置顺序下发,由于rule 4最后下发那么按照通常的理解rule 4会最先匹配,那么这两种操作都会成功。而事实上,以上两个操作都不会成功。其原因是在匹配过程中,由于rule 4复用了rule 0的掩码,而导致rule 4的掩码位置在MASK表中比rule 1rule 2rule 3都要高,所以最后匹配。因此以上两个操作都无法成功。

3. 后下发先生效MASK表的存储结构

3.总结

由于芯片的原因,所以我们在配置ACL和下发ACL规则时稍不留神就会产生事与愿违的结果。在进行操作时,首先要注意下发的顺序,其次在下发时尽量将MASK相同的规则放在一起,注意规则之间的范围包含关系。只有在明确了这两点要求后,才能保证ACL有效的下发。

若您有关于案例的建议,请反馈:

作者在2006-09-04对此案例进行了修订
0 个评论

该案例暂时没有网友评论

编辑评论

举报

×

侵犯我的权益 >
对根叔知了社区有害的内容 >
辱骂、歧视、挑衅等(不友善)

侵犯我的权益

×

泄露了我的隐私 >
侵犯了我企业的权益 >
抄袭了我的内容 >
诽谤我 >
辱骂、歧视、挑衅等(不友善)
骚扰我

泄露了我的隐私

×

您好,当您发现根叔知了上有泄漏您隐私的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您认为哪些内容泄露了您的隐私?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)

侵犯了我企业的权益

×

您好,当您发现根叔知了上有关于您企业的造谣与诽谤、商业侵权等内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到 pub.zhiliao@h3c.com 邮箱,我们会在审核后尽快给您答复。
  • 1. 您举报的内容是什么?(请在邮件中列出您举报的内容和链接地址)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
  • 3. 是哪家企业?(营业执照,单位登记证明等证件)
  • 4. 您与该企业的关系是?(您是企业法人或被授权人,需提供企业委托授权书)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

抄袭了我的内容

×

原文链接或出处

诽谤我

×

您好,当您发现根叔知了上有诽谤您的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您举报的内容以及侵犯了您什么权益?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

对根叔知了社区有害的内容

×

垃圾广告信息
色情、暴力、血腥等违反法律法规的内容
政治敏感
不规范转载 >
辱骂、歧视、挑衅等(不友善)
骚扰我
诱导投票

不规范转载

×

举报说明

提出建议

    +

亲~登录后才可以操作哦!

确定

亲~检测到您登陆的账号未在http://hclhub.h3c.com进行注册

注册后可访问此模块

跳转hclhub

你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作