The present invention provides a method and device for realizing rule index management TCAM based on multilevel flow meter, the method comprises the following steps: sorting list corresponding to establish the rules of index based on the ranking list, including a rule index and / or two rules index; the two level rule index added to a rule the corresponding index, the two rule index including action table index, two level index look-up table and user-defined rule index; query the TCAM multi-level flow table, by returning to the level of rule index value to determine whether to level two look-up table, a look-up table and / or two level check the implementation of the corresponding action table according to the judgment result. The invention not only solves the problem of the multi level table lookup of the equipment for processing large flow and complex business, but also solves the difficulty of adding and searching the index in the prior art.
【技术实现步骤摘要】
本专利技术涉及计算机网络通信
及工业网络安全领域,具体涉及网络安全设备装置中多级流表查表机制实现的方法和装置。
技术介绍
随着信息化的不断深入和普及,网络信息安全技术已经受到世界各国的普遍重视,网络安全交换设备,防火墙,网关等设备在网络信息安全领域有着举足轻重的地位。在这样的大环境下,传统的基于三态内容寻址存储器(TCAM)的一级查表机制已经越来越不能满足提高信息安全性能的需求了。TCAM(Ternarycontentaddressablememory)是一种三态内容寻址存储器,主要用于快速查找访问控制列表(ACL),路由表等表项。现有的TCAM查表机制中,数据包从Ethernet网络接口中进如FPGA,FPGA会解析数据包,把数据包中相关的数据用于TCAM中查表,命中TCAM中表项后,根据查寻结果值做出相应执行动作,转发,丢弃或者进入CPU。FPGA通过一级查表TCAM,可以快速的命中各种类型的表。但是受TCAM查找规则所限,绝大多数TCAM最多仅支持576位查表。实验证明随着查表位数的增加,查表所需时钟周期也会线性增长,从而导致路由性能下降。对于普通设备来讲,基于TCAM的一级查表,比如十二元组的查表,已经可以满足用户的普通的性能需求了。但是对于高端设备而言,比如运行在网络核心和骨干位置,必然要处理巨大的流量,并且要处理多种复杂的业务,比如ACL流分类,策略路由,数据包过滤,数据包内容更 ...
【技术保护点】
一种基于TCAM多级流表的规则索引管理实现方法,其特征在于,该方法包括:基于所述规则索引建立相应的排序链表,所述排序链表包括一级规则索引和/或二级规则索引;将所述二级规则索引添加到相应的一级规则索引上,所述二级规则索引包括动作表索引,二级查表索引和用户自定义规则索引;查询所述TCAM多级流表,由所述一级规则索引的返回值判断是否需要二级查表,根据判断结果进行一级查表和/或二级查表执行相应处理动作。
【技术特征摘要】 【专利技术属性】
1.一种基于TCAM多级流表的规则索引管理实现方法,其特征在于,该
方法包括:
基于所述规则索引建立相应的排序链表,所述排序链表包括一级规则索引
和/或二级规则索引;
将所述二级规则索引添加到相应的一级规则索引上,所述二级规则索引包
括动作表索引,二级查表索引和用户自定义规则索引;
查询所述TCAM多级流表,由所述一级规则索引的返回值判断是否需要
二级查表,根据判断结果进行一级查表和/或二级查表执行相应处理动作。
2.根据权利要求1所述的一种基于TCAM多级流表的规则索引管理实现
方法,其特征在于,所述查询所述TCAM多级流表,由所述一级规则索引的
返回值判断是否需要二级查表,根据判断结果进行二级查表执行相应处理动作
的步骤还包括:
S1、查询TCAM中多元组规则数据,该规则数据最后一项是多元组规则
表索引,进行一级查表,所述一级查表的返回值中定位了用户自定义规则地址
索引;
S2、根据所述用户自定义规则地址索引读取用户自定义规则,所述用户自
定义规则用于定位和读取网络数据包中的数据,所述用户自定义规则的最后一
项是所述二级查表规则流表索引,根据所述二级查表规则流表索引,进行二级
查表;
S3、根据所述二级查表规则流表索引把网络数据包中的数据与用户自定义
流表数据匹配,获得返回值,所述返回值保存了用于最后执行的动作表地址索
引;
S4、根据所述动作表地址索引从SRAM相应位置读取动作表,执行所述
动作表中相应处理动作。
3.根据权利要求1所述的一种基于TCAM多级流表的规则索引管理实现
方法,其特征在于,
所述一级规则索引由一个排序链表管理,所述一级规则索引添加时与索引
链表中每个索引进行比较,当所述添加的一级规则索引已经存在,则添加索引
失败;当所述添加的一级规则索引没有存在,就把要添加的一级规则索引添加
到相应的排序链表中。
4.根据权利要求1所述的一种基于TCAM多级流表的规则索引管理实现
方法,其特征在于,
所述二级规则索引由自增型的排序链表管理,所述二级规则索引枚举索引
号时就与所述自增型的排序链表中的索引号比较,当所述枚举索引号已经存
在,则枚举下一个索引号,直到所述自增型的排序链表中不存在该索引号,然
后锁定该索引号并添加到所述自增型的排序链表中。
5.根据权利要求1所述的一种基于TCAM多级流表的规则索引管理实现
方法,其特征在于,
当删除所述规则索引时,指定一个一级规则索引,与其关联的二级规则索
引会跟着删除;
当删除十二元组对应的TCAM规则时,根据该一级规则索引,自动删除
与之关联的动作表索引和用户自定义规则索引;
当删除用户自定义对应的TCAM规则时,根据该一级规则索引,自动删
除二级查表索引。
技术研发人员:徐小海,
申请(专利权)人:北京东土科技股份有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。