一种差异化TCP链接管理方法及设备技术

技术编号:20947504 阅读:57 留言:0更新日期:2019-04-24 03:40
本发明专利技术公开了一种差异化TCP链接管理方法及设备。本方法为:对当前TCP链接中的数据包,根据其四元组信息在TCP流表中查找匹配的四元组;如果没有匹配的四元组,则根据该四元组信息在TCP流表中新建一TCP流管理结构,根据数据包的特征识别TCP链接的协议类别并设置TCP链接的最大乱序数阈值;如果存在匹配的四元组,则根据数据包的序号SEQ大于该TCP链接期待到达的数据包序号EXP_SEQ,则判定数据包为对应TCP链接的乱序包,如果乱序包数量未超过对应的最大乱序数阈值,则缓存该乱序包并将乱序数计数加1;否则增大对应TCP链接的最大乱序数阈值,清空该TCP链接的乱序包计数并将对应数据交付上层应用处理。

A Differentiated TCP Link Management Method and Device

The invention discloses a differential TCP link management method and device. This method is to find the matching quaternion in the TCP flow table according to its quaternion information for the data packet in the current TCP link; if there is no matching quaternion, a new TCP flow management structure is built in the TCP flow table according to the quaternion information, and the protocol category of the TCP link is identified according to the characteristics of the data packet, and the maximum disorder threshold of the TCP link is set if there are matching quaternions. If the number of disordered packets does not exceed the corresponding maximum disordered number threshold, the disordered packet is cached and the disordered number count is added to 1. Otherwise, the maximum disordered number threshold of the corresponding TCP link is increased and the disordered packet count of the corresponding TCP link is emptied. And the corresponding data will be delivered to the upper application processing.

【技术实现步骤摘要】
一种差异化TCP链接管理方法及设备
本专利技术属于计算机网络
,涉及一种差异化TCP链接管理方法及设备。
技术介绍
TCP传输协议是有序且可靠的,在实际网络传输过程中,由于网络路由路径、链路带宽、链路延时的不同,TCP包乱序到达的情况很常见。当有乱序包先到达时,需要暂存这些数据,待正序包到达后,协议栈再将有序的数据包一起交付上层应用处理。随着互联网的带宽迅速增加,为了提高带宽的利用率,TCP的滑动窗口值也越来越大,即在收到对方确认包之前,可以一次性发送的数据包越来越多,这种情况下,数据包乱序的机率也会增多。对于系统协议栈来说,最大乱序数阈值即TCP滑动窗口值,即使网络传输过程中,有丢包情况发生,发送端未收到接收端的ACK包,也会再重传丢失的数据包。但对于网络防病毒、深度包检测(DPI,DeepPacketInspection)、入侵检测系统(IDS,IntrusionDetectionSystem)、网络行为分析(NBA,NetworkBehaviorAnalysis)等系统或设备来说,通常是采用旁路方式部署到现有网络,采用复制或镜像方式获取一份真实网络流量的副本,在这种情况下,TCP协议就不再保证是可靠的,即真实通信的双方没有丢包,在镜像复制过程中,IDS系统却没有收到数据包,即有真正丢包的情况。此类情况下,IDS系统就不能一直等待对方重传,而是要设置最大乱序包数阈值,超过此值后,就认为有丢包发生且无法再收到期待的数据,根据用户需求,可继续向应用层交付后续的数据包,或者直接丢弃整个TCP链接。在传统DPI设备的TCP链接管理策略中,通常没有考虑不同应用层业务数据的特点,采用统一的链接管理策略,即全局只有一个最大乱序包缓存数阈值,不能很好的满足高速网络环境下,对特定流量数据分析的需求。现有技术的缺点及本申请要解决的技术问题目前大部分DPI系统的TCP链接管理模块,对最大乱序数通常设为全局性参数,如果设置的不当,会导致如下问题:1)最大乱序数阈值如果设置的太小,则可能会丢失应用层数据,降低了数据完整性,进而影响业务处理正确性;2)最大乱序数阈值如果设置的太大,虽然在一定程度上保证了数据完整性,但会导致内存资源占用太高。
技术实现思路
针对现有技术中存在的技术问题,本专利技术的目的在于提供一种差异化TCP链接管理方法及设备。本专利技术的技术方案为:一种差异化TCP链接管理方法,其步骤包括:TCP链接处理模块对当前TCP链接中的数据包,根据该数据包的四元组信息在TCP流表中查找匹配的四元组;如果没有匹配的四元组,则根据该数据包的四元组信息在该TCP流表中新建一TCP流管理结构,根据该数据包的特征识别该TCP链接的协议类别并设置该TCP链接的最大乱序数阈值;如果存在匹配的四元组,则根据该数据包的序号SEQ与该TCP链接期待到达的数据包序号EXP_SEQ做比较:如果SEQ<EXP_SEQ,则丢弃该数据包;如果SEQ==EXP_SEQ,则将收到的该TCP链接的数据交付上层应用处理;如果SEQ>EXP_SEQ,则判定该数据包为该TCP链接的乱序包,如果已缓存的该TCP链接的乱序包数量未超过该TCP链接对应的最大乱序数阈值,则将该乱序包暂存到该TCP链接对应的缓存区并将乱序数计数加1;如果已缓存的该TCP链接的乱序包数量超过该TCP链接对应的最大乱序数阈值,则增大该TCP链接对应的最大乱序数阈值;然后清空该TCP链接的乱序包计数并将收到的该TCP链接的数据交付上层应用处理。进一步的,增大该TCP链接对应的最大乱序数阈值的方法为:设调整前该TCP链接的最大乱序数阈值为N,每次调整增加幅度为P%;该TCP链接的最大乱序数阈值的最大值不超过该TCP链接的最大乱序数阈值的初始推荐值的M倍。进一步的,所述增加幅度为P%为10%;所述M取值为2。进一步的,所述协议类别包括文件传输类、远程管理类、音视频类、聊天工具类。进一步的,根据协议类型-最大乱序数阈值对应表设置TCP链接的最大乱序数阈值的初始推荐值;其中,协议类型为远程管理类的TCP链接的最大乱序数阈值的初始推荐值为5;协议类型为超文本传输类的TCP链接的最大乱序数阈值的初始推荐值为10;协议类型为音视频类的TCP链接的最大乱序数阈值的初始推荐值为50;协议类型为文件传输类的TCP链接的最大乱序数阈值的初始推荐值为100。一种差异化TCP链接管理设备,其特征在于,包括TCP链接处理模块、应用层协议识别模块;其中,所述应用层协议识别模块,用于根据TCP链接中的数据包的特征识别该TCP链接的协议类别;所述TCP链接处理模块,用于提取当前TCP链接中的数据包的四元组,并根据数据包的四元组信息在TCP流表中查找匹配的四元组;如果没有匹配的四元组,则根据该数据包的四元组信息在该TCP流表中新建一TCP流管理结构,并设置该TCP链接的最大乱序数阈值及其协议类型;如果存在匹配的四元组,则根据该数据包的序号SEQ与该TCP链接期待到达的数据包序号EXP_SEQ做比较:如果SEQ<EXP_SEQ,则丢弃该数据包;如果SEQ==EXP_SEQ,则将收到的该TCP链接的数据交付上层应用处理;如果SEQ>EXP_SEQ,则判定该数据包为该TCP链接的乱序包,如果已缓存的该TCP链接的乱序包数量未超过该TCP链接对应的最大乱序数阈值,则将该乱序包暂存到该TCP链接对应的缓存区并将乱序数计数加1;如果已缓存的该TCP链接的乱序包数量超过该TCP链接对应的最大乱序数阈值,则增大该TCP链接对应的最大乱序数阈值;然后清空该TCP链接的乱序包计数并将收到的该TCP链接的数据交付上层应用处理。进一步的,所述TCP链接处理模块根据公式N’=N*(1+10%)增大该TCP链接对应的最大乱序数阈值;其中,N为该TCP链接的调整前的最大乱序数阈值,P%为每次调整增加幅度;该TCP链接的最大乱序数阈值的最大值不超过该TCP链接的最大乱序数阈值的初始推荐值的M倍。进一步的,所述TCP链接处理模块根据协议类型-最大乱序数阈值对应表设置TCP链接的最大乱序数阈值的初始推荐值;其中,协议类型为远程管理类的TCP链接的最大乱序数阈值的初始推荐值为5;协议类型为超文本传输类的TCP链接的最大乱序数阈值的初始推荐值为10;协议类型为音视频类的TCP链接的最大乱序数阈值的初始推荐值为50;协议类型为文件传输类的TCP链接的最大乱序数阈值的初始推荐值为100。进一步的,所述设备与TCP链接经过的网络设备连接,用于从该网络设备接收该TCP链接的端口镜像数据或分光数据。进一步的,所述设备为深度包检测设备DPI、入侵检测系统IDS或网络行为分析设备NBA。与现有技术相比,本专利技术的积极效果为:本专利技术根据上层应用协议的特点,有针对性的进行差异化管理,动态设置每个TCP链接的最大乱序数阈值,能在数据完整性和内存空间占用方面都能达到最优效果。相对于全局统一配置方式,本方法根据不同应用层协议的特点,可动态指定不同的TCP最大乱序包阈值,尽最大可能保证应用层数据的完整性,并在一定程度上节约内存资源。附图说明图1为典型应用场景示意图;图2为TCP乱序数设置示意图;图3为乱序数阈值与TCP数据完整率关系图。具体实施方式为使本专利技术的上本文档来自技高网
...

【技术保护点】
1.一种差异化TCP链接管理方法,其步骤包括:TCP链接处理模块对当前TCP链接中的数据包,根据该数据包的四元组信息在TCP流表中查找匹配的四元组;如果没有匹配的四元组,则根据该数据包的四元组信息在该TCP流表中新建一TCP流管理结构,根据该数据包的特征识别该TCP链接的协议类别并设置该TCP链接的最大乱序数阈值;如果存在匹配的四元组,则根据该数据包的序号SEQ与该TCP链接期待到达的数据包序号EXP_SEQ做比较:如果SEQ<EXP_SEQ,则丢弃该数据包;如果SEQ==EXP_SEQ,则将收到的该TCP链接的数据交付上层应用处理;如果SEQ>EXP_SEQ,则判定该数据包为该TCP链接的乱序包,如果已缓存的该TCP链接的乱序包数量未超过该TCP链接对应的最大乱序数阈值,则将该乱序包暂存到该TCP链接对应的缓存区并将乱序数计数加1;如果已缓存的该TCP链接的乱序包数量超过该TCP链接对应的最大乱序数阈值,则增大该TCP链接对应的最大乱序数阈值;然后清空该TCP链接的乱序包计数并将收到的该TCP链接的数据交付上层应用处理。

【技术特征摘要】
1.一种差异化TCP链接管理方法,其步骤包括:TCP链接处理模块对当前TCP链接中的数据包,根据该数据包的四元组信息在TCP流表中查找匹配的四元组;如果没有匹配的四元组,则根据该数据包的四元组信息在该TCP流表中新建一TCP流管理结构,根据该数据包的特征识别该TCP链接的协议类别并设置该TCP链接的最大乱序数阈值;如果存在匹配的四元组,则根据该数据包的序号SEQ与该TCP链接期待到达的数据包序号EXP_SEQ做比较:如果SEQ<EXP_SEQ,则丢弃该数据包;如果SEQ==EXP_SEQ,则将收到的该TCP链接的数据交付上层应用处理;如果SEQ>EXP_SEQ,则判定该数据包为该TCP链接的乱序包,如果已缓存的该TCP链接的乱序包数量未超过该TCP链接对应的最大乱序数阈值,则将该乱序包暂存到该TCP链接对应的缓存区并将乱序数计数加1;如果已缓存的该TCP链接的乱序包数量超过该TCP链接对应的最大乱序数阈值,则增大该TCP链接对应的最大乱序数阈值;然后清空该TCP链接的乱序包计数并将收到的该TCP链接的数据交付上层应用处理。2.如权利要求1所述的方法,其特征在于,增大该TCP链接对应的最大乱序数阈值的方法为:设调整前该TCP链接的最大乱序数阈值为N,每次调整增加幅度为P%;该TCP链接的最大乱序数阈值的最大值不超过该TCP链接的最大乱序数阈值的初始推荐值的M倍。3.如权利要求2所述的方法,其特征在于,所述增加幅度为P%为10%;所述M取值为2。4.如权利要求1或2或3所述的方法,其特征在于,所述协议类别包括文件传输类、远程管理类、音视频类、聊天工具类。5.如权利要求1所述的方法,其特征在于,根据协议类型-最大乱序数阈值对应表设置TCP链接的最大乱序数阈值的初始推荐值;其中,协议类型为远程管理类的TCP链接的最大乱序数阈值的初始推荐值为5;协议类型为超文本传输类的TCP链接的最大乱序数阈值的初始推荐值为10;协议类型为音视频类的TCP链接的最大乱序数阈值的初始推荐值为50;协议类型为文件传输类的TCP链接的最大乱序数阈值的初始推荐值为100。6.一种差异化TCP链接管理设备,其特征在于,包括TCP链接处理模块、应用层协议识别模块;其中,所述应用层协议识别模块,用于根据TCP...

【专利技术属性】
技术研发人员:李佳刘庆云郑超杨威
申请(专利权)人:中国科学院信息工程研究所
类型:发明
国别省市:北京,11

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

1