The invention provides a high-speed regular expression matching hybrid system and method based on FPGA+NPU, which is mainly composed of a field programmable gate array FPGA chip and a multi-core network processor NPU. Multiple parallel hardware matching engines are implemented on the FPGA, where multiple software matching engines are instantiated on the NPU, and the hardware engine and software engine work in a pipelined manner. At the same time, the use of FPGA chip RAM and DDR3 chip SDRAM memory high-speed construction of two level storage architecture. The second step is to compile regular expression rules and generate hybrid automata. The third step is to configure the state table entries of hybrid automata. The fourth step is network message processing. The invention greatly improves the matching performance under the condition of the complex rule set, and solves the problem of low performance under the complex rule set.
【技术实现步骤摘要】
基于FPGA+NPU的高速正则表达式匹配混合系统及方法
本专利技术主要支持高速网络中的深度报文检测技术,主要应用于入侵检测系统、协议识别系统中。
技术介绍
名词解释FPGA:(英语:FieldProgrammableGateArray,缩写为FPGA),现场可编程门阵列。NPU:(英语:NetworkProcessingUnit,缩写为NPU),是一种专门应用于网络应用数据包的处理器。FSM:(英语:finitestateautomata,缩写为FSM),有限状态自动机。DFA:(英语:deterministicfiniteautomata,缩写为DFA),确定性有限自动机NFA:(英语:nondeterministicfiniteautomata,缩写为NFA),非确定性有限自动机。Hybrid-FA:(英语:hybridfiniteautomata,缩写为Hybrid-FA),混合自动机。GPU:(英语:graphicsprocessingunit,缩写为GPU),图形处理器。TCAM:(ternarycontentaddressablememory,缩写为TCAM),一种三态内容寻址存储器。SDRAM:(SynchronousDynamicRandomAccessMemory,缩写为SDRAM),同步动态随机存储器。DDR3SDRAM:(Double-Data-RateThreeSynchronousDynamicRandomAccessMemory,缩写为DDR3SDRAM),第三代双倍数据率同步动态随机存取存储器,是一种电脑存储器规格。RAM:( ...
【技术保护点】
一种基于FPGA+NPU的高速正则表达式匹配混合系统,其特征在于,包括FPGA+NPU的软硬件结合匹配的混合系统,FPGA+NPU的软硬件结合匹配的混合系统,包括正则表达匹配引擎;正则表达式匹配引擎由硬件引擎和软件引擎两部分组成,硬件引擎是通过FPGA芯片上的可编程逻辑元件布局、布线、烧录生成,软件引擎通过在NPU上软件编程实现,硬件引擎和软件引擎之间通过数据缓冲区连接;所述FPGA芯片上设计若干个硬件引擎,NPU上根据其支持的线程数实例化若干个软件线程;硬件引擎的存储器包括两级,FPGA的片上RAM作为一级存储器,存储访问概率较高的DFA状态;RAM存储器划分成多个存储块,每两个硬件引擎通过双端口RAM独占一个RAM存储块;FPGA片外DDR3SDRAM作为二级存储器,存储整个混合自动机的状态表项,混合自动机的状态表项由所有的硬件引擎和软件引擎共享。
【技术特征摘要】
1.一种基于FPGA+NPU的高速正则表达式匹配混合系统,其特征在于,包括FPGA+NPU的软硬件结合匹配的混合系统,FPGA+NPU的软硬件结合匹配的混合系统,包括正则表达匹配引擎;正则表达式匹配引擎由硬件引擎和软件引擎两部分组成,硬件引擎是通过FPGA芯片上的可编程逻辑元件布局、布线、烧录生成,软件引擎通过在NPU上软件编程实现,硬件引擎和软件引擎之间通过数据缓冲区连接;所述FPGA芯片上设计若干个硬件引擎,NPU上根据其支持的线程数实例化若干个软件线程;硬件引擎的存储器包括两级,FPGA的片上RAM作为一级存储器,存储访问概率较高的DFA状态;RAM存储器划分成多个存储块,每两个硬件引擎通过双端口RAM独占一个RAM存储块;FPGA片外DDR3SDRAM作为二级存储器,存储整个混合自动机的状态表项,混合自动机的状态表项由所有的硬件引擎和软件引擎共享。2.如权利要求1所述的于FPGA+NPU的高速正则表达式匹配混合系统,其特征在于,所述硬件引擎和软件引擎以流水化的方式工作,网络报文的匹配先由FPGA上的硬件引擎处理,硬件引擎处理完成后,再由FPGA上的任务传输单元交由NPU的软件引擎处理。3.一种基于FPGA+NPU的高速正则表达式匹配方法,其特征在于,基于该正则表达式匹配方法的步骤为:第一步、处理正则表达式,生成混合自动机;首先将正则表达式规则集编译成一个NFA,然后将NFA再编译成混合自动机;对混合自...
【专利技术属性】
技术研发人员:苏金树,陈曙晖,赵宝康,徐成成,王小峰,王飞,张博锋,孙一品,
申请(专利权)人:中国人民解放军国防科学技术大学,
类型:发明
国别省市:湖南,43
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。