System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于旁路的高可靠TCP流重组方法、装置、设备及存储介质制造方法及图纸_技高网

基于旁路的高可靠TCP流重组方法、装置、设备及存储介质制造方法及图纸

技术编号:40790299 阅读:3 留言:0更新日期:2024-03-28 19:20
本发明专利技术公开了一种基于旁路的高可靠TCP流重组方法,包括:接收网络中的TCP数据包,解析提取TCP数据包序号和有效载荷;调度中心将数据包序号及有效载荷分别推送给索引管理模块及数据管理模块进行缓存;解析到ACK报文通知调度中心;调度中心通知索引管理模块和数据管理模块进行重组;完成重组后,索引管理模块保留上一次重组位置,清理缓存,数据管理模块进行数据清理。其中重组包括:ACK后进行数据重组;如果发现缓存中有丢包等待再一次ACK到来并启用阈值,下次ACK到来发现没有丢包或达到阈值上限,则进行重组。索引管理模块中采用红黑树索引管理数据包序号。本发明专利技术具有高效、省内存、高可靠、丢包少的优点。

【技术实现步骤摘要】

本专利技术涉及网络安全,特别是涉及一种基于旁路的高可靠tcp流重组方法、装置、设备及存储介质。


技术介绍

1、tcp/ip协议现在已经广泛的被应用。由于tcp/ip在传输的时候是分包传输的,不同的数据包在网络中传输时,由于选跳的不同、网络抖动和通塞的情况时有发生,无法保证数据包按照发送的顺序到达。目前在网络安全领域都将用到tcp会话的重组问题。只有将数据包重组以后,才能还原一次完整的tcp会话。只有得到完整且正确的数据后,才能对数据进行有效的提取和分析,得到想要的结果。

2、现有技术中,专利申请公布号cn114024924a的一种tcp流重组方法、装置、电子设备及存储介质中,公开了一种tcp流重组方法,其通过设置会话缓存大小,当达到大小后进行重组,基于所述tcp报文的报文序列号判断所述tcp报文是否乱序;当所述tcp报文乱序时,将所述tcp报文按照报文序列号从小到大的顺序插入至tcp缓存链表中,获得多个缓存tcp报文;判断所述tcp缓存链表是否达到最大缓存限额;当所述tcp缓存链表达到所述最大缓存限额时,将所述tcp缓存链表中的所述多个缓存tcp报文进行局部重组,获得局部重组tcp包。其实现了在tcp流在遇到网络丢包的情况下,tcp报文仍可进行重组的目的,避免tcp流重组发生堵塞。但上述公开的方案,当缓存设置太小还是容易出现丢包的情况。假设缓存阈值为500字节,当1-490字节都被收到并且缓存,然后第510-520字节先来,490-500后面才来,数据直接会被处理会产生丢包。当缓存设置过大,网络中流量比较多的情况下,会极大的浪费内存。


技术实现思路

1、有鉴于此,本专利技术提供一种丢包少、省内存的基于旁路的高可靠tcp流重组方法及装置,以解决现有技术中存在的问题。

2、第一方面,本专利技术实施例提供了一种基于旁路的高可靠tcp流重组方法,包括:

3、采集和解码模块接收网络中的tcp数据包,解析提取tcp数据包序号和有效载荷,发送给调度中心;

4、调度中心将数据包序号推送给索引管理模块进行缓存;

5、调度中心将数据包有效载荷推送给数据管理模块进行缓存;

6、采集和解码模块解析到ack报文通知调度中心;

7、调度中心通知索引管理模块和数据管理模块进行重组;

8、数据管理模块通知调度中心数据已经完成重组;

9、调度中心通知应用层程序;

10、索引管理模块保留上一次重组位置,清理缓存;

11、数据管理模块进行数据清理。

12、根据本专利技术实施例的一种具体实现方式,所述采集和解码模块解析到ack报文通知调度中心;调度中心通知索引管理模块和数据管理模块进行重组,包括:

13、ack后进行数据重组;如果发现缓存中有丢包等待再一次ack到来并启用阈值,下次ack到来发现没有丢包或达到阈值上限,则进行重组。

14、根据本专利技术实施例的一种具体实现方式,所述阈值包括缓存大小阈值和时间阈值,当超过任一阈值强制重组。

15、根据本专利技术实施例的一种具体实现方式,所述索引管理模块中采用红黑树索引管理数据包序号。

16、第二方面,本专利技术实施例还提供了一种基于旁路的高可靠tcp流重组装置,包括:

17、采集和解码模块,被配置用于接收网络中的tcp数据包,解析提取tcp数据包序号和有效载荷,发送给调度中心;以及用于解析到ack报文时通知调度中心;

18、调度中心,被配置用于将数据包序号推送给索引管理模块进行缓存,以及用于将数据包有效载荷推送给数据管理模块进行缓存;以及用于ack报文通知时通知索引管理模块和数据管理模块进行重组;以及用于在完成重组时通知应用层程序;

19、数据管理模块,被配置用于对数据包有效载荷进行缓存,以及用于和索引管理模块一起进行重组,并在完成重组后通知调度中心;以及完成重组后进行数据清理;

20、索引管理模块,被配置用于对数据包序号进行缓存,以及完成重组后保留上一次重组位置,清理缓存。

21、根据本专利技术实施例的一种具体实现方式,所述重组包括:ack后进行数据重组;如果发现缓存中有丢包等待再一次ack到来并启用阈值,下次ack到来发现没有丢包或达到阈值上限,则进行重组。

22、根据本专利技术实施例的一种具体实现方式,所述阈值包括缓存大小阈值和时间大小值,当超过任一阈值强制重组。

23、根据本专利技术实施例的一种具体实现方式,所述索引管理模块中采用红黑树索引管理数据包序号。

24、第三方面,本专利技术实施例还提供了一种电子设备,该电子设备包括:

25、至少一个处理器;以及,

26、与所述至少一个处理器通信连接的存储器;其中,

27、所述存储器存储有能够被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行时,使所述至少一个处理器执行如上述的基于旁路的高可靠tcp流重组方法。

28、第四方面,本专利技术实施例还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令当由至少一个处理器执行时使所述至少一个处理器执行如上述的基于旁路的高可靠tcp流重组方法。

29、第五方面,本专利技术实施例还提供了一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使该计算机执行前述第一方面或第一方面的任一实现方式中的基于旁路的高可靠tcp流重组方法。

30、本专利技术可以有效的减少tcp流重组中由于网络选路、抖动和拥塞出现乱序导致的丢包问题。本专利技术以ack启动重组,通过多次ack重组和缓存大小阈值和时间阈值等技术,可以极大的减少内存使用,减少丢包的问题,甚至可以做到0丢包。在网络安全领域可以有效减少因为丢包而导致检测不到网络恶意行为的问题。

31、本专利技术在接收到数据之后对数据进行缓存,通过红黑树索引管理数据包序号,红黑树在索引比较方面的时间复杂度是o(l ogn),在流重组排序查找时时间复杂度也是o(logn),能快速判断当前数据是否已经存在,能很好的处理数据乱序、重叠等情况,在出现tcp数据重叠的时候,可以很好的找到重叠部分,无需遍历整个结构就能找到对应的部分。

本文档来自技高网...

【技术保护点】

1.一种基于旁路的高可靠TCP流重组方法,其特征在于,包括:

2.根据权利要求1所述的基于旁路的高可靠TCP流重组方法,其特征在于,所述采集和解码模块解析到ACK报文通知调度中心;调度中心通知索引管理模块和数据管理模块进行重组,包括:

3.根据权利要求2所述的基于旁路的高可靠TCP流重组方法,其特征在于,所述阈值包括缓存大小阈值和时间阈值,当超过任一阈值强制重组。

4.根据权利要求1所述的基于旁路的高可靠TCP流重组方法,其特征在于,所述索引管理模块中采用红黑树索引管理数据包序号。

5.一种基于旁路的高可靠TCP流重组装置,其特征在于,包括:

6.根据权利要求5所述的基于旁路的高可靠TCP流重组装置,其特征在于,所述重组包括:ACK后进行数据重组;如果发现缓存中有丢包等待再一次ACK到来并启用阈值,下次ACK到来发现没有丢包或达到阈值上限,则进行重组。

7.根据权利要求6所述的基于旁路的高可靠TCP流重组装置,其特征在于,所述阈值包括缓存大小阈值和时间阈值,当超过任一阈值强制重组。

8.根据权利要求5所述的基于旁路的高可靠TCP流重组装置,其特征在于,所述索引管理模块中采用红黑树索引管理数据包序号。

9.一种电子设备,其特征在于,该电子设备包括:

10.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令当由至少一个处理器执行时使所述至少一个处理器执行如1-4任一项所述的基于旁路的高可靠TCP流重组方法。

...

【技术特征摘要】

1.一种基于旁路的高可靠tcp流重组方法,其特征在于,包括:

2.根据权利要求1所述的基于旁路的高可靠tcp流重组方法,其特征在于,所述采集和解码模块解析到ack报文通知调度中心;调度中心通知索引管理模块和数据管理模块进行重组,包括:

3.根据权利要求2所述的基于旁路的高可靠tcp流重组方法,其特征在于,所述阈值包括缓存大小阈值和时间阈值,当超过任一阈值强制重组。

4.根据权利要求1所述的基于旁路的高可靠tcp流重组方法,其特征在于,所述索引管理模块中采用红黑树索引管理数据包序号。

5.一种基于旁路的高可靠tcp流重组装置,其特征在于,包括:

6.根据权利要求5所述的基于旁路的高可靠tcp流重组装置,其特征在于,所述重组包...

【专利技术属性】
技术研发人员:郭昌盛杨鹏李华生王磊姜昱西
申请(专利权)人:杭州赤豹科技有限公司
类型:发明
国别省市:

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

1