CN102387160A - 一种基于ip报文五元组过滤策略的系统和方法 - Google Patents
一种基于ip报文五元组过滤策略的系统和方法 Download PDFInfo
- Publication number
- CN102387160A CN102387160A CN2011104136064A CN201110413606A CN102387160A CN 102387160 A CN102387160 A CN 102387160A CN 2011104136064 A CN2011104136064 A CN 2011104136064A CN 201110413606 A CN201110413606 A CN 201110413606A CN 102387160 A CN102387160 A CN 102387160A
- Authority
- CN
- China
- Prior art keywords
- tuple
- data
- address
- fifo
- dispatchfsm
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种基于IP报文五元组过滤策略的系统和方法,所述系统包括五元组的FIFO、DispatchFSM仲裁模块、HashFilter、结果收集器模块和SRAM访问控制器,其中存储五元组的FIFO的数据被DispatchFSM仲裁模块分发到多个HashFilter中,SRAM访问控制器从多个Hash过滤器读取数据并进行规则匹配;所述方法首先将用户设定的规则表通过PCIe接口按照一定的算法写入到QDR的某个地址,当存储五元组的FIFO有数据时,从FIFO中读取一组数据,通过四元组按照相同的算法计算出存贮与之对应的在QDR中的规则,将其取出后进行比较,若匹配则成功,将规则中的动作信息提取出传输给后续模块,按照用户要求产生相应的数据包。本发明提供的过滤策略的系统和方法,不会大量占用内核资源,降低了系统调用带来的开销。
Description
技术领域
本发明属于网络安全领域,具体涉及一种基于IP报文五元组过滤策略的系统和方法。
背景技术
公开号为CN101068229的申请专利基于Linux系统平台,实现了网络内容分析与实时监控。实现了在网络层过滤应用层信息的目的,利用网络过滤器Netfilter框架,在内核态下进行数据包采集与过滤。其大量使用了Linux内核资源,增加了系统调用带来的开销。
本发明采用FPGA实现了针对IP包中的源目IP地址,源目端口以及协议进行过滤的策略,可解放CPU,从而提高主机的性能,增强对网络的监控能力,保证网络的安全性。
发明内容
本发明克服现有技术不足,采用FPGA实现了针对IP包中的源目IP地址,源目端口以及协议进行过滤的策略,可解放CPU,从而提高主机的性能,增强对网络的监控能力,保证网络的安全性。
本发明提供了一种基于IP报文五元组过滤策略的系统,包括五元组的FIFO、DispatchFSM仲裁模块、HashFilter、结果收集器模块和SRAM访问控制器,其中存储五元组的FIFO的数据被DispatchFSM仲裁模块分发到多个HashFilter中,SRAM访问控制器从多个Hash过滤器读取数据并进行规则匹配。
本发明提供了一种基于IP报文五元组过滤策略的系统,包括AppInfoRam,用于存储附加信息。
本发明提供了一种基于IP报文五元组过滤策略的系统,DispatchFSM仲裁模块轮询的将每个四元组产生的地址写入到HashFilter中。
本发明提供了一种基于IP报文五元组过滤策略的系统,Hash过滤器是并行的。
本发明还提供了一种基于IP报文五元组过滤策略的方法,首先将用户设定的规则表通过PCIe接口按照一定的算法写入到QDR的某个地址,当存储五元组的FIFO有数据时,从FIFO中读取一组数据,通过四元组按照相同的算法计算出存贮与之对应的在QDR中的规则,将其取出后进行比较,若匹配则成功,将规则中的动作信息提取出传输给后续模块,按照用户要求产生相应的数据包。
本发明提供的基于IP报文五元组过滤策略的方法,利用DispatchFSM仲裁模块实现数据的仲裁,轮询的将每个四元组产生的地址写入对应的HashFilter中。
本发明提供的基于IP报文五元组过滤策略的方法,SRAM访问控制器从多个Hash过滤器的访问请求中选择一个,发送到规则管理模块进行匹配。
本发明提供的基于IP报文五元组过滤策略的方法,DispatchFSM仲裁模块将四元组产生的地址写到Buffer中,并将四元组数据写入到与Buffer对应的HashFilter中。
本发明提供的基于IP报文五元组过滤策略的方法,该方法采用FPGA可编程技术,针对源目IP地址、源目端口以及协议进行过滤。
本发明提供的基于IP报文五元组过滤策略的方法,结果收集器将所有Hash过滤器产生的过滤结果收集起来,并通知PCI-E控制器。
本发明提供的基于IP报文五元组过滤策略的方法,首先将每个“元”执行32位异或运算得到一个32位数,将这个数右移17位并与本身异或,再将得到的结果左移15位并与本身进行一次异或运算得到一个新的32位数,从而产生地址T。
本发明提供的基于IP报文五元组过滤策略的方法,每个四元组产生的地址被提供给QDR SDRAM,并读取其对应的规则。
本发明提供的基于IP报文五元组过滤策略的方法,将每个五元组产生的12个地址依次写入RAM中,之后再读取下一个五元组并进行同样操作。
本发明提供的基于IP报文五元组过滤策略的方法,每一个五元组产生的12个地址对应一个Buffer;从Buffer中取出一个地址进行Hash过滤。
与现有技术相比,本发明的有益效果在于:不在内核态下进行数据包采集与过滤,从而不会大量占用内核资源,降低了系统调用带来的开销。而且本发明采用FPGA实现了针对IP包中的源目IP地址,源目端口以及协议进行过滤的策略,解放了CPU,在提高主机的性能的同时,也保证了网络的安全性。
附图说明
图1是本发明结构示意图;
图2是本发明的五元组产生12个地址对应的Buffer示意图;
图3是本发明的DispatchFSM状态机流程示意图。
具体实施方式
该方法主要检测网络数据包的源目IP地址,源目端口以及协议,与规则表中的源目IP地址,源目端口以及协议进行匹配。结果一致的数据包,根据规则过滤结果,分析包头信息及过滤动作,判断是否发送封堵包以及发送哪种类型的封堵包。
本发明采用FPGA可编程技术,针对源目IP地址、源目端口以及协议进行过滤。首先将用户设定的规则表通过PCIe接口按照一定的算法写入到QDR的某个地址,当存储五元组的FIFO有数据时,从FIFO中读取一组数据,通过四元组按照相同的算法计算出存贮与之对应的在QDR中的规则,将其取出后进行比较,若匹配则成功,将规则中的动作信息提取出传输给后续模块,按照用户要求产生相应的数据包。
结构框图如下所示,该结构采用8路流水实现并行处理。规则过滤模块有1个DispatchFSM仲裁模块实现数据的仲裁,轮询的将每个四元组产生的地址写入到Buffer中,并将四元组数据写入到与Buffer对应的HashFilter中。片外SRAM访问控制器从8个Hash过滤器的访问请求中选择一个,发送到规则管理模块。当所查询的规则数据返回时,通知对应的Hash过滤器。
结果收集器将所有Hash过滤器产生的过滤结果收集起来,通知PCI-E控制器。由于所得到的计算结果相对较少,我们使用一个结果收集器即可。
首先将本轮中使能的每个“元”执行32位异或运算得到一个32位数,将这个数右移17位并与本身异或,再将得到的结果左移15位并与本身进行一次异或运算得到一个新的32位数,这个数就是产生的地址T,该地址需要提供给QDR SDRAM,读取其对应的规则。将产生的12个地址依次写入RAM0中;完成此操作后再读取另一个五元组,进行计算将其地址写入RAM1中;依次再向RAM2,RAM7写入。并将附加信息存入AppInfoRam中,AppInfoRam存储数据格式如图2;
每一个五元组产生的12个地址对应一个Buffer;从Buffer中取出一个地址进行Hash过滤。
规则过滤算法是一个复杂耗时的算法,需要进行大量的数学逻辑运算。为了加速规则过滤,最好的办法就是增加处理电路的并行性,利用多个数学逻辑单元(过滤单元)同时过滤多个IP报文的五元组。
根据所选用FPGA芯片规模的不同,我们可以实现不同数量的过滤单元。当然,各个并行运算部件的数量应该与各总算法运算量的大小成比例,图中用了1个DispatchFsm仲裁模块、8个Hash过滤器。
模块DispatchFSM状态机如图3所示。
以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所述领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者同等替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求范围当中。
Claims (14)
1.一种基于IP报文五元组过滤策略的系统,包括五元组的FIFO、DispatchFSM仲裁模块、HashFilter、结果收集器模块和SRAM访问控制器,其中存储五元组的FIFO的数据被DispatchFSM仲裁模块分发到多个HashFilter中,SRAM访问控制器从多个Hash过滤器读取数据并进行规则匹配。
2.权利要求1的系统,其特征在于包括AppInfoRam,用于存储附加信息。
3.权利要求1-2的系统,其特征在于DispatchFSM仲裁模块轮询的将每个四元组产生的地址写入到HashFilter中。
4.权利要求1-3的系统,其特征在于Hash过滤器是并行的。
5.一种基于IP报文五元组过滤策略的方法,首先将用户设定的规则表通过PCIe接口按照一定的算法写入到QDR的某个地址,当存储五元组的FIFO有数据时,从FIFO中读取一组数据,通过四元组按照相同的算法计算出存贮与之对应的在QDR中的规则,将其取出后进行比较,若匹配则成功,将规则中的动作信息提取出传输给后续模块,按照用户要求产生相应的数据包。
6.权利要求5的方法,其特征在于利用DispatchFSM仲裁模块实现数据的仲裁,轮询的将每个四元组产生的地址写入对应的HashFilter中。
7.权利要求5-6的方法,其特征在于SRAM访问控制器从多个Hash过滤器的访问请求中选择一个,发送到规则管理模块进行匹配。
8.权利要求5-7的方法,其特征在于DispatchFSM仲裁模块将四元组产生的地址写到Buffer中,并将四元组数据写入到与Buffer对应的HashFilter中。
9.权利要求5-8的方法,其特征在于该方法采用FPGA可编程技术,针对源目IP地址、源目端口以及协议进行过滤。
10.权利要求5-9的方法,其特征在于结果收集器将所有Hash过滤器产生的过滤结果收集起来,并通知PCI-E控制器。
11.权利要求5-10的方法,其特征在于首先将每个“元”执行32位异或运算得到一个32位数,将这个数右移17位并与本身异或,再将得到的结果左移15位并与本身进行一次异或运算得到一个新的32位数,从而产生地址T。
12.权利要求5-11的方法,其特征在于,每个四元组产生的地址被提供给QDR SDRAM,并读取其对应的规则。
13.权利要求5-12的方法,其特征在于,将每个五元组产生的12个地址依次写入RAM中,之后再读取下一个五元组并进行同样操作。
14.权利要求5-13的方法,其特征在于,每一个五元组产生的12个地址对应一个Buffer;从Buffer中取出一个地址进行Hash过滤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110413606.4A CN102387160B (zh) | 2011-12-13 | 2011-12-13 | 一种基于ip报文五元组过滤策略的系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110413606.4A CN102387160B (zh) | 2011-12-13 | 2011-12-13 | 一种基于ip报文五元组过滤策略的系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102387160A true CN102387160A (zh) | 2012-03-21 |
CN102387160B CN102387160B (zh) | 2014-10-22 |
Family
ID=45826134
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110413606.4A Active CN102387160B (zh) | 2011-12-13 | 2011-12-13 | 一种基于ip报文五元组过滤策略的系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102387160B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106254395A (zh) * | 2016-10-08 | 2016-12-21 | 湖南智卓创新信息产业股份有限公司 | 一种数据过滤方法及系统 |
CN107483508A (zh) * | 2017-09-30 | 2017-12-15 | 北京东土军悦科技有限公司 | 报文过滤方法、装置、设备及存储介质 |
CN114006868A (zh) * | 2021-10-30 | 2022-02-01 | 杭州迪普信息技术有限公司 | 流量筛选方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1564547A (zh) * | 2004-03-25 | 2005-01-12 | 上海复旦光华信息科技股份有限公司 | 保持连接特性的高速过滤分流方法 |
US20080049679A1 (en) * | 2006-08-22 | 2008-02-28 | Samsung Electronics Co., Ltd. | Apparatus and method for filtering packet in a network system using mobile ip |
CN101572891A (zh) * | 2009-06-15 | 2009-11-04 | 东南大学 | 基于fpga的3g数据包过滤系统及方法 |
CN101702723A (zh) * | 2009-10-30 | 2010-05-05 | 曙光信息产业(北京)有限公司 | Ip报文的过滤方法和装置 |
CN101707617A (zh) * | 2009-12-04 | 2010-05-12 | 福建星网锐捷网络有限公司 | 报文过滤方法、装置及网络设备 |
-
2011
- 2011-12-13 CN CN201110413606.4A patent/CN102387160B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1564547A (zh) * | 2004-03-25 | 2005-01-12 | 上海复旦光华信息科技股份有限公司 | 保持连接特性的高速过滤分流方法 |
US20080049679A1 (en) * | 2006-08-22 | 2008-02-28 | Samsung Electronics Co., Ltd. | Apparatus and method for filtering packet in a network system using mobile ip |
CN101572891A (zh) * | 2009-06-15 | 2009-11-04 | 东南大学 | 基于fpga的3g数据包过滤系统及方法 |
CN101702723A (zh) * | 2009-10-30 | 2010-05-05 | 曙光信息产业(北京)有限公司 | Ip报文的过滤方法和装置 |
CN101707617A (zh) * | 2009-12-04 | 2010-05-12 | 福建星网锐捷网络有限公司 | 报文过滤方法、装置及网络设备 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106254395A (zh) * | 2016-10-08 | 2016-12-21 | 湖南智卓创新信息产业股份有限公司 | 一种数据过滤方法及系统 |
CN106254395B (zh) * | 2016-10-08 | 2019-06-14 | 湖南智卓创新信息产业股份有限公司 | 一种数据过滤方法及系统 |
CN107483508A (zh) * | 2017-09-30 | 2017-12-15 | 北京东土军悦科技有限公司 | 报文过滤方法、装置、设备及存储介质 |
CN114006868A (zh) * | 2021-10-30 | 2022-02-01 | 杭州迪普信息技术有限公司 | 流量筛选方法及装置 |
CN114006868B (zh) * | 2021-10-30 | 2024-04-26 | 杭州迪普信息技术有限公司 | 流量筛选方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102387160B (zh) | 2014-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110546654B (zh) | 通过构造接口的带宽控制来增强dnn模块的处理性能 | |
US11900226B2 (en) | Systems for constructing hierarchical training data sets for use with machine-learning and related methods therefor | |
CN104572574B (zh) | 基于千兆以太网视觉协议的以太网控制器ip核及方法 | |
CN106506670B (zh) | 一种云平台虚拟资源高速调度方法与系统 | |
CN106951926A (zh) | 一种混合架构的深度学习系统方法及装置 | |
CN107124286A (zh) | 一种海量数据高速处理、交互的系统及方法 | |
CN102387160B (zh) | 一种基于ip报文五元组过滤策略的系统和方法 | |
CN105978997A (zh) | 数据传输方法和系统 | |
CN108268328A (zh) | 数据处理装置及数据处理方法 | |
CN102006142A (zh) | 用于基于误差保护包的帧的接收器 | |
CN104239149B (zh) | 一种服务端多线程并行数据处理方法及负载均衡方法 | |
CN107645483A (zh) | 风险识别方法、风险识别装置、云风险识别装置及系统 | |
CN104065588B (zh) | 一种数据包调度和缓存的装置及方法 | |
CN102098227A (zh) | 报文捕获方法及内核模块 | |
CN101815014A (zh) | 基于连接的实时网络数据捕获方法 | |
CN107102897A (zh) | 一种多gpu并行处理的数据库主动防御方法 | |
CN107066340A (zh) | 一种基于linux的无中断线速收包、发包方法及设备 | |
CN106549869A (zh) | 数据包处理方法及装置 | |
CN101079753B (zh) | 一种多链路抓包系统、方法及网络审计系统 | |
CN103885900B (zh) | 数据访问处理方法、PCIe设备和用户设备 | |
CN106817262A (zh) | 一种日志分析装置 | |
CN110519180A (zh) | 网卡虚拟化队列调度方法及系统 | |
CN110320837A (zh) | 一种可边缘计算的工业电脑 | |
CN106685856A (zh) | 智能变电站海量网络报文处理方法、系统和设备 | |
CN102984166B (zh) | 一种ip数据包过滤器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220728 Address after: 100193 No. 36 Building, No. 8 Hospital, Wangxi Road, Haidian District, Beijing Patentee after: Dawning Information Industry (Beijing) Co.,Ltd. Patentee after: DAWNING INFORMATION INDUSTRY Co.,Ltd. Address before: 100084 Beijing Haidian District City Mill Street No. 64 Patentee before: Dawning Information Industry (Beijing) Co.,Ltd. |