1.一种控制TCP传输性能的方法,其特征在于,包括以下步骤:
在进入快速恢复阶段时,获取与当前的拥塞窗口成正比关系的减小比例,并以获取的减小比例缩小所述拥塞窗口;
控制TCP传输性能的任一阶段需要重传时,如果网络处于拥塞状态,或者当前的拥塞窗口低于窗口最小阈值,对关键丢失包进行重传,其中,所述关键丢失包为引起拥塞窗口变小的丢失数据包;如果所述网络处于非拥塞状态,且当前的拥塞窗口不低于窗口最小阈值,分别对可能丢失的数据包和所述关键丢失包进行重传。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括以下步骤:
在慢启动阶段,如果所述网络处于非拥塞状态,控制当前的拥塞窗口随着所述网络的往返时延按预设的第一指数函数指数增长,其中,所述第一指数函数的系数大于1,底数为2,指数为所述往返时延的个数;
如果所述网络处于拥塞状态,控制当前的拥塞窗口随着所述网络的往返时延按预设的第二指数函数指数增长,其中,所述第二指数函数的系数为1,底数为2,指数为所述往返时延的个数。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括以下步骤:
在进入快速恢复阶段时,如果所述网络预设时段前发生丢包,则保持慢启动阈值和当前的拥塞窗口不变;如果所述网络当前处于拥塞状态或发生丢包,获取当前的拥塞窗口的数值,将所述慢启动阈值和所述拥塞窗口分别减小为所获取的数值的一半。
4.根据权利要求1所述的方法,其特征在于,在对所述关键丢失包进行重传时,RTO超时重传型的关键丢失包的重传优先级:高于快速重传型的关键丢失包的重传优先级,所述快速重传型的关键丢失包的重传优先级:高于其他类型的关键丢失包的重传优先级。
5.根据权利要求1所述的方法,其特征在于,在分别对可能丢失的数据包和所述关键丢失包进行重传时,如果所述网络的当前可用流量处于低流量状态,则所述关键丢失包的重传优先级:高于所述可能丢失的数据包的重传优先级。
6.根据权利要求1所述的方法,其特征在于,在对所述可能丢失的数据包或所述关键丢失包进行重传时,所述方法还包括以下步骤:
获取所述网络当前时段的往返时延以及之前各个历史时段的往返时延;
从各个历史时段的往返时延中,获取相邻历史时段的往返时延的差值的绝对值;
计算获取的各绝对值的平均值,生成抖动均值;
获取所述当前时段的往返时延与所述抖动均值的和,生成重传阈值;
获取所述可能丢失的数据包或所述关键丢失包的最新发送时间与当前时间的时间间隔;
如果所述时间间隔超过所述重传阈值,则对所述可能丢失的数据包或所述关键丢失包进行重传。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括以下步骤:
在拥塞避免阶段,如果网络处于非拥塞状态,获取与当前的拥塞窗口成反比关系的增大比例,并以获取的增大比例增大所述拥塞窗口;如果网络处于拥塞状态,使当前的拥塞窗口随着所述网络的往返时延线性增长。
8.根据权利要求1至7中任一项所述的方法,其特征在于,所述方法还包括以下步骤:
在控制TCP传输性能的任一阶段,每隔预设的第一时段,获取所述网络重传的数据包的数量与正在传输的数据包的数量的比值,生成所述网络的TCP重传率;
如果连续生成的N+1个TCP重传率连续N次增长,且增长幅度超过第一阈值,则确定所述网络处于拥塞状态;
或者,
最终获取的TCP重传率超过第二阈值,则确定所述网络处于拥塞状态。
9.根据权利要求1至7中任一项所述的方法,其特征在于,所述方法还包括以下步骤:
每隔预设的第二时段,获取所述网络当前时刻的往返时延和上一周期的往返时延;
根据预设的转换规则,将获取的往返时延转换为所述网络当前周期的往返时延;
如果连续转换所得的N+1个往返时延连续N次增长,且增长幅度超过第三阈值,则确定所述网络处于拥塞状态。
10.一种控制TCP传输性能的装置,其特征在于,包括:
拥塞窗口调节模块,用于在进入快速恢复阶段时,获取与当前的拥塞窗口成正比关系的减小比例,并以获取的减小比例缩小所述拥塞窗口;
第一重传模块,用于在控制TCP传输性能的任一阶段需要重传,且所述网络处于拥塞状态,或者当前的拥塞窗口低于窗口最小阈值时,对关键丢失包进行重传,其中,所述关键丢失包为引起拥塞窗口变小的丢失数据包;
第二重传模块,用于在控制TCP传输性能的任一阶段需要重传,所述网络处于非拥塞状态,且当前的拥塞窗口不低于窗口最小阈值时,分别对可能丢失的数据包和所述关键丢失包进行重传。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括:
第一增长模块,用于在慢启动阶段,所述网络处于非拥塞状态时,控制当前的拥塞窗口随着所述网络的往返时延按预设的第一指数函数指数增长,其中,所述第一指数函数的系数大于1,底数为2,指数为所述往返时延的个数;
第二增长模块,用于在慢启动阶段,所述网络处于拥塞状态时,控制当前的拥塞窗口随着所述网络的往返时延按预设的第二指数函数指数增长,其中,所述第二指数函数的系数为1,底数为2,指数为所述往返时延的个数。
12.根据权利要求10所述的装置,其特征在于,所述装置还包括:
保持模块,用于在进入快速恢复阶段的期间,所述网络预设时段前发生丢包时,保持慢启动阈值和当前的拥塞窗口不变;
减半模块,用于在进入快速恢复阶段的期间,所述网络当前处于拥塞状态或发生丢包时,获取当前的拥塞窗口的数值,将所述慢启动阈值和所述拥塞窗口分别减小为所获取的数值的一半。
13.根据权利要求10所述的装置,其特征在于,在对所述关键丢失包进行重传时,RTO超时重传型的关键丢失包的重传优先级:高于快速重传型的关键丢失包的重传优先级,所述快速重传型的关键丢失包的重传优先级:高于其他类型的关键丢失包的重传优先级。
14.根据权利要求10所述的装置,其特征在于,在分别对可能丢失的数据包和所述关键丢失包进行重传时,如果所述网络的当前可用流量处于低流量状态,则所述关键丢失包的重传优先级:高于所述可能丢失的数据包的重传优先级。
15.根据权利要求10所述的装置,其特征在于,所述装置还包括:
第一时延获取模块,用于获取所述网络当前时段的往返时延以及之前各个历史时段的往返时延;
相邻差值获取模块,用于从各个历史时段的往返时延中,获取相邻历史时段的往返时延的差值的绝对值;
抖动均值生成模块,用于计算获取的各绝对值的平均值,生成抖动均值;
重传阈值生成模块,用于获取所述当前时段的往返时延与所述抖动均值的和,生成重传阈值;
时间间隔获取模块,用于获取所述可能丢失的数据包或所述关键丢失包的最新发送时间与当前时间的时间间隔;
超时重传模块,用于在所述时间间隔超过所述重传阈值,对所述可能丢失的数据包或所述关键丢失包进行重传。
16.根据权利要求10所述的装置,其特征在于,所述装置还包括:
反比增大模块,用于在拥塞避免阶段,所述网络处于非拥塞状态时,获取与当前的拥塞窗口成反比关系的增大比例,并以获取的增大比例增大所述拥塞窗口;
线性增长模块,用于在拥塞避免阶段,所述网络处于拥塞状态时,控制当前的拥塞窗口随着所述网络的往返时延线性增长。
17.根据权利要求10至16中任一项所述的装置,其特征在于,所述装置还包括:
重传率获取模块,用于在控制TCP传输性能的任一阶段,每隔预设的第一时段,获取所述网络重传的数据包的数量与正在传输的数据包的数量的比值,生成所述网络的TCP重传率;
第一拥塞确定模块,用于在连续生成的N+1个TCP重传率连续N次增长,且增长幅度超过第一阈值时,确定所述网络处于拥塞状态;
或者,
第二拥塞确定模块,用于在最终获取的TCP重传率超过第二阈值时,确定所述网络处于拥塞状态。
18.根据权利要求10至16中任一项所述的装置,其特征在于,所述装置还包括:
第二延时获取模块,用于每隔预设的第二时段,获取所述网络当前时刻的往返时延和上一周期的往返时延;
当前时延生成模块,用于根据预设的转换规则,将获取的往返时延转换为所述网络当前周期的往返时延;
第三拥塞确定模块,用于在连续转换所得的N+1个往返时延连续N次增长,且增长幅度超过第三阈值时,确定所述网络处于拥塞状态。