[发明专利]一种高效的tcp会话重组方法有效
申请号: | 201711052422.3 | 申请日: | 2017-10-31 |
公开(公告)号: | CN107743102B | 公开(公告)日: | 2020-01-31 |
发明(设计)人: | 林飞;柯彦伟;赵喜荣;聂军;毛俊 | 申请(专利权)人: | 北京亚鸿世纪科技发展有限公司 |
主分类号: | H04L12/953 | 分类号: | H04L12/953;H04L12/951;H04L29/06 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100082 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 高效 tcp 会话 重组 方法 | ||
一种高效的tcp会话重组方法涉及信息技术领域,本发明由会话缓存过程的流程、数据重组总体流程、数据块编号计算流程完成;与以往的报文重组方案相比,本发明通过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 UDP传输原理及数据块,分节,分组,数据报,数据包的区别:
关于TCP输出:
每个TCP套接口有一个发送缓冲区,当应用程序调用write时,内核将应用程序的缓冲区的数据拷贝到TCP的发送缓冲区, TCP以对方MSS(maximum segment size)大小或者更小发送数据块给IP,并给每个数据块加上TCP头部形成分节,IP给每个分节安上IP头部形成数据包,并寻找目标IP地址,及路由表项以确定外出接口,然后把数据包传给数据链路,加入链路输出队列,如果队列满,分组丢弃,并通过协议栈向上返回错误:链路层到IP层,IP层到TCP层,TCP记住这个错误并在某个时候重传这个分节。当对方服务器接受到数据时,会发送ACK,本机接受ACK,并应答ACK,此时,发送缓冲区的数据废弃,此缓冲区可以再次写入其他数据。
关于UDP输出:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京亚鸿世纪科技发展有限公司,未经北京亚鸿世纪科技发展有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711052422.3/2.html,转载请声明来源钻瓜专利网。