[发明专利]一种TCP乱序重组的方法和装置有效
申请号: | 201910981693.X | 申请日: | 2019-10-16 |
公开(公告)号: | CN110855584B | 公开(公告)日: | 2022-02-01 |
发明(设计)人: | 李小坤;刘锋;柴跃;谭国权;黄华桥;曾伟 | 申请(专利权)人: | 武汉绿色网络信息服务有限责任公司 |
主分类号: | H04L49/9057 | 分类号: | H04L49/9057 |
代理公司: | 深圳市六加知识产权代理有限公司 44372 | 代理人: | 向彬 |
地址: | 430000 湖北省武汉市东湖新技术开发区软件园*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 tcp 重组 方法 装置 | ||
1.一种TCP乱序重组的方法,其特征在于,方法包括:
在监听到第一IP地址的第一TCP报文时,获取所述第一TCP报文的序列号字段值seq1;
用预设的set0减去seq1得到一个偏移值offset0;其中,所述第一TCP报文的重组用的序号设定为所述预设的set0;
在监听到对应所述第一IP地址的其它TCP报文后,提取各自的序列号字段值,并和所述偏移值offset0求和,相应的求和结果作为对应第一IP地址的各TCP报文重组用的序号;
所述预设的set0,是根据历史上监听到的对应所述第一IP地址的,且一次完整的TCP会话中,所完成发送最大体积的数据对象而定。
2.根据权利要求1所述的TCP乱序重组的方法,其特征在于,所述预设的set0大小为10M字节-2G字节。
3.根据权利要求2所述的TCP乱序重组的方法,其特征在于,在所述序列号字段值的区间为4G时,则所述预设的set0大小为2G字节。
4.根据权利要求1所述的TCP乱序重组的方法,其特征在于,所述获取所述第一TCP报文的序列号字段值seq1后,方法还包括:
判断所述seq1若处于第一预设阈值和第二预设阈值之间,则直接根据各TCP报文的序列号字值进行排序重组;
判断所述seq1若处于第一预设阈值和第二预设阈值之外,则执行所述获取所述第一TCP报文的序列号字段值seq1之后的方法内容。
5.根据权利要求1所述的TCP乱序重组的方法,其特征在于,在监听到第一IP地址的TCP报文中,处理负载长度大于0的数据报文,没有负载的则跳过相应求和计算得到重组用的序号过程。
6.根据权利要求1所述的TCP乱序重组的方法,其特征在于,所述对应所述第一IP地址的其它TCP报文的序列号字段的内容分别加上所述offset0,各自取得一个四字节的相对offset0_seq;作为各TCP报文重组用的序号;其中,若第二TCP报文的序列号字段值比第一TCP报文的大或者第二TCP报文的序列号字段值发生溢出,则对应第二TCP报文的offset0_seq2比set0大;若第二TCP报文的序列号字段值比第一TCP报文的小,则对应第二TCP报文的offset0_seq2比set0小。
7.根据权利要求1所述的TCP乱序重组的方法,其特征在于,对TCP会话的一个方向的TCP报文按照offset0_seq由大到小挂双向链表。
8.根据权利要求1所述的TCP乱序重组的方法,其特征在于,在TCP会话收到fin报文或rst报文或者流会话超时,从链尾向链首遍历,便可通过offset0_seq重组TCP会话数据。
9.一种TCP乱序重组的装置,其特征在于,所述装置包括:
至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被程序设置为执行权利要求1-8任一所述的TCP乱序重组的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉绿色网络信息服务有限责任公司,未经武汉绿色网络信息服务有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910981693.X/1.html,转载请声明来源钻瓜专利网。