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

技术编号:9644134 阅读:100 留言:0更新日期:2014-02-07 04:38
本发明专利技术提出了一种高速数据包过滤电路,包括:第一缓存器、第二缓存器、预置双口RAM、延时器和比较器,输入数据包括:包头、包尾、数据使能及8位宽数据;所述输入数据分成两路,一路送入所述第一缓存器缓存,另一路经所述延时器延时后与所述预置双口RAM中的过滤数据在所述比较器进行比较,比较产生的结果信号在包尾和同步时钟组合控制下送入所述第二缓存器缓存,并由所述第一缓存器输出数据中的包头信号和同步时钟组合控制所述结果信号的读出,再由读出信号控制所述第一缓存器输出的数据。本发明专利技术的高速数据包过滤电路仅用了一位宽的FIFO,简化了电路设计,降低设计成本。

【技术实现步骤摘要】
一种高速数据包过滤电路及方法
本专利技术涉及网络
,特别涉及一种高速数据包过滤电路,还涉及一种高速数据包过滤方法。
技术介绍
数据包过滤是实现网络内容分析、监控及维护网络信息安全的关键技术。对于当前高速环境下的数据过滤,软件过滤算法的处理速度难以跟上网络发展的步伐,使用硬件对高速网络数据进行过滤成为一种必然的选择。通常硬件过滤方法是先将当前过滤的数据包缓存,并进行数据比较处理,待比较结束或该数据包结束后,再根据比较结果确定对数据包的取舍。由于当前硬件资源的限制,为了满足更高的过滤效率,往往要丢弃或部分丢弃首个比对的数据包内容,这样不利于对IP数据内容的分析。若要实现当前数据包的完整保存,则要增加缓冲空间及相应处理电路,这样会带来数据包延时的增加,降低了过滤效率,增加了设计成本。
技术实现思路
本专利技术提出一种高速数据包过滤电路及方法,解决了现有技术中无法实现将当前数据包完整保存的问题。本专利技术的技术方案是这样实现的:一种高速数据包过滤电路,包括:第一缓存器、第二缓存器、预置双口RAM、延时器和比较器;所述输入数据分成两路,一路送入所述第一缓存器缓存,另一路经所述延时器延时后与所述预置双口RAM中的过滤数据在所述比较器进行比较,比较产生的结果信号在包尾与同步时钟组合控制下送入所述第二缓存器缓存,并由所述第一缓存器输出数据中的包头信号与同步时钟组合控制所述结果信号的读出,再由该读出信号控制所述第一缓存器输出的数据。本专利技术还提供了一种高速数据包过滤方法,包括以下步骤:步骤(a),输入数据分成两路,一路送入第一缓存器缓存,另一路经延时器延时后与预置双口RAM中的过滤数据在比较器进行比较;步骤(b),比较产生的结果信号在包尾与同步时钟组合控制下送入第二缓存器缓存,并由第一缓存器输出数据中的包头信号与同步时钟组合控制所述结果信号的读出,再由读出信号控制第一缓存器输出的数据。本专利技术的有益效果是:(1)利用FIFO对比较的一位信息进行缓存,并与当前数据包的包头及包尾等信号构成反馈控制电路,实现对当前数据包的完整使能;(2)本专利技术仅用了一位宽的FIFO,简化了电路设计,降低设计成本。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术一种高速数据包过滤电路的控制框图;图2为本专利技术高速数据包过滤电路的输入信号构成图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。图1中英文字母的释义具体为:clock:数据时钟;frm-st:数据包起始脉冲;frm-end:数据包结束脉冲;frm-en:数据包有效信号;data-in:要过滤的数据;cpu-en:控制器发出的过滤使能信号;cpu-addr、cpu-data、cpu-clk:为写入存储器中的控制地址、过滤数据、写入时钟;data-out:过滤后的数据;filt-data:当前过滤数据。如图1所示,本专利技术的一种高速数据包过滤电路包括:第一缓存器(FIFO11)、第二缓存器(FIFO1)、预置双口RAM(DPRAM)、延时器和比较器,输入数据(data-in)包括:包头(frm-st)、包尾(frm-end)、数据使能(frm-en)及8位宽数据。数据包过滤过程是由数据包的包头(frm-st)、包尾(frm-end)、数据使能(frm-en)等信号在数据时钟(clock)的同步下进行相应的组合来控制完成,具体过程如下:输入数据(data-in)分成两路,一路送入第一缓存器(FIFO11)缓存,另一路经延时器延时后与预置双口RAM(DPRAM)中的过滤数据在比较器进行比较,比较产生的结果信号在包尾与同步时钟组合控制下送入第二缓存器(FIFO1)缓存,并由第一缓存器(FIFO11)输出数据中的包头信号与同步时钟组合控制结果信号的读出,再由该读出信号控制第一缓存器(FIFO11)输出的数据,完成过滤数据包的选择。上述同步时钟为数据时钟(clock)的同步信号。如图2所示,输入数据(data-in)包括:包头(frm-st)、包尾(frm-end)、数据使能(frm-en)及8位宽数据。本专利技术还提供了一种高速数据包过滤方法,包括以下步骤:步骤(a),输入数据分成两路,一路送入第一缓存器缓存,另一路经延时器延时后与预置双口RAM中的过滤数据在比较器进行比较;步骤(b),比较产生的结果信号在包尾与同步时钟组合控制下送入第二缓存器缓存,并由第一缓存器输出数据中的包头信号与同步时钟组合控制所述结果信号的读出,再由该读出信号控制第一缓存器输出的数据。本专利技术的高速数据包过滤电路及方法,利用FIFO对比较的一位信息进行缓存,并与当前数据包的包头及包尾等信号构成反馈控制电路,实现对当前数据包的完整使能;只需对比较结果信息进行缓存,大大降低对FIFO容量的要求,仅用了一位宽的FIFO,简化了电路设计,降低设计成本。以上所述仅为本专利技术的较佳实施例而已,并不用以限制本专利技术,凡在本专利技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。本文档来自技高网...
一种高速数据包过滤电路及方法

【技术保护点】
一种高速数据包过滤电路,其特征在于,包括:第一缓存器、第二缓存器、预置双口RAM、延时器和比较器;所述输入数据分成两路,一路送入所述第一缓存器缓存,另一路经所述延时器延时后与所述预置双口RAM中的过滤数据在所述比较器进行比较,比较产生的结果信号在包尾与同步时钟组合控制下送入所述第二缓存器缓存,并由所述第一缓存器输出数据中的包头信号和同步时钟组合控制所述结果信号的读出,再由该读出信号控制所述第一缓存器输出的数据。

【技术特征摘要】
1.一种高速数据包过滤电路,其特征在于,包括:第一缓存器、第二缓存器、预置双口RAM、延时器和比较器;输入数据分成两路,一路送入所述第一缓存器缓存,另一路经所述延时器延时后与所述预置双口RAM中的过滤数据在所述比较器进行比较,比较产生的结果信号在包尾与同步时钟组合控制下送入所述第二缓存器缓存,并由所述第一缓存器输出数据中的包头信号和同步时钟组合控制所述结果信号的读出,再由时钟信号控制...

【专利技术属性】
技术研发人员:刘宇胡亚平包思云
申请(专利权)人:中国电子科技集团公司第四十一研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1