基于硬件加速的以太网应用层协议控制系统及方法技术方案

技术编号:24418523 阅读:18 留言:0更新日期:2020-06-06 12:47
本发明专利技术提供的基于硬件加速的以太网应用层协议控制系统,FPGA对应用层网络协议包进行协议解析,并利用多种并行的协议识别算法对解析结果进行匹配,根据匹配结果执行相应的控制操作,丢弃或转发不需要进行深度处理的应用层网络协议包,将需要进行深度处理的应用层网络协议包传输给CPU进行处理;接收并转发CPU返回的处理结果,实现应用层的协议控制。该系统采用软硬件结合的方式,增加FPGA与CPU之间的通信连接,将现有技术中在CPU内对应用层网络协议包进行解析和处理的过程转移到FPGA内实现,通过FPGA并行处理应用层网络协议包,捕获并截取到需要CPU处理的应用层网络协议包回传给CPU进行处理,从而极大的减轻CPU的负担,提高以太网应用层协议控制效率,实现CPU加速。

Ethernet application layer protocol control system and method based on hardware acceleration

【技术实现步骤摘要】
基于硬件加速的以太网应用层协议控制系统及方法
本专利技术属于计算机
,具体涉及基于硬件加速的以太网应用层协议控制系统及方法。
技术介绍
传统CPU对接收到的应用层网络协议包执行的数据处理包括协议包的解析,控制操作等。其中协议包的解析,控制操作等处理均是通过CPU进行操作,而CPU只能采用串行识别、串行控制的方式逐个处理协议包。这种处理方式不仅处理效率非常低,而且给CPU带来了巨大的运行负担,CPU长期的高负荷运转也会导致系统不稳定,且也容易因此而遭到攻击;一旦CPU出现故障,就会直接导致系统崩溃、数据也会被损坏,因而存在不可靠,不安全且无法恢复的问题。
技术实现思路
针对现有技术中的缺陷,本专利技术提供基于硬件加速的以太网应用层协议控制系统及方法,极大的减轻CPU的负担,提高以太网应用层协议控制效率,实现CPU加速。第一方面,一种基于硬件加速的以太网应用层协议控制系统,包括与CPU电连接的FPGA;所述FPGA设置有多个处理引擎,实现应用层网络协议包的并行处理;所述FPGA用于接收应用层网络协议包,对所述应用层网络协议包进行协议解析,并利用多种并行的协议识别算法对解析结果进行匹配,根据匹配结果执行相应的控制操作;所述控制操作包括丢弃或转发不需要进行深度处理的应用层网络协议包、以及将需要进行深度处理的应用层网络协议包传输给所述CPU进行处理;FPGA还用于接收到CPU对该应用层网络协议包处理后返回的处理结果,转发该处理结果,实现应用层的协议控制。第二方面,一种基于硬件加速的以太网应用层协议控制方法,包括以下步骤:FPGA接收应用层网络协议包,对所述应用层网络协议包进行协议解析,并利用多种并行的协议识别算法对解析结果进行匹配,根据匹配结果执行相应的控制操作;所述控制操作包括丢弃或转发不需要进行深度处理的应用层网络协议包、以及将需要进行深度处理的应用层网络协议包传输给所述CPU进行处理;FPGA接收到CPU对该应用层网络协议包处理后返回的处理结果,转发该处理结果,实现应用层的协议控制。由上述技术方案可知,本专利技术提供的基于硬件加速的以太网应用层协议控制系统及方法,采用软硬件结合的方式,增加FPGA与CPU之间的通信连接,将现有技术中在CPU内对应用层网络协议包进行解析和处理的过程转移到FPGA内实现,通过FPGA设置多个处理引擎,并行处理应用层网络协议包,根据软件的配置预先过滤及转发不需要处理的多个应用层网络协议包,之后再将需要CPU处理的应用层网络协议包回传给CPU进行处理,从而极大的减轻CPU的负担,提高以太网应用层协议控制效率,实现CPU加速。附图说明为了更清楚地说明本专利技术具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。图1为本专利技术实施例一提供的以太网应用层协议控制系统的模块框图。图2为本专利技术实施例二提供的以太网应用层协议控制方法的流程图。图3为本专利技术实施例二提供的方法中FPGA进行控制操作识别的流程图。具体实施方式下面将结合附图对本专利技术技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本专利技术的技术方案,因此只作为示例,而不能以此来限制本专利技术的保护范围。需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本专利技术所属领域技术人员所理解的通常意义。应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。还应当理解,在此本专利技术说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本专利技术。如在本专利技术说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。实施例一:一种基于硬件加速的以太网应用层协议控制系统,参见图1,包括与CPU电连接的FPGA;所述FPGA设置有多个处理引擎,实现应用层网络协议包的并行处理;所述FPGA用于接收应用层网络协议包,对所述应用层网络协议包进行协议解析,并利用多种并行的协议识别算法对解析结果进行匹配,根据匹配结果执行相应的控制操作;所述控制操作包括丢弃或转发不需要进行深度处理的应用层网络协议包、以及将需要进行深度处理的应用层网络协议包传输给所述CPU进行处理;FPGA还用于接收到CPU对该应用层网络协议包处理后返回的处理结果,转发该处理结果,实现应用层的协议控制。具体地,该系统还可以在FPGA中固化处理逻辑建立防护墙,与CPU进行隔离,提高了系统的安全可靠性,不易被攻破。另外,FPGA具备故障恢复机制,能够实时监测CPU是否正常,若不正常,可对CPU进行重启恢复。该基于硬件加速的以太网应用层协议控制系统,采用软硬件结合的方式,增加FPGA与CPU之间的通信连接,将现有技术中在CPU内对应用层网络协议包进行解析和处理的过程转移到FPGA内实现,通过FPGA设置多个处理引擎,并行处理应用层网络协议包,根据软件的配置预先过滤及转发不需要处理的多个应用层网络协议包,之后再将需要CPU处理的应用层网络协议包回传给CPU进行处理,从而极大的减轻CPU的负担,提高以太网应用层协议控制效率,实现CPU加速。优选地,所述多种并行的协议识别算法包括二分法排序查找、多重HASH散列算法、带掩码的正则特征字搜索算法、直接搜索和比较法。具体地,该系统根据从应用层网络协议包中解析到的多种数据和关键字,采用二分法排序查找、多重HASH散列算法、带掩码的正则特征字搜索算法、直接搜索和比较法(采用内容可寻址单元模块、寄存器整列(RA),MEMORY串行读取直接比较)等多种方法进行匹配。这多种方法并行进行比较,每种比较模块也有多个并行引擎,可以实现快速、大容量、高性能的精准匹配。优选地,所述FPGA具体用于:根据预设的网络协议并行对所有应用层网络协议包进行逐层协议解析,拆解并获得应用层网络协议包中各层结构的数据;其中应用层网络协议包中层结构包括MAC层、IP层、UDP/TCP端口层和HTTP/UDP/TCP内容层。具体地,FPGA在进行协议解析时,采用并行的方式,根据网络协议对所有应用层网络协议包分别同时进行逐层解析,拆解成MAC层、IP层、UDP/T本文档来自技高网...

【技术保护点】
1.一种基于硬件加速的以太网应用层协议控制系统,其特征在于,/n包括与CPU电连接的FPGA;/n所述FPGA设置有多个处理引擎,实现应用层网络协议包的并行处理;所述FPGA用于接收应用层网络协议包,对所述应用层网络协议包进行协议解析,并利用多种并行的协议识别算法对解析结果进行匹配,根据匹配结果执行相应的控制操作;所述控制操作包括丢弃或转发不需要进行深度处理的应用层网络协议包、以及将需要进行深度处理的应用层网络协议包传输给所述CPU进行处理;/nFPGA还用于接收到CPU对该应用层网络协议包处理后返回的处理结果,转发该处理结果,实现应用层的协议控制。/n

【技术特征摘要】
1.一种基于硬件加速的以太网应用层协议控制系统,其特征在于,
包括与CPU电连接的FPGA;
所述FPGA设置有多个处理引擎,实现应用层网络协议包的并行处理;所述FPGA用于接收应用层网络协议包,对所述应用层网络协议包进行协议解析,并利用多种并行的协议识别算法对解析结果进行匹配,根据匹配结果执行相应的控制操作;所述控制操作包括丢弃或转发不需要进行深度处理的应用层网络协议包、以及将需要进行深度处理的应用层网络协议包传输给所述CPU进行处理;
FPGA还用于接收到CPU对该应用层网络协议包处理后返回的处理结果,转发该处理结果,实现应用层的协议控制。


2.根据权利要求1所述基于硬件加速的以太网应用层协议控制系统,其特征在于,
所述多种并行的协议识别算法包括二分法排序查找、多重HASH散列算法、带掩码的正则特征字搜索算法、直接搜索和比较法。


3.根据权利要求1所述基于硬件加速的以太网应用层协议控制系统,其特征在于,所述FPGA具体用于:
根据预设的网络协议并行对所有应用层网络协议包进行逐层协议解析,拆解并获得应用层网络协议包中各层结构的数据;
其中应用层网络协议包中层结构包括MAC层、IP层、UDP/TCP端口层和HTTP/UDP/TCP内容层。


4.根据权利要求3所述基于硬件加速的以太网应用层协议控制系统,其特征在于,所述FPGA具体用于:
创建包括多个预设的控制条件的控制表;所述引用表中包括各个匹配结果对应的所述控制操作;
利用多种并行的协议识别算法,从所述解析获得的各层结构的数据中按照控制表中控制条件同时搜索对应的数据,将搜索到的数据和所述控制条件合并形成所述匹配结果;
根据所述匹配结果在所述引用表中匹配相应的控制操作,执行匹配到的控制操作。


5.根据权利要求1-4中任一所述基于硬件加速的以太网应用层协议控制系统,其特征在于,所述FPGA还用于:
根据所述协议解析和控制操作的过程生成并存储相应的历史日志。


6...

【专利技术属性】
技术研发人员:王斌
申请(专利权)人:深圳市龙信信息技术有限公司
类型:发明
国别省市:广东;44

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

1