一种改进的传输控制协议代理实现方法及装置制造方法及图纸

技术编号:6536413 阅读:220 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种改进的传输控制协议TCP代理实现方法,包括如下步骤:A、无线网络控制器RNC接收并缓存来自核心网的TCP/IP组包;B、RNC对所缓存的TCP/IP组包进行解析,提取出TCP层数据包;C、RNC判断所述TCP层数据包是否为ACK包或携带ACK的数据包,若是,则执行步骤D;否则直接在空口上转发该TCP层数据包并返回步骤A;以及D、根据已缓存的数据量和/或监测到的空口吞吐量,动态确定分裂ACK的个数,并根据所确定的分裂ACK的个数将所述ACK包或携带ACK的数据包复制为多个,在空口上转发所述ACK包或携带ACK的数据包,并返回步骤A。本发明专利技术还公开了一种改进的TCP代理实现装置。本发明专利技术方案可以动态调整ACK包分裂的个数,使其与场景或业务特性相适应。

【技术实现步骤摘要】

本专利技术涉及互联网与通信
,特别涉及一种改进的传输控制协议(TCP)代理实现方法及装置。
技术介绍
现有TCP技术应用于有线网络传输时,由于有线网络的环回时延特性较稳定,可以达到TCP机制期望的快速重传及拥塞控制目标。但是,与无线通信相结合时,由于空口传输质量、无线网络资源控制算法的多重影响,使得TCP发生更多的慢启动和拥塞控制,严重影响无线通信环境中TCP的传输效率。因此,为了优化TCP传输效率,充分利用无线传输资源,提出了所谓的TCP代理技术。TCP代理技术,即是在无线网络控制器(RNC)中增加一个TCP代理模块,用于模拟 TCP的部分传输功能,以提高慢启动速度和重传效率,从而达到提升无线网络中TCP数传性能。现有的TCP代理的实现流程如图1所示,包括如下步骤步骤101 核心网(CN)传来的数据包通过TCP/IP组包后到达无线网络控制器 (RNC)。步骤102 =RNC在收到这些数据包,将其按照TCP/IP协议定义的标准包格式,对数据包进行解析,提取出TCP层数据包。步骤103 =RNC判断所述TCP层数据包是否为ACK包或携带ACK的数据包,若是,则执行步骤104,否则正常转发该TCP层数据包并退出本流程。步骤104 :RNC按照预先配置的固定参数,分裂所述ACK包或携带ACK的数据包,即将所述ACK包或携带ACK的数据包复制为多个,然后再转发所述ACK包或携带ACK的数据包。例如,所述固定参数为N,将所述ACK包或携带ACK的数据包复制为N+1个。通过将ACK包复制为多个进行转发,可以加速TCP层数传过程中慢启动与拥塞避免过程,达到减轻丢包、降低传输时延等效果。移动通信系统中对于ACK分裂个数的确定,目前普遍采用固定参数配置的方法, 即定义允许ACK分裂的个数,不区分任何场景或业务统一配置一个固定的值。由于TCP代理功能的特性与该参数配置紧密相关,固定配置的方式不利于适应不同的应用场景。可能出现例如过度分裂,导致高层窗口扩展过快使得业务量远大于空口吞吐量;或是分裂数不足, 达不到加速数据传输的目的。
技术实现思路
有鉴于此,本专利技术的目的在于,提出一种改进的传输控制协议(TCP)代理实现方法及装置,可以动态调整ACK包分裂的个数,使其与场景或业务特性相适应。本专利技术实施例提出的一种改进的传输控制协议TCP代理实现方法,包括如下步骤A、无线网络控制器RNC接收并缓存来自核心网的TCP/IP组包;B、RNC对所缓存的TCP/IP组包进行解析,提取出TCP层数据包;C、RNC判断所述TCP层数据包是否为ACK包或携带ACK的数据包,若是,则执行步骤D ;否则直接在空口上转发该TCP层数据包并返回步骤A ;以及D、根据已缓存的数据量和/或监测到的空口吞吐量,动态确定分裂ACK的个数,并根据所确定的分裂ACK的个数将所述ACK包或携带ACK的数据包复制为多个,在空口上转发所述ACK包或携带ACK的数据包,并返回步骤A。较佳地,在RNC中预先配置第一阈值和第二阈值,其中第二阈值>第一阈值;所述根据已缓存的数据量和/或监测到的空口吞吐量,动态确定分裂ACK的个数包括监测业务源数据传输速率与空口数据传输速率;计算业务源数据传输速率与空口数据传输速率的比值k ;将所述比值k与所述预先设置的阈值进行比较,若比值k小于第一阈值,则将分裂 ACK的个数设置为等于预先设定的固定分裂数目N = N0 ;若比值k大于第二阈值,则将分裂 ACK的个数N归零;若比值k在第一阈值和第二阈值之间,则调整分裂ACK的个数N。较佳地,所述第一阈值大于0且小于1 ;所述第二阈值大于0且小于或等于1。较佳地,所述若比值k在第一阈值和第二阈值之间,则调整分裂ACK的个数为与前一个k值相比,若k每增大一个步长Δ,则将分裂ACK的个数N减小一个粒度η,即设置N =Ν-η ;若k每减小一个步长Δ,则将分裂ACK的个数N增大一个粒度η,即设置N = Ν+η, 其中,A为k的变化步长,η为分裂数目N的粒度,取值为大于等于1且小于等于Ntl的整数,Δ与η的配置需要保证& >=(^red2-TArnsAl)/Δ , Thresh1和Thresh2分别代表第一η阈值和第二阈值。较佳地,在第一阈值和第二阈值之间设置I个阈值区间,对应各个阈值区间设置相应的分裂调整粒度[nQ,ηι,……,ni,ni+1,……,rvJ ;1为大于或等于1的整数;所述将分裂ACK的个数N增大一个粒度η为判断比值k所处于的阈值区间,确定该阈值区间对应的分裂调整粒度,将分裂ACK的个数N增大一个所确定的分裂调整粒度。本专利技术实施例提出的一种改进的传输控制协议TCP代理实现装置,包括接收及缓存模块,用于接收并缓存来自核心网的TCP/IP组包;解析模块,用于对接收及缓存模块所缓存的TCP/IP组包进行解析,提取出TCP层数据包;判断模块,用于判断所述解析模块所提取的TCP层数据包是否为ACK包或携带ACK 的数据包,若是,则将所述ACK包或携带ACK的数据包传送至分裂模块;否则将该TCP层数据包传送至空口发送模块;分裂模块,根据已缓存的数据量和/或监测到的空口吞吐量,动态确定分裂ACK的个数,并根据所确定的分裂ACK的个数将所述ACK包或携带ACK的数据包复制为多个,将所复制的ACK包或携带ACK的数据包传送至空口发送模块;空口发送模块,在空口上转发来自所述判断模块的TCP层数据包或来自分裂模块的ACK包或携带ACK的数据包。所述分裂模块包括阈值配置单元,用于保存预先配置的第一阈值和第二阈值,其中第二阈值>第一阈值;监测单元,用于监测业务源数据传输速率与空口数据传输速率,并计算业务源数据传输速率与空口数据传输速率的比值k ;比较单元,用于将所述监测单元计算的比值k与所述阈值配置单元中预先设置的阈值进行比较,并输出比较结果;调整单元,若所述比较单元输出的比较结果为比值k小于第一阈值,则将分裂ACK 的个数N设置为等于预先设定的固定分裂数目;若所述比较结果为比值k大于第二阈值,则将分裂ACK的个数N归零;若所述比较结果为比值k在第一阈值和第二阈值之间,则调整分裂ACK的个数N。分裂处理单元,用于根据所述调整单元输出的分裂ACK的个数N,将所述ACK包或携带ACK的数据包复制为N+1个。较佳地,所述阈值配置单元进一步在第一阈值和第二阈值之间设置I个阈值区间,对应各个阈值区间设置相应的分裂调整粒度[nQ,Ii1,……,ni,ni+1,……,Ii1J5I为大于或等于1的整数;所述比较单元在得到比较结果为比值k在第一阈值和第二阈值之间时,进一步确定比值k所处于的阈值区间对应的分裂调整粒度,并将该分裂调整粒度通知调整单元;所述调整单元用于以所述分裂调整粒度为单位,调整分裂ACK的个数N。从以上技术方案可以看出,RNC根据已缓存的数据量和/或监测到的空口吞吐量, 动态确定分裂ACK的个数,可以使TCP窗口扩张速度与实际业务相适应,避免ACK包分裂过度或不足的情况出现。附图说明图1为现有技术中的TCP代理的实现流程图;图2为本专利技术实施例提出的一种TCP代理的实现流程图;图3为本专利技术实施例提出的动态调整ACK包分裂个数的一种处理流程图。具体实施例方式本专利技术提出的在TCP代理本文档来自技高网
...

【技术保护点】
1.一种改进的传输控制协议TCP代理实现方法,其特征在于,包括如下步骤:A、无线网络控制器RNC接收并缓存来自核心网的TCP/IP组包;B、RNC对所缓存的TCP/IP组包进行解析,提取出TCP层数据包;C、RNC判断所述TCP层数据包是否为ACK包或携带ACK的数据包,若是,则执行步骤D;否则直接在空口上转发该TCP层数据包并返回步骤A;以及D、根据已缓存的数据量和/或监测到的空口吞吐量,动态确定分裂ACK的个数,并根据所确定的分裂ACK的个数将所述ACK包或携带ACK的数据包复制为多个,在空口上转发所述ACK包或携带ACK的数据包,并返回步骤A。

【技术特征摘要】
1.一种改进的传输控制协议TCP代理实现方法,其特征在于,包括如下步骤A、无线网络控制器RNC接收并缓存来自核心网的TCP/IP组包;B、RNC对所缓存的TCP/IP组包进行解析,提取出TCP层数据包;C、RNC判断所述TCP层数据包是否为ACK包或携带ACK的数据包,若是,则执行步骤D; 否则直接在空口上转发该TCP层数据包并返回步骤A ;以及D、根据已缓存的数据量和/或监测到的空口吞吐量,动态确定分裂ACK的个数,并根据所确定的分裂ACK的个数将所述ACK包或携带ACK的数据包复制为多个,在空口上转发所述ACK包或携带ACK的数据包,并返回步骤A。2.根据权利要求1所述的方法,其特征在于,在RNC中预先配置第一阈值和第二阈值, 其中第二阈值>第一阈值;所述根据已缓存的数据量和/或监测到的空口吞吐量,动态确定分裂ACK的个数包括监测业务源数据传输速率与空口数据传输速率; 计算业务源数据传输速率与空口数据传输速率的比值k ;将所述比值k与所述预先设置的阈值进行比较,若比值k小于第一阈值,则将分裂ACK 的个数设置为等于预先设定的固定分裂数目N = N0 ;若比值k大于第二阈值,则将分裂ACK 的个数N归零;若比值k在第一阈值和第二阈值之间,则调整分裂ACK的个数N。3.根据权利要求2所述的方法,其特征在于,所述第一阈值大于0且小于1;所述第二阈值大于0且小于或等于1。4.根据权利要求2所述的方法,其特征在于,所述若比值k在第一阈值和第二阈值之间,则调整分裂ACK的个数为与前一个k值相比,若k每增大一个步长Δ,则将分裂ACK 的个数N减小一个粒度n,即设置N = N-n ;若k每减小一个步长Δ,则将分裂ACK的个数 N增大一个粒度η,即设置N = Ν+η,其中,Δ为k的变化步长,η为分裂数目N的粒度,取值为大于等于1且小于等于Ntl的整数,A与η的配置需要保证&>=(TTzmsA2-TT^碑)/Δ,ηThresh1和Hiresh2分别代表第一阈值和第二阈值。5.根据权利要求4所述的方法,其特征在于,在第一阈值和第二阈值之间设置I个阈值区间,对应各个阈值区间设置相应的分裂调整粒度[nQ,ηι,……,ni,ni+1,……,H1J5I为大于或等于1的整数;所述将分裂ACK的个数N增大一个粒度η为判断比值k所处于的阈...

【专利技术属性】
技术研发人员:成建敏王亮
申请(专利权)人:鼎桥通信技术有限公司
类型:发明
国别省市:11

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

1