[发明专利]一种多核板卡ACL规则匹配方法无效
申请号: | 201110453837.8 | 申请日: | 2011-12-30 |
公开(公告)号: | CN103188231A | 公开(公告)日: | 2013-07-03 |
发明(设计)人: | 樊景亮 | 申请(专利权)人: | 北京锐安科技有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L12/743 |
代理公司: | 北京君尚知识产权代理事务所(普通合伙) 11200 | 代理人: | 余功勋 |
地址: | 100044 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 多核 板卡 acl 规则 匹配 方法 | ||
1.一种多核板卡ACL规则匹配方法,其步骤为:
1)根据五元组(源IP,目的IP,源端口,目的端口,协议类别)将多核板卡中的ACL规则分为N类;每一类规则包括五元组中的一个或几个元素;其中,N为自然数;
2)提取待查找数据包所包含的五元组信息,利用所提取的信息构造某一类别规则的虚拟五元组;其中,所述虚拟五元组中,该类别规则未包含元素的元素值设为0;
3)利用构造的虚拟五元组在该类别对应的哈希表中查找包含的ACL规则与虚拟五元组匹配的节点;如果没有找到匹配的节点,则利用所提取的信息构造另一类别规则的虚拟五元组,然后在该类别对应的哈希表中查找匹配的节点;如果每一类别规则均没有该数据包的匹配规则节点,则结束匹配。
2.如权利要求1所述的方法,其特征在于将划分后每一类别的ACL规则使用一hash表记录,哈希表下挂的链表节点存储此类别的ACL规则;然后使用一指针数组Array[N]保存指向N个哈希表的指针。
3.如权利要求2所述的方法,其特征在于所述hash表为单向链表或双向链表。
4.如权利要求2或3所述的方法,其特征在于对所述虚拟五元组进行哈希,得到所述虚拟五元组对应类别规则所在桶的索引号,然后遍历该索引号对应桶的链表,当某个节点的5元组信息与虚拟5元组相同时,即为匹配的规则节点。
5.如权利要求1或2或3所述的方法,其特征在于所述数据包为tcp数据包或udp数据包。
6.如权利要求1或2或3所述的方法,其特征在于所述多核板卡中设置一丢弃规则,用于将没有匹配规则的数据包丢弃。
7.如权利要求2或3所述的方法,其特征在于所述多核板卡对新输入的ACL规则按照划分的类别进行存储,其方法为:
1)根据新输入规则所包含的五元组信息,确定该规则插入的hash表;
2)添加新输入规则中未包含的五元组元素,并将其值设为0,将该新输入的规则构造为虚拟五元组;
3)对构造的虚拟五元组信息进行哈希,将其插入到对应桶的链表中。
8.如权利要求7所述的方法,其特征在在于,如果新输入的ACL规则与所述多核板卡中已存储的节点包含相同的规则,则拒绝存储该新输入的ACL规则。
9.如权利要求2或3所述的方法,其特征在于所述多核板卡进行规则删除的方法为:
1)根据输入的部分五元组信息,确定待删除规则的类别,查找该类别的hash表;
2)补充未输入的五元组元素,并将其值设为0,构造虚拟五元组;
3)对虚拟五元组信息进行哈希,确定待删除规则所在hash表的所在桶;
4)在所确定的桶中查找匹配的节点,将其删除。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京锐安科技有限公司,未经北京锐安科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110453837.8/1.html,转载请声明来源钻瓜专利网。