CN106899512A - 基于fpga中dpi的多引擎实现方法及系统 - Google Patents

基于fpga中dpi的多引擎实现方法及系统 Download PDF

Info

Publication number
CN106899512A
CN106899512A CN201710080536.2A CN201710080536A CN106899512A CN 106899512 A CN106899512 A CN 106899512A CN 201710080536 A CN201710080536 A CN 201710080536A CN 106899512 A CN106899512 A CN 106899512A
Authority
CN
China
Prior art keywords
message
engine
fpga
dpi
information
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.)
Pending
Application number
CN201710080536.2A
Other languages
English (en)
Inventor
沈璐
于华
陈陆颖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BEIJING HAOHAN DATA INFORMATION TECHNOLOGY Co Ltd
Original Assignee
BEIJING HAOHAN DATA INFORMATION TECHNOLOGY Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by BEIJING HAOHAN DATA INFORMATION TECHNOLOGY Co Ltd filed Critical BEIJING HAOHAN DATA INFORMATION TECHNOLOGY Co Ltd
Priority to CN201710080536.2A priority Critical patent/CN106899512A/zh
Publication of CN106899512A publication Critical patent/CN106899512A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9063Intermediate storage in different physical parts of a node or terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/04Protocols for data compression, e.g. ROHC

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明适用于报文检测处理技术领域,提供了一种基于FPGA中DPI的多引擎实现方法,包括以下步骤:基于FPGA的高速时钟,对报文进行线速转发;提取报文的五元组信息;对所述五元组信息通过哈希压缩算法计算处理;根据计算结果,将所述报文配置给相应的引擎处理。本发明相应的提供一种基于FPGA中DPI的多引擎实现系统。借此,本发明利用多引擎的分发处理,降低了每个引擎的设计难度与性能要求,同时降低了片外存储器的存储速率及时延要求。

Description

基于FPGA中DPI的多引擎实现方法及系统
技术领域
本发明涉及报文检测处理技术领域,尤其涉及一种基于FPGA中DPI的多引擎实现方法及系统。
背景技术
DPI(Deep Packet Inspection)是一种基于数据包的深度检测技术。目前主流的DPI技术分为两类,一种利用软件方法,利用多核/NP等进行检测。另一种利用FPGA等硬件进行检测。如利用软件方法进行处理,无法达到大流量线速处理的要求。对于大流量下线速进行DPI的处理,目前主流为利用硬件进行。基于FPGA的DPI技术,如果采用单引擎处理报文,相对简单。但由于对外部的存储器访问存在时延,和内部的处理速度有差异,容易成为性能瓶颈,单引擎也不利于性能的平滑扩展。
综上可知,现有技术在实际使用上显然存在不便与缺陷,所以有必要加以改进。
发明内容
针对上述的缺陷,本发明的目的在于提供一种基于FPGA中DPI的多引擎实现方法及系统,其可以降低每个引擎的设计难度与性能要求,同时降低片外存储器的存储速率及时延要求。
为了实现上述目的,本发明提供一种基于FPGA中DPI的多引擎实现方法,包括以下步骤:
基于FPGA的高速时钟,对报文进行线速转发;
提取报文的五元组信息;
对所述五元组信息通过哈希压缩算法计算处理;
根据计算结果,将所述报文配置给相应的引擎处理。
根据本发明的基于FPGA中DPI的多引擎实现方法,所述对报文进行线速转发步骤之前还包括:
针对不同类别报文配置若干引擎。
根据本发明的基于FPGA中DPI的多引擎实现方法,所述根据处理结果,将所述报文配置给相应的搜索引擎步骤之后包括:
将各个引擎处理的报文信息合并处理;
将合并后的报文信息转发。
根据本发明的基于FPGA中DPI的多引擎实现方法,所述方法还包括:
部分引擎将报文丢弃处理。
本发明还相应提供一种基于FPGA中DPI的多引擎实现系统,包括:
报文转发模块,用于基于FPGA的高速时钟,对报文进行线速转发;
信息提取模块,用于提取报文的五元组信息;
计算处理模块,用于对所述五元组信息通过哈希压缩算法计算处理;
报文配置模块,用于根据计算结果,将所述报文配置给相应的引擎处理。
根据本发明的基于FPGA中DPI的多引擎实现系统,所述系统还包括:
引擎配置模块,用于针对不同类别报文配置若干引擎。
根据本发明的基于FPGA中DPI的多引擎实现系统,还包括:
报文合并模块,用于将各个引擎处理的报文信息合并处理;
信息转发模块,用于将合并后的报文信息转发。
根据本发明的基于FPGA中DPI的多引擎实现系统,所述引擎还用于根据计算机结果将报文丢弃处理。
本发明提供了一种基于FPGA中DPI的多引擎实现方法,包括以下步骤:基于FPGA的高速时钟,对报文进行线速转发;提取报文的五元组信息;对所述五元组信息通过哈希压缩算法计算处理;根据计算结果,将所述报文配置给相应的引擎处理。本发明相应的提供一种基于FPGA中DPI的多引擎实现系统。借此,本发明利用多引擎的分发处理,降低了每个引擎的设计难度与性能要求,同时降低了片外存储器的存储速率及时延要求。
附图说明
图1是本发明的系统结构示意图;
图2是本发明的另一系统结构示意图;
图3是本发明的方法流程图;
图4是本发明一实施例的报文处理流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参见图1和图2,本发明提供了一种基于FPGA中DPI的多引擎实现系统,该系统100是基于FPGA及引擎对报文进行处理的系统,其包括:
报文转发模块10,用于基于FPGA的高速时钟,对报文进行线速转发。
信息提取模块20,用于提取报文的五元组信息。本发明所述的五元组信息包括报文的源IP地址、源端口、目的IP地址、目的端口和传输层协议。
计算处理模块30,用于对所述五元组信息通过哈希压缩算法计算处理。哈希算法是一种把任意长度的输入(又叫做预映射,pre-image),通过散列算法,变换成固定长度的输出的算法。其包括直接取余法、乘法取整法及平方取中法。本发明可以选任一种算法作为主算法。
报文配置模块40,用于根据计算结果,将所述报文配置给相应的引擎处理。对于报文的配置,实际上是基于引擎配置模块50配置了各引擎为基础的。
具体的说,本发明主要是针对报文信息的类型,特别是具有优先级别分类的报文进行引擎配置。因为通信服务提供商可以分配现有资源以精简信息流。例如,一个标记为高优先级的消息可以比不太重要或低优先级的信息或数据包先被路由到其目的地。深度包检测(DPI)也可以用来节制数据传输,以防止对等网络(P2P)被滥用,从而改善绝大多数用户的网络性能。也就是说,实际应用中,不同类型的报文会分配给不同的引擎处理。使得报文可以基于多引擎并行处理检测以满足大流量线速下的DPI处理要求。
对于多个引擎处理后的信息,则可以通过报文合并模块60将各个引擎处理的报文信息合并处理,并通过信息转发模块70将合并后的报文信息转发。当然,如果有需要丢弃的报文,也可以通过引擎直接丢弃。
本发明在FPGA内部高速时钟处理缓存报文的同时,利用多引擎的分发处理,降低了每个引擎的设计难度与性能要求,同时降低了片外存储器的存储速率及时延要求。
参见图3和图4,本发明相应的提供一种基于FPGA中DPI的多引擎实现方法,其可以通过如图1或2所示的系统100实现,该方法包括:
步骤S301,基于FPGA的高速时钟,对报文进行线速转发。
步骤S302,提取报文的五元组信息。本发明所述的五元组信息包括报文的源IP地址、源端口、目的IP地址、目的端口和传输层协议。
步骤S303,对所述五元组信息通过哈希压缩算法计算处理。哈希算法是一种把任意长度的输入(又叫做预映射,pre-image),通过散列算法,变换成固定长度的输出的算法。其包括直接取余法、乘法取整法及平方取中法。本发明可以选任一种算法作为主算法。
步骤S304,根据计算结果,将所述报文配置给相应的引擎处理。
需要说明的,本发明在步骤S301之前通过引擎配置模块50针对不同的报文类别配置了各引擎。
对于多个引擎处理后的信息,则可以将各个引擎处理的报文信息合并处理,并对合并后的报文信息转发。当然,如果有需要丢弃的报文,也可以通过引擎直接丢弃。
综上所述,本发明提供了一种基于FPGA中DPI的多引擎实现方法,包括以下步骤:基于FPGA的高速时钟,对报文进行线速转发;提取报文的五元组信息;对所述五元组信息通过哈希压缩算法计算处理;根据计算结果,将所述报文配置给相应的搜索引擎处理。本发明相应的提供一种基于FPGA中DPI的多引擎实现系统。借此,本发明利用多引擎的分发处理,降低了每个引擎的设计难度与性能要求,同时降低了片外存储器的存储速率及时延要求。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

Claims (8)

1.一种基于FPGA中DPI的多引擎实现方法,其特征在于,包括以下步骤:
基于FPGA的高速时钟,对报文进行线速转发;
提取报文的五元组信息;
对所述五元组信息通过哈希压缩算法计算处理;
根据计算结果,将所述报文配置给相应的引擎处理。
2.根据权利要求1所述的基于FPGA中DPI的多引擎实现方法,其特征在于,所述对报文进行线速转发步骤之前还包括:
针对不同类别报文配置若干引擎。
3.根据权利要求2所述的基于FPGA中DPI的多引擎实现方法,其特征在于,所述根据处理结果,将所述报文配置给相应的搜索引擎步骤之后包括:
将各个引擎处理的报文信息合并处理;
将合并后的报文信息转发。
4.根据权利要求1~3任一项所述的基于FPGA中DPI的多引擎实现方法,其特征在于,所述方法还包括:
部分引擎将报文丢弃处理。
5.一种基于FPGA中DPI的多引擎实现系统,其特征在于,包括:
报文转发模块,用于基于FPGA的高速时钟,对报文进行线速转发;
信息提取模块,用于提取报文的五元组信息;
计算处理模块,用于对所述五元组信息通过哈希压缩算法计算处理;
报文配置模块,用于根据计算结果,将所述报文配置给相应的引擎处理。
6.根据权利要求5所述的基于FPGA中DPI的多引擎实现系统,其特征在于,所述系统还包括:
引擎配置模块,用于针对不同类别报文配置若干引擎。
7.根据权利要求6所述的基于FPGA中DPI的多引擎实现系统,其特征在于,还包括:
报文合并模块,用于将各个引擎处理的报文信息合并处理;
信息转发模块,用于将合并后的报文信息转发。
8.根据权利要求5~8任一项所述的基于FPGA中DPI的多引擎实现系统,其特征在于,所述引擎还用于根据计算机结果将报文丢弃处理。
CN201710080536.2A 2017-02-15 2017-02-15 基于fpga中dpi的多引擎实现方法及系统 Pending CN106899512A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710080536.2A CN106899512A (zh) 2017-02-15 2017-02-15 基于fpga中dpi的多引擎实现方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710080536.2A CN106899512A (zh) 2017-02-15 2017-02-15 基于fpga中dpi的多引擎实现方法及系统

Publications (1)

Publication Number Publication Date
CN106899512A true CN106899512A (zh) 2017-06-27

Family

ID=59198656

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710080536.2A Pending CN106899512A (zh) 2017-02-15 2017-02-15 基于fpga中dpi的多引擎实现方法及系统

Country Status (1)

Country Link
CN (1) CN106899512A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107769992A (zh) * 2017-09-15 2018-03-06 通鼎互联信息股份有限公司 一种报文解析分流方法及装置
CN111130946A (zh) * 2019-12-30 2020-05-08 联想(北京)有限公司 一种深度报文识别的加速方法、装置和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102811169A (zh) * 2012-07-24 2012-12-05 成都卫士通信息产业股份有限公司 采用哈希算法进行多核并行处理的vpn实现方法及系统
US20140153435A1 (en) * 2011-08-31 2014-06-05 James Rolette Tiered deep packet inspection in network devices
CN104717101A (zh) * 2013-12-13 2015-06-17 中国电信股份有限公司 深度包检测方法和系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140153435A1 (en) * 2011-08-31 2014-06-05 James Rolette Tiered deep packet inspection in network devices
CN102811169A (zh) * 2012-07-24 2012-12-05 成都卫士通信息产业股份有限公司 采用哈希算法进行多核并行处理的vpn实现方法及系统
CN104717101A (zh) * 2013-12-13 2015-06-17 中国电信股份有限公司 深度包检测方法和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
黄鹏: "基于FPGA的高性能模式匹配引擎研究与设计", 《中国优秀硕士学位论文全文数据库》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107769992A (zh) * 2017-09-15 2018-03-06 通鼎互联信息股份有限公司 一种报文解析分流方法及装置
CN111130946A (zh) * 2019-12-30 2020-05-08 联想(北京)有限公司 一种深度报文识别的加速方法、装置和存储介质
CN111130946B (zh) * 2019-12-30 2022-03-25 联想(北京)有限公司 一种深度报文识别的加速方法、装置和存储介质

Similar Documents

Publication Publication Date Title
US10735379B2 (en) Hybrid hardware-software distributed threat analysis
EP3420487B1 (en) Hybrid hardware-software distributed threat analysis
US9929920B2 (en) System and method for efficient classification and processing of network traffic
US10374913B2 (en) Data retention probes and related methods
US9356844B2 (en) Efficient application recognition in network traffic
US20170295191A1 (en) Load balancing method and apparatus in intrusion detection system
US10516694B1 (en) Hierarchical mitigation of denial of service attacks on communication networks
US10440035B2 (en) Identifying malicious communication channels in network traffic by generating data based on adaptive sampling
US9686233B2 (en) Tracking network packets across translational boundaries
CN108429761A (zh) 智慧协同网络中资源适配解析服务器DDoS攻击检测防御方法
CN103841096A (zh) 自动调整匹配算法的入侵检测方法
KR101679573B1 (ko) 멀티코어 처리 시스템에서 dimm 채널 분산을 이용한 트래픽 보안 서비스 제공 방법 및 장치
US20240244080A1 (en) Method and apparatus for determining compromised host
CN106899512A (zh) 基于fpga中dpi的多引擎实现方法及系统
CN108123962A (zh) 一种利用Spark实现BFS算法生成攻击图的方法
KR102014741B1 (ko) Fpga 기반 고속 스노트 룰과 야라 룰 매칭 방법
US10341292B2 (en) Increased port address space
US9985980B1 (en) Entropy-based beaconing detection
CN103001942B (zh) 一种虚拟服务器和一种防御网络攻击的方法
CN106557503A (zh) 一种图像检索的方法和系统
Kennedy et al. Ultra-high throughput string matching for deep packet inspection
CN106778273A (zh) 一种验证恶意代码在受害者主机中活跃度的方法及系统
Sun et al. Rscam: Cloud-based anti-malware via reversible sketch
US8914467B2 (en) Information processing apparatus, system, and storage medium
CN112995186A (zh) 适用于mqtt服务安全保障的改善方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20170627

RJ01 Rejection of invention patent application after publication