[发明专利]一种高效的tcp会话重组装置有效
申请号: | 201711052423.8 | 申请日: | 2017-10-31 |
公开(公告)号: | CN107786472B | 公开(公告)日: | 2020-03-31 |
发明(设计)人: | 林飞;柯彦伟;赵喜荣;聂军;毛俊 | 申请(专利权)人: | 北京亚鸿世纪科技发展有限公司 |
主分类号: | H04L12/953 | 分类号: | H04L12/953;H04L12/951;H04L29/06 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100082 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 高效 tcp 会话 重组 装置 | ||
一种高效的tcp会话重组装置涉及信息技术领域,本发明由数据缓存模块和数据重组模块组成;数据缓存模块由会话查询模块、会话起始偏移记录模块、会话结束偏移记录模块、数据块编号计算记录模块和B+树生成模块组成;与以往的报文重组方案相比,本方案通过B+树直接将报文组织成有序的数据结构,可以保证在乱序报文较多的时候也不会因为频繁的数据查找而降低重组效率,这个改进算法可以明显提升在乱序报文较多场景下重组系统的效率及整体性能,同时本方案简化了SEQ的比较流程和TCP会话的重组过程,使TCP会话重组过程及软件实现变得简单高效。
技术领域
本发明涉及信息技术领域,尤其是数据通信领域中的通信处理技术领域。
背景技术
TCP/IP协议现在已经广泛的被应用到网络数据通讯上。数据在网络上使用TCP/IP协议进行传输的时候,需要将数据拆分成多个报文进行传输。而在网络安全、DPI数据采集、上网行为审计等领域都会用到TCP会话的重组技术。只有将数据包重组以后,才能还原一次完整的TCP会话,以达到获取网络传输真实内容的目的。一方面,由于网络传输的多种原因,一组数据包通过网络传输到同一个目的地时,会经过不同的路由路径到达同一目的地,由于不同路径的网络质量不完全一致,就会导致达目的地的一组数据包可能会发生顺序改变。另一方面,在传输过程中,由于TCP协议具有重传机制,在数据传递过程中,若发生了某个报文丢失或传输延迟过大的情况,则TCP协议会要求这个报文重传,而重传会导致某一组有序TCP报文在网络传递的时候发生很严重的顺序错乱。以上两种报文顺序错乱的问题会严重影响TCP会话重组及还原的成功率。
在申请号为 CN201510705482.5的专利申请文件中提到:当接收到TCP报文时,根据所述TCP报文中包括的IP地址和端口查询对应的会话表项;根据所述TCP报文的方向、所述TCP报文的序号以及所述方向按序接收到的TCP报文的序号,确定所述TCP报文的类别;若所述TCP报文为乱序报文,则将所述TCP报文加入所述方向的乱序报文链表;若所述TCP报文为顺序报文,则判断所述方向的乱序报文链表中是否存在与所述TCP报文匹配的链表节点;若存在,将该链表节点和所述TCP报文加入到所述方向的顺序报文链表;否则,将所述TCP报文加入所述方向的顺序报文链表。
申请号为 CN201510705482.5方案的问题是:使用链表存储乱序节点会带来乱序节点查找任务,当乱序报文比较多的情况下,会存在大量的乱序节点遍历查找任务,过多的遍历查找会严重影响报文重组的效率。另外对乱序报文进行存储时会因报文的大小不固定而引发复杂的内存管理效率及内存命中的问题,申请过多的大小不一致的内存也容易导致内存碎片化而降低重组效率。
针对TCP会话重组过程普遍存在的低效率问题,本方案实现了一种简单高效的TCP报文重组方法。通过将TCP报文组织成固定大小的数据块,然后以B+树的结构形式进行组织管理,从而提高了TCP会话的重组效率和成功率,实现了高性能的TCP会话重组算法及软件模块。
发明内容
基于现有技术的不足本发明提供了一种高效的tcp会话重组装置,由数据缓存模块和数据重组模块组成;数据缓存模块由会话查询模块、会话起始偏移记录模块、会话结束偏移记录模块、数据块编号计算记录模块和B+树生成模块组成;
会话查询模块的作用是当接收到TCP报文时,根据TCP报文中包括的IP地址和端口查询对应的会话表项;会话表项包括会话起始偏移、会话结束偏移,会话结束标记、以及存储数据块的B+树结构;
会话起始偏移记录模块的作用是在接收到TCP报文的首包时,根据TCP报文的IP和端口信息创建会话表项,记录会话起始偏移,结束偏移;起始偏移的值为首包的SEQ值+1,结束偏移初始化为与起始偏移相同;首包的判断依据为报文类型是SYN或者SYN+ACK报文;
会话结束偏移记录模块的作用是在接收到的TCP报文是本次TCP报文最后一个包时,更新会话信息中的结束偏移,结束偏移值应为报文的SEQ值;同时会话结束偏移记录模块在会话表项中放置会话结束标记;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京亚鸿世纪科技发展有限公司,未经北京亚鸿世纪科技发展有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711052423.8/2.html,转载请声明来源钻瓜专利网。