ACL的基本原理ACL由一系列规则组成,通过将报文与ACL规则进行匹配,设备可以过滤出特定的报文 。设备支持的ACL,有软件和硬件两种实现方式,两者在过滤的报文类型、报文过滤方式和对不匹配ACL的报文的处理动作这三个方面有所差异 。
ACL的组成
一条ACL的结构组成,如图1所示 。
图1 ACL的结构组成
文章插图
- ACL编号:用于标识ACL,表明该ACL是数字型ACL 。
- 根据ACL规则功能的不同,ACL被划分为基本ACL、高级ACL、二层ACL、用户自定义ACL和用户ACL这几种类型,每类ACL编号的取值范围不同 。关于每类ACL编号的详细介绍,请参见ACL的分类 。
- 除了可以通过ACL编号标识ACL,设备还支持通过名称来标识ACL,就像用域名代替IP地址一样,更加方便记忆 。这种ACL,称为命名型ACL 。
- 命名型ACL实际上是“名字+数字”的形式,可以在定义命名型ACL时同时指定ACL编号 。如果不指定编号,则由系统自动分配 。例如,下面就是一个既有名字“deny-telnet-login”又有编号“3998”的ACL 。
- 规则:即描述报文匹配条件的判断语句 。
- 规则编号:用于标识ACL规则 。可以自行配置规则编号,也可以由系统自动分配 。
- ACL规则的编号范围是0~4294967294,所有规则均按照规则编号从小到大进行排序 。所以,图1中的rule 5排在首位,而规则编号最大的rule 4294967294排在末位 。系统按照规则编号从小到大的顺序,将规则依次与报文匹配,一旦匹配上一条规则即停止匹配 。
- 动作:包括permit/deny两种动作,表示允许/拒绝 。
- 匹配项:ACL定义了极其丰富的匹配项 。除了图1中的源地址和生效时间段,ACL还支持很多其他规则匹配项 。例如,二层以太网帧头信息(如源mac、目的MAC、以太帧协议类型),三层报文信息(如目的地址、协议类型),以及四层报文信息(如TCP/UDP端口号)等 。关于每种匹配项的详细介绍,请参见ACL的常用匹配项 。
设备将报文与ACL规则进行匹配时,遵循“一旦命中即停止匹配”的机制,如图2所示 。
图2 ACL的匹配机制
文章插图
首先系统会查找设备上是否配置了ACL 。
- 如果ACL不存在,则返回ACL匹配结果为:不匹配 。
- 如果ACL存在,则查找设备是否配置了ACL规则 。
- 如果规则不存在,则返回ACL匹配结果为:不匹配 。
- 如果规则存在,则系统会从ACL中编号最小的规则开始查找 。
- 如果匹配上了permit规则,则停止查找规则,并返回ACL匹配结果为:匹配(允许) 。
- 如果匹配上了deny规则,则停止查找规则,并返回ACL匹配结果为:匹配(拒绝) 。
- 如果未匹配上规则,则继续查找下一条规则,以此循环 。如果一直查到最后一条规则,报文仍未匹配上,则返回ACL匹配结果为:不匹配 。
- 匹配(命中规则):指存在ACL,且在ACL中查找到了符合匹配条件的规则 。
- 不论匹配的动作是“permit”还是“deny”,都称为“匹配”,而不是只是匹配上permit规则才算“匹配” 。
- 不匹配(未命中规则):指不存在ACL,或ACL中无规则,再或者在ACL中遍历了所有规则都没有找到符合匹配条件的规则 。
- 以上三种情况,都叫做“不匹配” 。
推荐阅读
- 企业骨干网络如何提高链路可靠性,核心交换机配置静态链路聚合
- 华为watch gt2能无线充电吗 华为gt3可以无线充电吗
- 华为watchgt2pro和watchgt2区别 华为watchgt3和GT2pro哪个厚
- 华为交换机路由器配置本地MT特性
- 华为gt2表盘是什么材质的 华为gt3和gt2哪个表盘大
- 华为手机双十一会降价吗2021
- 华为gt2和gt2 华为gt3比gt2多了啥功能
- 路由器应该怎么摆
- 华为|宝宝到底为什么会“闹觉”
- 路由器与交换机的区别,简单易懂篇