一种高速数据包过滤电路及方法

文档序号:7776241阅读:209来源:国知局
一种高速数据包过滤电路及方法
【专利摘要】本发明提出了一种高速数据包过滤电路,包括:第一缓存器、第二缓存器、预置双口RAM、延时器和比较器,输入数据包括:包头、包尾、数据使能及8位宽数据;所述输入数据分成两路,一路送入所述第一缓存器缓存,另一路经所述延时器延时后与所述预置双口RAM中的过滤数据在所述比较器进行比较,比较产生的结果信号在包尾和同步时钟组合控制下送入所述第二缓存器缓存,并由所述第一缓存器输出数据中的包头信号和同步时钟组合控制所述结果信号的读出,再由读出信号控制所述第一缓存器输出的数据。本发明的高速数据包过滤电路仅用了一位宽的FIFO,简化了电路设计,降低设计成本。
【专利说明】一种高速数据包过滤电路及方法
【技术领域】
[0001]本发明涉及网络【技术领域】,特别涉及一种高速数据包过滤电路,还涉及一种高速数据包过滤方法。
【背景技术】
[0002]数据包过滤是实现网络内容分析、监控及维护网络信息安全的关键技术。对于当前高速环境下的数据过滤,软件过滤算法的处理速度难以跟上网络发展的步伐,使用硬件对高速网络数据进行过滤成为一种必然的选择。通常硬件过滤方法是先将当前过滤的数据包缓存,并进行数据比较处理,待比较结束或该数据包结束后,再根据比较结果确定对数据包的取舍。
[0003]由于当前硬件资源的限制,为了满足更高的过滤效率,往往要丢弃或部分丢弃首个比对的数据包内容,这样不利于对IP数据内容的分析。若要实现当前数据包的完整保存,则要增加缓冲空间及相应处理电路,这样会带来数据包延时的增加,降低了过滤效率,增加了设计成本。

【发明内容】

[0004]本发明提出一种高速数据包过滤电路及方法,解决了现有技术中无法实现将当前数据包完整保存的问题。
[0005]本发明的技术方案是这样实现的:
[0006]一种高速数据包过滤电路,包括:第一缓存器、第二缓存器、预置双口 RAM、延时器和比较器;
[0007]所述输入数据分成两路,一路送入所述第一缓存器缓存,另一路经所述延时器延时后与所述预置双口 RAM中的过滤数据在所述比较器进行比较,比较产生的结果信号在包尾与同步时钟组合控制下送入所述第二缓存器缓存,并由所述第一缓存器输出数据中的包头信号与同步时钟组合控制所述结果信号的读出,再由该读出信号控制所述第一缓存器输出的数据。
[0008]本发明还提供了一种高速数据包过滤方法,包括以下步骤:
[0009]步骤(a),输入数据分成两路,一路送入第一缓存器缓存,另一路经延时器延时后与预置双口 RAM中的过滤数据在比较器进行比较;
[0010]步骤(b),比较产生的结果信号在包尾与同步时钟组合控制下送入第二缓存器缓存,并由第一缓存器输出数据中的包头信号与同步时钟组合控制所述结果信号的读出,再由读出信号控制第一缓存器输出的数据。
[0011]本发明的有益效果是:
[0012](I)利用FIFO对比较的一位信息进行缓存,并与当前数据包的包头及包尾等信号构成反馈控制电路,实现对当前数据包的完整使能;
[0013](2)本发明仅用了一位宽的FIFO,简化了电路设计,降低设计成本。【专利附图】

【附图说明】
[0014]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0015]图1为本发明一种高速数据包过滤电路的控制框图;
[0016]图2为本发明高速数据包过滤电路的输入信号构成图。
【具体实施方式】
[0017]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0018]图1中英文字母的释义具体为:clock:数据时钟;frm-st:数据包起始脉冲;frm-end:数据包结束脉冲;frm_en:数据包有效信号;data_in:要过滤的数据;cpu_en:控制器发出的过滤使能信号;cpu_addr、cpu_data、cpu-clk:为写入存储器中的控制地址、过滤数据、写入时钟;data-out:过滤后的数据;filt_data:当前过滤数据。
[0019]如图1所示,本发明的一种高速数据包过滤电路包括:第一缓存器(FIFOll)、第二缓存器(FIF01)、预置双口 RAM(DPRAM)、延时器和比较器,输入数据(data-1n)包括:包头(frm-st)、包尾(frm-end)、数据使能(frm_en)及8位宽数据。
[0020]数据包过滤过程是由数据包的包头(frm-st)、包尾(frm-end)、数据使能(frm-en)等信号在数据时钟(clock)的同步下进行相应的组合来控制完成,具体过程如下:输入数据(data-1n)分成两路,一路送入第一缓存器(FIFOll)缓存,另一路经延时器延时后与预置双口 RAM(DPRAM)中的过滤数据在比较器进行比较,比较产生的结果信号在包尾与同步时钟组合控制下送入第二缓存器(FIFOl)缓存,并由第一缓存器(FIFOll)输出数据中的包头信号与同步时钟组合控制结果信号的读出,再由该读出信号控制第一缓存器(FIFOll)输出的数据,完成过滤数据包的选择。上述同步时钟为数据时钟(clock)的同步信号。
[0021]如图2所示,输入数据(data-1n)包括:包头(frm_st)、包尾(frm-end)、数据使能(frm-en)及8位宽数据。
[0022]本发明还提供了一种高速数据包过滤方法,包括以下步骤:
[0023]步骤(a),输入数据分成两路,一路送入第一缓存器缓存,另一路经延时器延时后与预置双口 RAM中的过滤数据在比较器进行比较;
[0024]步骤(b),比较产生的结果信号在包尾与同步时钟组合控制下送入第二缓存器缓存,并由第一缓存器输出数据中的包头信号与同步时钟组合控制所述结果信号的读出,再由该读出信号控制第一缓存器输出的数据。
[0025]本发明的高速数据包过滤电路及方法,利用FIFO对比较的一位信息进行缓存,并与当前数据包的包头及包尾等信号构成反馈控制电路,实现对当前数据包的完整使能;只需对比较结果信息进行缓存,大大降低对FIFO容量的要求,仅用了一位宽的FIFO,简化了电路设计,降低设计成本。
[0026]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种高速数据包过滤电路,其特征在于,包括:第一缓存器、第二缓存器、预置双口RAM、延时器和比较器; 所述输入数据分成两路,一路送入所述第一缓存器缓存,另一路经所述延时器延时后与所述预置双口 RAM中的过滤数据在所述比较器进行比较,比较产生的结果信号在包尾与同步时钟组合控制下送入所述第二缓存器缓存,并由所述第一缓存器输出数据中的包头信号和同步时钟组合控制所述结果信号的读出,再由该读出信号控制所述第一缓存器输出的数据。
2.一种高速数据包过滤方法,其特征在于,包括以下步骤: 步骤(a),输入数据分成两路,一路送入第一缓存器缓存,另一路经延时器延时后与预置双口 RAM中的过滤数据在比较器进行比较; 步骤(b),比较产生的结果信号在包尾与同步时钟组合控制下送入第二缓存器缓存,并由第一缓存器输出数据中的包头信号与同步时钟组合控制所述结果信号的读出,再由该读出信号控制第一缓存器输出的数据。
【文档编号】H04L12/24GK103560916SQ201310561458
【公开日】2014年2月5日 申请日期:2013年11月4日 优先权日:2013年11月4日
【发明者】刘宇, 胡亚平, 包思云 申请人:中国电子科技集团公司第四十一研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1