CN115174345A - 一种fpga透明代理系统、方法及装置 - Google Patents
一种fpga透明代理系统、方法及装置 Download PDFInfo
- Publication number
- CN115174345A CN115174345A CN202210678412.5A CN202210678412A CN115174345A CN 115174345 A CN115174345 A CN 115174345A CN 202210678412 A CN202210678412 A CN 202210678412A CN 115174345 A CN115174345 A CN 115174345A
- Authority
- CN
- China
- Prior art keywords
- data
- packet
- module
- original
- fpga
- 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
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000007493 shaping process Methods 0.000 claims abstract description 50
- 238000012545 processing Methods 0.000 claims abstract description 31
- 230000008569 process Effects 0.000 claims description 20
- 230000003044 adaptive effect Effects 0.000 claims description 12
- 230000006399 behavior Effects 0.000 claims description 4
- 239000003795 chemical substances by application Substances 0.000 abstract description 39
- 238000003672 processing method Methods 0.000 abstract description 4
- 238000000605 extraction Methods 0.000 abstract description 3
- 230000000875 corresponding effect Effects 0.000 description 24
- 230000006870 function Effects 0.000 description 11
- 230000003993 interaction Effects 0.000 description 8
- 230000001276 controlling effect Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 238000013461 design Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 230000007123 defense Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 230000008676 import Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/22—Traffic shaping
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种FPGA透明代理系统、方法及装置,本申请的系统包括MAC层处理模块、报头解析模块、数据缓存模块、主动自适应整形引擎模块、数据裁决模块。本申请的数据处理流程中不需要额外缓存,便于硬件实现,可以对数据进行线速处理,解决了并发过高会带来的丢包问题,通过合理的数据结构提取,减小了需要维护的状态向量规模,具备更高的安全性和通用适配性。
Description
技术领域
本申请涉及FPGA领域,尤其是一种FPGA透明代理系统、方法及装置。
背景技术
拟态防御技术依靠透明代理模块维持客户端与主输入代理之间的真实tcp连接,以及客户端与备输入代理之间的虚拟连接。从客户端角度,两个服务端来的数据为同一连接;从主备输入代理角度,从客户端来的数据为单独连接。透明代理模块的作用则是将两个服务端来的异步数据进行同步化,在拟态防御系统中是非常重要和不可或缺的。
相关的技术采用ARM A7方案进行设计,实现透明代理模块的功能。在这一设计中,透明代理模块维护客户端与主输入代理之间真实tcp连接,采用透传模式,透明代理只负责相应数据包的转发。而由于客户端不知道备输入代理的存在,也不会建立与备输入代理的tcp连接,所以就需要透明代理模拟客户端,来与备输入代理来进行数据交互。在这个虚拟连接的维护过程中,需要对客户端发送给主输入代理的数据包,拷贝一份,替换相应的ack后,转发到备输入代理端。在维护虚拟连接的过程中,同时引入了缓存、差值法计算ack和连接信息哈希表三种机制。
相关技术的缺点在于:透明代理方案在客户端与主输入代理之间进行数据交互时,直接透传。在客户端与备输入代理之间进行数据交互时,当备输入代理数据交互过程较慢,透明代理可以先把客户端发送的数据包进行缓存,之后在收到备输入代理的相应数据包时,再从缓存中取出进行转发。在这种缓存机制下,如果系统在高并发时,缓存数据会到达上限,会丢掉一些备输入代理的包;现有方案在计算ack时,采用差值法,每次都要记录当前状态的ack值,与下一次进行差值计算,替换客户端数据包中的ack值,发送到备输入代理;现有方案在接收一些裁决调度信息时,走的是带内通道,从安全角度来看,增大了受攻击面。
因此,相关技术存在的上述技术问题亟待解决。
发明内容
本申请旨在解决相关技术中的技术问题之一。为此,本申请实施例提供一种FPGA透明代理系统、方法及装置,能够提高带宽并减少延迟。
根据本申请实施例一方面,提供一种FPGA透明代理系统,所述系统包括:MAC层处理模块、报头解析模块、数据缓存模块、主动自适应整形引擎模块、数据裁决模块;
所述MAC层处理接收原始IP数据后,由所述报头解析模块解析所述原始IP数据,得到IP控制数据;
所述数据缓存模块将所述原始IP数据进行缓存;
所述主动自适应整形引擎模块接收对应的IP控制数据并对所述IP控制数据进行主动自适应整形;
所述数据裁决模块控制所述原始IP数据进行数据裁决。
在其中一个实施例中,所述系统还包括match-action引擎模块,所述match-action引擎模块将会话状态数据映射到每条表项中,将元数据处理设置为match-action方式,所述match-action方式包括建表、查表、匹配、行为,其中,所述元数据为原始数据包的控制模型。
在其中一个实施例中,所述每条表项对应一个TCP会话,所述TCP会话的规模根据存储资源可线性扩展。
在其中一个实施例中,所述主动自适应整形引擎模块接收对应的IP控制数据并对所述IP控制数据进行主动自适应整形,包括:
所述主动自适应整形引擎模块接收对应的IP控制数据;
针对混叠的服务器端数据,所述主动自适应整形引擎模块根据TCP ISN号与TCP序列号,按照预设规则进行整形处理,其中,所述预设规则为后接收的数据覆盖先接收的数据。
在其中一个实施例中,所述主动自适应整形引擎模块保存会话连接状态并识别重传与乱序现象;
所述主动自适应整形引擎模块判断数据包为重传或乱序,对重传的数据包放行,对乱序的数据表包进行丢弃并触发客户端与服务器端的TCP/IP协议栈进行重传保序。
在其中一个实施例中,所述主动自适应整形引擎模块判断数据包为重传或乱序,包括:
所述主动自适应整形引擎模块对进入主动自适应整形模块的数据搜索匹配标识项,获得当前的seq值,若当前的seq值大于系统预期的seq值,则判定当前数据包为乱序包,若当前的seq值小于系统预期的seq值,则判定当前数据包为重传包,若当前的seq值等于系统预期的seq值,则判断是否是主输入代理来包。
在其中一个实施例中,所述判断是否是主输入代理来包,包括:
若当前数据包为主输入代理来包且未接收到备输入代理的数据包,则丢掉当前数据包,不更改流表项;
若当前数据包为主输入代理来包且接收到备输入代理的数据包,则对应RST包,进行删流表操作;对于SYN包,进行新建流表操作,转发所述SYN包;对于FIN包,进行删流表操作,转发所述FIN包;对于数据包,则更新流表,转发所述数据包;对于ACK包,则不更改流表项,仅进行转发。
根据本申请实施例一方面,提供一种FPGA透明代理方法,所述方法包括:
接收原始IP数据后,解析所述原始IP数据,得到IP控制数据;
将所述原始IP数据进行缓存;
接收对应的IP控制数据并对所述IP控制数据进行主动自适应整形;
控制所述原始IP数据进行数据裁决。
根据本申请实施例一方面,提供一种FPGA透明代理装置,所述装置包括:
第一模块,用于接收原始IP数据后,解析所述原始IP数据,得到IP控制数据;
第二模块,用于将所述原始IP数据进行缓存;
第三模块,用于接收对应的IP控制数据并对所述IP控制数据进行主动自适应整形;
第四模块,用于控制所述原始IP数据进行数据裁决。
根据本申请实施例一方面,提供一种FPGA透明代理装置,所述装置包括:
至少一个处理器;
至少一个存储器,所述存储器用于存储至少一个程序;
当至少一个所述程序被至少一个所述处理器执行时实现如权利要求8中所述的一种FPGA透明代理方法。
本申请实施例提供的一种FPGA透明代理系统、方法及装置的有益效果为:本申请的系统包括MAC层处理模块、报头解析模块、数据缓存模块、主动自适应整形引擎模块、数据裁决模块。本申请的数据处理流程中不需要额外缓存,便于硬件实现,可以对数据进行线速处理,解决了并发过高会带来的丢包问题,通过合理的数据结构提取,减小了需要维护的状态向量规模,具备更高的安全性和通用适配性。
本申请的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种FPGA透明代理系统的工作流程图;
图2为本申请实施例提供的一种FPGA透明代理方法的流程图;
图3为本申请实施例提供的一种FPGA透明代理装置的示意图;
图4为本申请实施例提供的另一种FPGA透明代理装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
本申请的说明书和权利要求书及附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
拟态防御技术依靠透明代理模块维持客户端与主输入代理之间的真实tcp连接,以及客户端与备输入代理之间的虚拟连接。从客户端角度,两个服务端来的数据为同一连接;从主备输入代理角度,从客户端来的数据为单独连接。透明代理模块的作用则是将两个服务端来的异步数据进行同步化,在拟态防御系统中是非常重要和不可或缺的。
相关的技术采用ARM A7方案进行设计,实现透明代理模块的功能。在这一设计中,透明代理模块维护客户端与主输入代理之间真实tcp连接,采用透传模式,透明代理只负责相应数据包的转发。而由于客户端不知道备输入代理的存在,也不会建立与备输入代理的tcp连接,所以就需要透明代理模拟客户端,来与备输入代理来进行数据交互。在这个虚拟连接的维护过程中,需要对客户端发送给主输入代理的数据包,拷贝一份,替换相应的ack后,转发到备输入代理端。在维护虚拟连接的过程中,同时引入了缓存、差值法计算ack和连接信息哈希表三种机制。
相关技术的缺点在于:透明代理方案在客户端与主输入代理之间进行数据交互时,直接透传。在客户端与备输入代理之间进行数据交互时,当备输入代理数据交互过程较慢,透明代理可以先把客户端发送的数据包进行缓存,之后在收到备输入代理的相应数据包时,再从缓存中取出进行转发。在这种缓存机制下,如果系统在高并发时,缓存数据会到达上限,会丢掉一些备输入代理的包;现有方案在计算ack时,采用差值法,每次都要记录当前状态的ack值,与下一次进行差值计算,替换客户端数据包中的ack值,发送到备输入代理;现有方案在接收一些裁决调度信息时,走的是带内通道,从安全角度来看,增大了受攻击面。
为了解决上述问题,本申请提出了一种FPGA透明代理系统、方法及装置。本申请采用FPGA完成透明代理功能,在数据处理流程中,系统具备提取公用数据结构,解耦原始报文的能力;在实现过程中,具备主动自适应整形的能力,让两个服务端异步数据同步化;基于match-action引擎的高速报文匹配处理技术,具有良好可扩展性的会话保持功能,符合拟态理论对于拟态服务器实现方案的要求,具备更高的安全性。同时,基于FPGA的透明代理具有高带宽与低延迟的特点,有助于提高整个拟态服务器的整体性能。
图1为本申请实施例提供的一种FPGA透明代理系统的工作流程图,如图1所示,本申请提出的一种FPGA透明代理系统包括:
MAC层处理模块、报头解析模块、数据缓存模块、主动自适应整形引擎模块、数据裁决模块;所述MAC层处理接收原始IP数据后,由所述报头解析模块解析所述原始IP数据,得到IP控制数据;所述数据缓存模块将所述原始IP数据进行缓存;所述主动自适应整形引擎模块接收对应的IP控制数据并对所述IP控制数据进行主动自适应整形;所述数据裁决模块控制所述原始IP数据进行数据裁决。
可选地,所述系统还包括match-action引擎模块,所述match-action引擎模块将会话状态数据映射到每条表项中,将元数据处理设置为match-action方式,所述match-action方式包括建表、查表、匹配、行为,其中,所述元数据为原始数据包的控制模型。其中,所述每条表项对应一个TCP会话,所述TCP会话的规模根据存储资源可线性扩展。
如图1所示,在实际处理时,数据经过MAC层处理接收,收入的数据通过报头解析,得到IP控制数据。将原始IP数据进行缓存,同时对应的IP控制数据进入match-action引擎模块,在经主动自适应整形之后去控制缓存的原始IP数据,进行数据裁决,执行相应操作。
本系统主要针对IP数据进行处理,因此需要准确的提取IP报文的控制数据,以便于对不同的IP数据进行对应的处理。然而由于IP承载数据的复杂性,IP报文本身的复杂性,如何完善的进行IP数据解析,在不进行缓存的情况下线速提取IP包头是必须解决的一个难题。
通过对IP协议标准的分析可知,IP及其承载的信息以栈的方式进行组织。因此构建基于多段式状态机的方式,分层分段流水化进行IP及其承载协议的处理。各段状态机之间使用控制信号进行通信,即底层状态机发出信号启动对应高层状态机的方式进行并行流水操作,确保在一个包接收完毕前就提取对应的包头字段。该方式即能做到线速处理,同时还兼顾分层分段,处理完备,实际测试中运行良好。
可选地,本实施例中的所述主动自适应整形引擎模块接收对应的IP控制数据并对所述IP控制数据进行主动自适应整形,包括:所述主动自适应整形引擎模块接收对应的IP控制数据;针对混叠的服务器端数据,所述主动自适应整形引擎模块根据TCP ISN号与TCP序列号,按照预设规则进行整形处理,其中,所述预设规则为后接收的数据覆盖先接收的数据。
本申请的主动自适应整形引擎模块保存会话连接状态并识别重传与乱序现象;所述主动自适应整形引擎模块判断数据包为重传或乱序,对重传的数据包放行,对乱序的数据表包进行丢弃并触发客户端与服务器端的TCP/IP协议栈进行重传保序。本系统中主要是为了维护客户端到两个服务端的两个虚拟化TCP连接,需要维护的并发会话数量众多。设计具有良好可扩展性的会话保持模块,是本系统的一个重点。为了降低系统实现的复杂性,同时为了满足模块化设计需求,作者根据包处理的基本思想,将整个处理过程解耦为元数据(即IP控制数据,下同)处理和包原始数据处理两部分。其中元数据可以看成是原始数据包的控制模型,通过对它的操控,实现操控整个数据包的过程。包原始数据处理主要是进行数据暂存,并根据元数据处理结果做对应的动作。本系统中将会话状态数据映射到每条表项中,将元数据处理抽象为match-action方式,细分为建表、查表、匹配、行为等一系列逻辑过程,工程中具体实现为查表模块、表存储模块、匹配模块等。其中每条表项对应一个TCP会话,会话规模根据存储资源可线性扩展。
经过主动自适应整形算法处理后,一方面,客户端看到的就是序列号顺序递增的数据序列,整个TCP连接维持稳定。另一方面,由于后到数据转发给客户端,控制了客户端新数据请求的发起时机,确保服务器端不会发生异步恶化的情况。
具体地,所述主动自适应整形引擎模块判断数据包为重传或乱序,包括:所述主动自适应整形引擎模块对进入主动自适应整形模块的数据搜索匹配标识项,获得当前的seq值,若当前的seq值大于系统预期的seq值,则判定当前数据包为乱序包,若当前的seq值小于系统预期的seq值,则判定当前数据包为重传包,若当前的seq值等于系统预期的seq值,则判断是否是主输入代理来包。判断过程具体为:进入主动自适应整形模块的数据,经过搜索匹配标识项,判断当前的seq值,如果大于系统预期的seq值,那么判定其为乱序包,丢掉此包不更改流表项;如果小于系统预期的seq值,那么判定其为重传包,发送此包且不更改流表项;如果与系统预期的seq值相等,则开始判断是否是主输入代理来包。如果为主输入代理来包且备输入代理没来过当前包,则丢掉此包不更改流表项。如果备输入代理来过当前包,则判断包的类型。对于RST包,进行删流表操作;对于SYN包,进行新建流表操作,转发该包;对于FIN包,进行删流表操作,转发该包;对于数据包,则更新流表,转发该包;对于ACK包,则不更改流表项,仅进行包转发。如果不是主输入代理来包,对于备输入代理来包,则执行与主输入代理来包相应的操作。
现有的技术中采用缓存机制,不能适应大并发条件,当并发量增加到一定数量时,备输入代理可能会因为缓存的耗尽而丢包。同时,带内控制通道增大了攻击面,安全性问题比较突出。
相比传统软件实现方式,本申请的实现方式具有如下显著优势:
(1)数据处理流程中不需要额外缓存,便于硬件实现;
(2)可以对数据进行线速处理,解决了并发过高会带来的丢包问题;
(3)合理的数据结构提取,减小了需要维护的状态向量规模;
(4)控制调度信息使用带外通道进行通信,缩小了攻击面,具备更高的安全性;
(5)基于物理层进行传输,针对包进行代理,系统的通用适配性强。
具体应用实施例中,使用xilinx Zynq-7000系列的xc7z100 FPGA芯片,在不使用外部缓存的情况下,可以做到万兆以太网线速数据处理,会话规模达到5万并发以上;在采用外部DDR或SRAM的情况下,可以做到万兆以太网线速数据处理,会话规模达到50万并发以上。
此外,本申请还提出了一种FPGA透明代理方法,图2为本申请实施例提供的一种FPGA透明代理方法的流程图。如图2所示,所述方法包括:接收原始IP数据后,解析所述原始IP数据,得到IP控制数据;将所述原始IP数据进行缓存;接收对应的IP控制数据并对所述IP控制数据进行主动自适应整形;控制所述原始IP数据进行数据裁决。
此外,如图3所示,本申请还提出了一种FPGA透明代理装置,所述装置包括:
第一模块301,用于接收原始IP数据后,解析所述原始IP数据,得到IP控制数据;
第二模块302,用于将所述原始IP数据进行缓存;
第三模块303,用于接收对应的IP控制数据并对所述IP控制数据进行主动自适应整形;
第四模块304,用于控制所述原始IP数据进行数据裁决。
此外,如图4所示,本申请还提出了一种FPGA透明代理装置,所述装置包括:
至少一个处理器401;
至少一个存储器402,所述存储器402用于存储至少一个程序;
当至少一个所述程序被至少一个所述处理器401执行时实现如前面实施例的一种FPGA透明代理方法。
上述方法实施例中的内容均适用于本装置实施例中,本装置实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法实施例所达到的有益效果也相同。
在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或方框有时能以相反顺序被执行。此外,在本申请的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。
此外,虽然在功能性模块的背景下描述了本申请,但应当理解的是,除非另有相反说明,功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本申请是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本申请。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本申请的范围,本申请的范围由所附权利要求书及其等同方案的全部范围来决定。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的上述描述中,参考术语“一个实施方式/实施例”、“另一实施方式/实施例”或“某些实施方式/实施例”等的描述意指结合实施方式或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。
尽管已经示出和描述了本申请的实施方式,本领域的普通技术人员可以理解:在不脱离本申请的原理和宗旨的情况下可以对这些实施方式进行多种变化、修改、替换和变型,本申请的范围由权利要求及其等同物限定。
以上,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
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.根据权利要求5所述的一种FPGA透明代理系统,其特征在于,所述主动自适应整形引擎模块判断数据包为重传或乱序,包括:
所述主动自适应整形引擎模块对进入主动自适应整形模块的数据搜索匹配标识项,获得当前的seq值,若当前的seq值大于系统预期的seq值,则判定当前数据包为乱序包,若当前的seq值小于系统预期的seq值,则判定当前数据包为重传包,若当前的seq值等于系统预期的seq值,则判断是否是主输入代理来包。
7.根据权利要求6所述的一种FPGA透明代理系统,其特征在于,所述判断是否是主输入代理来包,包括:
若当前数据包为主输入代理来包且未接收到备输入代理的数据包,则丢掉当前数据包,不更改流表项;
若当前数据包为主输入代理来包且接收到备输入代理的数据包,则对应RST包,进行删流表操作;对于SYN包,进行新建流表操作,转发所述SYN包;对于FIN包,进行删流表操作,转发所述FIN包;对于数据包,则更新流表,转发所述数据包;对于ACK包,则不更改流表项,仅进行转发。
8.一种FPGA透明代理方法,其特征在于,所述方法包括:
接收原始IP数据后,解析所述原始IP数据,得到IP控制数据;
将所述原始IP数据进行缓存;
接收对应的IP控制数据并对所述IP控制数据进行主动自适应整形;
控制所述原始IP数据进行数据裁决。
9.一种FPGA透明代理装置,其特征在于,所述装置包括:
第一模块,用于接收原始IP数据后,解析所述原始IP数据,得到IP控制数据;
第二模块,用于将所述原始IP数据进行缓存;
第三模块,用于接收对应的IP控制数据并对所述IP控制数据进行主动自适应整形;
第四模块,用于控制所述原始IP数据进行数据裁决。
10.一种FPGA透明代理装置,其特征在于,所述装置包括:
至少一个处理器;
至少一个存储器,所述存储器用于存储至少一个程序;
当至少一个所述程序被至少一个所述处理器执行时实现如权利要求8中所述的一种FPGA透明代理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210678412.5A CN115174345B (zh) | 2022-06-16 | 2022-06-16 | 一种fpga透明代理系统、方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210678412.5A CN115174345B (zh) | 2022-06-16 | 2022-06-16 | 一种fpga透明代理系统、方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115174345A true CN115174345A (zh) | 2022-10-11 |
CN115174345B CN115174345B (zh) | 2023-11-03 |
Family
ID=83485046
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210678412.5A Active CN115174345B (zh) | 2022-06-16 | 2022-06-16 | 一种fpga透明代理系统、方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115174345B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102130910A (zh) * | 2011-02-28 | 2011-07-20 | 华为技术有限公司 | Tcp代理插入和卸载方法及业务网关设备 |
US20140195797A1 (en) * | 2013-01-09 | 2014-07-10 | Netronome Systems, Inc. | Efficient forwarding of encrypted tcp retransmissions |
CN110177046A (zh) * | 2019-04-18 | 2019-08-27 | 中国人民解放军战略支援部队信息工程大学 | 基于拟态思想的安全交换芯片、实现方法及网络交换设备 |
CN110535843A (zh) * | 2019-08-20 | 2019-12-03 | 之江实验室 | 一种拟态裁决参数消息同步的装置和方法 |
CN114363047A (zh) * | 2021-12-31 | 2022-04-15 | 河南信大网御科技有限公司 | 一种基于透明代理的后项裁决拟态构造系统 |
-
2022
- 2022-06-16 CN CN202210678412.5A patent/CN115174345B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102130910A (zh) * | 2011-02-28 | 2011-07-20 | 华为技术有限公司 | Tcp代理插入和卸载方法及业务网关设备 |
US20140195797A1 (en) * | 2013-01-09 | 2014-07-10 | Netronome Systems, Inc. | Efficient forwarding of encrypted tcp retransmissions |
CN110177046A (zh) * | 2019-04-18 | 2019-08-27 | 中国人民解放军战略支援部队信息工程大学 | 基于拟态思想的安全交换芯片、实现方法及网络交换设备 |
CN110535843A (zh) * | 2019-08-20 | 2019-12-03 | 之江实验室 | 一种拟态裁决参数消息同步的装置和方法 |
CN114363047A (zh) * | 2021-12-31 | 2022-04-15 | 河南信大网御科技有限公司 | 一种基于透明代理的后项裁决拟态构造系统 |
Non-Patent Citations (2)
Title |
---|
NI SIYUAN ET AL.: "Security Levels Oriented Deployment Algorithm for Mimic SaaS Cloud", IEEE * |
郭乔羽 等: "基于主备监视的拟态云代理设计实现方法", 计算机应用 * |
Also Published As
Publication number | Publication date |
---|---|
CN115174345B (zh) | 2023-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Moon et al. | {AccelTCP}: Accelerating network applications with stateful {TCP} offloading | |
US10534601B1 (en) | In-service software upgrade of virtual router with reduced packet loss | |
CN101217493B (zh) | 一种tcp数据包的传输方法 | |
Zhu et al. | Sdpa: Enhancing stateful forwarding for software-defined networking | |
US20060242313A1 (en) | Network content processor including packet engine | |
US20130155902A1 (en) | System and method for non-disruptive management of servers in a network environment | |
US9270609B2 (en) | Transmission control protocol window size adjustment for out-of-order protocol data unit removal | |
EP2788888B1 (en) | Lossless connection failover for mirrored devices | |
CN103931158A (zh) | 用于在无线通信系统中进行内容和应用程序加速的系统和方法 | |
Nobach et al. | Statelet-based efficient and seamless NFV state transfer | |
WO2014023003A1 (zh) | 控制数据传输的方法、装置和系统 | |
EP2789136A1 (en) | Lossless connection failover for single devices | |
CN111740910A (zh) | 一种报文处理方法、装置、网络传输设备及报文处理系统 | |
Teng et al. | P4SF: A high-performance stateful firewall on commodity P4-programmable switch | |
WO2024037366A1 (zh) | 转发规则下发方法、智能网卡及存储介质 | |
CN115174345A (zh) | 一种fpga透明代理系统、方法及装置 | |
WO2003001766A2 (en) | Efficient data transmissions based on a policy | |
Mansley | Engineering a user-level TCP for the CLAN network | |
Shieh et al. | A stateless approach to connection-oriented protocols | |
Sukapuram et al. | Loss-freedom, Order-preservation and No-buffering: Pick Any Two During Flow Migration in Network Functions | |
CN114500400A (zh) | 基于容器技术的大规模网络实时仿真方法 | |
Taguchi et al. | Fast datapath processing based on hop-by-hop packet aggregation for service function chaining | |
Sukapuram et al. | Correctness of Flow Migration | |
Ran et al. | Agile: A high-scalable and low-jitter flow tables lifecycle management framework for multi-core programmable data plane | |
Qiaoyu et al. | Design and Implementation of High-Performance Software Load Balancer for Cloud Service |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20231227 Address after: 519060 No.1, Pingdong 1st Road, Nanping Science and Technology Industrial Park, Zhuhai City, Guangdong Province Patentee after: ZHUHAI COMLEADER INFORMATION TECHNOLOGY Co.,Ltd. Patentee after: HENAN XINDA WANGYU TECHNOLOGY Co.,Ltd. Address before: 519060 No.1, Pingdong 1st Road, Nanping Science and Technology Industrial Park, Zhuhai City, Guangdong Province Patentee before: ZHUHAI COMLEADER INFORMATION TECHNOLOGY Co.,Ltd. |