一种tcp优化方法和系统、sp服务器的制造方法
【技术领域】
[0001]本发明涉及广域网网络优化技术,尤其涉及一种传输控制协议(TCP,Transmiss1n Control Protocol)优化方法和系统、SP 服务器。
【背景技术】
[0002]当前移动互联网大量业务都基于超文本传输协议(HTTP, HyperText TransferProtocol)承载,数据传输过程主要是通过TCP协议来进行控制。
[0003]TCP协议对数据传输的控制分为4个阶段:
[0004](I)慢启动阶段
[0005]当TCP连接建立以后,便进入了慢启动阶段。慢启动过程可以概括为:
[0006]首先,将拥塞窗口(cwnd, congest1n window)大小设置为I ;之后,每收到一个分组的确认信号(ACK, Acknowledgement)后,cwnd的值就会增加I, cwnd随着往返时延(RTT,Round-Trip Time)呈指数增长。
[0007](2)拥塞避免阶段
[0008]为了防止cwnd的无限制增长引起网络拥塞,引入一个状态变量:慢启动阈值(ssthresh)。当cwnd〈ssthresh时,使用上述的慢启动算法,cwnd随RTT呈指数增长;当cwnd彡ssthresh时,使用拥塞避免算法,cwnd随RTT呈线性增长。
[0009](3)快速重传
[0010]在拥塞避免阶段,当数据包超时,cwnd被置为1,重新进入慢启动阶段,这会导致过多地减小发送窗口尺寸,降低TCP连接的吞吐量。因此,引入了快速重传和快速恢复机制。
[0011]在快速重传阶段,当源端收到3个或3个以上重复的ACK时,就判定数据包丢失,同时将ssthresh设置为当前cwnd的一半,并重传丢失的包,进入快速恢复阶段。
[0012](4)快速恢复
[0013]在快速恢复阶段,每收到重复的ACK,则cwnd加I ;收到非重复ACK时,置cwnd =ssthresh,转入拥塞避免阶段;如果发生超时重传,则置ssthresh为当前cwnd的一半,cwnd=1,重新进入慢启动阶段。这种方法避免了数据包超时后就重新进入慢启动阶段,提高了TCP连接的吞吐量。
[0014]这种拥塞控制方法,主要存在以下问题:
[0015]慢启动阶段,cwnd随着RTT呈指数增长且只能等到cwnd彡ssthresh时再进入拥塞避免阶段,但是目前ssthresh值只能人为设定,当该值设置不合理时,TCP很可能过早出现拥塞。
【发明内容】
[0016]为解决现有存在的技术问题,本发明实施例期望提供一种TCP优化方法和系统、SP服务器。
[0017]本发明实施例的技术方案是这样实现的:
[0018]本发明实施例提供了一种TCP优化方法,所述方法包括:
[0019]本发明实施例提供了一种TCP优化方法,所述方法包括:
[0020]服务提供商SP服务器接收传输控制协议TCP连接请求并建立TCP连接后,进入慢启动阶段;
[0021]慢启动阶段时,SP服务器在当前cwnd小于慢启动阈值ssthresh时根据当前往返时延RTT判断是否进入拥塞避免阶段。
[0022]上述方案中,所述在当前cwnd小于ssthresh时根据当前RTT判断是否进入拥塞避免阶段,具体指在以下任一情形时确定进入拥塞避免阶段:
[0023](I)当当前RTT大于等于会话历史平均RTT、且当前RTT大于等于上次RTTX2时;
[0024](2)当连续三次RTT增长幅度大于等于30%、且当前RTT时延方差大于等于30%时。
[0025]上述方案中,所述TCP连接请求包括:终端的网络类型;
[0026]所述SP服务器在判断是否进入拥塞避免阶段之前,所述SP服务器根据所述终端的网络类型设直初始拥塞窗口 cwnd。
[0027]上述方案中,所述SP服务器根据所述网络类型设置初始拥塞窗口 cwnd,包括:
[0028]SP服务器将初始cwnd设置为当前网络类型下平均往返时延RTT对应的出现次数最多的发送窗口 P(n_)、当前网络类型下的初始拥塞窗口最高保障门限cwnd_以及终端的接收窗口 rwnd之中的最小值。
[0029]上述方案中,所述cwnd_通过以下方式设置:
[0030]当前网络类型为2G时,Cwndmax设置为I ;
[0031]当前网络类型为3G时,Cwndmax设置为4 ;
[0032]当前网络类型为4G时,Cwndmax设置为6。
[0033]上述方案中,进入拥塞避免阶段时,所述方法还包括:
[0034]SP服务器根据终端接收窗口和当前RTT判断是否进入快速重传和快速恢复阶段。
[0035]上述方案中,所述根据终端接收窗口和当前RTT判断是否进入快速重传和快速恢复阶段,包括:
[0036]判断接收窗口是否拥塞,如果拥塞,则进入快速重传和快速恢复阶段;如果不拥塞,则判断当前RTT是否超时,如果超时,则进入快速重传和快速恢复阶段,如果不超时,则维持在拥塞避免阶段。
[0037]上述方案中,所述判断接收窗口是否拥塞,包括:
[0038]当rwnd小于等于初始cwnd X 30%、且连续三次rwnd递减时,确定所述接收窗口拥塞。
[0039]上述方案中,所述判断当前RTT是否超时,包括:
[0040]当前RTT大于等于当前会话历史平均RTT、且小于等于2倍的当前网络平均RTT时,确定当前RTT超时;
[0041]其中,所述当前会话历史平均RTT为当前会话在当前时刻之前所有历史RTT的平均值;所述当前网络平均RTT为当前网络中所有用户的平均RTT时延。
[0042]本发明实施例提供了一种TCP优化方法,所述方法包括:
[0043]拥塞避免阶段时,SP服务器根据终端接收窗口和当前RTT判断是否进入快速重传和快速恢复阶段。
[0044]上述方案中,所述SP服务器根据终端接收窗口和当前RTT判断是否进入快速重传和快速恢复阶段,包括:
[0045]判断接收窗口是否拥塞,如果拥塞,则进入快速重传和快速恢复阶段;如果不拥塞,则判断当前RTT是否超时,如果超时,则进入快速重传和快速恢复阶段,如果不超时,则维持在拥塞避免阶段。
[0046]本发明实施例提供了一种服务提供商SP服务器,所述SP服务器包括:第二 TCP连接请求接收模块、第二 TCP连接请求处理模块以及第一判断模块;其中,
[0047]第二 TCP连接请求接收模块,用于接收分组域核心网网关发送的TCP连接请求;
[0048]第二 TCP连接请求处理模块,用于根据TCP连接请求为终端建立TCP连接,TCP连接建立后即进入慢启动阶段;
[0049]第一判断模块,用于慢启动阶段时,在当前cwnd小于ssthresh时,根据当前RTT判断是否进入拥塞避免阶段。
[0050]上述方案中,所述第一判断模块在慢启动阶段中,在当前cwnd小于ssthresh时,根据当前RTT判断是否进入拥塞避免阶段,具体指在以下任一情形时确定进入拥塞避免阶段:
[0051](I)当当前RTT大于等于会话历史平均RTT、且当前RTT大于等于上次RTTX2时;
[0052](2)当连续三次RTT增长幅度大于等于30%、且当前RTT时延方差大于等于30%时。
[0053]上述方案中,所述SP服务器还包括:TCP连接请求解析模块和初始拥塞窗口设置模块;其中,
[0054]所述TCP连接请求解析模块,用于对接收到的分组域核心网网关发送的TCP连接请求进行解析,获取所述TCP连接请求中的终端的网络类型;
[0055]所述初始拥塞窗口设置模块,用于在慢启动阶段,根据所述解析得到的终端的网络类型设置初始拥塞窗口。
[0056]上述方案中,所述初始拥塞窗口设置模块在慢启动阶段根据所述解析得到的终端的网络类型设置初始拥塞窗口,包括:
[0057]将初始cwnd设置为当前网络类型下平均往返时延RTT对应的出现次数最多的发送窗口 P(n_)、当前网络类型下的初始拥塞窗口最高保障门限cwnd_以及终端的接收窗口rwnd之中的最小值。
[0058]上述方案中,所述第一判断模块,还用于在拥塞避免阶段时,根据终端接收窗口和当前RTT判断是否进入快速重传和快速恢复阶段。
[0059]上述方案中,所述第一判断模块在拥塞避免阶段时,根据终端接收窗口和当前RTT判断是否进入快速重传和快速恢复阶段,包括:
[0060]判断接收窗口是否拥塞,如果拥塞,则进入快速重传和快速恢复阶段;如果不拥塞,则判断当前RTT是否超时,如果超时,则进入快速重传和快速恢复阶段;如果不超时,则维持在拥塞避免阶段。
[0061]本发明实施例提供的一种TCP优化系统,其特征在于,所述系统包括: