CN109951425B - 基于fpga的tcp流状态完整性检测方法 - Google Patents

基于fpga的tcp流状态完整性检测方法 Download PDF

Info

Publication number
CN109951425B
CN109951425B CN201711388924.3A CN201711388924A CN109951425B CN 109951425 B CN109951425 B CN 109951425B CN 201711388924 A CN201711388924 A CN 201711388924A CN 109951425 B CN109951425 B CN 109951425B
Authority
CN
China
Prior art keywords
cam
information
tcp
state
address
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.)
Active
Application number
CN201711388924.3A
Other languages
English (en)
Other versions
CN109951425A (zh
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.)
Zhangjiajie Institute of Aeronautical Engineering
Original Assignee
Zhangjiajie Institute of Aeronautical Engineering
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 Zhangjiajie Institute of Aeronautical Engineering filed Critical Zhangjiajie Institute of Aeronautical Engineering
Priority to CN201711388924.3A priority Critical patent/CN109951425B/zh
Publication of CN109951425A publication Critical patent/CN109951425A/zh
Application granted granted Critical
Publication of CN109951425B publication Critical patent/CN109951425B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

基于PFGA的TCP流状态完整性检测方法,采用以下步骤完成检测,1)、将网络数据通过数据包采集的方式采集后,传输到FIFO缓存;2)、将FIFO缓存信息提取出的五元组信息后传输到状态检测控制器进行检测,同时将提取后的FIFO缓存信息传输到过滤控制器进行过滤;3)、将检测后的头部信息传输到第一CAM和第二CAM,利用第一CAM和第二CAM的地址互访进行TCP头部信息的存储和更新:4)、将第一CAM和第二CAM更新后的数据传输到状态检测控制器进行检测:5)、将状态检测控制器检测过关的TCP头部信息通过过滤控制器进行过滤:6)、将过滤后的FIFO信息打包成数据报,并转发,利用双CAM通过FPGA硬件来实现TCP流状态的完整性检测,此方法存储效率高,能够快速查找和匹配状态表,充分高效利用有限的CAM空间。

Description

基于FPGA的TCP流状态完整性检测方法
技术领域
本发明属于TCP/IP数据包检测方法,尤其是涉及一种TCP流状态的数据包的完整性检测方法。
背景技术
TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义,在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能,UDP是同一层内另一个重要的传输协议,在因特网协议族中,TCP层是位于IP层之上,应用层之下的中间层,不同主机的应用层之间经常需要可靠的、像管道一样的连接,但是IP层不提供这样的流机制,而是提供不可靠的包交换,应用层向TCP层发送用于网间传输的、用8位字节表示的数据流,然后TCP把数据流分区成适当长度的报文段,该报文段受MTU的限制,之后TCP把结果包传给IP层,由它来通过网络将包传送给接收端实体的TCP层,TCP为了保证不发生丢包,就给每个包一个序号,同时序号也保证了传送到接收端实体的包的按序接收,然后接收端实体对已成功收到的包发回一个ACK,如果发送端实体在合理的RTT内未收到确认,那么对应的数据包就被假设为已丢弃将会被进行重传,TCP用一个校验和函数来检验数据是否有错误;在发送和接收时都要计算校验和,具体流程见附图5。
发明内容
技术问题的由来:目前,TCP是利用校验和函数来检验数据是否有错误;在发送和接收时都要计算校验和,当大量TCP需要校验时,计算机需要频繁的进行校验和函数的计算,最终拖累了传输效率,特别是流媒体传输时,其报文段受MTU的限制,TCP头部信息增多,导致校验和函数的计算量大,现有的TCP状态过滤检测方法是将数据包头部信息存储在大容量存储器中,通过地址访问内容,所需要的时间长,不能满足现有高速网络的需求。
技术方案:一种基于FPGA的TCP流状态完整性检测方法,其特征是:
基于FPGA的TCP流状态完整性检测方法由以下步骤组成,
1)、将网络数据通过数据包采集的方式采集后,传输到FIFO缓存;
2)、将FIFO缓存的数据包分成两部分,即TCP头部信息和TCP应用数据,将TCP头部信息提取五元组信息后传输到状态检测控制器进行检测, 同时将TCP应用数据传输到过滤控制器根据状态检测控制器给出是否转发信号进行过滤;
3)、将检测后的头部信息传输到第一CAM和第二CAM,利用第一CAM和第二CAM的地址互访进行TCP头部信息的存储和更新:
4)、将第一CAM和第二CAM更新后的数据传输到状态检测控制器进行检测:
5)、将状态检测控制器检测过关的TCP头部信息通过过滤控制器进行过滤,过滤是指TCP头部信息符合转发要求的,将TCP头部信息和应用数据进入转发程序,TCP头部信息不符合转发要求的,将应用数据丢弃,同时将TCP头部信息在第一CAM做出标签,标签记载的内容包含过滤原因、过滤时间、发送者的IP地址、接受IP地址、数据包编号;
6)、将过滤后的FIFO信息打包成数据包,并转发,
依据权利要求1所述的基于FPGA的TCP流状态完整性检测方法,其特征是:
所述的第一CAM和第二CAM地址互访,是指第一CAM内容匹配所得地址作为访问第二CAM的地址建立起映射关系图,根据TCP协议流状态相关信息,当这条流无效时,所占用的第一CAM和第二CAM空间要被清除,首先检测第二CAM中的相关状态信息进行判定流是否有效,如无效,第二CAM中的状态信息清除并设置相应标签,与此同时将第二CAM的地址作为第一CAM的访问地址去清除其内容,清除其内容的目的是为下一次对第一CAM进行查找时会跳过其内容匹配,设置标签的作用就是在空间查找时,通过查找第二CAM的内容标签来查找,查找到标签的地址即作为新开辟空间的地址,
所述的第一CAM内容是指五元组信息,即1、源IP地址,2、源端口,3、目的IP地址,4、目的端口5、传输层协议。
依据权利要求1所述的基于FPGA的TCP流状态完整性检测方法,其特征是:
所述的利用第一CAM和第二CAM的地址互访进行TCP头部信息的存储和更新,其工作步骤是:
1)、提取第一CAM里面的五元组信息;
2)、对第一CAM里面存储的五元组信息进行匹配,分两种情况进行处理1、匹配成功,则更新第二CAM相应的状态信息并存储,2、匹配不成功,新建一条流;
3)、对匹配不成功的新建流先进行查找已经清除的旧空间的操作,旧空间的查找是通过第二CAM设置相应的标签来查找;
4)、查找成功,则将新建流存储在旧空间;
5)查找不成功,则新建新空间,将新建流存储在新空间;
6)、TCP流建立、连接、存储、释放过程给出明确的通过或者是不通过信号;
7)、状态清零检测,如果满足状态清零条件,则第二CAM清零并设置标签之后,将第一CAM清零:如果不满足状态清零条件,则状态清零检测结束,满足状态清零条件是指程序判断出TCP头部信息为无效流,从而清除第一CAM和第二CAM中的信息;
依据权利要求1所述的基于FPGA的TCP流状态完整性检测方法,其特征是:
状态检测控制器按以下步骤完成状态检测:
1)、状态检测控制器提取头部信息中的五元组信息;
2)、将五元组信息作为第一CAM的内容进行匹配查寻,匹配查询是利用第二CAM的标签进行匹配,匹配分两种情况,1、匹配成功,2、匹配不成功,分别处理;
3)、在第二CAM中没有相同的标签,则匹配不成功,判断状态信息是否有SYN信号,如果没有,判断为一条无效流,指令过滤掉该信号,状态信息有SYN信息,判断是一条新流;
4)、将第3步获得的新流开辟第一CAM和第二CAM空间分别存储新流的五元组信息和状态信息;
5)、在第二CAM中有相同的标签,则匹配成功,同时判断相应状态信息是否含有SYN信号,有SYN信号,状态检测控制器判断是一条相关的流,指令更新第一CAM和第二CAM;
6)、第5)步相应状态信息没有SYN信号,则紧接着判断是否有FIN或RST信号,有FIN或RST信号,则更新第一CAM和第二CAM;
7)、第6)步没有FIN或RST信号,检测是否超时,没有超时则修改时间戳并更新第二CAM;
8)、第7)步检测超时,则更新第一CAM和第二CAM;
9)、根据TCP连接的三次握手过程和读取第二CAM中的相关状态信息来判决第8步获得的流是否让其通过。
有益效果:通过FPGA硬件来实现TCP流状态的完整性检测,根据TCP对话建立的三次握手过程和两次释放过程,设计出一种第一CAM和第二CAM存储TCP流状态检测方法,此方法存储效率高,能够快速查找和匹配状态表,采用第一CAM和第二CAM的内容和地址相互访问的方法,充分高效利用有限的CAM空间,可实现海量流状态信息的快速查找和匹配,实现检测TCP流的完整性,为实现基于硬件的TCP流状态完整性检测实现数据包过滤提供了一种较好的方法。
说明书附图
附图1是TCP流状态检测结构图;
附图2是第一CAM和第二CAM内容地址互访示意图;
附图3是第一CAM和第二CAM存储更新流程图;
附图4是基于第一CAM和第二CAM的TCP流状态检测流程图;
附图5是现有的TCP完整性检测流程图。
具体实施方式
申请人参照附图予以说明基于FPGA的TCP流状态完整性检测方法的原理和流程。
附图1是TCP 流状态检测结构图,主要包括以下几个部分:数据包采集、信息提取、FIFO缓存、状态检测控制器、第一CAM和第二CAM联合维护信息和状态表、过滤控制及数据包转发。
附图2是第一CAM和第二CAM内容地址互访示意图;具体过程如下,第一CAM内容匹配所得地址作为访问第二CAM的地址建立起映射关系图,根据TCP协议流状态相关信息,当这条流无效时,所占用的第一CAM和第二CAM空间要被清除,首先检测第二CAM中的相关状态信息进行判定流是否有效,如无效,第二CAM中的状态信息清除并设置相应标签,与此同时将第二CAM的地址作为第一CAM的访问地址去清除其内容,清除其内容的目的是为下一次对第一CAM进行查找时会跳过其内容匹配,设置标签的作用就是在空间查找时,通过查找第二CAM的内容标签来查找,查找到标签的地址即作为新开辟空间的地址,所述的第一CAM信息为五元组信息。
附图3是第一CAM和第二CAM存储更新流程图;具体过程如下:首先提取五元组信息,对第一CAM里面的存储的五元组信息进行匹配,如匹配成功,则更新第二CAM相应的状态信息,如匹配不成功,代表是一条新建立的流,此时,开辟空间存储五元组信息和相应的状态信息,开辟的空间包括已用空间和从来没有用过的新空间,已用空间需要清除原有相关信息,在确定开辟空间之前对空间进行查找,看是否存在已清除的旧空间,如果存在则存储在旧空间,否则存储在新空间,旧空间的查找是通过第二CAM设置相应的标签来查找,状态清零检测条件满足,则第二CAM设置标签,第一CAM清零,结束,TCP流建立、连接、释放过程明确给通出过与不通过信号,状态清零检测和五元信息提取是并行执行,所述的状态清零是指存储器的状态变成原始的零状态,这里的状态是利用二进制数据1来表示。
附图4是基于第一CAM和第二CAM的TCP流状态检测流程图,
状态检测控制器对提取到的头部信息中的五元组信息,作为第一CAM的内容进行匹配查寻,如果匹配不成功,判断状态信息是否有SYN信号,如果没有,说明是一条无效流,可以给出明确过滤掉信号,否则是一条新流,紧接着开辟第一CAM和第二CAM空间分别存储新建流的五元组信息和状态信息,具体开辟空间的过程在图3有赘述,下面有关更新双CAM的过程都是按照图3所示流程进行,不再详细说明,如果匹配成功,与此同时判断相应状态信息是否含有SYN信号,如果有说明是一条相关的流,更新第一CAM和第二CAM,否则紧接着判断是FIN或RST信号,如果是则更新双CAM,否则检测超时否,如没有超时则修时间戳并更新第二CAM,否则更新双CAM,最后根据TCP连接的三次握手过程和读取第二CAM中的相关状态信息来判决该流是否让其通过。
实施例1、切片与流媒体,在photoshop软件中,有切片功能,切片是指图片应用于HTML文本中,将大的图片分成几块小图片,在上传下载时,不是整个图片传输,而是利用分成的小图片上传下载,这样加快上传下载的速度,这个功能需要PHOTOSHOP软件支持,由于现在的网络传输速度大幅上升,网页制作时已经很少有人使用此功能,有些网站为了防止客户端上传大容量图片,对上传图片的大小做出了限制,运用流媒体传输技术,方便上传下载高清图片,其原理不是切片,而是将数据文件按MTU分割,TCP头部文件按MTU分隔后的文件数分配,例如,服务器端限制的MTU为500KB,图片文件为4.2MB,那么,TCP头部文件分成9部分,前8部分为500KB的TCP头部信息,第9部分为200KB的TCP头部信息,服务器端接收到客户端发送的下载请求,将TCP头部信息记载进第一CAM和第二CAM,并向客户端发送第一段数据,接收到客户端反馈的第一段信息下载成功的信息后,开始发送第二段信息,一直接收到第9段下载成功的反馈后,下载通道关闭,并对第一CAM和第二CAM执行清零操作,如果第5段服务器端无法获得客户端反馈信息,当timeout条件成熟后,停止向客户端发送信息,按两种情况处理,程序记载采用记忆功能的,记载下载者的IP号和下载失败的数据包的编号,删除其他数据包编号,客户端请求再次下载时,如果是网络断开,客户端动态IP地址已经改变,因此,客户端采用记载功能的,需要同时传输下载失败时的IP地址,通过两者地址的对照,对客户端第一CAM和第二CAM中的数据进行检索,有相同的IP地址的,即从失败部分开始发送数据包到新IP地址,由于新IP地址和旧IP地址是同一个客户端,这样,就可以完成剩余部分的下载,需要注意的是,服务器端对流媒体文件处理时,都是利用MTU为标准进行分割,这样,不同的客户端下载时,其服务器端只有下载者的IP地址和下载时间,失败时间和下载成功时间存在区别,其他内容都是相同的,这样,有助于减少计算量,切片与完整图片上传下载不同的是,切片由分割的图片数量来确定TCP头部信息,而完整的图片只有一个TCP头部信息,因此,流媒体需要处理更多的TCP头部信息,大量的上传下载进行时,TCP头部信息处理非常繁忙,如果是不断的在服务器和客户端进行TCP头部信息的处理,会拖累网速,而双CAM则显进行检测,丢弃一部分数据包,检测在双CAM中进行,而FPGA执行并行算法,能够加快处理速度。
实施例2:大容量的软件下载时,采用同样的方法,将软件按照MTU分割之后,制成压缩文件,TCP头部文件记载这些压缩文件的头部信息,然后将压缩文件按照先后顺序传送到客户端,如果其中有压缩文件损坏,标记不良之后,会继续下载其他压缩文件,但是这样下载的文件不完整,没办法使用,服务器端利用客户端的标注,只需要修改损坏部分,修改好后,客户端也只需要下载损坏部分,由于有TCP头部信息的标注,依据损坏部分的排序信息,就能够轻松的将整个软件解压,这里就涉及内容可寻址技术,即CAM元件功能,下载在某部分中断,再次下载时,字节下载,不能多字节,也不能少字节,但是下载受网速的影响,利用时间轴并不能准确知道下载的字节位置,这样,TCP头部信息无法起到作用,而利用内容可寻址技术,就在于是利用内容寻址,能够判断出下载字节的准确位置,通过TCP头部信息的分割,将文件转换成小文件,再利用内容寻址技术,精准查找到字节位置,能够避免重复下载,从技术原理上看,利用第一CAM和第二CAM,增加了TCP头部信息的数据量,但是,地址互访技术,将地址寻址技术限制在服务器端进行,只有通过检测的才发送数据到客户端,而不是不停的在客户端和服务器端进行TCP头部信息的检测,核验,从而加快了访问速度。
所述的TCP是指Transmission Control Protocol,即传输控制协议。
所述的IETF是指The Internet Engineering Task Force,即国际互联网工程任务组简称。
所述的RFC793是指传输控制协议打算用作在分组交换计算机通迅网络和这类网络的内部连接系统的主机间高可靠主机对主机协议。
所述的OSI是指Open System Interconnect, 即开放系统互连参考模型的简称。
所述的UDP是指User Datagram Protocol, 即用户数据报协议的简称。
所述的IP是指Internet Protocol的外语缩写,即网络之间互连的协议英文简称。
所述的MTU是指计算机连接的网络的数据链路层的最大传输单元,即MaximumTransmission Unit的英文缩写。
所述的CAM为content-addressable memo-ry,即内容可寻址存储器。
所述的RTT是指Round-Trip Time,即往返时延的英文简称。
所述的ACK是指Acknowledgement,即确认字符的英文简称。
所述的五元组是通信术语,五元组是指源IP地址、源端口、目的IP地址、目的端口和传输层协议。
所述的FPGA是指Field-Programmable Gate Array,即现场可编程门阵列,它是在PAL、GAL、CPLD可编程器件的基础上进一步发展的产物。FPGA是作为专用集成电路领域中的一种半定制电路而出现的,因FPGA本身硬件资源的瓶颈问题,所能实现的存储器容量有限,设计一种硬件资源开销小,访问效率高的存储器以满足高速网络TCP流状态检测需求很有必要,利用本身FPGA的并行性是可行的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点,所述的硬件资源开销小,访问效率高的存储器是指第一CAM和第二CAM。
所述的FIFO是指First Input First Output,即是指先进先出,由于微电子技术的飞速发展,新一代FIFO芯片容量越来越大,体积越来越小,价格越来越便宜,作为一种新型大规模集成电路,FIFO芯片以其灵活、方便、高效的特性,逐渐在高速数据采集、高速数据处理、高速数据传输以及多机处理系统中得到越来越广泛的应用。
所述的SYN是指synchronous,是TCP/IP建立连接时使用的握手信号,在客户机和服务器之间建立正常的TCP网络连接时,客户机首先发出一个SYN消息,服务器使用SYN+ACK应答表示接收到了这个消息,最后客户机再以ACK消息响应,这样在客户机和服务器之间才能建立起可靠的TCP连接,数据才可以在客户机和服务器之间传递,TCP连接的第一个包,非常小的一种数据包。SYN 攻击包括大量此类的包,由于这些包看上去来自实际不存在的站点,因此无法有效进行处理。每个机器的欺骗包都要花几秒钟进行尝试方可放弃提供正常响应。
所述的FIN也叫ISH,为TCP报头的码位字段,该位置为1的含义为发送方字节流结束,用于关闭连接,当两端交换带有FIN标志的TCP报文段并且每一端都确认另一端发送的FIN包时,TCP连接将会关闭,FIN位字面上的意思是连接一方再也没有更多新的数据发送。然而,那些重传的数据会被传送,直到接收端确认所有的信息。
所述的RST即RESET,中文为复位、重置,TCP首部中的6个标志比特之一,表示重置连接、复位连接。
所述的TCP头部结构包括以下内容:
1、 源、目标端口号字段:占16比特,TCP协议通过使用"端口"来标识源端和目标端的应用进程。端口号使用0到65535之间的任何数字,在收到服务请求时,操作系统动态地为客户端的应用程序分配端口号,在服务器端,每种服务在Well-Know Port为用户提供服务,Well-Know Port即众所周知的端口
2、顺序号字段:占32比特,用来标识从TCP源端向TCP目标端发送的数据字节流,它表示在这个报文段中的第一个数据字节;
3、确认号字段:占32比特,只有ACK标志为1时,确认号字段才有效,它包含目标端所期望收到源端的下一个数据字节;
4、头部长度字段:占4比特,给出头部占32比特的数目。没有任何选项字段的TCP头部长度为20字节;最多可以有60字节的TCP头部;
5、标志位字段:占6比特,标志位字段由U、A、P、R、S、F组成,各比特的含义如下:
5.1,U是指urgent pointer,缩写 URG:紧急指针有效;
5.2A是指ACK:确认序号有效;
5.3、P是指PSH:接收方应该尽快将这个报文段交给应用层;
5.4、R是指RST:重建连接;
5.5、S是指SYN:发起一个连接;
5.6、FIN:释放一个连接;
6、窗口大小字段:占16比特,此字段用来进行流量控制。单位为字节数,这个值是本机期望一次接收的字节数;
7、TCP校验和字段:占16比特,对整个TCP报文段,即TCP头部和TCP数据进行校验和计算,并由目标端进行验证;
8、紧急指针字段:占16比特,它是一个偏移量,和序号字段中的值相加表示紧急数据最后一个字节的序号;
9、选项字段:占32比特,包括或不包括窗口扩大因子、时间戳选项,选项字段内容是可选的。

Claims (3)

1.一种基于FPGA的TCP流状态完整性检测方法,其特征是:
基于FPGA的TCP流状态完整性检测方法由以下步骤组成,
1)、将网络数据通过数据包采集的方式采集后,传输到FIFO缓存;
2)、将FIFO缓存的数据包分成两部分,即TCP头部信息和TCP应用数据,将TCP头部信息提取五元组信息后传输到状态检测控制器进行检测, 同时将TCP应用数据传输到过滤控制器根据状态检测控制器给出是否转发信号进行过滤;
3)、将检测后的头部信息传输到第一CAM和第二CAM,利用第一CAM和第二CAM的地址互访进行TCP头部信息的存储和更新:
4)、将第一CAM和第二CAM更新后的数据传输到状态检测控制器进行检测:
5)、将状态检测控制器检测过关的TCP头部信息通过过滤控制器进行过滤,过滤是指TCP头部信息符合转发要求的,将TCP头部信息和应用数据进入转发程序,TCP头部信息不符合转发要求的,将应用数据丢弃,同时将TCP头部信息在第一CAM做出标签,标签记载的内容包含过滤原因、过滤时间、发送者的IP地址、接受IP地址、数据包编号;
6)、将过滤后的FIFO信息打包成数据包,并转发,
所述的状态检测控制器按以下步骤完成状态检测:
A)、状态检测控制器提取头部信息中的五元组信息;
B)、将五元组信息作为第一CAM的内容进行匹配查寻,匹配查询是利用第二CAM的标签进行匹配,匹配分两种情况,1、匹配成功,2、匹配不成功,分别处理;
C)、在第二CAM中没有相同的标签,则匹配不成功,判断状态信息是否有SYN信号,如果没有,判断为一条无效流,指令过滤掉该信号,状态信息有SYN信息,判断是一条新流;
D)、将第C)步获得的新流开辟第一CAM和第二CAM空间分别存储新流的五元组信息和状态信息;
E)、在第二CAM中有相同的标签,则匹配成功,同时判断相应状态信息是否含有SYN信号,有SYN信号,状态检测控制器判断是一条相关的流,指令更新第一CAM和第二CAM;
F)、第E)步相应状态信息没有SYN信号,则紧接着判断是否有FIN或RST信号,有FIN或RST信号,则更新第一CAM和第二CAM;
G)、第F)步没有FIN或RST信号,检测是否超时,没有超时则修改时间戳并更新第二CAM;
H)、第G)步检测超时,则更新第一CAM和第二CAM;
I)、根据TCP连接的三次握手过程和读取第二CAM中的相关状态信息来判决第H)步获得的流是否让其通过。
2.依据权利要求1所述的基于FPGA的TCP流状态完整性检测方法,其特征是:
所述的第一CAM和第二CAM地址互访,是指第一CAM内容匹配所得地址作为访问第二CAM的地址建立起映射关系图,根据TCP协议流状态相关信息,当这条流无效时,所占用的第一CAM和第二CAM空间要被清除,首先检测第二CAM中的相关状态信息进行判定流是否有效,如无效,第二CAM中的状态信息清除并设置相应标签,与此同时将第二CAM的地址作为第一CAM的访问地址去清除其内容,清除其内容的目的是为下一次对第一CAM进行查找时会跳过其内容匹配,设置标签的作用就是在空间查找时,通过查找第二CAM的内容标签来查找,查找到标签的地址即作为新开辟空间的地址,
所述的第一CAM内容是指五元组信息,即1、源IP地址,2、源端口,3、目的IP地址,4、目的端口5、传输层协议。
3.依据权利要求1所述的基于FPGA的TCP流状态完整性检测方法,其特征是:
所述的利用第一CAM和第二CAM的地址互访进行TCP头部信息的存储和更新,其工作步骤是:
1)、提取第一CAM里面的五元组信息;
2)、对第一CAM里面存储的五元组信息进行匹配,分两种情况进行处理1、匹配成功,则更新第二CAM相应的状态信息并存储,2、匹配不成功,新建一条流;
3)、对匹配不成功的新建流先进行查找已经清除的旧空间的操作,旧空间的查找是通过第二CAM设置相应的标签来查找;
4)、查找成功,则将新建流存储在旧空间;
5)查找不成功,则新建新空间,将新建流存储在新空间;
6)、TCP流建立、连接、存储、释放过程给出明确的通过或者是不通过信号;
7)、状态清零检测,如果满足状态清零条件,则第二CAM清零并设置标签之后,将第一CAM清零:如果不满足状态清零条件,则状态清零检测结束,满足状态清零条件是指程序判断出TCP头部信息为无效流,从而清除第一CAM和第二CAM中的信息。
CN201711388924.3A 2017-12-21 2017-12-21 基于fpga的tcp流状态完整性检测方法 Active CN109951425B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711388924.3A CN109951425B (zh) 2017-12-21 2017-12-21 基于fpga的tcp流状态完整性检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711388924.3A CN109951425B (zh) 2017-12-21 2017-12-21 基于fpga的tcp流状态完整性检测方法

Publications (2)

Publication Number Publication Date
CN109951425A CN109951425A (zh) 2019-06-28
CN109951425B true CN109951425B (zh) 2021-03-23

Family

ID=67004433

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711388924.3A Active CN109951425B (zh) 2017-12-21 2017-12-21 基于fpga的tcp流状态完整性检测方法

Country Status (1)

Country Link
CN (1) CN109951425B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112398863A (zh) * 2020-11-19 2021-02-23 全知科技(杭州)有限责任公司 一种tcp长连接非完整流量的数据分析方法
CN113438097B (zh) * 2021-05-21 2022-08-23 翱捷科技股份有限公司 一种网络加速的实现方法及装置
CN113346980B (zh) * 2021-08-02 2023-08-11 浙江国利信安科技有限公司 用于消息转发的方法、电子设备和计算机存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1466282A (zh) * 2002-06-13 2004-01-07 华为技术有限公司 高速码流多类型数据统计总线的实现方法
CN101068229A (zh) * 2007-06-08 2007-11-07 北京工业大学 一种基于网络过滤器的内容过滤网关实现方法
CN101321162A (zh) * 2008-07-03 2008-12-10 江苏华丽网络工程有限公司 基于tcam序偶的tcp序列号检查硬件实现方法
CN102377664A (zh) * 2010-08-27 2012-03-14 武汉烽火网络有限责任公司 一种基于tcam的区域匹配装置和方法
CN105591989A (zh) * 2016-01-25 2016-05-18 盛科网络(苏州)有限公司 一种协议报文上送cpu的芯片实现方法
WO2016098342A1 (ja) * 2014-12-19 2016-06-23 日本電気株式会社 フィルタリング装置、方法、および、記録媒体

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1466282A (zh) * 2002-06-13 2004-01-07 华为技术有限公司 高速码流多类型数据统计总线的实现方法
CN101068229A (zh) * 2007-06-08 2007-11-07 北京工业大学 一种基于网络过滤器的内容过滤网关实现方法
CN101321162A (zh) * 2008-07-03 2008-12-10 江苏华丽网络工程有限公司 基于tcam序偶的tcp序列号检查硬件实现方法
CN102377664A (zh) * 2010-08-27 2012-03-14 武汉烽火网络有限责任公司 一种基于tcam的区域匹配装置和方法
WO2016098342A1 (ja) * 2014-12-19 2016-06-23 日本電気株式会社 フィルタリング装置、方法、および、記録媒体
CN105591989A (zh) * 2016-01-25 2016-05-18 盛科网络(苏州)有限公司 一种协议报文上送cpu的芯片实现方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Analysis of TCP flow data for traffic anomaly and scan detection";Muraleedharan N;《2008 16th IEEE International Conference on Networks, New Delhi》;20081231;1-4页 *
"洪泛攻击早期检测及其溯源方法研究";刘辉宇;《中国博士学位论文全文数据库 信息科技辑》;20120515(第5期);I139-12页 *

Also Published As

Publication number Publication date
CN109951425A (zh) 2019-06-28

Similar Documents

Publication Publication Date Title
US8244890B2 (en) System and method for handling transport protocol segments
US9906630B2 (en) Processing data packets in performance enhancing proxy (PEP) environment
US8427945B2 (en) SoC device with integrated supports for Ethernet, TCP, iSCSI, RDMA and network application acceleration
US9485178B2 (en) Packet coalescing
JP5523350B2 (ja) Tcpフロー制御のための方法及び装置
US7277963B2 (en) TCP proxy providing application layer modifications
CN101663867B (zh) 在维持端点到端点认证的同时压缩数据分组
US7065086B2 (en) Method and system for efficient layer 3-layer 7 routing of internet protocol (“IP”) fragments
CN109951425B (zh) 基于fpga的tcp流状态完整性检测方法
US20070025374A1 (en) TCP normalization engine
US20050243834A1 (en) Packet transfer method and device
JP2009510815A (ja) サーチ前のパケットのリアセンブル方法及びシステム
KR20170026541A (ko) 터널화된 트래픽의 최적화를 위한 방법 및 장치
US8611222B1 (en) Selectively enabling packet concatenation based on a transaction boundary
US10230563B2 (en) Methods and first network node for managing a stream control transmission protocol association
CN106576108B (zh) 通信系统中的通信方法和设备及系统
US7480301B2 (en) Method, system and article for improved TCP performance during retransmission in response to selective acknowledgement
CN111147483B (zh) 一种对原始网络数据包的有损压缩存储方法和装置
WO2019243890A2 (en) Multi-port data transmission via udp
WO2002051077A1 (en) A method and system for distinguishing higher layer protocols of the internet traffic
EP1460804A2 (en) System and method for handling out-of-order frames (fka reception of out-of-order tcp data with zero copy service)
US7420991B2 (en) TCP time stamp processing in hardware based TCP offload
CN105791239A (zh) 一种tcp中间人处理方法
CN115190090A (zh) 基于哈希表和队列结构的tcp流重组行情监控处理方法、系统、装置、处理器及存储介质
US11134020B1 (en) Flow control of two TCP streams between three network nodes

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