一种高效的tcp会话重组方法技术

技术编号:17366081 阅读:50 留言:0更新日期:2018-02-28 17:57
一种高效的tcp会话重组方法涉及信息技术领域,本发明专利技术由会话缓存过程的流程、数据重组总体流程、数据块编号计算流程完成;与以往的报文重组方案相比,本发明专利技术通过B+树直接将报文组织成有序的数据结构,可以保证在乱序报文较多的时候也不会因为频繁的数据查找而降低重组效率,这个改进算法可以明显提升在乱序报文较多场景下重组系统的效率及整体性能,同时本方案简化了SEQ的比较流程和TCP会话的重组过程,使TCP会话重组过程及软件实现变得简单高效。

An efficient TCP session reorganization method

An efficient method for TCP session reorganization involves the field of information technology, the invention by the session cache process, data flow, data reorganization overall block number calculation process; compared with the previous packet restructuring program, through the B+ tree data structure will be organized into direct message order, can guarantee that it would not reordering messages more to reduce the recombination efficiency because of frequent data search, efficiency and overall performance of the improved algorithm can significantly improve the reorganization system in reordering messages more scenarios, and this scheme simplifies the process reengineering process and TCP SEQ's session, the TCP session restructuring process and the realization of software become simple and efficient.

【技术实现步骤摘要】
一种高效的tcp会话重组方法
本专利技术涉及信息
,尤其是数据通信领域中的通信处理

技术介绍
TCP/IP协议现在已经广泛的被应用到网络数据通讯上。数据在网络上使用TCP/IP协议进行传输的时候,需要将数据拆分成多个报文进行传输。而在网络安全、DPI数据采集、上网行为审计等领域都会用到TCP会话的重组技术。只有将数据包重组以后,才能还原一次完整的TCP会话,以达到获取网络传输真实内容的目的。一方面,由于网络传输的多种原因,一组数据包通过网络传输到同一个目的地时,会经过不同的路由路径到达同一目的地,由于不同路径的网络质量不完全一致,就会导致达目的地的一组数据包可能会发生顺序改变。另一方面,在传输过程中,由于TCP协议具有重传机制,在数据传递过程中,若发生了某个报文丢失或传输延迟过大的情况,则TCP协议会要求这个报文重传,而重传会导致某一组有序TCP报文在网络传递的时候发生很严重的顺序错乱。以上两种报文顺序错乱的问题会严重影响TCP会话重组及还原的成功率。在申请号为CN201510705482.5的专利申请文件中提到:当接收到TCP报文时,根据所述TCP报文中包括的IP地本文档来自技高网...
一种高效的tcp会话重组方法

【技术保护点】
一种高效的tcp会话重组方法,其特征在于由会话缓存步骤,数据重组步骤,数据块编号步骤完成;(1)会话缓存步骤1)接收TCP报文后,根据IP和端口查询出对应的会话表项信息;2)根据当前TCP报文的SEQ值,负载长度,以及会话表项中保存的会话起始、结束偏移,计算出当前数据包对应数据块的起始偏移,结束偏移以及数据块编号;起始、结束偏移值的计算方法为:若当前报文的SEQ值小于会话起始偏移值则起始偏移应为当前报文的SEQ值加上32位无符号整数的最大值,否则起始偏移值应为当前报文的SEQ值;结束偏移应为起始偏移值加上数据包长度;3)根据数据块编号在B+树中查找对应的数据块信息;数据块信息包含本数据块的起始...

【技术特征摘要】
1.一种高效的tcp会话重组方法,其特征在于由会话缓存步骤,数据重组步骤,数据块编号步骤完成;(1)会话缓存步骤1)接收TCP报文后,根据IP和端口查询出对应的会话表项信息;2)根据当前TCP报文的SEQ值,负载长度,以及会话表项中保存的会话起始、结束偏移,计算出当前数据包对应数据块的起始偏移,结束偏移以及数据块编号;起始、结束偏移值的计算方法为:若当前报文的SEQ值小于会话起始偏移值则起始偏移应为当前报文的SEQ值加上32位无符号整数的最大值,否则起始偏移值应为当前报文的SEQ值;结束偏移应为起始偏移值加上数据包长度;3)根据数据块编号在B+树中查找对应的数据块信息;数据块信息包含本数据块的起始偏移、结束偏移,以及本数据块的使用状态,本数据块的使用状态是数据块中的一个数据段,以每一位表示一个字节信息,当对应的数据位的字节已经填充则将其置为1;4)当找不到数据块,则申请新的数据块内存,初始化数据块编号,数据块起始、结束偏移,并插入到B+树中;数据块起始偏移为数据块编号乘以数据块大小,数据块结束偏移为数据块起始偏移加上数据块大小;5)更新查找到的数据块的数据和新插入的数据块上的数据,同步更新数据块使用标记;具体的更新方法为:将本数据块对应数据包的数据拷贝到待更新数据块的数据存储位置,并更新数据块使用标记,将对应数据位置标记为1;(2)数据重组步骤1)从驱动或其他报文...

【专利技术属性】
技术研发人员:林飞柯彦伟赵喜荣聂军毛俊
申请(专利权)人:北京亚鸿世纪科技发展有限公司
类型:发明
国别省市:北京,11

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

1