[发明专利]一种TCP乱序重组的方法和装置有效
申请号: | 201910981693.X | 申请日: | 2019-10-16 |
公开(公告)号: | CN110855584B | 公开(公告)日: | 2022-02-01 |
发明(设计)人: | 李小坤;刘锋;柴跃;谭国权;黄华桥;曾伟 | 申请(专利权)人: | 武汉绿色网络信息服务有限责任公司 |
主分类号: | H04L49/9057 | 分类号: | H04L49/9057 |
代理公司: | 深圳市六加知识产权代理有限公司 44372 | 代理人: | 向彬 |
地址: | 430000 湖北省武汉市东湖新技术开发区软件园*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 tcp 重组 方法 装置 | ||
本发明涉及TCP技术领域,提供了一种TCP乱序重组的方法和装置。在监听到第一IP地址的第一TCP报文时,获取所述第一TCP报文的序列号字段值seq1;用预设的set0减去seq1得到一个偏移值offset0;其中,所述第一TCP报文的重组用的序号设定为所述预设的set0;在监听到对应所述第一IP地址的其它TCP报文后,提取各自的序列号字段值,并和所述偏移值offset0求和,相应的求和结果作为对应第一IP地址的各TCP报文重组用的序号。本发明能够高效的解决TCP重组过程中的报文乱序和seq序列跨最大值的问题,判断逻辑更省更快捷,相对与以前通过建立乱序链表实现乱序处理,处理速度更快,更省内存。
【技术领域】
本发明涉及TCP技术领域,特别是涉及一种TCP乱序重组的方法和装置。
【背景技术】
TCP/IP协议现在已经广泛的被应用。数据在网络上应用TCP/IP协议进行传输的时候,需要将数据分成多个数据包。目前在网络安全领域都将用到TCP会话的重组问题。只有将数据包重组以后,才能还原一次完整的TCP会话。由于网络问题,数据包可能会经过不同的路由传输到目的地,并且到达目的地的数据包可能顺序会发生改变。在传输过程中,协议对数据的传输进行控制,对在传输过程中丢失的数据包协议将控制系统将丢失的数据包重新传送。在dpi流量监控的场景,我们需要对传输的TCP进行重组并还原TCP会话。
TCP还原的通常方法是通过TCP报文的seq序列号来实现,seq序列号是无符号4字节整型,并且TCP在建立连接时,TCP的起始seq序列号是随机值,考虑到TCP的起始值seq是个可能是个很大的值,比如0xffffff00,这样在拼接过程中可能下一个seq会比之前的seq序列号还小,因为无符号四字节整型做加法跨过0xffffffff会变成一个比较小的数,所以重组时,seq的比较需要将四字节seq先赋值给一个八字节seq,在发现新到的TCP数据报文的seq序列号比起始偏移值的seq还小时,将当前报文的seq加上四字节无符号整型的最大值0xffffffff,然后用这个值来做TCP重组拼接。
需要将四字节seq转换为八字节做比较,而且每个包都需要做比较,处理繁琐,并且必须以TCP流的syn包的seq+1作为起始seq,否则在乱序的情况下不容易区分是乱序报文还是非乱序但seq增加跨零后的报文,如果在设备处理流量缺失的情况下,比如没有同步报文syn包且存在乱序报文,处理起来判断流程比较麻烦。
鉴于此,克服该现有技术所存在的缺陷是本技术领域亟待解决的问题。
【发明内容】
本发明能够实现一种高效的TCP乱序重组方法,不用过多的去考虑TCP序列号是否乱序和是否跨过0xffffffff的问题。
本发明采用如下技术方案:
第一方面,本发明提出了一种TCP乱序重组的方法,方法包括:
在监听到第一IP地址的第一TCP报文时,获取所述第一TCP报文的序列号字段值seq1;
用预设的set0减去seq1得到一个偏移值offset0;其中,所述第一TCP报文的重组用的序号设定为所述预设的set0;
在监听到对应所述第一IP地址的其它TCP报文后,提取各自的序列号字段值,并和所述偏移值offset0求和,相应的求和结果作为对应第一IP地址的各TCP报文重组用的序号。
优选的,所述预设的set0,是根据历史上监听到的对应所述第一IP地址的,且一次完整的TCP会话中,所完成发送最大体积的数据对象而定。
优选的,所述预设的set0大小为10M字节-2G字节。
优选的,在所述预设的set0大小为2G字节。
优选的,所述获取所述第一TCP报文的序列号字段值seq1后,方法还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉绿色网络信息服务有限责任公司,未经武汉绿色网络信息服务有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910981693.X/2.html,转载请声明来源钻瓜专利网。