一种应用于过滤分流设备的规则库管理模块的制作方法

文档序号:9618712阅读:349来源:国知局
一种应用于过滤分流设备的规则库管理模块的制作方法
【技术领域】
[0001]本发明涉及一种过滤分流设备,特别涉及一种过滤分流设备的规则库管理模块。
【背景技术】
[0002]目前市面上存在很多过滤分流类型的设备,这些设备通常都会涉及到规则库的应用,规则正是实现过滤分流的依据。随着规则数目的不断激增,规则库的管理变得越来越重要。规则的插入、删除、更新效率、存储规则库所占用的系统资源,都影响着设备最终的性能,大多数设备由于很难找到一种性价比最好的规则库管理模块,不惜以提升硬件设备的代价,如采用交换芯片、多核处理器等,来换取过滤分流性能的提升。

【发明内容】

[0003]鉴于现有技术存在的问题,本发明提供一种规则库管理模块,在不增加硬件成本的前提下,还能有效的提升过滤分流的性能,具体技术方案是,一种应用于过滤分流设备的规则库管理模块,由PC机、FPGA芯片、TCAM芯片组成,其特征在于:规则库管理模块位于PC机端,FPGA芯片和TCAM芯片位于分流设备端,其中PC机与FPGA芯片采用网口连接,FPGA芯片与TCAM芯片采用并口连接,PC机通过网口向FPGA芯片配置规则数据,FPGA芯片收到规则数据后,再通过并口向TCAM芯片进行规则配置,最终成功配置的规则会存储在TCAM芯片中,而PC机端的规则库管理模块也会存储成功配置的规则。
[0004]过滤分流设备的规则包括插入规则、删除规则,各规则的实现方法包括以下步骤:
1、插入规则步骤,步骤一、位于PC机端的规则库管理模块对原始规则进行判断是否是精确规则,是,直接将原始规则转化为用户规则表;否,则进行裂变处理、去冗余处理,最终生成η条规则(n=l或η>1),并形成用户规则表;步骤二、规则库管理模块对用户规则表进行处理,通过与互斥规则表、空闲TCAM地址表、TCAM规则表的各子项进行比对,发生冲突,直接给出错返回信息,然后,转步骤四,未发生冲突,则按照实际处理结果,更新互斥规则表、空闲TCAM地址表和TCAM规则表,使互斥规则表、空闲TCAM地址表、TCAM规则表包括了该用户规则表;步骤三、将更新的原始规则表、互斥规则表、空闲TCAM地址表、TCAM规则表的内容,存储到规则库管理模块对应的ini文件中,完成规则管理模块的信息存储;步骤四、处理完成,返回;2、删除规则步骤,步骤一、用户向规则库管理模块输入要删除的原始规则的ID,通过查询原始规则表,找到该规则在互斥规则表的具体位置,转到互斥规则表;步骤二、进入互斥规则表,找到该原始规则对应的具体信息,包括该原始规则经处理后变成几条子规则,各子规则存储在TCAM规则表的具体位置;步骤三、进入TCAM规则表,找到该原始规则对应的具体信息,包括规则ID和子规则ID,如果该条TCAM规则只涉及这1条原始规则,直接将其删除,如果该条TCAM规则还涉及其他原始规则,则只在规则ID和子规则ID信息中,去掉该条原始规则部分;步骤四、更新原始规则表、互斥规则表、空闲TCAM地址表、TCAM规则表,使原始规则表、互斥规则表、空闲TCAM地址表、TCAM规则表不再包括用户要求删除的原始规则;步骤五、将更新后的原始规则表、互斥规则表、空闲TCAM地址表、TCAM规则表的内容,存储到对应的ini文件中,完成规则管理模块的信息存储。步骤六、处理完成,返回。
[0005]本发明的技术效果是,实现了一种适用于中小型过滤分流设备的规则库管理模块,其不增加硬件成本,巧妙简洁的实现过滤分流中规则库的管理,并且占用系统资源少,实现简练,性能尚效。
【附图说明】
[0006]图1是本发明的模块连接图。
[0007]图2是本发明的规则库管理模块插入规则流程图。
[0008]图3是本发明的规则库管理模块删除规则流程图。
【具体实施方式】
[0009]以下结合实施例和附图对本发明作进一步说明:
一种Ρ0Ν相关的某过滤分流设备,该设备硬件上采用Xilinx的FPGA芯片和NetLogic的TCAM芯片,二者通信接口为并口,PC端安装本规则库管理模块,与Ρ0Ν过滤分流设备的通信接口为网口,该设备主要用于IP五元组类型的过滤分流,IP五元组是指由源IP地址、目的IP地址、源端口号、目的端口号、协议类型等5个字段组成的IP数据包,对于符合过滤规则的数据包,设备进行通过处理,对于不符合过滤规则的数据包,设备进行丢弃处理。
[0010]本规则库管理模块主要是通过5个链表实现规则库的管理,具体为:原始规则表、用户规则表、互斥规则表、TCAM规则表、空闲TCAM地址表,其中,原始规则表每项存储1条用户输入的原始规则,它是原始规则的合集。用户规则表用于存储1条原始规则经过处理后的规则,由于原始规则可能是范围规则或字段模糊规则,因此用户规则的作用就是将含有通配符的原始规则处理成不含通配符的1条或多条规则。互斥规则表每项存储1条用户规则,它是用户规则的合集。TCAM规则表每项存储1条TCAM规则,它是TCAM规则的合集。空闲TCAM地址表每项存储1个TCAM地址的空闲或占用状态,它是TCAM地址状态的合集。通过对这5个链表的关联处理,实现一个简洁而高效的规则库管理模块。
[0011]插入1条新的原始规则,具体做法是:
1.位于PC机端的规则库管理模块对原始规则进行判断是否是精确规则,该条ID值为2的原始规则是精确规则,直接将原始规则转化为用户规则表;
2.对1中生成的用户规则表进行处理,通过与现有互斥规则表、TCAM规则表、空闲TCAM地址表的各子项进行比对,完成冲突、包含、交集等关联的处理。我们发现,1中生成的用户规则与现有规则库,可以进行合并,因为ID值为1的原始规则的源IP地址为192.168.1.1,ID值为2的原始规则源IP地址为192.168.1.3,正是因为掩码的作用,可以将源IP地址的bitl位进行不关注设置。合并完成后,更新
互斥规则表、空闲TCAM地址表和TCAM规则表;
3.将原始规则表、互斥规则表、空闲TCAM地址表、TCAM规则表的内容,存储到对应的ini文件中,完成规则管理模块的信息存储。
[0012]这样,凡是符合RuleID=l或RuleID=2的原始规则的数据包,在通过Ρ0Ν设备时,都会进行通过处理。
[0013]删除1条原始规则,具体做法是: 1.位于PC机端的规则库管理模块,接收到用户要删除的原始规则的ID为2,通过查询原始规则表,转到互斥规则表。
[0014]2.在互斥规则表中,找到ID为2的原始规则在TCAM规则表的具体位置,转到TCAM规则表。进入到TCAM规则表,找到ID为2的原始规则所对应的TCAM规则,经判断确定该TCAM规则只涉及ID为2的原始规则,直接删除该条TCAM规则。并更新互斥规则表、空闲TCAM地址表和TCAM规则表。
[0015]3.将原始规则表、互斥规则表、空闲TCAM地址表、TCAM规则表的内容,存储到对应的ini文件中,完成规则管理模块的信息存储。
[0016]这样,凡是符合RuleID=2的原始规则的数据包,在通过Ρ0Ν设备时,设备将不会进行通过处理。
[0017]该规则库管理模块应用在Ρ0Ν相关的过滤分流设备中,该分流设备支持的原始规则在10万条左右。实际使用中,规则库的插入、删除都很快速,并且规则库的存储也只有几十兆,对系统资源的占用率很小,并且节约了硬件成本,应用效果良好。
【主权项】
1.一种应用于过滤分流设备的规则库管理模块,由PC机、FPGA芯片、TCAM芯片组成,其特征在于:规则库管理模块位于PC机端,FPGA芯片和TCAM芯片位于分流设备端,其中PC机与FPGA芯片采用网口连接,FPGA芯片与TCAM芯片采用并口连接,PC机通过网口向FPGA芯片配置规则数据,FPGA芯片收到规则数据后,再通过并口向TCAM芯片进行规则配置,最终成功配置的规则会存储在TCAM芯片中,而PC机端的规则库管理模块也会存储成功配置的规则。2.—种过滤分流设备的规则库管理实现方法,其特征在于:过滤分流设备的规则包括插入规则、删除规则,各规则的实现方法包括以下步骤: 1、插入规则步骤 步骤一、位于PC机端的规则库管理模块对原始规则进行判断是否是精确规则,是,直接将原始规则转化为用户规则表;否,则进行裂变处理、去冗余处理,最终生成η条规则(η=1或η>1),并形成用户规则表; 步骤二、规则库管理模块对用户规则表进行处理,通过与互斥规则表、空闲TCAM地址表、TCAM规则表的各子项进行比对,发生冲突,直接给出错返回信息,然后,转步骤四,未发生冲突,则按照实际处理结果,更新互斥规则表、空闲TCAM地址表和TCAM规则表,使互斥规则表、空闲TCAM地址表、TCAM规则表包括了该用户规则表; 步骤三、将更新的原始规则表、互斥规则表、空闲TCAM地址表、TCAM规则表的内容,存储到规则库管理模块对应的ini文件中,完成规则管理模块的信息存储; 步骤四、处理完成,返回; 2、删除规则步骤 步骤一、用户向规则库管理模块输入要删除的原始规则的ID,通过查询原始规则表,找到该规则在互斥规则表的具体位置,转到互斥规则表; 步骤二、进入互斥规则表,找到该原始规则对应的具体信息,包括该原始规则经处理后变成几条子规则,各子规则存储在TCAM规则表的具体位置; 步骤三、进入TCAM规则表,找到该原始规则对应的具体信息,包括规则ID和子规则ID,如果该条TCAM规则只涉及这1条原始规则,直接将其删除,如果该条TCAM规则还涉及其他原始规则,则只在规则ID和子规则ID信息中,去掉该条原始规则部分; 步骤四、更新原始规则表、互斥规则表、空闲TCAM地址表、TCAM规则表,使原始规则表、互斥规则表、空闲TCAM地址表、TCAM规则表不再包括用户要求删除的原始规则; 步骤五、将更新后的原始规则表、互斥规则表、空闲TCAM地址表、TCAM规则表的内容,存储到对应的ini文件中,完成规则管理模块的信息存储; 步骤六、处理完成,返回。
【专利摘要】本发明涉及一种过滤分流设备的规则库管理模块,由PC机、FPGA芯片、TCAM芯片组成,规则库管理模块位于PC机端,FPGA芯片和TCAM芯片位于分流设备端,其中PC机与FPGA芯片采用网口连接,FPGA芯片与TCAM芯片采用并口连接,PC机通过网口向FPGA芯片配置规则数据,FPGA芯片收到规则数据后,再通过并口向TCAM芯片进行规则配置,最终成功配置的规则会存储在TCAM芯片中,而PC机端的规则库管理模块也会存储成功配置的规则,技术效果是,实现了一种适用于中小型过滤分流设备的规则库管理模块,其不增加硬件成本,巧妙简洁的实现过滤分流中规则库的管理,并且占用系统资源少,实现简练,性能高效。
【IPC分类】H04L29/06
【公开号】CN105376241
【申请号】CN201510840443
【发明人】杨晓波, 刘佳, 郝书宁, 钱瑞杰, 陈伟峰, 梁秀芹, 李响, 张亚望, 孟祥坤, 陈 光
【申请人】天津光电通信技术有限公司
【公开日】2016年3月2日
【申请日】2015年11月27日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1