CN105207949B - 一种tcp优化方法和系统、sp服务器 - Google Patents
一种tcp优化方法和系统、sp服务器 Download PDFInfo
- Publication number
- CN105207949B CN105207949B CN201410260306.0A CN201410260306A CN105207949B CN 105207949 B CN105207949 B CN 105207949B CN 201410260306 A CN201410260306 A CN 201410260306A CN 105207949 B CN105207949 B CN 105207949B
- Authority
- CN
- China
- Prior art keywords
- rtt
- current
- congestion
- servers
- cwnd
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种TCP优化方法,分组域核心网网关通过终端的传输控制协议(TCP)连接请求向服务提供商(SP)服务器上报终端的网络类型;服务提供商SP服务器接收终端通过分组域核心网网关向所述SP服务器发送的传输控制协议TCP连接请求并建立TCP连接后,进入慢启动阶段;慢启动阶段时,SP服务器在当前cwnd小于慢启动阈值ssthresh时根据当前往返时延RTT判断是否进入拥塞避免阶段。本发明同时还公开了一种TCP优化系统和SP服务器。
Description
技术领域
本发明涉及广域网网络优化技术,尤其涉及一种传输控制协议(TCP,Transmission Control Protocol)优化方法和系统、SP服务器。
背景技术
当前移动互联网大量业务都基于超文本传输协议(HTTP,HyperText TransferProtocol)承载,数据传输过程主要是通过TCP协议来进行控制。
TCP协议对数据传输的控制分为4个阶段:
(1)慢启动阶段
当TCP连接建立以后,便进入了慢启动阶段。慢启动过程可以概括为:
首先,将拥塞窗口(cwnd,congestion window)大小设置为1;之后,每收到一个分组的确认信号(ACK,Acknowledgement)后,cwnd的值就会增加1,cwnd随着往返时延(RTT,Round-Trip Time)呈指数增长。
(2)拥塞避免阶段
为了防止cwnd的无限制增长引起网络拥塞,引入一个状态变量:慢启动阈值(ssthresh)。当cwnd<ssthresh时,使用上述的慢启动算法,cwnd随RTT呈指数增长;当cwnd≥ssthresh时,使用拥塞避免算法,cwnd随RTT呈线性增长。
(3)快速重传
在拥塞避免阶段,当数据包超时,cwnd被置为1,重新进入慢启动阶段,这会导致过多地减小发送窗口尺寸,降低TCP连接的吞吐量。因此,引入了快速重传和快速恢复机制。
在快速重传阶段,当源端收到3个或3个以上重复的ACK时,就判定数据包丢失,同时将ssthresh设置为当前cwnd的一半,并重传丢失的包,进入快速恢复阶段。
(4)快速恢复
在快速恢复阶段,每收到重复的ACK,则cwnd加1;收到非重复ACK时,置cwnd=ssthresh,转入拥塞避免阶段;如果发生超时重传,则置ssthresh为当前cwnd的一半,cwnd=1,重新进入慢启动阶段。这种方法避免了数据包超时后就重新进入慢启动阶段,提高了TCP连接的吞吐量。
这种拥塞控制方法,主要存在以下问题:
慢启动阶段,cwnd随着RTT呈指数增长且只能等到cwnd≥ssthresh时再进入拥塞避免阶段,但是目前ssthresh值只能人为设定,当该值设置不合理时,TCP很可能过早出现拥塞。
发明内容
为解决现有存在的技术问题,本发明实施例期望提供一种TCP优化方法和系统、SP服务器。
本发明实施例的技术方案是这样实现的:
本发明实施例提供了一种TCP优化方法,所述方法包括:
本发明实施例提供了一种TCP优化方法,所述方法包括:
服务提供商SP服务器接收传输控制协议TCP连接请求并建立TCP连接后,进入慢启动阶段;
慢启动阶段时,SP服务器在当前cwnd小于慢启动阈值ssthresh时根据当前往返时延RTT判断是否进入拥塞避免阶段。
上述方案中,所述在当前cwnd小于ssthresh时根据当前RTT判断是否进入拥塞避免阶段,具体指在以下任一情形时确定进入拥塞避免阶段:
(1)当当前RTT大于等于会话历史平均RTT、且当前RTT大于等于上次RTT×2时;
(2)当连续三次RTT增长幅度大于等于30%、且当前RTT时延方差大于等于30%时。
上述方案中,所述TCP连接请求包括:终端的网络类型;
所述SP服务器在判断是否进入拥塞避免阶段之前,所述SP服务器根据所述终端的网络类型设置初始拥塞窗口cwnd。
上述方案中,所述SP服务器根据所述网络类型设置初始拥塞窗口cwnd,包括:
SP服务器将初始cwnd设置为当前网络类型下平均往返时延RTT对应的出现次数最多的发送窗口P(nmax)、当前网络类型下的初始拥塞窗口最高保障门限cwndmax以及终端的接收窗口rwnd之中的最小值。
上述方案中,所述cwndmax通过以下方式设置:
当前网络类型为2G时,cwndmax设置为1;
当前网络类型为3G时,cwndmax设置为4;
当前网络类型为4G时,cwndmax设置为6。
上述方案中,进入拥塞避免阶段时,所述方法还包括:
SP服务器根据终端接收窗口和当前RTT判断是否进入快速重传和快速恢复阶段。
上述方案中,所述根据终端接收窗口和当前RTT判断是否进入快速重传和快速恢复阶段,包括:
判断接收窗口是否拥塞,如果拥塞,则进入快速重传和快速恢复阶段;如果不拥塞,则判断当前RTT是否超时,如果超时,则进入快速重传和快速恢复阶段,如果不超时,则维持在拥塞避免阶段。
上述方案中,所述判断接收窗口是否拥塞,包括:
当rwnd小于等于初始cwnd×30%、且连续三次rwnd递减时,确定所述接收窗口拥塞。
上述方案中,所述判断当前RTT是否超时,包括:
当前RTT大于等于当前会话历史平均RTT、且小于等于2倍的当前网络平均RTT时,确定当前RTT超时;
其中,所述当前会话历史平均RTT为当前会话在当前时刻之前所有历史RTT的平均值;所述当前网络平均RTT为当前网络中所有用户的平均RTT时延。
本发明实施例提供了一种TCP优化方法,所述方法包括:
拥塞避免阶段时,SP服务器根据终端接收窗口和当前RTT判断是否进入快速重传和快速恢复阶段。
上述方案中,所述SP服务器根据终端接收窗口和当前RTT判断是否进入快速重传和快速恢复阶段,包括:
判断接收窗口是否拥塞,如果拥塞,则进入快速重传和快速恢复阶段;如果不拥塞,则判断当前RTT是否超时,如果超时,则进入快速重传和快速恢复阶段,如果不超时,则维持在拥塞避免阶段。
本发明实施例提供了一种服务提供商SP服务器,所述SP服务器包括:第二TCP连接请求接收模块、第二TCP连接请求处理模块以及第一判断模块;其中,
第二TCP连接请求接收模块,用于接收分组域核心网网关发送的TCP连接请求;
第二TCP连接请求处理模块,用于根据TCP连接请求为终端建立TCP连接,TCP连接建立后即进入慢启动阶段;
第一判断模块,用于慢启动阶段时,在当前cwnd小于ssthresh时,根据当前RTT判断是否进入拥塞避免阶段。
上述方案中,所述第一判断模块在慢启动阶段中,在当前cwnd小于ssthresh时,根据当前RTT判断是否进入拥塞避免阶段,具体指在以下任一情形时确定进入拥塞避免阶段:
(1)当当前RTT大于等于会话历史平均RTT、且当前RTT大于等于上次RTT×2时;
(2)当连续三次RTT增长幅度大于等于30%、且当前RTT时延方差大于等于30%时。
上述方案中,所述SP服务器还包括:TCP连接请求解析模块和初始拥塞窗口设置模块;其中,
所述TCP连接请求解析模块,用于对接收到的分组域核心网网关发送的TCP连接请求进行解析,获取所述TCP连接请求中的终端的网络类型;
所述初始拥塞窗口设置模块,用于在慢启动阶段,根据所述解析得到的终端的网络类型设置初始拥塞窗口。
上述方案中,所述初始拥塞窗口设置模块在慢启动阶段根据所述解析得到的终端的网络类型设置初始拥塞窗口,包括:
将初始cwnd设置为当前网络类型下平均往返时延RTT对应的出现次数最多的发送窗口P(nmax)、当前网络类型下的初始拥塞窗口最高保障门限cwndmax以及终端的接收窗口rwnd之中的最小值。
上述方案中,所述第一判断模块,还用于在拥塞避免阶段时,根据终端接收窗口和当前RTT判断是否进入快速重传和快速恢复阶段。
上述方案中,所述第一判断模块在拥塞避免阶段时,根据终端接收窗口和当前RTT判断是否进入快速重传和快速恢复阶段,包括:
判断接收窗口是否拥塞,如果拥塞,则进入快速重传和快速恢复阶段;如果不拥塞,则判断当前RTT是否超时,如果超时,则进入快速重传和快速恢复阶段;如果不超时,则维持在拥塞避免阶段。
本发明实施例提供的一种TCP优化系统,其特征在于,所述系统包括:
分组域核心网网关和服务提供商SP服务器;其中,
所述分组域核心网网关,用于将终端向SP服务器发送的TCP连接请求转发给相应的SP服务器;
所述SP服务器,用于接收所述TCP连接请求并建立TCP连接后,进入慢启动阶段;还用于在慢启动阶段时,在当前cwnd小于慢启动阈值ssthresh时根据当前RTT判断是否进入拥塞避免阶段。
上述方案中,所述分组域核心网网关进一步用于,将终端向SP服务器发送的TCP连接请求转发给相应的SP服务器时,通过终端的TCP连接请求向SP服务器上报终端的网络类型。
上述方案中,所述SP服务器进一步用于,在判断是否进入拥塞避免阶段之前,根据所述TCP连接请求中的终端的网络类型设置初始拥塞窗口cwnd。
上述方案中,所述SP服务器根据所述网络类型设置初始拥塞窗口cwnd,包括:
SP服务器将初始cwnd设置为当前网络类型下平均往返时延RTT对应的出现次数最多的发送窗口P(nmax)、当前网络类型下的初始拥塞窗口最高保障门限cwndmax以及终端的接收窗口rwnd之中的最小值。
上述方案中,所述SP服务器在当前cwnd小于慢启动阈值ssthresh时根据当前往返时延RTT判断是否进入拥塞避免阶段,具体指在以下任一情形时确定进入拥塞避免阶段:
(1)当当前RTT大于等于会话历史平均RTT、且当前RTT大于等于上次RTT×2时;
(2)当连续三次RTT增长幅度大于等于30%、且当前RTT时延方差大于等于30%时。
上述方案中,所述SP服务器,还用于在拥塞避免阶段时,根据终端接收窗口和当前RTT判断是否进入快速重传和快速恢复阶段。
上述方案中,所述SP服务器进一步用于,
判断接收窗口是否拥塞,如果拥塞,则进入快速重传和快速恢复阶段;如果不拥塞,则判断当前RTT是否超时,如果超时,则进入快速重传和快速恢复阶段,如果不超时,则维持在拥塞避免阶段。
本发明实施例所提供的TCP优化方法和系统、SP服务器,服务提供商SP服务器接收终端通过分组域核心网网关向所述SP服务器发送的传输控制协议TCP连接请求并建立TCP连接后,进入慢启动阶段;慢启动阶段时,SP服务器在当前cwnd小于慢启动阈值ssthresh时根据当前往返时延RTT判断是否进入拥塞避免阶段;或者,拥塞避免阶段时,SP服务器根据终端接收窗口和当前RTT判断是否进入快速重传和快速恢复阶段。如此,慢启动阶段时,在是否进入拥塞避免阶段的判断中引入当前RTT时延作为判断条件,可以更加合理的控制TCP出现拥塞的时间;另外,在拥塞避免阶段,还可以当RTT波动程度达到一定门限时,提前进入拥塞避免阶段,从而避免TCP过早出现拥塞。
附图说明
图1为本发明至少一个实施例提供的TCP优化方法的流程示意图;
图2为本发明至少一个实施例提供的分组域核心网网关的结构示意图;
图3为本发明至少一个实施例提供的SP服务器的结构示意图;
图4为本发明至少一个实施例提供的TCP优化系统的结构示意图;
图5为本发明至少一个实施例提供的SP服务器的结构示意图。
具体实施方式
在本发明实施例中,服务提供商SP服务器接收终端通过分组域核心网网关向所述SP服务器发送的传输控制协议TCP连接请求并建立TCP连接后,进入慢启动阶段;慢启动阶段时,SP服务器在当前cwnd小于慢启动阈值ssthresh时根据当前往返时延RTT判断是否进入拥塞避免阶段。
下面通过附图及具体实施例对本发明做进一步的详细说明。
实施例一
本发明实施例一提供的TCP优化方法,如图1所示,该方法包括以下步骤:
步骤101:服务提供商SP服务器接收终端通过分组域核心网网关向所述SP服务器发送的传输控制协议TCP连接请求并建立TCP连接后,进入慢启动阶段;
具体的,分组域核心网网关是指在网络侧用于接收和处理终端发送的TCP连接请求的网关设备,该设备处于终端和SP服务器之间,是连接终端和SP服务器的桥梁;在3G网络中,分组域核心网网关指通用分组无线服务技术(GPRS,General Packet Radio Service)服务支持节点(SGSN,Serving GPRS SUPPORT NODE);在LTE网络中,分组域核心网网关指SGSN服务器(S-GW)。
具体的,所述TCP连接请求是由终端向SP服务器发起的,所述TCP连接请求首先被发送到分组域核心网网关,接下来,由所述分组域核心网网关转发给相应的SP服务器;
SP服务器接收到TCP连接请求后,根据TCP连接请求建立TCP连接,此时,进入慢启动阶段;
步骤102:慢启动阶段时,SP服务器在当前cwnd小于慢启动阈值ssthresh时根据当前往返时延RTT判断是否进入拥塞避免阶段;
具体的,在慢启动过程中,SP服务器每接收到一个终端返回的ACK消息就将cwnd增加1,同时判断当前cwnd是否大于或等于慢启动阈值ssthresh,如果是,则进入拥塞避免阶段;如果否,则进一步判断当前的RTT是否满足进入拥塞避免阶段的条件;具体的,所述进入拥塞避免阶段的条件为:
当前RTT≥会话历史平均RTT、且当前RTT≥上次RTT×2;或者,
连续三次RTT增长幅度≥30%、且当前RTT方差≥30%。
进一步的,在本发明实施例所述方案中,所述TCP连接请求还可以包括:终端的网络类型;具体的,所述终端的网络类型是由分组域核心网网关通过终端的TCP连接请求向服务提供商(SP,Service Provider)服务器上报的;
具体的,现网中的分组域核心网网关接收到终端的TCP连接请求后,在HTTP协议栈中添加可扩展字段,通过可扩展字段上报终端当前接入的网络类型;具体的,可扩展字段可以是NetWork-Type字段;终端当前接入的网络类型可以包括:2G、3G、4G甚至是将来的5G、6G等等;
之后,分组域核心网网关将添加了可扩展字段的TCP连接请求发送给SP服务器;
当所述跟组网网关通过终端的TCP连接请求向SP服务器上报了终端的网络类型后,SP服务器根据所述TCP连接请求建立网络连接后,进入慢启动阶段;进入慢启动阶段时,SP服务器首先对接收到的TCP连接请求进行解析,从可扩展字段中获得终端的网络类型;之后,SP服务器根据获得的网络类型设置初始拥塞窗口;
具体的,根据网络类型设置初始拥塞窗口cwnd的方法为:将初始cwnd设置为当前网络类型下平均往返时延(RTT,Round-Trip Time)对应的出现次数最多的发送窗口P(nmax)、当前网络类型下的初始拥塞窗口最高保障门限cwndmax以及终端的接收窗口rwnd之中的最小值;也就是说,tcp_slow_start_initial=min[P(nmax),cwndmax,rwnd];其中,P(nmax)和rwnd可以在SP服务器侧通过测量和统计方法获得;cwndmax作为一个经验值可以根据不同网络类型及不同需要进行设置;
例如,在2G网络中,cwndmax设置为1,相应的,初始cwnd设置为Min[P(nmax),1,rwnd];
在3G网络中,cwndmax设置为4,相应的,初始cwnd设置为Min[P(nmax),4,rwnd];
在4G网络中,cwndmax设置为6,相应的,初始cwnd设置为Min[P(nmax),6,rwnd]。
本发明实施例还可以包括以下步骤103;
步骤103:拥塞避免阶段时,SP服务器根据终端接收窗口和当前RTT判断是否进入快速重传和快速恢复阶段;
进入拥塞避免阶段后,SP服务器每接收到一个终端返回的ACK消息就执行一次判断,所述判断是指根据终端接收窗口和当前RTT判断是否进入快速重传和快速恢复阶段;
具体的,根据终端接收窗口和当前RTT判断是否进入快速重传和快速恢复阶段,包括:
判断接收窗口是否拥塞,如果拥塞,则进入快速重传和快速恢复阶段;如果不拥塞,则进一步判断当前RTT是否超时,如果超时,则进入快速重传和快速恢复阶段;如果不超时,则维持在拥塞避免阶段;
具体的,判断接收窗口是否拥塞,包括:
当rwnd<=初始cwnd×30%、且连续三次rwnd递减时,确定接收窗口拥塞。
判断当前RTT是否超时,包括:
当前RTT≥当前会话历史平均RTT、且≥2×当前网络平均RTT时,确定当前RTT超时;
其中,当前会话历史平均RTT是指当前会话在当前时刻之前所有历史RTT的平均值;当前网络平均RTT是指当前网络中所有用户的平均RTT时延;
所述当前RTT、当前会话历史平均RTT以及当前网络平均RTT均可以在SP服务器侧通过测量和统计方法获得。
本领域技术人员应该理解的是,本发明实施例提供的步骤101、102及103所提供的技术方案分别处于TCP传输控制过程的不同阶段,且对各个阶段分别做出了改进,因而,本发明实施例中的步骤101、102及103可以在TCP传输控制过程中单独实施,也可以以任意组合方式进行实施,所有可能的组合实施例皆在本发明的保护范围内。
通过以上描述可以看出,在本发明实施例提供的TCP优化方法中,可以达到以下技术效果:
第一、慢启动阶段时,SP服务器在当前cwnd小于ssthresh时,并不是继续保持在慢启动阶段,而是根据当前RTT进一步判断是否进入拥塞避免阶段,这样,相较于现有技术,本发明实施例提供的TCP优化方法在RTT波动程度达到一定门限时,可以提前进入拥塞避免阶段,从而避免TCP过早出现拥塞;
第二,本发明实施例提供的TCP优化方法,能够使SP服务器获取终端接入的网络类型,并根据终端的网络类型对初始cwnd进行设置;这样,相较于现有技术中将初始cwnd统一设置为1的TCP控制方法,本发明实施例提供的TCP优化方法更为灵活,基于终端接入网络类型设置初始cwnd,一方面可以更合理的利用无线传输带宽,另一方面,这样可以增大初始cwnd,从而提高无线带宽利用率并缩短TCP慢启动阶段的时间;
第三,拥塞避免阶段时,SP服务器不断动态测量终端的接收窗口大小,这样,可以避免由于窗口拥塞引起的数据停传;而且,在超时判断中,引入当前会话历史平均RTT以及当前网络平均RTT作为超时判断标准,这样在超时判断时,可以充分考虑实际网络性能对超时判断的影响,使网络是否拥塞的判断更为准确。
实施例二
本发明实施例二提供了一种分组域核心网网关,如图2所示,所述分组域核心网网关包括:第一TCP连接请求接收模块21和TCP连接请求发送模块22;
其中,第一TCP连接请求接收模块21,用于接收终端的TCP连接请求;
TCP连接请求发送模块22,用于将所述TCP连接请求发送给SP服务器。
进一步的,所述分组域核心网网关还包括:第一TCP连接请求处理模块23,用于通过终端的TCP连接请求向SP服务器上报终端的网络类型;具体的,第一TCP连接请求处理模块23在接收到的TCP连接请求中添加可扩展字段,可扩展字段用于上报终端接入的网络类型;可扩展字段可以是NetWork-Type字段;
在实际应用中,本发明实施例中的第一TCP连接请求接收模块21、TCP连接请求发送模块22及第一TCP连接请求处理模块23可位于分组域核心网网关上,由中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)、或现场可编程门阵列(FPGA)实现。
实施例三
本发明实施例三提供了一种SP服务器,如图3所示,所述SP服务器包括:第二TCP连接请求接收模块31、第二TCP连接请求处理模块32以及第一判断模块33;
其中,第二TCP连接请求接收模块31,用于接收分组域核心网网关发送的TCP连接请求;
第二TCP连接请求处理模块32,根据TCP连接请求为终端建立TCP连接,TCP连接建立后即进入慢启动阶段;
第一判断模块33,用于慢启动阶段时,在当前cwnd小于ssthresh时,根据当前RTT判断是否进入拥塞避免阶段。
具体的,所述第一判断模块33在慢启动阶段中,在当前cwnd小于ssthresh时,根据当前RTT判断是否进入拥塞避免阶段,包括:判断当前的RTT是否满足进入拥塞避免阶段的条件;
具体的,所述进入拥塞避免阶段的条件为:
当前RTT≥会话历史平均RTT时延、且当前RTT≥上次RTT时延×2;或者,
连续三次RTT增长幅度≥30%、且当前RTT时延方差≥30%。
进一步的,所述SP服务器还包括:TCP连接请求解析模块34和初始拥塞窗口设置模块35;其中,所述TCP连接请求解析模块34,用于对接收到的分组域核心网网关发送的TCP连接请求进行解析,获取所述TCP连接请求中的终端的网络类型;所述初始拥塞窗口设置模块35,用于在慢启动阶段,根据所述解析得到的终端的网络类型设置初始拥塞窗口;
具体的,所述初始拥塞窗口设置模块35在慢启动阶段根据所述解析得到的终端的网络类型设置初始拥塞窗口,包括:
将初始cwnd设置为当前网络类型下平均往返时延(RTT,Round-Trip Time)对应的出现次数最多的发送窗口P(nmax)、当前网络类型下的初始拥塞窗口最高保障门限cwndmax以及终端的接收窗口rwnd之中的最小值;也就是说,tcp_slow_start_initial=min[P(nmax),cwndmax,rwnd];其中,P(nmax)和rwnd可以在SP服务器侧通过测量和统计方法获得;cwndmax作为一个经验值可以根据不同网络类型及不同需要进行设置;
例如,在2G网络中,cwndmax设置为1,相应的,初始cwnd设置为Min[P(nmax),1,rwnd];
在3G网络中,cwndmax设置为4,相应的,初始cwnd设置为Min[P(nmax),4,rwnd];
在4G网络中,cwndmax设置为6,相应的,初始cwnd设置为Min[P(nmax),6,rwnd]。
进一步的,所述第一判断模块33,还用于在拥塞避免阶段时,根据终端接收窗口和当前RTT判断是否进入快速重传和快速恢复阶段;具体的,所述第一判断模块33在拥塞避免阶段时,根据终端接收窗口和当前RTT判断是否进入快速重传和快速恢复阶段,包括:
判断接收窗口是否拥塞,如果拥塞,则进入快速重传和快速恢复阶段;如果不拥塞,则进一步判断当前RTT是否超时,如果超时,则进入快速重传和快速恢复阶段;如果不超时,则维持在拥塞避免阶段;
具体的,所述判断接收窗口是否拥塞,包括:
当rwnd<=初始cwnd×30%、且连续三次rwnd递减时,确定接收窗口拥塞。
所述判断当前RTT是否超时,包括:
当前RTT≥当前会话历史平均RTT、且≥2×当前网络平均RTT时,确定当前RTT超时;
其中,当前会话历史平均RTT是指当前会话在当前时刻之前所有历史RTT的平均值;当前网络平均RTT是指当前网络中所有用户的平均RTT时延。
在实际应用中,本发明实施例中的TCP连接请求接收模块31、第二TCP连接请求处理模块32、第一判断模块33、TCP连接请求解析模块34以及初始拥塞窗口设置模块35可位于SP服务器上,由CPU、MPU、DSP、或FPGA实现。
实施例四
本发明实施例四提供了一种TCP优化系统,如图4所示,所述系统包括:分组域核心网网关41和SP服务器42;其中,
分组域核心网网关41,用于将终端向SP服务器发送的TCP连接请求转发给相应的SP服务器;
SP服务器42,用于接收TCP连接请求并建立TCP连接后,进入慢启动阶段;还用于在慢启动阶段时,在当前cwnd小于ssthresh时根据当前RTT判断是否进入拥塞避免阶段。
具体的,所述分组域核心网网关41的功能及内部结构参见实施例二;所述SP服务器的功能及内部结构参见实施例三。
实施例五
本发明实施例五提供了一种SP服务器,如图5所示,所述SP服务器包括:接收窗口获取模块51、RTT获取模块52以及第二判断模块53;其中,所述接收窗口获取模块51,用于获取终端接收窗口大小;所述RTT获取模块52,用于获取当前RTT值;所述第二判断模块53,用于根据所述终端接收窗口和当前RTT判断是否进入快速重传和快速恢复阶段。
具体的,所述第二判断模块53根据所述终端接收窗口和当前RTT判断是否进入快速重传和快速恢复阶段,包括:
判断接收窗口是否拥塞,如果拥塞,则进入快速重传和快速恢复阶段;如果不拥塞,则判断当前RTT是否超时,如果超时,则进入快速重传和快速恢复阶段,如果不超时,则维持在拥塞避免阶段。
在实际应用中,本发明实施例中的接收窗口获取模块51、RTT获取模块52以及第二判断模块53可位于SP服务器上,由CPU、MPU、DSP、或FPGA实现。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (17)
1.一种TCP优化方法,其特征在于,所述方法包括:
服务提供商SP服务器接收传输控制协议TCP连接请求并建立TCP连接后,进入慢启动阶段;
慢启动阶段时,SP服务器在当前cwnd小于慢启动阈值ssthresh时根据当前往返时延RTT判断是否进入拥塞避免阶段;
其中,所述在当前cwnd小于ssthresh时根据当前RTT判断是否进入拥塞避免阶段,具体指在以下任一情形时确定进入拥塞避免阶段:
(1)当当前RTT大于等于会话历史平均RTT、且当前RTT大于等于上次RTT×2时;
(2)当连续三次RTT增长幅度大于等于30%、且当前RTT时延方差大于等于30%时。
2.根据权利要求1所述的方法,其特征在于,所述TCP连接请求包括:终端的网络类型;
所述SP服务器在判断是否进入拥塞避免阶段之前,所述SP服务器根据所述终端的网络类型设置初始拥塞窗口cwnd。
3.根据权利要求2所述的方法,其特征在于,所述SP服务器根据所述网络类型设置初始拥塞窗口cwnd,包括:
SP服务器将初始cwnd设置为当前网络类型下平均往返时延RTT对应的出现次数最多的发送窗口P(nmax)、当前网络类型下的初始拥塞窗口最高保障门限cwndmax以及终端的接收窗口rwnd之中的最小值。
4.根据权利要求3所述的方法,其特征在于,所述cwndmax通过以下方式设置:
当前网络类型为2G时,cwndmax设置为1;
当前网络类型为3G时,cwndmax设置为4;
当前网络类型为4G时,cwndmax设置为6。
5.根据权利要求1至4其中任一项所述的方法,其特征在于,进入拥塞避免阶段时,所述方法还包括:
SP服务器根据终端接收窗口和当前RTT判断是否进入快速重传和快速恢复阶段;
其中,所述根据终端接收窗口和当前RTT判断是否进入快速重传和快速恢复阶段,包括:
判断接收窗口是否拥塞,如果拥塞,则进入快速重传和快速恢复阶段;如果不拥塞,则判断当前RTT是否超时,如果超时,则进入快速重传和快速恢复阶段,如果不超时,则维持在拥塞避免阶段。
6.根据权利要求5所述的方法,其特征在于,所述判断接收窗口是否拥塞,包括:
当rwnd小于等于初始cwnd×30%、且连续三次rwnd递减时,确定所述接收窗口拥塞。
7.根据权利要求5所述的方法,其特征在于,所述判断当前RTT是否超时,包括:
当前RTT大于等于当前会话历史平均RTT、且小于等于2倍的当前网络平均RTT时,确定当前RTT超时;
其中,所述当前会话历史平均RTT为当前会话在当前时刻之前所有历史RTT的平均值;所述当前网络平均RTT为当前网络中所有用户的平均RTT时延。
8.一种TCP优化方法,其特征在于,所述方法包括:
拥塞避免阶段时,SP服务器根据终端接收窗口和当前RTT判断是否进入快速重传和快速恢复阶段;
其中,所述SP服务器根据终端接收窗口和当前RTT判断是否进入快速重传和快速恢复阶段,包括:
判断接收窗口是否拥塞,如果拥塞,则进入快速重传和快速恢复阶段;如果不拥塞,则判断当前RTT是否超时,如果超时,则进入快速重传和快速恢复阶段,如果不超时,则维持在拥塞避免阶段。
9.一种服务提供商SP服务器,其特征在于,所述SP服务器包括:第二TCP连接请求接收模块、第二TCP连接请求处理模块以及第一判断模块;其中,
第二TCP连接请求接收模块,用于接收分组域核心网网关发送的TCP连接请求;
第二TCP连接请求处理模块,用于根据TCP连接请求为终端建立TCP连接,TCP连接建立后即进入慢启动阶段;
第一判断模块,用于慢启动阶段时,在当前cwnd小于ssthresh时,根据当前RTT判断是否进入拥塞避免阶段;
其中,所述第一判断模块在慢启动阶段中,在当前cwnd小于ssthresh时,根据当前RTT判断是否进入拥塞避免阶段,具体指在以下任一情形时确定进入拥塞避免阶段:
(1)当当前RTT大于等于会话历史平均RTT、且当前RTT大于等于上次RTT×2时;
(2)当连续三次RTT增长幅度大于等于30%、且当前RTT时延方差大于等于30%时。
10.根据权利要求9所述的SP服务器,其特征在于,所述SP服务器还包括:TCP连接请求解析模块和初始拥塞窗口设置模块;其中,
所述TCP连接请求解析模块,用于对接收到的分组域核心网网关发送的TCP连接请求进行解析,获取所述TCP连接请求中的终端的网络类型;
所述初始拥塞窗口设置模块,用于在慢启动阶段,根据所述解析得到的终端的网络类型设置初始拥塞窗口。
11.根据权利要求10所述的SP服务器,其特征在于,所述初始拥塞窗口设置模块在慢启动阶段根据所述解析得到的终端的网络类型设置初始拥塞窗口,包括:
将初始cwnd设置为当前网络类型下平均往返时延RTT对应的出现次数最多的发送窗口P(nmax)、当前网络类型下的初始拥塞窗口最高保障门限cwndmax以及终端的接收窗口rwnd之中的最小值。
12.根据权利要求9至11其中任一项所述的SP服务器,其特征在于,所述第一判断模块,还用于在拥塞避免阶段时,根据终端接收窗口和当前RTT判断是否进入快速重传和快速恢复阶段;
其中,所述第一判断模块在拥塞避免阶段时,根据终端接收窗口和当前RTT判断是否进入快速重传和快速恢复阶段,包括:
判断接收窗口是否拥塞,如果拥塞,则进入快速重传和快速恢复阶段;如果不拥塞,则判断当前RTT是否超时,如果超时,则进入快速重传和快速恢复阶段;如果不超时,则维持在拥塞避免阶段。
13.一种TCP优化系统,其特征在于,所述系统包括:
分组域核心网网关和服务提供商SP服务器;其中,
所述分组域核心网网关,用于将终端向SP服务器发送的TCP连接请求转发给相应的SP服务器;
所述SP服务器,用于接收所述TCP连接请求并建立TCP连接后,进入慢启动阶段;还用于在慢启动阶段时,在当前cwnd小于慢启动阈值ssthresh时根据当前RTT判断是否进入拥塞避免阶段;
其中,所述SP服务器在当前cwnd小于慢启动阈值ssthresh时根据当前往返时延RTT判断是否进入拥塞避免阶段,具体指在以下任一情形时确定进入拥塞避免阶段:
(1)当当前RTT大于等于会话历史平均RTT、且当前RTT大于等于上次RTT×2时;
(2)当连续三次RTT增长幅度大于等于30%、且当前RTT时延方差大于等于30%时。
14.根据权利要求13所述的系统,其特征在于,所述分组域核心网网关进一步用于,将终端向SP服务器发送的TCP连接请求转发给相应的SP服务器时,通过终端的TCP连接请求向SP服务器上报终端的网络类型。
15.根据权利要求14所述的系统,其特征在于,所述SP服务器进一步用于,在判断是否进入拥塞避免阶段之前,根据所述TCP连接请求中的终端的网络类型设置初始拥塞窗口cwnd。
16.根据权利要求15所述的系统,其特征在于,所述SP服务器根据所述网络类型设置初始拥塞窗口cwnd,包括:
SP服务器将初始cwnd设置为当前网络类型下平均往返时延RTT对应的出现次数最多的发送窗口P(nmax)、当前网络类型下的初始拥塞窗口最高保障门限cwndmax以及终端的接收窗口rwnd之中的最小值。
17.根据权利要求13至16其中任一项所述的系统,其特征在于,所述SP服务器,还用于在拥塞避免阶段时,根据终端接收窗口和当前RTT判断是否进入快速重传和快速恢复阶段;
其中,所述SP服务器进一步用于,
判断接收窗口是否拥塞,如果拥塞,则进入快速重传和快速恢复阶段;如果不拥塞,则判断当前RTT是否超时,如果超时,则进入快速重传和快速恢复阶段,如果不超时,则维持在拥塞避免阶段。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410260306.0A CN105207949B (zh) | 2014-06-12 | 2014-06-12 | 一种tcp优化方法和系统、sp服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410260306.0A CN105207949B (zh) | 2014-06-12 | 2014-06-12 | 一种tcp优化方法和系统、sp服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105207949A CN105207949A (zh) | 2015-12-30 |
CN105207949B true CN105207949B (zh) | 2018-06-26 |
Family
ID=54955391
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410260306.0A Active CN105207949B (zh) | 2014-06-12 | 2014-06-12 | 一种tcp优化方法和系统、sp服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105207949B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106453356B (zh) * | 2016-10-25 | 2019-08-02 | 网宿科技股份有限公司 | 无线网络双边加速传输方法和系统 |
CN106789718B (zh) * | 2016-12-05 | 2020-10-16 | 阿里巴巴(中国)有限公司 | 数据传输的拥塞控制方法、设备、服务器及可编程设备 |
CN107360101B (zh) * | 2017-08-04 | 2020-01-14 | 武汉理工大学 | 一种基于自适应参数的tcp拥塞控制算法 |
CN107800648B (zh) * | 2017-10-17 | 2020-12-08 | 北京邮电大学 | 数据包调度方法及装置 |
CN109167734B (zh) * | 2018-08-06 | 2020-12-01 | 华为技术有限公司 | 识别传输控制协议状态的方法和装置 |
CN112217605B (zh) * | 2020-09-07 | 2023-10-20 | 网宿科技股份有限公司 | 传输策略的选择方法、设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101094047A (zh) * | 2007-07-06 | 2007-12-26 | 中国人民解放军国防科学技术大学 | 基于网络状态测量的分阶段慢启动传输控制方法 |
CN101854738A (zh) * | 2010-05-21 | 2010-10-06 | 南京邮电大学 | 一种用于卫星网络的传输控制协议方法 |
CN102204182A (zh) * | 2010-12-29 | 2011-09-28 | 华为技术有限公司 | 一种数据传输的拥塞控制方法及装置 |
CN102388584A (zh) * | 2011-09-22 | 2012-03-21 | 华为技术有限公司 | 拥塞控制方法及设备 |
CN102594434A (zh) * | 2012-02-17 | 2012-07-18 | 南京邮电大学 | 面向卫星网络的传输控制机制改进方法 |
CN103428240A (zh) * | 2012-05-18 | 2013-12-04 | 深圳市腾讯计算机系统有限公司 | 数据传输方法和数据传输终端 |
-
2014
- 2014-06-12 CN CN201410260306.0A patent/CN105207949B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101094047A (zh) * | 2007-07-06 | 2007-12-26 | 中国人民解放军国防科学技术大学 | 基于网络状态测量的分阶段慢启动传输控制方法 |
CN101854738A (zh) * | 2010-05-21 | 2010-10-06 | 南京邮电大学 | 一种用于卫星网络的传输控制协议方法 |
CN102204182A (zh) * | 2010-12-29 | 2011-09-28 | 华为技术有限公司 | 一种数据传输的拥塞控制方法及装置 |
CN102388584A (zh) * | 2011-09-22 | 2012-03-21 | 华为技术有限公司 | 拥塞控制方法及设备 |
CN102594434A (zh) * | 2012-02-17 | 2012-07-18 | 南京邮电大学 | 面向卫星网络的传输控制机制改进方法 |
CN103428240A (zh) * | 2012-05-18 | 2013-12-04 | 深圳市腾讯计算机系统有限公司 | 数据传输方法和数据传输终端 |
Also Published As
Publication number | Publication date |
---|---|
CN105207949A (zh) | 2015-12-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105207949B (zh) | 一种tcp优化方法和系统、sp服务器 | |
US9979665B2 (en) | Reducing buffer usage for TCP proxy session based on delayed acknowledgement | |
US9641650B2 (en) | TCP proxy server | |
US10454804B2 (en) | Application characterization using transport protocol analysis | |
CN106304203B (zh) | 数据传输方法及装置 | |
CN105610888A (zh) | 基于安卓的利用socket推送消息的方法和系统 | |
CN106936730B (zh) | 一种报文发送方法、tcp代理以及tcp客户端 | |
CN106453356B (zh) | 无线网络双边加速传输方法和系统 | |
US20170027016A1 (en) | Communication device, wireless communication device, and communication method | |
US10868839B2 (en) | Method and system for upload optimization | |
EP4020892A1 (en) | Network parameter configuration method and apparatus | |
CN102769520B (zh) | 基于sctp协议的无线网络拥塞控制方法 | |
CN111970208A (zh) | 网络传输方法、装置、设备及计算机可读存储介质 | |
CN110753035B (zh) | 一种基于tcp协议的fpga超低延迟通信传输方法 | |
CN114363351B (zh) | 一种代理连接抑制方法、网络架构及代理服务器 | |
CN113438180B (zh) | Udp数据包的传输控制方法、装置、设备及可读存储介质 | |
CN105450441A (zh) | 一种基于tcp协议的弱网加速方法和装置 | |
Nikitinskiy et al. | Performance analysis of trickles and TCP transport protocols under high-load network conditions | |
CN101969432A (zh) | 基于随机回退的tcp拥塞窗口的控制方法 | |
CN104580171B (zh) | Tcp协议的传输方法、装置和系统 | |
CN111314961A (zh) | Tcp传输方法、装置和系统 | |
Kishimoto et al. | A TCP Incast avoidance method based on retransmission requests from a client | |
CN111565219A (zh) | 一种模拟真实排队的网络连接池协议的实现方法 | |
CN111615148B (zh) | 基站tcp数据传输处理方法、装置和基站 | |
Lin et al. | Modeling multiple TCP connections established between a busy server and many receivers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |