一种FPGA透明代理系统、方法及装置制造方法及图纸

技术编号:35183773 阅读:18 留言:0更新日期:2022-10-12 17:53
本申请公开了一种FPGA透明代理系统、方法及装置,本申请的系统包括MAC层处理模块、报头解析模块、数据缓存模块、主动自适应整形引擎模块、数据裁决模块。本申请的数据处理流程中不需要额外缓存,便于硬件实现,可以对数据进行线速处理,解决了并发过高会带来的丢包问题,通过合理的数据结构提取,减小了需要维护的状态向量规模,具备更高的安全性和通用适配性。性。性。

【技术实现步骤摘要】
一种FPGA透明代理系统、方法及装置


[0001]本申请涉及FPGA领域,尤其是一种FPGA透明代理系统、方法及装置。

技术介绍

[0002]拟态防御技术依靠透明代理模块维持客户端与主输入代理之间的真实tcp连接,以及客户端与备输入代理之间的虚拟连接。从客户端角度,两个服务端来的数据为同一连接;从主备输入代理角度,从客户端来的数据为单独连接。透明代理模块的作用则是将两个服务端来的异步数据进行同步化,在拟态防御系统中是非常重要和不可或缺的。
[0003]相关的技术采用ARM A7方案进行设计,实现透明代理模块的功能。在这一设计中,透明代理模块维护客户端与主输入代理之间真实tcp连接,采用透传模式,透明代理只负责相应数据包的转发。而由于客户端不知道备输入代理的存在,也不会建立与备输入代理的tcp连接,所以就需要透明代理模拟客户端,来与备输入代理来进行数据交互。在这个虚拟连接的维护过程中,需要对客户端发送给主输入代理的数据包,拷贝一份,替换相应的ack后,转发到备输入代理端。在维护虚拟连接的过程中,同时引入了缓存、差值法计算ack和连接信息哈希表三种机制。
[0004]相关技术的缺点在于:透明代理方案在客户端与主输入代理之间进行数据交互时,直接透传。在客户端与备输入代理之间进行数据交互时,当备输入代理数据交互过程较慢,透明代理可以先把客户端发送的数据包进行缓存,之后在收到备输入代理的相应数据包时,再从缓存中取出进行转发。在这种缓存机制下,如果系统在高并发时,缓存数据会到达上限,会丢掉一些备输入代理的包;现有方案在计算ack时,采用差值法,每次都要记录当前状态的ack值,与下一次进行差值计算,替换客户端数据包中的ack值,发送到备输入代理;现有方案在接收一些裁决调度信息时,走的是带内通道,从安全角度来看,增大了受攻击面。
[0005]因此,相关技术存在的上述技术问题亟待解决。

技术实现思路

[0006]本申请旨在解决相关技术中的技术问题之一。为此,本申请实施例提供一种FPGA透明代理系统、方法及装置,能够提高带宽并减少延迟。
[0007]根据本申请实施例一方面,提供一种FPGA透明代理系统,所述系统包括:MAC层处理模块、报头解析模块、数据缓存模块、主动自适应整形引擎模块、数据裁决模块;
[0008]所述MAC层处理接收原始IP数据后,由所述报头解析模块解析所述原始IP数据,得到IP控制数据;
[0009]所述数据缓存模块将所述原始IP数据进行缓存;
[0010]所述主动自适应整形引擎模块接收对应的IP控制数据并对所述IP控制数据进行主动自适应整形;
[0011]所述数据裁决模块控制所述原始IP数据进行数据裁决。
[0012]在其中一个实施例中,所述系统还包括match

action引擎模块,所述match

action引擎模块将会话状态数据映射到每条表项中,将元数据处理设置为match

action方式,所述match

action方式包括建表、查表、匹配、行为,其中,所述元数据为原始数据包的控制模型。
[0013]在其中一个实施例中,所述每条表项对应一个TCP会话,所述TCP会话的规模根据存储资源可线性扩展。
[0014]在其中一个实施例中,所述主动自适应整形引擎模块接收对应的IP控制数据并对所述IP控制数据进行主动自适应整形,包括:
[0015]所述主动自适应整形引擎模块接收对应的IP控制数据;
[0016]针对混叠的服务器端数据,所述主动自适应整形引擎模块根据TCP ISN号与TCP序列号,按照预设规则进行整形处理,其中,所述预设规则为后接收的数据覆盖先接收的数据。
[0017]在其中一个实施例中,所述主动自适应整形引擎模块保存会话连接状态并识别重传与乱序现象;
[0018]所述主动自适应整形引擎模块判断数据包为重传或乱序,对重传的数据包放行,对乱序的数据表包进行丢弃并触发客户端与服务器端的TCP/IP协议栈进行重传保序。
[0019]在其中一个实施例中,所述主动自适应整形引擎模块判断数据包为重传或乱序,包括:
[0020]所述主动自适应整形引擎模块对进入主动自适应整形模块的数据搜索匹配标识项,获得当前的seq值,若当前的seq值大于系统预期的seq值,则判定当前数据包为乱序包,若当前的seq值小于系统预期的seq值,则判定当前数据包为重传包,若当前的seq值等于系统预期的seq值,则判断是否是主输入代理来包。
[0021]在其中一个实施例中,所述判断是否是主输入代理来包,包括:
[0022]若当前数据包为主输入代理来包且未接收到备输入代理的数据包,则丢掉当前数据包,不更改流表项;
[0023]若当前数据包为主输入代理来包且接收到备输入代理的数据包,则对应RST包,进行删流表操作;对于SYN包,进行新建流表操作,转发所述SYN包;对于FIN包,进行删流表操作,转发所述FIN包;对于数据包,则更新流表,转发所述数据包;对于ACK包,则不更改流表项,仅进行转发。
[0024]根据本申请实施例一方面,提供一种FPGA透明代理方法,所述方法包括:
[0025]接收原始IP数据后,解析所述原始IP数据,得到IP控制数据;
[0026]将所述原始IP数据进行缓存;
[0027]接收对应的IP控制数据并对所述IP控制数据进行主动自适应整形;
[0028]控制所述原始IP数据进行数据裁决。
[0029]根据本申请实施例一方面,提供一种FPGA透明代理装置,所述装置包括:
[0030]第一模块,用于接收原始IP数据后,解析所述原始IP数据,得到IP控制数据;
[0031]第二模块,用于将所述原始IP数据进行缓存;
[0032]第三模块,用于接收对应的IP控制数据并对所述IP控制数据进行主动自适应整形;
[0033]第四模块,用于控制所述原始IP数据进行数据裁决。
[0034]根据本申请实施例一方面,提供一种FPGA透明代理装置,所述装置包括:
[0035]至少一个处理器;
[0036]至少一个存储器,所述存储器用于存储至少一个程序;
[0037]当至少一个所述程序被至少一个所述处理器执行时实现如权利要求8中所述的一种FPGA透明代理方法。
[0038]本申请实施例提供的一种FPGA透明代理系统、方法及装置的有益效果为:本申请的系统包括MAC层处理模块、报头解析模块、数据缓存模块、主动自适应整形引擎模块、数据裁决模块。本申请的数据处理流程中不需要额外缓存,便于硬件实现,可以对数据进行线速处理,解决了并发过高会带来的丢包问题,通过合理的数据结构提取,减小了需要维护的状态向量规模,具备更高的安全性和通用适配性。
[0039]本申请的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种FPGA透明代理系统,其特征在于,所述系统包括:MAC层处理模块、报头解析模块、数据缓存模块、主动自适应整形引擎模块、数据裁决模块;所述MAC层处理接收原始IP数据后,由所述报头解析模块解析所述原始IP数据,得到IP控制数据;所述数据缓存模块将所述原始IP数据进行缓存;所述主动自适应整形引擎模块接收对应的IP控制数据并对所述IP控制数据进行主动自适应整形;所述数据裁决模块控制所述原始IP数据进行数据裁决。2.根据权利要求1所述的一种FPGA透明代理系统,其特征在于,所述系统还包括match

action引擎模块,所述match

action引擎模块将会话状态数据映射到每条表项中,将元数据处理设置为match

action方式,所述match

action方式包括建表、查表、匹配、行为,其中,所述元数据为原始数据包的控制模型。3.根据权利要求2所述的一种FPGA透明代理系统,其特征在于,所述每条表项对应一个TCP会话,所述TCP会话的规模根据存储资源可线性扩展。4.根据权利要求1所述的一种FPGA透明代理系统,其特征在于,所述主动自适应整形引擎模块接收对应的IP控制数据并对所述IP控制数据进行主动自适应整形,包括:所述主动自适应整形引擎模块接收对应的IP控制数据;针对混叠的服务器端数据,所述主动自适应整形引擎模块根据TCP ISN号与TCP序列号,按照预设规则进行整形处理,其中,所述预设规则为后接收的数据覆盖先接收的数据。5.根据权利要求1所述的一种FPGA透明代理系统,其特征在于,所述主动自适应整形引擎模块保存会话连接状态并识别重传与乱序现象;所述主动自适应整形引擎模块判断数据包为重传或乱序,对重传的数据包放行,对乱序的数据表包进行丢弃并触发客户端与服务器端的TCP/IP协议栈进行重传保序。6....

【专利技术属性】
技术研发人员:赵洋杨少波武彭彭
申请(专利权)人:珠海高凌信息科技股份有限公司
类型:发明
国别省市:

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

1