[发明专利]一种高效的tcp会话重组装置有效
申请号: | 201711052423.8 | 申请日: | 2017-10-31 |
公开(公告)号: | CN107786472B | 公开(公告)日: | 2020-03-31 |
发明(设计)人: | 林飞;柯彦伟;赵喜荣;聂军;毛俊 | 申请(专利权)人: | 北京亚鸿世纪科技发展有限公司 |
主分类号: | H04L12/953 | 分类号: | H04L12/953;H04L12/951;H04L29/06 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100082 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 一种高效的tcp会话重组装置涉及信息技术领域,本发明由数据缓存模块和数据重组模块组成;数据缓存模块由会话查询模块、会话起始偏移记录模块、会话结束偏移记录模块、数据块编号计算记录模块和B+树生成模块组成;与以往的报文重组方案相比,本方案通过B+树直接将报文组织成有序的数据结构,可以保证在乱序报文较多的时候也不会因为频繁的数据查找而降低重组效率,这个改进算法可以明显提升在乱序报文较多场景下重组系统的效率及整体性能,同时本方案简化了SEQ的比较流程和TCP会话的重组过程,使TCP会话重组过程及软件实现变得简单高效。 | ||
搜索关键词: | 一种 高效 tcp 会话 重组 装置 | ||
【主权项】:
一种高效的tcp会话重组装置,其特征在于由数据缓存模块和数据重组模块组成;数据缓存模块由会话查询模块、会话起始偏移记录模块、会话结束偏移记录模块、数据块编号计算记录模块和B+树生成模块组成;会话查询模块的作用是当接收到TCP报文时,根据TCP报文中包括的IP地址和端口查询对应的会话表项;会话表项包括会话起始偏移、会话结束偏移,会话结束标记、以及存储数据块的B+树结构;会话起始偏移记录模块的作用是在接收到TCP报文的首包时,根据TCP报文的IP和端口信息创建会话表项,记录会话起始偏移,结束偏移;起始偏移的值为首包的SEQ值+1,结束偏移初始化为与起始偏移相同;首包的判断依据为报文类型是SYN或者SYN+ACK报文;会话结束偏移记录模块的作用是在接收到的TCP报文是本次TCP报文最后一个包时,更新会话信息中的结束偏移,结束偏移值应为报文的SEQ值;同时会话结束偏移记录模块在会话表项中放置会话结束标记;数据块编号计算和记录模块的作用是在接收到TCP报文时,根据当前TCP报文的SEQ值,负载长度,以及会话表项中保存的会话起始、结束偏移,计算出当前数据包对应数据块的起始偏移,结束偏移以及数据块编号;起始、结束偏移值的计算方法为:若当前TCP报文的SEQ值小于会话起始偏移值则起始偏移应为当前TCP报文的SEQ值加上32位无符号整数的最大值,否则起始偏移值应为当前TCP报文的SEQ值,结束偏移应为起始偏移值加上数据包长度;B+树生成模块的作用是:1.在接收到TCP报文时,根据刚接收到的TCP报文的数据块编号,从B+树中查找对应的数据块;2.当刚接收的TCP报文的数据块不在B+树中时,申请数据块内存,初始化数据块编号,将刚接收的TCP报文的数据块作为新申请数据块插入到B+树中;当刚接收的TCP报文的数据块在B+树中时,更新在B+树中查找到的数据块,具体方法是将刚接收的TCP报文的数据块中的数据拷贝到找到的数据块的指定位置,并更新数据块使用标记;数据重组模块用于TCP会话结束时的处理,当检测到TCP会话结束标记时,将B+树中缓存的有序数据块的数据取出,进行数据重组,重组时只需遍历会话表项中的B+树,将对应块结构中的数据输出即可,遍历会话表项中的B+树时,只需校验会话起始偏移与会话结束偏移之间的数据使用标记,若均被标记为有效,则将对应块结构中的数据输出以完成会话重组,否则此会话被视为数据不完整会话,放弃数据重组,然后回收此B+树各节点的内存块。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京亚鸿世纪科技发展有限公司,未经北京亚鸿世纪科技发展有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201711052423.8/,转载请声明来源钻瓜专利网。