什么是接入控制表(ACL)
什么是接入控制表(ACL)
访问控制列表(Access Control List,ACL) 是路由器接口的指令列表,用来控制端口进出的数据包。ACL适用于所有的被路由协议,如IP、IPX、AppleTalk等。
ACL的定义也是基于每一种协议的。如果路由器接口配置成为支持三种协议(IP、AppleTalk以及IPX)的情况,那么,用户必须定义三种ACL来分别控制这三种协议的数据包。
ACL的作用
ACL可以限制网络流量、提高网络性能。例如,ACL可以根据数据包的协议,指定数据包的优先级。
ACL提供对通信流量的控制手段。例如,ACL可以限定或简化路由更新信息的长度,从而限制通过路由器某一网段的通信流量。
ACL是提供网络安全访问的基本手段。如图1所示,ACL允许主机A访问人力资源网络,而拒绝主机B访问。
ACL可以在路由器端口处决定哪种类型的通信流量被转发或被阻塞。例如,用户可以允许E-mail通信流量被路由,拒绝所有的Telnet通信流量。
ACL的执行过程
一个端口执行哪条ACL,这需要按照列表中的条件语句执行顺序来判断。如果一个数据包的报头跟表中某个条件判断语句相匹配,那么后面的语句就将被忽略,不再进行检查。数据包只有在跟第一个判断条件不匹配时,它才被交给ACL中的下一个条件判断语句进行比较。如果匹配(假设为允许发送),则不管是第一条还是最后一条语句,数据都会立即发送到目的接口。如果所有的ACL判断语句都检测完毕,仍没有匹配的语句出口,则该数据包将视为被拒绝而被丢弃。
这里要注意,ACL不能对本路由器产生的数据包进行控制。
ACL的分类
目前有两种主要的ACL:标准ACL和扩展ACL。
这两种ACL的区别是,标准ACL只检查数据包的源地址; 扩展ACL既检查数据包的源地址,也检查数据包的目的地址,同时还可以检查数据包的特定协议类型、端口号等。
网络管理员可以使用标准ACL阻止来自某一网络的所有通信流量,或者允许来自某一特定网络的所有通信流量,或者拒绝某一协议簇(比如IP)的所有通信流量。
扩展ACL比标准ACL提供了更广泛的控制范围。例如,网络管理员如果希望做到“允许外来的Web通信流量通过,拒绝外来的FTP和Telnet等通信流量”,那么,他可以使用扩展ACL来达到目的,标准ACL不能控制这么精确。
在路由器配置中,标准ACL和扩展ACL的区别是由ACL的表号来体现的,上表指出了每种协议所允许的合法表号的取值范围。