CN103248605A - 一种基于ipv6的tcp流汇聚方法及系统 - Google Patents

一种基于ipv6的tcp流汇聚方法及系统 Download PDF

Info

Publication number
CN103248605A
CN103248605A CN2012100225909A CN201210022590A CN103248605A CN 103248605 A CN103248605 A CN 103248605A CN 2012100225909 A CN2012100225909 A CN 2012100225909A CN 201210022590 A CN201210022590 A CN 201210022590A CN 103248605 A CN103248605 A CN 103248605A
Authority
CN
China
Prior art keywords
tcp
packet
stream information
pointer
data
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
Application number
CN2012100225909A
Other languages
English (en)
Other versions
CN103248605B (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.)
Antiy Technology Group Co Ltd
Original Assignee
Harbin Antiy 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 Harbin Antiy Technology Co Ltd filed Critical Harbin Antiy Technology Co Ltd
Priority to CN201210022590.9A priority Critical patent/CN103248605B/zh
Publication of CN103248605A publication Critical patent/CN103248605A/zh
Application granted granted Critical
Publication of CN103248605B publication Critical patent/CN103248605B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提出一种基于IPV6的TCP流汇聚方法及系统,根据TCP协议解码分析出三类数据包:TCP连接建立的三次握手数据包、TCP连接关闭的三次握手数据包、承载应用协议数据的TCP数据包。针对TCP连接建立的三次握手数据包进行连接的有效性判断确保TCP连接的合法性;通过建立TCP流信息进行对TCP连接关闭的三次握手数据包、承载应用协议数据的TCP数据包的处理;还提出一种基二IPV6的TCP流汇聚系统,由捕获模块、分离模块、解析模块、确定连接模块、建立模块、第一查找处理模块、第二查找处理模块组成。

Description

一种基于IPV6的TCP流汇聚方法及系统
技术领域
本发明涉及计算机网络数据处理,尤其涉及一种基于IPV6的TCP流汇聚方法及系统。
背景技术
随着互联网的普及和快速发展,现有的网络带宽往往达到千兆,甚至万兆,网络带宽的扩大,改善了用户使用网络的体验,同时也减少了网络连接的时间长度。实际应用中,传输的数据量并不大,所以有着大量的传输时间长度很短的连接。在IPv6中,地址域空间的扩大,带来流的四元组地址范围的急剧增大。
由于网络威胁和网络攻击的成熟,仅靠单个数据包所承载的数据,网络安全设备往往无法判别是否存在威胁或者是否属于攻击。现行的网络安全设备往往采用流汇聚作为其检测的前置环节,实现基于流的检测技术,这种方式对比单数据包的检测方式有着更高的检出率和准确率。网络中的并发TCP连接数量与网络流量成正比,大流量的网络环境同时也存在高并发的TCP连接数,尤其是万兆网络环境中。如果现有的安全设备使用单一流汇聚机制应对当前的网络情况显得有些力不从心,所以,如何能够高效解决网络攻击与网络威胁等事件成为当前急需要解决的问题。
发明内容
针对上述所需要解决的问题,本发明提出一种基于IPV6的TCP流汇聚方法及系统,具体发明如下:
一种基于IPV6的TCP流汇聚方法,包括:
捕获网络数据包;
对捕获的网络数据包进行协议解码并分离出TCP协议数据包;
根据TCP标志位将TCP协议数据包进行TCP连接分类,其中,
所述的TCP连接分类包括:TCP连接建立的三次握手数据包、TCP连接关闭的三次握手数据包、承载应用协议数据的TCP数据包;
根据TCP连接建立的三次握手数据包判断是否能够建立合法TCP连接;
如果接收的TCP连接顺序与TCP连接建立的三次握手数据包顺序不相同,则不能够建立合法TCP连接终止TCP协议数据包处理,并调用外部的DOS/DDOS分析模块判断是否属于DOS/DDOS攻击;
如果接收的TCP连接顺序与TCP连接建立的三次握手数据包顺序相同,则能够建立合法TCP连接;
根据合法TCP连接建立合法TCP连接列表,并将TCP连接四元组作插入到合法TCP连接列表中建立TCP流信息,其中:  
所述的TCP连接四元组包括:源IP、目的IP、源端口、目的端口;
所述的TCP流信息包括:TCP连接四元组、传输字节数、第一个承载数据包指针、数据包指针、连接建立时间、完整流信息结构指针;
所述的合法TCP连接列表包括:TCP连接四元组名单、TCP流信息;
根据承载应用协议数据的TCP数据包中的TCP连接四元组查找对应TCP流信息;
如果查找到对应的TCP流信息,则对承载应用协议数据的TCP数据包进行处理;
如果没有查找到对应的TCP流信息,则直接抛弃TCP协议数据包;
根据TCP连接关闭的三次握手数据包中的TCP连接四元组查找对应TCP流信息;
如果查找到对应的TCP流信息,则对TCP连接关闭的三次握手数据包进行处理;
如果没有查找到对应的TCP流信息,则直接抛弃TCP协议数据包。
所述的对捕获的网络数据包进行协议解码分离出TCP协议数据包,是根据IPV4和IPV6的IP协议头信息进行分离。
所述的对承载应用协议数据的TCP数据包进行处理包括:
根据TCP流信息中的数据包指针建立顺序指针链表;
更改已存储的TCP流信息中的数据包指针为正在处理数据包指针并将正在处理数据包长度累加到TCP流信息中的传输字节数中;
判断TCP流信息中的第一个承载数据包指针是否为空;
如果为空,则将当前承载应用协议数据的TCP数据包指针设置为TCP流信息中的第一个承载数据包的指针;
如果不为空,则计算捕获网络数据包时间与建立合法TCP连接的时间的时间差并判断时间差是否大于预定阀值;
如果大于预定阀值,则申请新的TCP流信息结构,并赋值完整流信息结构指针,将承载应用协议数据的TCP数据包存储到待处理缓存进行待处理缓存数据包处理;
如果小于或等于预定阀值,则将承载应用协议数据的TCP数据包存储到待处理缓存进行待处理缓存数据包处理。
所述的承载应用协议数据的TCP数据包存储到待处理缓存进行待处理缓存数据包处理包括:
读取待处理缓存的待处理缓存数据包;
计算捕获网络数据包时间与TCP流信息中的连接建立时间的时间差,并判断时间差是否超出预设时间值;
如果未超出预设时间值,则停止处理待处理缓存数据包直到超出预设时间值;
如果超出预设时间值,则将申请新的TCP流信息结构中当前的数据包指针改为当前正在处理的数据包指针,并将当前正在处理的数据包的长度累加到申请新的TCP流信息结构的传输字节数中。
所述的对TCP连接关闭的三次握手数据包进行处理包括:
计算捕获网络数据包时间与建立合法TCP连接的时间的时间差,得出合法TCP连接的时间长度,并判断合法TCP连接的时间长度是否超出预设时间长度值;
如果合法TCP连接的时间长度小于预设时间长度值,则根据第一个承载数据包指针和数据包指针清除所有TCP连接关闭的三次握手数据包,并删除在合法TCP连接列表中的TCP流信息;
如果合法TCP连接的时间长度大于预设值,则将TCP流信息中当前的数据包指针为当前正在处理的数据包指针,并将当前正在处理的数据包的长度累加到TCP流信息的传输字节数中。
一种基于IPV6的TCP流汇聚的系统,包括:
捕获模块,用于捕获网络数据包;
分离模块,用于对捕获的网络数据包进行协议解码并分离出TCP协议数据包;
解析模块,根据TCP标志位将TCP协议数据包进行TCP连接分类,其中所述的TCP连接分类包括:TCP连接建立的三次握手数据包、TCP连接关闭的三次握手数据包、承载应用协议数据的TCP数据包;
确定连接模块,根据TCP连接建立的三次握手数据包判断是否能够建立合法TCP连接;
如果接收的TCP连接顺序与TCP连接建立的三次握手数据包顺序不相同,则不能够建立合法TCP连接终止TCP协议数据包处理,并调用外部的DOS/DDOS分析模块判断是否属于DOS/DDOS攻击;
如果接收的TCP连接顺序与TCP连接建立的三次握手数据包顺序相同,则能够建立合法TCP连接;
建立模块,根据合法TCP连接建立合法TCP连接列表,并将TCP连接四元组插入到合法TCP连接列表中建立TCP流信息,其中:  
所述的TCP连接四元组包括:源IP、目的IP、源端口、目的端口;
所述的TCP流信息包括:TCP连接四元组、传输字节数、第一个承载数据包指针、数据包指针、连接建立时间、完整流信息结构指针;
所述的合法TCP连接列表包括:TCP连接四元组名单、TCP流信息;
第一查找处理模块,用于根据承载应用协议数据的TCP数据包中的TCP连接四元组查找对应TCP流信息;
如果查找到对应的TCP流信息,则对承载应用协议数据的TCP数据包进行处理;
如果没有查找到对应的TCP流信息,则直接抛弃TCP协议数据包;
第二查找处理模块,用于根据TCP连接关闭的三次握手数据包中的TCP连接四元组查找对应TCP流信息;
如果查找到对应的TCP流信息,则对TCP连接关闭的三次握手数据包进行处理;
如果没有查找到对应的TCP流信息,则直接抛弃TCP协议数据包。
所述的对捕获的网络数据包进行协议解码分离出TCP协议数据包,是根据IPV4和IPV6的IP协议头信息进行分离。
所述的对承载应用协议数据的TCP数据包进行处理包括:
根据TCP流信息中的数据包指针建立顺序指针链表;
更改已存储的TCP流信息中的数据包指针为正在处理数据包指针并将正在处理数据包指针长度累加到TCP流信息中的传输字节数中;
判断TCP流信息中的第一个承载数据包指针是否为空;
如果为空,则将承载应用协议数据的TCP数据包指针设置为TCP流信息中的第一个承载数据包的指针;
如果不为空,则计算捕获网络数据包时间与建立合法TCP连接的时间的时间差并判断时间差是否大于预定阀值;
如果大于预定阀值,则申请新的TCP流信息结构,并赋值完整流信息结构指针,将承载应用协议数据的TCP数据包存储到待处理缓存进行待处理缓存数据包处理;
如果小于或等于预定阀值,则将承载应用协议数据的TCP数据包存储到待处理缓存进行待处理缓存数据包处理。
所述的承载应用协议数据的TCP数据包存储到待处理缓存进行待处理缓存数据包处理包括:
读取待处理缓存的待处理缓存数据包;
计算捕获网络数据包时间与TCP流信息中的连接建立时间的时间差,并判断时间差是否超出预设时间值;
如果未超出预设时间值,则停止处理待处理缓存数据包直到超出预设时间值;
如果超出预设时间值,则将申请新的TCP流信息结构中当前的数据包指针改为当前正在处理的数据包指针,并将当前正在处理的数据包的长度累加到申请新的TCP流信息结构的传输字节数中。
所述的对TCP连接关闭的三次握手数据包进行处理包括:
计算捕获网络数据包时间与建立合法TCP连接的时间的时间差,得出合法TCP连接的时间长度,并判断合法TCP连接的时间长度是否超出预设时间长度值;
如果合法TCP连接的时间长度小于预设时间长度值,则根据第一个承载数据包指针和数据包指针清除所有TCP连接关闭的三次握手数据包,并删除在合法TCP连接列表中的TCP流信息;
如果合法TCP连接的时间长度大于预设值,则将TCP流信息中当前的数据包指针为当前正在处理的数据包指针,并将当前正在处理的数据包的长度累加到TCP流信息的传输字节数中。
本发明提出一种基于IPV6的TCP流汇聚方法及系统,根据TCP协议解码分析出三类数据包:TCP连接建立的三次握手数据包、TCP连接关闭的三次握手数据包、承载应用协议数据的TCP数据包。针对TCP连接建立的三次握手数据包进行连接的有效性判断确保TCP连接的合法性;通过建立TCP流信息进行对TCP连接关闭的三次握手数据包、承载应用协议数据的TCP数据包的处理;还提出一种基二IPV6的TCP流汇聚系统,由捕获模块、分离模块、解析模块、确定连接模块、建立模块、第一查找处理模块、第二查找处理模块组成。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一种基于IPV6的TCP流汇聚方法的流程图;
图2为承载应用协议数据的TCP数据包处理的方法流程图;
图3为TCP连接关闭的三次握手数据包处理的方法流程图;
图4为待处理缓存数据包处理的方法流程图;
图5为一种基于IPV6的TCP流汇聚系统结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明中技术方案作进一步详细的说明。
一种基于IPV6的TCP流汇聚方法,如图1所示,包括:
S101:捕获网络数据包;
S102:对捕获的网络数据包进行协议解码并分离出TCP协议数据包;
S103:根据TCP标志位将TCP协议数据包进行TCP连接分类,其中,
所述的TCP连接分类包括:TCP连接建立的三次握手数据包、TCP连接关闭的三次握手数据包、承载应用协议数据的TCP数据包;
例如,TCP标志位由URG\ACK\PUSH\REST\SYN\FIN组成,TCP连接建立的三次握手数据包可以表示为SYN/ACK-SYN/ACK,在传输过程中如果出现ACK则将直接忽略;TCP连接关闭的三次握手数据包可表示为FIN/ACK-FIN/ACK数据包,紧急关闭的重置REST数据包,以及连同与承载数据一起发的PUSH-FIN数据包;承载应用协议数据的TCP数据包则可以为当不满足上述两种情况时都可以归类为承载应用协议数据的TCP数据包;
S104:根据TCP连接建立的三次握手数据包判断是否能够建立合法TCP连接;
如果接收的TCP连接顺序与TCP连接建立的三次握手数据包顺序不相同,则执行S106:不能够建立合法TCP连接终止TCP协议数据包处理,并调用外部的DOS/DDOS分析模块判断是否属于DOS/DDOS攻击;此处是接入外部任何一种对DOS/DDOS攻击的分析模块;
如果接收的TCP连接顺序与TCP连接建立的三次握手数据包顺序相同,则S105:能够建立合法TCP连接;
例如,根据TCP连接是否顺序收到SYN/ACK-SYN/ACK数据包,如果收到的顺序不对,则认为不能建立合法TCP连接。
S105:能够建立合法TCP连接;
S106:不能够建立合法TCP连接终止TCP协议数据包处理,并调用外部的DOS/DDOS分析模块判断是否属于DOS/DDOS攻击;此时的终止TCP协议数据包处理直接进行用户需要的后续处理;
S107:根据合法TCP连接建立合法TCP连接列表,并将TCP连接四元组插入到合法TCP连接列表中建立TCP流信息,其中:
所述的TCP连接四元组包括:源IP、目的IP、源端口、目的端口;
所述的TCP流信息包括:TCP连接四元组、传输字节数、第一个承载数据包指针、数据包指针、连接建立时间、完整流信息结构指针;
所述的合法TCP连接列表包括:TCP连接四元组名单、TCP流信息;
S108:根据承载应用协议数据的TCP数据包中的TCP连接四元组查找对应TCP流信息;
如果查找到对应的TCP流信息,则执行S109,承载应用协议数据的TCP数据包进行处理;
如果没有查找到对应的TCP流信息,则执行S112,直接抛弃TCP协议数据包;
S109:承载应用协议数据的TCP数据包进行处理;
S110:根据TCP连接关闭的三次握手数据包中的TCP连接四元组查找对应TCP流信息;
如果查找到对应的TCP流信息,则执行S111,TCP连接关闭的三次握手数据包进行处理;
如果没有查找到对应的TCP流信息,则执行S112,直接抛弃TCP协议数据包。
S111:TCP连接关闭的三次握手数据包进行处理;
S112:直接抛弃TCP协议数据包。
所述的对捕获的网络数据包进行协议解码分离出TCP协议数据包,是根据IPV4和IPV6的IP协议头信息进行分离。
所述的对承载应用协议数据的TCP数据包进行处理,如图2所示,包括:
S201:根据TCP流信息中的数据包指针建立顺序指针链表;
S202:更改已存储的TCP流信息中的数据包指针为正在处理数据包指针并将正在处理数据包指针长度累加到TCP流信息中的传输字节数中;
S203:判断TCP流信息中的第一个承载数据包指针是否为空;
如果为空,则执行S205,将承载应用协议数据的TCP数据包指针设置为TCP流信息中的第一个承载数据包的指针;
如果不为空,则执行S204,计算捕获网络数据包时间与建立合法TCP连接的时间的时间差;
S204:计算捕获网络数据包时间与建立合法TCP连接的时间的时间差;
S205:将承载应用协议数据的TCP数据包设置为第一个承载数据包的指针;
S206:判断时间差是否大于预定阀值;
如果大于预定阀值,则执行S207,申请新的TCP流信息结构,并赋值完整流信息结构指针,将承载应用协议数据的TCP数据包存储到待处理缓存进行待处理缓存数据包处理;
如果小于或等于预定阀值,则执行S208,将承载应用协议数据的TCP数据包存储到待处理缓存进行待处理缓存数据包处理;
S207:申请新的TCP流信息结构并赋值完整流信息结构指针,将承载应用协议数据的TCP数据包存储到待处理缓存进行待处理缓存数据包处理;
S208:将承载应用协议数据的TCP数据包存储到待处理缓存进行待处理缓存数据包处理。
所述的对TCP连接关闭的三次握手数据包进行处理,如图3所示,包括:
S301:计算捕获网络数据包时间与建立合法TCP连接的时间的时间差,得出合法TCP连接的时间长度;
S302:判断合法TCP连接的时间长度是否超出预设时间长度值;
如果合法TCP连接的时间长度小于预设时间长度值,则执行S303,根据第一个承载数据包指针和数据包指针清除所有TCP连接关闭的三次握手数据包,并删除在合法TCP连接列表中的TCP流信息;
如果合法TCP连接的时间长度大于预设值,则执行S304,更改TCP流信息中当前的数据包指针为当前正在处理的数据包指针,并将当前正在处理的数据包的长度累加到TCP流信息的传输字节数中;
S303:根据第一个承载数据包指针和数据包指针清除所有TCP连接关闭的三次握手数据包,并删除在合法TCP连接列表中的TCP流信息;
S304:更改TCP流信息中当前的数据包指针为当前正在处理的数据包指针,并将当前正在处理的数据包的长度累加到TCP流信息的传输字节数中。
所述的承载应用协议数据的TCP数据包存储到待处理缓存进行待处理缓存数据包处理,如图4所示,包括:
S401:读取待处理缓存的待处理缓存数据包;
S402:计算捕获网络数据包时间与TCP流信息中的连接建立时间的时间差;
S403:判断时间差是否超出预设时间值;
如果未超出预设时间值,则执行S405,停止处理待处理缓存数据包直到超出预设时间值;
如果超出预设时间值,则执行S404,更改申请新的TCP流信息结构中当前的数据包指针改为当前正在处理的数据包指针,并将当前正在处理的数据包的长度累加到申请新的TCP流信息结构的传输字节数中;
S404:更改申请新的TCP流信息结构中当前的数据包指针改为当前正在处理的数据包指针,并将当前正在处理的数据包的长度累加到申请新的TCP流信息结构的传输字节数中;
S405:停止处理待处理缓存数据包直到超出预设时间值。
一种基于IPV6的TCP流汇聚的系统,如图5所示,包括:
501:捕获模块,用于捕获网络数据包;
502:分离模块,用于对捕获的网络数据包进行协议解码并分离出TCP协议数据包;
503:解析模块,根据TCP标志位将TCP协议数据包进行TCP连接分类,其中所述的TCP连接分类包括:TCP连接建立的三次握手数据包、TCP连接关闭的三次握手数据包、承载应用协议数据的TCP数据包;
504:确定连接模块,根据TCP连接建立的三次握手数据包判断是否能够建立合法TCP连接;
如果接收的TCP连接顺序与TCP连接建立的三次握手数据包顺序不相同,则不能够建立合法TCP连接终止TCP协议数据包处理,并调用外部的DOS/DDOS分析模块判断是否属于DOS/DDOS攻击;
如果接收的TCP连接顺序与TCP连接建立的三次握手数据包顺序相同,则能够建立合法TCP连接;
505:建立模块,根据合法TCP连接建立合法TCP连接列表,并将TCP连接四元组插入到合法TCP连接列表中建立TCP流信息,其中: 
所述的TCP连接四元组包括:源IP、目的IP、源端口、目的端口;
所述的TCP流信息包括:TCP连接四元组、传输字节数、第一个承载数据包指针、数据包指针、连接建立时间、完整流信息结构指针;
所述的合法TCP连接列表包括:TCP连接四元组名单、TCP流信息;
506:第一查找处理模块,用于根据承载应用协议数据的TCP数据包中的TCP连接四元组查找对应TCP流信息;
如果查找到对应的TCP流信息,则对承载应用协议数据的TCP数据包进行处理;
如果没有查找到对应的TCP流信息,则直接抛弃TCP协议数据包;
507:第二查找处理模块,用于根据TCP连接关闭的三次握手数据包中的TCP连接四元组查找对应TCP流信息;
如果查找到对应的TCP流信息,则对TCP连接关闭的三次握手数据包进行处理;
如果没有查找到对应的TCP流信息,则直接抛弃TCP协议数据包。
所述的对捕获的网络数据包进行协议解码分离出TCP协议数据包,是根据IPV4和IPV6的IP协议头信息进行分离。
所述的对承载应用协议数据的TCP数据包进行处理包括:
根据TCP流信息中的数据包指针建立顺序指针链表;
更改已存储的TCP流信息中的数据包指针为正在处理数据包指针并将正在处理数据包指针长度累加到TCP流信息中的传输字节数中;
判断TCP流信息中的第一个承载数据包指针是否为空;
如果为空,则将承载应用协议数据的TCP数据包指针设置为TCP流信息中的第一个承载数据包的指针;
如果不为空,则计算捕获网络数据包时间与建立合法TCP连接的时间的时间差并判断时间差是否大于预定阀值;
如果大于预定阀值,则申请新的TCP流信息结构,并赋值完整流信息结构指针,将承载应用协议数据的TCP数据包存储到待处理缓存进行待处理缓存数据包处理;
如果小于或等于预定阀值,则将承载应用协议数据的TCP数据包存储到待处理缓存进行待处理缓存数据包处理。
所述的承载应用协议数据的TCP数据包存储到待处理缓存进行待处理缓存数据包处理包括:
读取待处理缓存的待处理缓存数据包;
计算捕获网络数据包时间与TCP流信息中的连接建立时间的时间差,并判断时间差是否超出预设时间值;
如果未超出预设时间值,则停止处理待处理缓存数据包直到超出预设时间值;
如果超出预设时间值,则更改申请新的TCP流信息结构中当前的数据包指针为当前正在处理的数据包指针,并将当前正在处理的数据包的长度累加到申请新的TCP流信息结构的传输字节数中。
所述的对TCP连接关闭的三次握手数据包进行处理包括:
计算捕获网络数据包时间与建立合法TCP连接的时间的时间差,得出合法TCP连接的时间长度,并判断合法TCP连接的时间长度是否超出预设时间长度值;
如果合法TCP连接的时间长度小于预设时间长度值,则根据第一个承载数据包指针和数据包指针清除所有TCP连接关闭的三次握手数据包,并删除在合法TCP连接列表中的TCP流信息;
如果合法TCP连接的时间长度大于预设值,则更改TCP流信息中当前的数据包指针为当前正在处理的数据包指针,并将当前正在处理的数据包的长度累加到TCP流信息的传输字节数中。
本发明提出一种基于IPV6的TCP流汇聚方法及系统,其中实施的方法根据TCP协议解码分析出三类数据包:TCP连接建立的三次握手数据包、TCP连接关闭的三次握手数据包、承载应用协议数据的TCP数据包。针对TCP连接建立的三次握手数据包进行连接的有效性判断确保TCP连接的合法性;通过建立TCP流信息进行对TCP连接关闭的三次握手数据包、承载应用协议数据的TCP数据包的处理;所提出一种基二IPV6的TCP流汇聚系统,由捕获模块、分离模块、解析模块、确定连接模块、建立模块、第一查找处理模块、第二查找处理模块组成进一步实现在IPv6网络环境中检测病毒文件传输及过滤大量的网络数据。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化而不脱离本发明的精神。

Claims (10)

1.一种基于IPV6的TCP流汇聚方法,包括:
捕获网络数据包;
对捕获的网络数据包进行协议解码并分离出TCP协议数据包;
根据TCP标志位将TCP协议数据包进行TCP连接分类,其中,
所述的TCP连接分类包括:TCP连接建立的三次握手数据包、TCP连接关闭的三次握手数据包、承载应用协议数据的TCP数据包;
根据TCP连接建立的三次握手数据包判断是否能够建立合法TCP连接;
如果接收的TCP连接顺序与TCP连接建立的三次握手数据包顺序不相同,则不能够建立合法TCP连接终止TCP协议数据包处理,并调用外部的DOS/DDOS分析模块判断是否属于DOS/DDOS攻击;
如果接收的TCP连接顺序与TCP连接建立的三次握手数据包顺序相同,则能够建立合法TCP连接;
根据合法TCP连接建立合法TCP连接列表,并将TCP连接四元组作插入到合法TCP连接列表中建立TCP流信息,其中:  
所述的TCP连接四元组包括:源IP、目的IP、源端口、目的端口;
所述的TCP流信息包括:TCP连接四元组、传输字节数、第一个承载数据包指针、数据包指针、连接建立时间、完整流信息结构指针;
所述的合法TCP连接列表包括:TCP连接四元组名单、TCP流信息;
根据承载应用协议数据的TCP数据包中的TCP连接四元组查找对应TCP流信息;
如果查找到对应的TCP流信息,则对承载应用协议数据的TCP数据包进行处理;
如果没有查找到对应的TCP流信息,则直接抛弃TCP协议数据包;
根据TCP连接关闭的三次握手数据包中的TCP连接四元组查找对应TCP流信息;
如果查找到对应的TCP流信息,则对TCP连接关闭的三次握手数据包进行处理;
如果没有查找到对应的TCP流信息,则直接抛弃TCP协议数据包。
2.如权利要求1所述的方法,其特征在于,所述的对捕获的网络数据包进行协议解码分离出TCP协议数据包,是根据IPV4和IPV6的IP协议头信息进行分离。
3.如权利要求1所述的方法,其特征在于,所述的对承载应用协议数据的TCP数据包进行处理包括:
根据TCP流信息中的数据包指针建立顺序指针链表;
更改已存储的TCP流信息中的数据包指针为正在处理数据包指针并将正在处理数据包长度累加到TCP流信息中的传输字节数中;
判断TCP流信息中的第一个承载数据包指针是否为空;
如果为空,则将当前承载应用协议数据的TCP数据包指针设置为TCP流信息中的第一个承载数据包的指针;
如果不为空,则计算捕获网络数据包时间与合法TCP连接的时间的时间差是否大于预定阀值;
如果大于预定阀值,则申请新的TCP流信息结构,并赋值完整流信息结构指针,将承载应用协议数据的TCP数据包存储到待处理缓存进行待处理缓存数据包处理;
如果小于或等于预定阀值,则将承载应用协议数据的TCP数据包存储到待处理缓存进行待处理缓存数据包处理。
4.如权利要求3所述的方法,其特征在于,所述的承载应用协议数据的TCP数据包存储到待处理缓存进行待处理缓存数据包处理包括:
读取待处理缓存的待处理缓存数据包;
计算捕获网络数据包时间与TCP流信息中的连接建立时间的时间差,并判断时间差是否超出预设时间值;
如果未超出预设时间值,则停止处理待处理缓存数据包直到超出预设时间值;
如果超出预设时间值,则将申请新的TCP流信息结构中当前的数据包指针改为当前正在处理的数据包指针,并将当前正在处理的数据包的长度累加到申请新的TCP流信息结构的传输字节数中。
5.如权利要求1所述的方法,其特征在于,所述的对TCP连接关闭的三次握手数据包进行处理包括:
计算捕获网络数据包时间与建立合法TCP连接的时间的时间差,得出合法TCP连接的时间长度,并判断合法TCP连接的时间长度是否超出预设时间长度值;
如果合法TCP连接的时间长度小于预设时间长度值,则根据第一个承载数据包指针和数据包指针清除所有TCP连接关闭的三次握手数据包,并删除在合法TCP连接列表中的TCP流信息;
如果合法TCP连接的时间长度大于预设值,则将TCP流信息中当前的数据包指针为当前正在处理的数据包指针,并将当前正在处理的数据包的长度累加到TCP流信息的传输字节数中。
6.一种基于IPV6的TCP流汇聚的系统,包括:
捕获模块,用于捕获网络数据包;
分离模块,用于对捕获的网络数据包进行协议解码并分离出TCP协议数据包;
解析模块,根据TCP标志位将TCP协议数据包进行TCP连接分类,其中所述的TCP连接分类包括:TCP连接建立的三次握手数据包、TCP连接关闭的三次握手数据包、承载应用协议数据的TCP数据包;
确定连接模块,根据TCP连接建立的三次握手数据包判断是否能够建立合法TCP连接;
如果接收的TCP连接顺序与TCP连接建立的三次握手数据包顺序不相同,则不能够建立合法TCP连接终止TCP协议数据包处理,并调用外部的DOS/DDOS分析模块判断是否属于DOS/DDOS攻击;
如果接收的TCP连接顺序与TCP连接建立的三次握手数据包顺序相同,则能够建立合法TCP连接;
建立模块,根据合法TCP连接建立合法TCP连接列表,并将TCP连接四元组插入到合法TCP连接列表中建立TCP流信息,其中:  
所述的TCP连接四元组包括:源IP、目的IP、源端口、目的端口;
所述的TCP流信息包括:TCP连接四元组、传输字节数、第一个承载数据包指针、数据包指针、连接建立时间、完整流信息结构指针;
所述的合法TCP连接列表包括:TCP连接四元组名单、TCP流信息;
第一查找处理模块,用于根据承载应用协议数据的TCP数据包中的TCP连接四元组查找对应TCP流信息;
如果查找到对应的TCP流信息,则对承载应用协议数据的TCP数据包进行处理;
如果没有查找到对应的TCP流信息,则直接抛弃TCP协议数据包;
第二查找处理模块,用于根据TCP连接关闭的三次握手数据包中的TCP连接四元组查找对应TCP流信息;
如果查找到对应的TCP流信息,则对TCP连接关闭的三次握手数据包进行处理;
如果没有查找到对应的TCP流信息,则直接抛弃TCP协议数据包。
7.如权利要求6所述的系统,其特征在于,所述的对捕获的网络数据包进行协议解码分离出TCP协议数据包,是根据IPV4和IPV6的IP协议头信息进行分离。
8.如权利要求6所述的系统,其特征在于,所述的对承载应用协议数据的TCP数据包进行处理包括:
根据TCP流信息中的数据包指针建立顺序指针链表;
更改已存储的TCP流信息中的数据包指针为正在处理数据包指针并将正在处理数据包指针长度累加到TCP流信息中的传输字节数中;
判断TCP流信息中的第一个承载数据包指针是否为空;
如果为空,则将承载应用协议数据的TCP数据包指针设置为TCP流信息中的第一个承载数据包的指针;
如果不为空,则计算捕获网络数据包时间与建立合法TCP连接的时间的时间差并判断时间差是否大于预定阀值;
如果大于预定阀值,则申请新的TCP流信息结构,并赋值完整流信息结构指针,将承载应用协议数据的TCP数据包存储到待处理缓存进行待处理缓存数据包处理;
如果小于或等于预定阀值,则将承载应用协议数据的TCP数据包存储到待处理缓存进行待处理缓存数据包处理。
9.如权利要求8所述的系统,其特征在于,所述的承载应用协议数据的TCP数据包存储到待处理缓存进行待处理缓存数据包处理包括:
读取待处理缓存的待处理缓存数据包;
计算捕获网络数据包时间与TCP流信息中的连接建立时间的时间差,并判断时间差是否超出预设时间值;
如果未超出预设时间值,则停止处理待处理缓存数据包直到超出预设时间值;
如果超出预设时间值,则将申请新的TCP流信息结构中当前的数据包指针为当前正在处理的数据包指针,并将当前正在处理的数据包的长度累加到申请新的TCP流信息结构的传输字节数中。
10.如权利要求6所述的系统,其特征在于,所述的对TCP连接关闭的三次握手数据包进行处理包括:
计算捕获网络数据包时间与建立合法TCP连接的时间的时间差,得出合法TCP连接的时间长度,并判断合法TCP连接的时间长度是否超出预设时间长度值;
如果合法TCP连接的时间长度小于预设时间长度值,则根据第一个承载数据包指针和数据包指针清除所有TCP连接关闭的三次握手数据包,并删除在合法TCP连接列表中的TCP流信息;
如果合法TCP连接的时间长度大于预设值,则将TCP流信息中当前的数据包指针为当前正在处理的数据包指针,并将当前正在处理的数据包的长度累加到TCP流信息的传输字节数中。
CN201210022590.9A 2012-02-02 2012-02-02 一种基于ipv6的tcp流汇聚方法及系统 Active CN103248605B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210022590.9A CN103248605B (zh) 2012-02-02 2012-02-02 一种基于ipv6的tcp流汇聚方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210022590.9A CN103248605B (zh) 2012-02-02 2012-02-02 一种基于ipv6的tcp流汇聚方法及系统

Publications (2)

Publication Number Publication Date
CN103248605A true CN103248605A (zh) 2013-08-14
CN103248605B CN103248605B (zh) 2016-12-14

Family

ID=48927829

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210022590.9A Active CN103248605B (zh) 2012-02-02 2012-02-02 一种基于ipv6的tcp流汇聚方法及系统

Country Status (1)

Country Link
CN (1) CN103248605B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109587163A (zh) * 2018-12-27 2019-04-05 网宿科技股份有限公司 一种dr模式下的防护方法和装置
CN110958153A (zh) * 2019-11-01 2020-04-03 上海盈赞通信科技有限公司 网络传输速率检测系统、方法及存储介质
CN113098832A (zh) * 2019-12-23 2021-07-09 四川大学 一种基于机器学习的远程缓冲区溢出攻击检测方法
CN113645256A (zh) * 2021-10-13 2021-11-12 成都数默科技有限公司 一种不降低tcp会话数据价值密度的聚合方法
CN115086397A (zh) * 2022-06-10 2022-09-20 中国银行股份有限公司 一种tcp连接的管理方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060168281A1 (en) * 2003-12-05 2006-07-27 Alacritech, Inc. TCP/IP offload device with reduced sequential processing
US20060221969A1 (en) * 2005-04-01 2006-10-05 Claude Basso System and method for computing a blind checksum in a host ethernet adapter (HEA)
US20090067435A1 (en) * 2007-09-11 2009-03-12 International Business Machines Corporation Systems, methods and computer products for a tcp/ip stack to notify an application of a state change made to all routes over a single ipv4 interface
CN101547210A (zh) * 2009-05-14 2009-09-30 福建星网锐捷网络有限公司 一种tcp连接的处理方法和装置
CN101594359A (zh) * 2009-07-01 2009-12-02 杭州华三通信技术有限公司 防御传输控制协议同步洪泛攻击方法及传输控制协议代理
CN102647404A (zh) * 2011-11-14 2012-08-22 北京安天电子设备有限公司 抵御flood攻击的流汇聚方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060168281A1 (en) * 2003-12-05 2006-07-27 Alacritech, Inc. TCP/IP offload device with reduced sequential processing
US20060221969A1 (en) * 2005-04-01 2006-10-05 Claude Basso System and method for computing a blind checksum in a host ethernet adapter (HEA)
US20090067435A1 (en) * 2007-09-11 2009-03-12 International Business Machines Corporation Systems, methods and computer products for a tcp/ip stack to notify an application of a state change made to all routes over a single ipv4 interface
CN101547210A (zh) * 2009-05-14 2009-09-30 福建星网锐捷网络有限公司 一种tcp连接的处理方法和装置
CN101594359A (zh) * 2009-07-01 2009-12-02 杭州华三通信技术有限公司 防御传输控制协议同步洪泛攻击方法及传输控制协议代理
CN102647404A (zh) * 2011-11-14 2012-08-22 北京安天电子设备有限公司 抵御flood攻击的流汇聚方法及装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109587163A (zh) * 2018-12-27 2019-04-05 网宿科技股份有限公司 一种dr模式下的防护方法和装置
CN110958153A (zh) * 2019-11-01 2020-04-03 上海盈赞通信科技有限公司 网络传输速率检测系统、方法及存储介质
CN113098832A (zh) * 2019-12-23 2021-07-09 四川大学 一种基于机器学习的远程缓冲区溢出攻击检测方法
CN113645256A (zh) * 2021-10-13 2021-11-12 成都数默科技有限公司 一种不降低tcp会话数据价值密度的聚合方法
CN113645256B (zh) * 2021-10-13 2021-12-28 成都数默科技有限公司 一种不降低tcp会话数据价值密度的聚合方法
CN115086397A (zh) * 2022-06-10 2022-09-20 中国银行股份有限公司 一种tcp连接的管理方法及系统

Also Published As

Publication number Publication date
CN103248605B (zh) 2016-12-14

Similar Documents

Publication Publication Date Title
JP4759389B2 (ja) パケット通信装置
CN106416171B (zh) 一种特征信息分析方法及装置
CN101800707B (zh) 建立流转发表项的方法及数据通信设备
US7623466B2 (en) Symmetric connection detection
CN102739473B (zh) 一种应用智能网卡的网络检测方法
US8005012B1 (en) Traffic analysis of data flows
CN101217493B (zh) 一种tcp数据包的传输方法
CN112039904A (zh) 一种网络流量分析与文件提取系统及方法
CN103248605A (zh) 一种基于ipv6的tcp流汇聚方法及系统
CN103139315A (zh) 一种适用于家庭网关的应用层协议解析方法
CN201563132U (zh) 网络带宽控制装置与路由器
CN105939297B (zh) 一种tcp报文重组方法和装置
CN101436978A (zh) 使用udp协议进行可靠数据传输的方法
CN102217251A (zh) 一种数据转发方法、数据处理方法、系统以及相关设备
US10834126B2 (en) Method and system for processing forged TCP packet
CN1282331C (zh) 一种实现异常流量控制的装置及方法
CN102510385A (zh) 防ip数据报分片攻击的方法
CN102497297A (zh) 基于多核多线程的深度报文检测技术的实现系统和方法
EP3203699A1 (en) Method for man-in-the-middle processing for tcp without protocol stack
US8644308B2 (en) Network interface card device and method of processing traffic using the network interface card device
EP3050282A1 (en) Defending against flow attacks
CN102281183B (zh) 处理网络拥塞的方法、装置和核心网络实体
CN102647347A (zh) 实现基于连接的流量的处理方法及系统
CN113453278B (zh) 一种基于5g upf下的tcp包分段组包方法及终端
CN113556364B (zh) 一种基于DPDK的DDoS实时防御系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: TCP (transmission control protocol) flow convergence method and system based on IPV 6 (internet protocol version 6)

Effective date of registration: 20170621

Granted publication date: 20161214

Pledgee: Bank of Longjiang, Limited by Share Ltd, Harbin Limin branch

Pledgor: Harbin Antiy Technology Co., Ltd.

Registration number: 2017110000004

PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20190614

Granted publication date: 20161214

Pledgee: Bank of Longjiang, Limited by Share Ltd, Harbin Limin branch

Pledgor: Harbin Antiy Technology Co., Ltd.

Registration number: 2017110000004

PC01 Cancellation of the registration of the contract for pledge of patent right
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 150028 Building 7, Innovation Plaza, Science and Technology Innovation City, Harbin Hi-tech Industrial Development Zone, Heilongjiang Province (838 Shikun Road)

Patentee after: Harbin antiy Technology Group Limited by Share Ltd

Address before: 150090 room 506, Hongqi Street, Nangang District, Harbin Development Zone, Heilongjiang, China, 162

Patentee before: Harbin Antiy Technology Co., Ltd.

PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: TCP (transmission control protocol) flow convergence method and system based on IPV 6 (internet protocol version 6)

Effective date of registration: 20190828

Granted publication date: 20161214

Pledgee: Bank of Longjiang, Limited by Share Ltd, Harbin Limin branch

Pledgor: Harbin antiy Technology Group Limited by Share Ltd

Registration number: Y2019230000002

CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 150028 building 7, innovation and entrepreneurship square, science and technology innovation city, Harbin high tech Industrial Development Zone, Heilongjiang Province (No. 838, Shikun Road)

Patentee after: Antan Technology Group Co.,Ltd.

Address before: 150028 building 7, innovation and entrepreneurship square, science and technology innovation city, Harbin high tech Industrial Development Zone, Heilongjiang Province (No. 838, Shikun Road)

Patentee before: Harbin Antian Science and Technology Group Co.,Ltd.

PC01 Cancellation of the registration of the contract for pledge of patent right
PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20211119

Granted publication date: 20161214

Pledgee: Bank of Longjiang Limited by Share Ltd. Harbin Limin branch

Pledgor: Harbin Antian Science and Technology Group Co.,Ltd.

Registration number: Y2019230000002