ACL
ACL负责管理用户配置的所有规则,并提供报文匹配规则的算法。
ACL的规则管理
每个ACL作为一个规则组,可以包含多个规则。规则通过规则ID(rule-id)来标识,规则ID可以由用户进行配置,也可以由系统自动根据步长生成。一个ACL中所有规则均按照规则ID从小到大排序。规则ID之间会留下一定的间隔。如果不指定规则ID时,具体间隔大小由“ACL的步长”来设定。例如步长设定为5,ACL规则ID分配是按照5、10、15……来分配的。如果步长值是2,自动生成的规则ID从2开始。用户可以根据规则ID方便地把新规则插入到规则组的某一位置。
ACL的规则匹配
报文到达设备时,查找引擎从报文中取出信息组成查找键值,键值与ACL中的规则进行匹配,只要有一条规则和报文匹配,就停止查找,称为命中规则。查找完所有规则,如果没有符合条件的规则,称为未命中规则。ACL的规则分为“permit”(允许)规则或者“deny”(拒绝)规则。
ACL的分类
ACL的类型根据不同的划分规则可以有不同的分类。例如:
• 按照创建ACL时的命名方式分数字型ACL和命名型ACL:
创建ACL时指定一个编号,称为数字型ACL。
说明: 编号为ACL功能的标示。例如2000~2999为基本ACL,3000~3999为高级ACL。
创建ACL时指定一个名称,称为命名型ACL。
• 按照ACL的功能分类,请参见表1:
分类 对应编号范围 使用的IP版本 应用场景
基于接口的ACL 编号范围为1000~1999 IPv4&IPv6 基于接口的ACL根据报文的入接口定义规则,实现对报文的匹配过滤。
基本ACL 编号范围为2000~2999 IPv4 可使用报文的源IP地址、VPN实例、分片标记和时间段信息来定义规则。
高级ACL 编号范围为3000~3999 IPv4 既可使用报文的源IP地址,也可使用目的地址、IP优先级、ToS、DSCP、IP协议类型、ICMP类型、TCP源端口/目的端口、UDP源端 口/目的端口号等来定义规则。 高级访问控制列表可以定义比基本访问控制列表更准确、更丰富、更灵活的规则。
二层ACL 编号范围为4000~4999 IPv4&IPv6 可根据报文的以太网帧头信息来定义规则,如根据源MAC地址、目的MAC地址、以太帧协议类型等。
自定义ACL 编号范围为5000~5999 IPv4&IPv6 可根据偏移位置和偏移量从报文中提取出一段内容进行匹配。
基于MPLS的ACL 编号范围为10000~10999 IPv4&IPv6 基于MPLS的ACL根据MPLS报文的Exp值、Lable值、TTL值来定义规则,实现对报文的匹配过滤。
基本ACL6 编号范围为2000~2999 IPv6 可使用报文的源IP地址、分片标记和时间段信息来定义规则。
高级ACL6 编号范围为3000~3999 IPv6 可以使用数据包的源地址、目的地址、IP承载的协议类型、针对协议的特性(例如TCP的源端口、目的端口、ICMPv6协议的类型、 ICMPv6 Code)等内容定义规则。