ACL实现原理

前言

本篇文章是交换芯片中ACL讲解,方便读者快速理解ACL实现原理,后期会不定期更新交换芯片相关知识,感兴趣的可以关注博主。

ACL作用

Acl其实就是一种报文过滤器,Acl分为iAcl(入方向过滤)和eAcl(出方向过滤),其中iAcl的动作可以是forward、trap to cpu、drop和mirror,而eAcl的动作是drop。

ACL芯片匹配规则

在交换芯片内部匹配通常只有TCAM表查找和HASH表查找,而ACL是通过TCAM表中的二进制关键字进行匹配,通过TCAM表中的掩码可以设置精准匹配和模糊匹配(1代表精准匹配,0代表模糊匹配),ACL的匹配遵循一旦命中就停止匹配的原则,TACM表的资源有限,尽量避免一个匹配项多条匹配规则的资源浪费,下表是ACL匹配流程图,方便大家参考和理解。
ACL实现原理_第1张图片

ACL分类

ACL可以通过Eth、L3和Mpls key进行匹配,我们可以通过非用户自定义的Acl和用户定义Acl进行过滤报文。非用户自定义是厂商提供给的,比如Isis协议报文通过目的Mac地址匹配,Ospf协议报文通过协议号匹配,只需要设置相对应的Mac地址或者协议号加入到Acl表项当中;用户自定义的需要根据报文偏移位置和偏移量来定义规则(用户自定义定义字段不多,一般是30个字节),比如Mpls的协议报文需要匹配标签,这里就需要用到用户自定义的几个字节定义标签匹配字段。

你可能感兴趣的:(ACL实现原理)