WO2016065676A1 - 基于吞吐率和丢包控制cwnd的优化方法和系统 - Google Patents

基于吞吐率和丢包控制cwnd的优化方法和系统 Download PDF

Info

Publication number
WO2016065676A1
WO2016065676A1 PCT/CN2014/091559 CN2014091559W WO2016065676A1 WO 2016065676 A1 WO2016065676 A1 WO 2016065676A1 CN 2014091559 W CN2014091559 W CN 2014091559W WO 2016065676 A1 WO2016065676 A1 WO 2016065676A1
Authority
WO
WIPO (PCT)
Prior art keywords
cwnd
throughput rate
growth
smooth
throughput
Prior art date
Application number
PCT/CN2014/091559
Other languages
English (en)
French (fr)
Inventor
庄灏
王永东
童锡鹏
Original Assignee
北京华夏创新科技有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 北京华夏创新科技有限公司 filed Critical 北京华夏创新科技有限公司
Priority to KR1020177014364A priority Critical patent/KR101981722B1/ko
Publication of WO2016065676A1 publication Critical patent/WO2016065676A1/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/27Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0888Throughput
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/19Flow control; Congestion control at layers above the network layer
    • H04L47/193Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/25Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions

Definitions

  • the present invention relates to a network congestion prevention technology of the TCP protocol, and more particularly to a CWND based on throughput rate and packet loss control. Optimization methods and systems.
  • CWND Congestion Window
  • CWND represents the maximum number of data segments allowed to be sent without receiving an ACK.
  • CWND The larger the setting, the faster the data message is sent, but the more likely it is to cause congestion on the network. Conversely, if the CWND is set smaller, it is even set to 1 Therefore, each time a data message is sent, it must wait for the corresponding ACK to be received before continuing to send the next data message. Obviously, the network is less prone to congestion, but the transmission efficiency is low. Therefore, various TCPCWND Algorithm optimization is to balance the two factors of transmission efficiency and network congestion, and select the optimal CWND value to maximize network throughput and prevent congestion.
  • TCPCWND algorithms There are many TCPCWND algorithms proposed in the prior art, such as New Reno, CUBIC, Westwood. , Vegas, etc. Most of them are AIMD (Additive-Increase/Multiplicative-Decrease) with packet loss as a congestion signal. , Addition Increase / Multiplication Reduction algorithm. However, Vegas and its derivative algorithms have taken a different approach to adjust CWND as a congestion signal with the growth of network delay. Here are some typical ones in the prior art. The TCPCWND algorithm is introduced.
  • NewReno It is one of the earliest TCPCWND algorithms, and it is the most widely used CWND because it is the default algorithm used by Windows, BSD, and 2.6.19. Algorithm.
  • CUBIC made major changes on the basis of New Reno, especially focusing on how to quickly approach the actual bandwidth after packet loss.
  • CUBIC is now the Linux kernel
  • the default algorithm above 2.6.19 is widely used in Android devices and various Linux-based network devices, servers, and cloud technology devices.
  • the CWND will not rush too much out due to the nature of the convex interval on the cubic curve; if the actual bandwidth exceeds W max , the lower convex interval of the cubic curve makes CWND Accelerate growth and quickly search for bandwidth.
  • Another unique aspect of CUBIC is that the growth of CWND has nothing to do with the round-trip delay RTT. At the same W max , the long-delay and short-delay CWNDs grow at the same speed.
  • the Vegas algorithm defines a state variable: BaseRTT (basic round-trip delay), and the theoretical value should be 'round-trip delay of connection without congestion', but in fact it is difficult for the terminal device to judge whether congestion occurs. This variable is in actual calculation. It is also implemented to use the measured minimum round trip delay.
  • a disadvantage of the prior art is that the CUBIC algorithm has excellent performance under relatively stable network conditions. 'stable' Here, the effective bandwidth of the network is relatively constant, and the fluctuation of the round-trip delay is not large.
  • the premise of stability in wireless communication channels no longer exists. Signal fading is an unavoidable problem in wireless channels, resulting in frequent changes in effective bandwidth and latency. In order to reduce the packet loss rate, a long packet queue is often used in the wireless communication network to buffer the transmission data.
  • TCP round-trip delay RTT will suddenly rise linearly, often more than ten times, from hundreds of milliseconds to several seconds or even more than ten seconds.
  • RTT causes each ACK response to trigger more packets to be sent while RTT continues to grow, thus RTT Uncontrolled growth has rapidly increased the risk of congestion.
  • Another negative effect of excessive RTT is that once a packet is lost, the retransmitted packet is likely to be acknowledged by at least the current RTT. During this period CWND Unable to grow, resulting in a lag in throughput.
  • the Vegas algorithm can control the growth of RTT more effectively, and the average throughput rate is better than CUBIC.
  • the Vegas algorithm is at a disadvantage in preempting bandwidth when it is deployed in a hybrid with a packet-based algorithm.
  • the present invention provides an optimization method and system for controlling CWND based on throughput rate and packet loss.
  • the invention draws on The essence of the Vegas and CUBIC algorithms focuses on the calculation of CWND in harsh environments such as large delays and bandwidth fluctuations in a wireless communication environment to ensure optimal throughput.
  • the smooth throughput rate B (1 - ⁇ ) * B' + ⁇ * B C ; where ⁇ is a constant parameter, B C is the actual instantaneous throughput rate; B' is the prior smooth throughput rate.
  • the CWND growth mode includes exponential growth, linear growth, and cessation.
  • the CWND growth mode is set to exponentially increase in the initial state and when exiting the Recovery mode.
  • the smooth throughput rate exceeds the previous smooth throughput rate by more than the throughput growth threshold, then CWND
  • the growth model is set to exponential growth.
  • the smooth throughput rate is continuously decreased by a predetermined number of times, and the total amount of smooth throughput reduction is not less than the throughput reduction threshold, it is further determined whether the current smooth round-trip delay SRTT is less than or equal to ⁇ * RTT MIN ; wherein RTT MIN is Minimum round trip delay, ⁇ is a constant parameter; if so, the CWND growth mode is set to linear growth; if not, the CWND growth mode is set to stop.
  • the shrinkage factor ⁇ 0.7. It is further preferred that the CWND growth mode is set to stop in the Recovery mode.
  • the instant throughput calculation unit is configured to calculate an actual instant throughput rate for the data packet that receives the ACK response;
  • a throughput smoothing unit which calculates a smooth throughput rate according to the instant throughput rate
  • the CWND growth mode setting unit is configured to determine a change state of the smooth throughput rate B, and control the CWND growth mode accordingly;
  • CWND shrink unit used to enter the Recovery mode at any time, according to CWND
  • the shrinkage factor reduces CWND.
  • the CWND growth mode includes exponential growth, linear growth, and cessation.
  • the CWND growth mode setting unit will CWND in an initial state and when exiting the Recovery mode.
  • the growth model is set to exponential growth.
  • the CWND growth mode setting unit will set to exponential growth.
  • the CWND growth mode setting unit determines whether the current smooth round-trip delay SRTT is less than or equal to ⁇ *RTT MIN.
  • RTT MIN is the minimum round trip delay and ⁇ is the constant parameter; if so, the CWND growth mode setting unit sets the CWND growth mode to linear growth; if not, sets the CWND growth mode to stop.
  • the present invention has the following features and progress compared with the prior art: First, based on the principle of maximizing the throughput rate, a good throughput rate can be achieved in a stable and changing network environment, especially in a wireless network. It is no less than other widely used TCP algorithms such as CUBIC, NewReno, etc. Moreover, this algorithm also rejects BaseRTT, which is not easy to measure accurately. Second, the introduction of throughput and delay control CWND Increased, but still uses packet loss as a criterion for shrinking CWND, so there is no disadvantage when it is mixed with the packet-based algorithm. Third, after the packet loss is restored, the exponential growth of throughput control is used to improve the bandwidth search speed. CUBIC. Fourth, using the CWND shrinkage coefficient consistent with CUBIC, CWND shrinkage does not have a disadvantage when compared to CUBIC.
  • FIG. 1 is a flowchart of an optimization algorithm based on throughput rate and packet loss control CWND according to an embodiment of the present invention.
  • the invention controls CWND based on factors of actual throughput rate and round trip delay Growth model. Moreover, the present invention defines a smooth throughput rate that reflects the actual throughput rate and round trip delay by a smooth throughput rate. The present invention determines the CWND used according to the state of change of the smooth throughput rate.
  • the growth model which adopts the principle of maximizing throughput, continues to increase the CWND value as long as it is found that increasing the CWND value improves the smooth throughput rate.
  • the present invention does not use smooth throughput as CWND The basis for the reduction. The reduction in CWND is still determined by packet loss.
  • the growth of CWND can be divided into three modes: exponential growth, linear growth, and stop.
  • exponential growth mode assume current If the CWND value is 1, the CWND value is 2 after the first increase, and the CWND value is 4 after the second increase. After the third increase, the CWND value is 8. And so on.
  • linear growth mode the CWND value is increased by a fixed amount each time. The CWND value stops growing and remains unchanged in the stopped state.
  • the CWND of the present invention The optimization algorithm specifically includes the following steps. It should be noted that the values of the various constant parameters indicated below are exemplary suggested values, and those skilled in the art can completely adjust according to actual conditions.
  • step 2 each time a new data message is sent, the transmission time T S of the message and the total amount of data F S that have been transmitted at that time and have not been ACKed (answered) are recorded.
  • Step 3 each time an ACK is received (acknowledgement), if the ACK
  • SEQ serial number
  • step 4 the change state of the smooth throughput rate B is judged, and the CWND growth mode GM is controlled accordingly. Specifically divided into the following situations:
  • SRTT is a smooth round-trip delay.
  • the concept and algorithm of SRTT are well known in the TCP protocol. For example, it has corresponding description in RFC793 (tools.ietf.org/html/rfc793); RTT MIN is the minimum round-trip delay; RTT MIN is also a standard concept and algorithm for the TCP protocol.
  • the present invention accordingly provides the optimized system based on throughput rate and packet loss control CWND, including: an instant throughput calculation unit for receiving The data packet of the ACK response is calculated for the actual instant throughput rate; the throughput rate smoothing unit calculates the smooth throughput rate according to the instant throughput rate; and the CWND growth mode setting unit is configured to determine the smooth throughput rate B Change state, and control the CWND growth mode accordingly; CWND shrinkage unit is used to reduce the shrinkage coefficient according to CWND at any time due to packet loss entering Recovery mode. CWND.
  • the specific algorithms for performing the functions of the above units have been described in detail in the above methods, and are not described herein again.
  • the present invention has the following features and progress compared with the prior art: First, based on the principle of maximizing the throughput rate, a good throughput rate can be achieved in a stable and changing network environment, especially in a wireless network. As much as other widely used TCP algorithms such as CUBIC, NewReno, etc. Moreover, this algorithm also rejects BaseRTT, which is not easy to measure accurately. Second, the introduction of throughput and delay control CWND Increased, but still uses packet loss as a criterion for shrinking CWND, so there is no disadvantage when it is mixed with the packet-based algorithm. Third, after the packet loss is restored, the exponential growth of throughput control is used to improve the bandwidth search speed. CUBIC. Fourth, using the CWND shrinkage coefficient consistent with CUBIC, CWND shrinkage does not have a disadvantage when compared to CUBIC.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种基于吞吐率和丢包控制CWND的优化方法和系统。所述方法包括以下步骤:针对收到ACK应答的数据报文,计算其实际的即时吞吐率;根据所述即时吞吐率计算平滑吞吐率;判断平滑吞吐率B的变化状态,并相应地控制CWND增长模式;如果在任何时刻发生丢包,进入Recovery模式,在Recovery模式按照CWND收缩系数减小CWND。本发明集中于解决无线通信环境下时延变化巨大,带宽浮动等恶劣环境下的CWND的计算,以保证最佳吞吐率。

Description

基于吞吐率和丢包控制CWND的优化方法和系统 技术领域
本发明涉及TCP协议的防止网络拥塞技术,更具体地,涉及一种基于吞吐率和丢包控制CWND 的优化方法和系统。
背景技术
CWND (Congestion Window,拥塞窗口)的计算是TCP 协议防止网络拥塞,保证连接吞吐率的关键。因此,也是各种TCP算法优化和技术改进的焦点。
CWND代表在没有收到ACK的情况下所允许发送的最大数据报文段数量。显然,CWND 被设置得越大,数据报文被发送得越快,但是也越有可能使网络出现拥塞。相反,如果CWND设置得越小,甚至设置为1 ,那么每发送一个数据报文都必须等待收到相应的ACK之后才能继续发送下一个数据报文,则显然网络不易出现拥塞,但导致发送效率低下。因此,各种TCPCWND 算法优化就是要在发送效率和网络拥塞两个因素之间进行平衡,选取最优的CWND值,使得网络吞吐量最大化且防止发生拥塞。
目前现有技术中提出的TCPCWND算法有很多,如New Reno、CUBIC、Westwood 、Vegas等。其中的多数是以丢包作为拥塞信号的AIMD (Additive-Increase/Multiplicative-Decrease ,加法增大/乘法减小)算法。但Vegas及其派生算法另辟蹊径,以网络时延的增长作为拥塞信号而调整CWND。下面就现有技术中比较典型的几种 TCPCWND算法进行介绍。
在互联网中最广泛应用的TCPCWND算法是NewReno和CUBIC。NewReno 是最早的TCPCWND算法之一,因为是Windows, BSD,和2.6.19版以前的Linux默认采用的算法而成为使用最广泛的CWND 算法。CUBIC在New Reno的基础上做了较大的改动,尤其集中在丢包后如何迅速逼近实际带宽的处理。CUBIC现在是Linux内核 2.6.19版以上的默认算法,在Android设备和各种基于Linux的网络设备、服务器、云技术设备等场合应用广泛。
CUBIC是基于丢包的算法。它的出发点在于改进传统的AIMD算法,以便在丢包后CWND 能够迅速地收敛到实际带宽的水平。传统的NewRenoAIMD算法在丢包后,CWND大约降至丢包前的1/2。之后CWND 只能线性增长,因而需要很长时间才能触及实际带宽,尤其是在偶然丢包的情况下。CUBIC对此进行了以下改进:(1)丢包后,CWND按固定比例降低: CWND=β*Wmax(例如Linux内核3.x中β=0.7,高于New Reno的0.5) ,其中将降低之前的CWND记为Wmax。(2)之后CWND依时间的三次方增长:CWND=C*(t- K)3+Wmax,这里C是一个缩放常数(Linux内核3.x中使用C=0.4),t 是时间,将因丢包而降低CWND的时刻定为t=0,K是一个常数,K使得0时刻的CWND等于β*Wmax 。由此可见,CWND在经历丢包降低后,先以三次曲线上凸的方式涨回Wmax(t≤K) ;如果没有丢包,又继续以三次曲线下凸的方式逐步加快CWND的增长。这样,如果实际带宽在β*Wmax至 Wmax之间的话,由于三次曲线上凸区间的性质CWND不会一下冲出太多;如果实际带宽超过Wmax 的话,三次曲线的下凸区间使得CWND能够加速增长,快速搜索带宽。CUBIC的另一个独特之处是CWND的增长与往返时延RTT无关。在同样 Wmax下,长时延和短时延CWND增长的速度是一样快的。
Vegas算法定义了一个状态变量:BaseRTT(基础往返时延),理论值应为' 无拥塞时连接的往返时延',但实际上由于终端设备很难判断是否发生拥塞,这个变量在实际计算中也就被实现为使用测得的最小往返时延。Vegas 算法计算预期吞吐率为:BE=CWND/BaseRTT。同时,它也在计算当前的实际吞吐率:BA= InFlight/RTT,其中InFlight是已发送但尚未被应答的报文数据量;RTT是当前被应答报文的往返时延。Vegas 算法进而计算两者的差值:Δ=BE-BA,定义下限α和上限β。如果Δ<α,则提高 CWND;如果Δ>β则降低CWND。由于使用时延,Vegas算法对网络拥塞的判断更加敏感,因而能够极大地降低网络的丢包率,在全部使用 Vegas算法的网络中可以获得非常好的平均吞吐率。然而在与基于丢包的算法混合的网络环境中,由于时延的迅速上升总是发生在丢包之前,这样Vegas 总是在基于丢包的算法之前收缩CWND而降低发送速度,导致总体性能逊色于基于丢包的算法。
现有技术存在的缺陷在于:CUBIC算法在较为稳定的网络条件下有非常优异的性能。'稳定' 在这里指网络有效带宽相对恒定,往返时延的起伏不大。然而随着无线通信技术的爆炸式增长,无线通信信道中稳定的前提不复存在。信号衰落是无线信道中不可避免的问题,由此导致有效带宽和时延经常大幅度地变化。为了减少丢包率,无线通信网中常用加长包队列来缓冲传输数据。在这种部署下,一旦由于某些原因有效带宽突然下降,比如电磁干扰, 4G降3G等,TCP的往返时延RTT会突然直线上升,经常会增加十倍以上,从数百毫秒上升到数秒甚至十秒以上。在这种情况下,由于CUBIC算法 CWND的增长与RTT无关,会导致在RTT不断增长的同时,每一个ACK应答触发更多的数据包被送出,从而RTT 增长失控,迅速增加了拥塞的危险性。RTT过大的另一个负面影响是一旦丢包进入恢复状态,重传的包很可能要经过至少当前的RTT才能被应答。在此期间CWND 无法增长,导致吞吐率的滞后上升。在这种时延波动的环境中,Vegas算法可以更加有效地控制RTT的增长,平均吞吐率会优于CUBIC。然而如前所述, Vegas算法在与基于丢包的算法混合部署的时候在抢占带宽方面会处于劣势。
发明内容
基于现有技术中的上述缺陷,本发明提供了一种基于吞吐率和丢包控制CWND的优化方法和系统。本发明借鉴 Vegas和CUBIC算法的精华,集中于解决无线通信环境下时延变化巨大,带宽浮动等恶劣环境下的CWND的计算,以保证最佳吞吐率。
本发明所述基于吞吐率和丢包控制CWND的优化方法,其特征在于,包括以下步骤:
针对收到ACK应答的数据报文,计算其实际的即时吞吐率;
根据所述即时吞吐率计算平滑吞吐率;
判断平滑吞吐率B的变化状态,并相应地控制CWND增长模式;
如果在任何时刻发生丢包,进入Recovery模式,在Recovery模式按照CWND 收缩系数减小CWND。
优选的是,针对收到的ACK应答中具有最高序列号的数据报文,计算所述实际的即时吞吐率 BC=FS/(T-TS);其中,T是当前时间;TS 是该具有最高序列号的数据报文的发送时间;FS是该TS时刻已发送且尚未被ACK应答的数据总量;其中,所述 TS和FS是在该具有最高序列号的数据报文被发送时记录的。
优选的是,所述平滑吞吐率B=(1-α)*B'+α*BC; 其中α是常数参量,BC是所述实际的即时吞吐率;B'是在先的平滑吞吐率。
优选的是,所述CWND增长模式包括指数增长、线性增长以及停止。
优选的是,在初始状态及退出Recovery模式时将CWND增长模式设置为指数增长。
优选的是,如果平滑吞吐率比在先的平滑吞吐率增长超过吞吐率增长阈值,则CWND 增长模式设置为指数增长。
优选的是, 如果平滑吞吐率连续下降预定次数,且平滑吞吐率下降总量不少于吞吐率下降阈值,则进一步判断当前的平滑往返时延SRTT是否小于等于η* RTTMIN;其中RTTMIN是最小往返时延,η是常数参量;如果是,则CWND 增长模式设置为线性增长;如果否,则CWND增长模式设置为停止。
优选的是,因发生丢包进入Recovery模式时,设置CWND=β*CWND,并且CWND 收缩系数β=0.7。进一步优选的是,Recovery模式下设置CWND增长模式为停止。
本发明所述基于吞吐率和丢包控制CWND的优化系统,其特征在于,包括:
即时吞吐率计算单元,用于针对收到ACK应答的数据报文,计算其实际的即时吞吐率;
吞吐率平滑单元,根据所述即时吞吐率计算平滑吞吐率;
CWND增长模式设置单元,用于判断平滑吞吐率B的变化状态,并相应地控制CWND增长模式;
CWND收缩单元,用于在任何时刻因发生丢包进入Recovery模式的情况下,按照CWND 收缩系数减小CWND。
优选的是,即时吞吐率计算单元针对收到的ACK 应答中具有最高序列号的数据报文,计算所述实际的即时吞吐率BC=FS/(T- TS);其中,T是当前时间;TS是该具有最高序列号的数据报文的发送时间;FS 是该TS时刻已发送且尚未被ACK应答的数据总量;其中,所述TS和FS 是在该具有最高序列号的数据报文被发送时记录的。
优选的是,吞吐率平滑单元计算所述平滑吞吐率B=(1-α)*B'+α* BC;其中α是常数参量,BC是所述实际的即时吞吐率;B'是在先的平滑吞吐率。
优选的是,所述CWND增长模式包括指数增长、线性增长以及停止。
优选的是,CWND增长模式设置单元在初始状态及退出Recovery模式时将CWND 增长模式设置为指数增长。
优选的是,如果平滑吞吐率比在先的平滑吞吐率增长超过吞吐率增长阈值,则CWND增长模式设置单元将 CWND增长模式设置为指数增长。
优选的是,如果平滑吞吐率连续下降预定次数,且平滑吞吐率下降总量不少于吞吐率下降阈值,则CWND 增长模式设置单元进一步判断当前的平滑往返时延SRTT是否小于等于η*RTTMIN;其中RTTMIN 是最小往返时延,η是常数参量;如果是,则CWND增长模式设置单元将CWND增长模式设置为线性增长;如果否,则将CWND 增长模式设置为停止。
优选的是,因发生丢包进入Recovery模式时,CWND收缩单元设置CWND=β*CWND,并且CWND收缩系数β=0.7。进一步优选的是,Recovery模式下CWND增长模式设置单元设置CWND 增长模式为停止。
可见,本发明相比现有技术具有以下特点和进步:首先,基于吞吐率最大化的原则,在稳定的和变化的网络环境下,尤其是无线网络中,均能取得良好的吞吐率,性能不亚于广泛使用的其它TCP算法如CUBIC,NewReno等。而且这种算法也摈弃了不易准确测算的BaseRTT。其次,引入吞吐率和时延的控制CWND 增加,但仍使用丢包作为收缩CWND的准则,因此在与基于丢包的算法混合部署时无劣势。第三,丢包恢复后采用吞吐率控制的指数增长,提高带宽搜索速度,优于 CUBIC。第四,采用与CUBIC一致的CWND收缩系数,丢包时CWND收缩对比CUBIC不会有劣势。
附图说明
下面结合附图和具体实施方式对本发明作进一步详细的说明:
图1是本发明实施例所述基于吞吐率和丢包控制CWND的优化算法流程图。
具体实施方式
为了使本技术领域的人员更好地理解本发明的技术方案,并使本发明的上述目的、特征和优点能够更加明显易懂,下面结合实施例及实施例附图对本发明作进一步详细的说明。
本发明基于实际吞吐率和往返时延的因素控制CWND 的增长模式。并且,本发明定义了平滑吞吐率,通过平滑吞吐率反映所述实际吞吐率和往返时延。本发明根据该平滑吞吐率的变化状态决定所采用的CWND 增长模式,其中采用了吞吐率最大化的原则,只要发现增加CWND值对平滑吞吐率有提升,就继续增加CWND值。但是,本发明并不将平滑吞吐率作为CWND 降低的依据。CWND的降低仍然由丢包决定。
在本发明中,CWND的增长可分为指数增长、线性增长以及停止三种模式。举例来说,指数增长模式下,假设当前 CWND值为1,则经过第一次增长CWND值为2,经过第二次增长CWND值为4,经过第三次增长CWND值为8 ,以此类推。线性增长模式下CWND值每次增长增加一个固定的量值。停止状态下CWND值停止增长而保持不变。
参见图1,本发明的CWND 优化算法具体包括以下步骤。需要指出的是,下面所指出的各种常数参量的取值都是示例性的建议值,本领域技术人员完全可以根据实际情况加以调整。
步骤1,初始状态下,设置平滑吞吐率B=0,并且设置CWND增长模式GM= 指数增长。
步骤2,每发送一个新的数据报文时,记录该报文的发送时间TS 和在该时间已被发送且尚未被ACK(应答)的数据总量FS
步骤3,每收到一个ACK(应答),如果该ACK 应答了一个或多个已发送的数据报文且其中没有重传的数据报文话,针对被应答的数据报文当中具有最高SEQ(序列号)的数据报文,计算以下参数:
a.即时吞吐率BC=FS/(T- TS)。其中,T是当前时间;TS是该具有最高SEQ的数据报文的发送时间;FS 是该TS时刻已发送且尚未被ACK的数据总量;如上面所述,TS和FS 是在该具有最高SEQ的数据报文被发送时记录的。可见,这里计算即时吞吐率的算法和Vegas算法也有区别。Vegas的'实际吞吐率'是计算获得 RTT时刻的未被ACK的数据量与RTT的商,因而是'先验'性的即时吞吐率。而本发明这里计算的即时吞吐率是'后验' 性的,即反映了经过所述具有最高SEQ的数据报文检验的实际的吞吐率数值。
b.平滑吞吐率B=(1-α)*B'+α*BC。其中α 是常数参量,可以设定为α=1/4,B'是初始状态下设置的或者上一次计算获得的在先平滑吞吐率 。这里本发明用一阶指数平滑公式计算平滑吞吐率,这是因为网络时延经常由于各种原因而不停地变动,导致即时吞吐率上下波动。这样平滑后消除一些高频噪声,对网络的吞吐率估计更加准确一些。 Vegas算法并不采用平滑。
步骤4,判断平滑吞吐率B的变化状态,并相应地控制CWND增长模式GM。具体分为以下几种情况:
a.如果B比初始状态下设置的或者上一次计算获得的在先平滑吞吐率增长超过γ,则GM= 指数增长;常数参量γ=1/32。
b.如果B连续3次下降,且三次下降总量不少于Δ,则进一步判断SRTT:如果当前的SRTT ≤η*RTTMIN,则GM=线性增长;否则,GM=停止。这里Δ=1/16,η=10。其中SRTT 是平滑往返时延,SRTT的概念和算法在TCP协议中属于公知,例如其在RFC793(tools.ietf.org/html/rfc793) 中具有相应的说明;RTTMIN是最小往返时延;RTTMIN也是TCP协议的标准概念和算法。
步骤5,如果在任何时刻发生丢包,则进入Recovery(恢复模式)时,设置CWND=β *CWND;设置GM=停止;其中β=0.7,该数值0.7是一个经验数值,本领域技术人员可以根据实际情况设置其它数值。
步骤6,随着从拥塞状态恢复而退出Recovery(恢复模式)时,设置GM= 指数增长,执行与上述初始状态类似的操作;但从Recovery模式退出后所述平滑吞吐率B 不清零,而是在原有的平滑吞吐率的基础之上继续执行与初始状态类似的操作。
本发明相应的提供了所述基于吞吐率和丢包控制CWND的优化系统,包括:即时吞吐率计算单元,用于针对收到 ACK应答的数据报文,计算其实际的即时吞吐率;吞吐率平滑单元,根据所述即时吞吐率计算平滑吞吐率;CWND增长模式设置单元,用于判断平滑吞吐率B 的变化状态,并相应地控制CWND增长模式;CWND收缩单元,用于在任何时刻因发生丢包进入Recovery模式的情况下,按照CWND收缩系数减小 CWND。以上各个单元执行功能的具体算法已经在上文的方法中详加介绍,在此不再赘述。
可见,本发明相比现有技术具有以下特点和进步:首先,基于吞吐率最大化的原则,在稳定的和变化的网络环境下,尤其是无线网络中,均能取得良好的吞吐率,性能不亚于广泛使用的其它 TCP算法如CUBIC,NewReno等。而且这种算法也摈弃了不易准确测算的BaseRTT。其次,引入吞吐率和时延的控制CWND 增加,但仍使用丢包作为收缩CWND的准则,因此在与基于丢包的算法混合部署时无劣势。第三,丢包恢复后采用吞吐率控制的指数增长,提高带宽搜索速度,优于 CUBIC。第四,采用与CUBIC一致的CWND收缩系数,丢包时CWND收缩对比CUBIC不会有劣势。
以上所述,仅为本发明的具体实施方式,本发明还可以应用在其它设备中;以上描述中的尺寸和数量均仅为参考性的,本领域技术人员可根据实际需要选择适当的应用尺寸,而不脱离本发明的范围。本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求所界定的保护范围为准。

Claims (18)

1.一种基于吞吐率和丢包控制CWND的优化方法,其特征在于,包括以下步骤:
针对收到ACK应答的数据报文,计算其实际的即时吞吐率;
根据所述即时吞吐率计算平滑吞吐率;
判断平滑吞吐率B的变化状态,并相应地控制CWND增长模式;
如果在任何时刻发生丢包,进入Recovery模式,在Recovery模式按照CWND收缩系数减小CWND 。
2.根据权利要求1所述的优化方法,其特征在于,针对收到的ACK应答中具有最高序列号的数据报文,计算所述 实际的即时吞吐率BC=FS/(T-TS);其中,T是当前时间; TS是该具有最高序列号的数据报文的发送时间;FS是该TS时刻已发送且尚未被ACK 应答的数据总量;其中,所述TS和FS 是在该具有最高序列号的数据报文被发送时记录的。
3.根据权利要求1所述的优化方法,其特征在于,所述平滑吞吐率B=(1-α)*B'+α* BC;其中α是常数参量,BC是所述实际的即时吞吐率;B' 是在先的平滑吞吐率。
4.根据权利要求1所述的优化方法,其特征在于,所述CWND 增长模式包括指数增长、线性增长以及停止。
5.根据权利要求1所述的优化方法,其特征在于,在初始状态及退出Recovery模式时将CWND 增长模式设置为指数增长。
6.根据权利要求1所述的优化方法,其特征在于,如果平滑吞吐率比在先的平滑吞吐率增长超过吞吐率增长阈值,则 CWND增长模式设置为指数增长。
7.根据权利要求1 所述的优化方法,其特征在于,如果平滑吞吐率连续下降预定次数,且平滑吞吐率下降总量不少于吞吐率下降阈值,则进一步判断当前的平滑往返时延SRTT是否小于等于η*RTTMIN;其中RTTMIN是最小往返时延,η是常数参量;如果是,则CWND增长模式设置为 线性增长;如果否,则CWND增长模式设置为停止。
8.根据权利要求1所述的优化方法,其特征在于,因发生丢包进入Recovery模式时,设置CWND=β*CWND,并且CWND收缩系数β=0.7。
9.根据权利要求8所述的优化方法,其特征在于,Recovery模式下设置CWND增长模式为停止。
10.一种基于吞吐率和丢包控制CWND的优化系统,其特征在于,包括:
即时吞吐率计算单元,用于针对收到ACK应答的数据报文,计算其实际的即时吞吐率;
吞吐率平滑单元,根据所述即时吞吐率计算平滑吞吐率;
CWND增长模式设置单元,用于判断平滑吞吐率B的变化状态,并相应地控制CWND 增长模式;
CWND收缩单元,用于在任何时刻因发生丢包进入Recovery模式的情况下,按照CWND收缩系数减小CWND。
11.根据权利要求10所述的优化系统,其特征在于,即时吞吐率计算单元针对收到的ACK 应答中具有最高序列号的数据报文,计算所述实际的即时吞吐率BC=FS/(T- TS);其中,T是当前时间;TS是该具有最高序列号的数据报文的发送时间;FS 是该TS时刻已发送且尚未被ACK应答的数据总量;其中,所述TS和FS 是在该具有最高序列号的数据报文被发送时记录的。
12.根据权利要求10所述的优化系统,其特征在于,吞吐率平滑单元计算所述平滑吞吐率B=(1-α)*B '+α*BC;其中α是常数参量,BC是所述实际的即时吞吐率;B' 是在先的平滑吞吐率。
13.根据权利要求10所述的优化系统,其特征在于,所述CWND增长模式包括指数增长、线性增长以及停止。
14.根据权利要求10所述的优化系统,其特征在于,CWND增长模式设置单元在初始状态及退出Recovery模式时将CWND增长模式设置为指数增长。
15.根据权利要求10所述的优化系统,其特征在于,如果平滑吞吐率比在先的平滑吞吐率增长超过吞吐率增长阈值,则 CWND增长模式设置单元将CWND增长模式设置为指数增长。
16.根据权利要求10所述的优化系统,其特征在于,如果平滑吞吐率连续下降预定次数,且平滑吞吐率下降总量不少于吞吐率下降阈值,则CWND增长模式设置单元进一步判断当前的平滑往返时延SRTT是否小于等于η*RTTMIN;其中RTTMIN是最小往返时延,η是常数参量;如果是,则CWND增长模式设置单元将CWND增长模式设置为线性增长;如果否,则将CWND增长模式设置为停止。
17.根据权利要求10所述的优化系统,其特征在于,因发生丢包进入Recovery模式时,CWND收缩单元设置CWND=β*CWND,并且CWND收缩系数β=0.7。
18.根据权利要求17所述的优化系统,其特征在于,Recovery模式下CWND增长模式设置单元设置CWND增长模式为停止。
PCT/CN2014/091559 2014-10-27 2014-11-19 基于吞吐率和丢包控制cwnd的优化方法和系统 WO2016065676A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020177014364A KR101981722B1 (ko) 2014-10-27 2014-11-19 처리율과 패킷 손실에 기반하여 cwnd를 제어하는 최적화 방법과 시스템

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201410584462.2A CN104378307B (zh) 2014-10-27 2014-10-27 基于吞吐率和丢包控制cwnd的优化方法和系统
CN201410584462.2 2014-10-27

Publications (1)

Publication Number Publication Date
WO2016065676A1 true WO2016065676A1 (zh) 2016-05-06

Family

ID=52556972

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/091559 WO2016065676A1 (zh) 2014-10-27 2014-11-19 基于吞吐率和丢包控制cwnd的优化方法和系统

Country Status (3)

Country Link
KR (1) KR101981722B1 (zh)
CN (1) CN104378307B (zh)
WO (1) WO2016065676A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11178056B2 (en) 2019-04-08 2021-11-16 Electronics And Telecommunications Research Institute Communication method and apparatus for optimizing TCP congestion window

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107231315A (zh) * 2016-03-24 2017-10-03 阿里巴巴集团控股有限公司 一种拥塞控制方法及系统
CN106230654B (zh) * 2016-07-22 2019-12-24 安徽皖通邮电股份有限公司 一种快速实现rfc2544带背景流下最大吞吐率的方法
KR102096719B1 (ko) * 2018-10-19 2020-05-27 고려대학교 산학협력단 V2g 네트워크에서의 혼잡을 제어하기 위한 혼잡 윈도우의 크기를 설정하는 단말 장치 및 방법
KR102208856B1 (ko) 2019-10-31 2021-01-27 고려대학교 산학협력단 통신 제어 장치 및 통신 제어 방법
CN113904989B (zh) * 2021-10-21 2023-11-07 北京理工大学 一种基于NewReno的吞吐率提升方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101094047A (zh) * 2007-07-06 2007-12-26 中国人民解放军国防科学技术大学 基于网络状态测量的分阶段慢启动传输控制方法
US20090073975A1 (en) * 2007-09-19 2009-03-19 Nec Corporation Communication method and communication device
CN102291389A (zh) * 2011-07-14 2011-12-21 南京邮电大学 一种卫星网络中跨层拥塞控制方法
CN103051554A (zh) * 2013-01-05 2013-04-17 北京航空航天大学 基于吞吐量变化率和ecn机制的tcp拥塞控制方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100526187B1 (ko) * 2003-10-18 2005-11-03 삼성전자주식회사 모바일 애드 혹 네트워크 환경에서 최적의 전송율을 찾기위한 조절 방법
CN102694736A (zh) * 2012-06-15 2012-09-26 华为技术有限公司 吞吐率的获取方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101094047A (zh) * 2007-07-06 2007-12-26 中国人民解放军国防科学技术大学 基于网络状态测量的分阶段慢启动传输控制方法
US20090073975A1 (en) * 2007-09-19 2009-03-19 Nec Corporation Communication method and communication device
CN102291389A (zh) * 2011-07-14 2011-12-21 南京邮电大学 一种卫星网络中跨层拥塞控制方法
CN103051554A (zh) * 2013-01-05 2013-04-17 北京航空航天大学 基于吞吐量变化率和ecn机制的tcp拥塞控制方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11178056B2 (en) 2019-04-08 2021-11-16 Electronics And Telecommunications Research Institute Communication method and apparatus for optimizing TCP congestion window

Also Published As

Publication number Publication date
KR101981722B1 (ko) 2019-05-23
CN104378307A (zh) 2015-02-25
KR20170076759A (ko) 2017-07-04
CN104378307B (zh) 2017-11-21

Similar Documents

Publication Publication Date Title
Zhang et al. Will TCP work in mmWave 5G cellular networks?
WO2016065676A1 (zh) 基于吞吐率和丢包控制cwnd的优化方法和系统
CN112165355B (zh) 一种面向卫星网络的基于udp的可靠数据传输方法
EP3761591B1 (en) Tcp link configuration method, apparatus, and computer program product
CN110572333B (zh) 一种带宽探测阶段的发送速率调整方法及拥塞控制算法的实现方法
JP4708978B2 (ja) 高スループットを実現する通信システム、通信端末、セッション中継装置、及び通信プロトコル
Hock et al. TCP LoLa: Congestion control for low latencies and high throughput
CN105049369A (zh) 异构无线网络中基于mptcp的视频传输拥塞控制方法
WO2011137773A1 (zh) 网络丢包处理方法及装置
CN104113884B (zh) 一种无线网络中实时多媒体传输速率控制机制
CN107800638B (zh) 一种拥塞控制方法及装置
CN104683259A (zh) Tcp拥塞控制方法及装置
CN102148662A (zh) 一种数据发送速率的调整方法及装置
WO2019144802A1 (zh) 一种数据的传输方法及其相关设备
CN102711172A (zh) 一种无线网络中改进的tcpw拥塞控制方法
EP2227886B1 (en) Method for managing a data connection and network component
CN107395325B (zh) 一种服务于战术级通信网的自适应估计传输方法
CN105376172A (zh) 一种控制网络拥塞的方法
CN101969432B (zh) 基于随机回退的tcp拥塞窗口的控制方法
CN114710807A (zh) 一种面向5g毫米波通信的卡尔曼滤波动态拥塞控制方法
Abdullah Enhancing the TCP Newreno Fast RecoveryAlgorithm on 5G Networks
Pu et al. Enhancements on router-assisted congestion control for wireless networks
CN105337704B (zh) 报文处理方法及装置
Lu et al. Ts-tcp: Two-stage congestion control algorithm for high concurrency tcps in data center networks
AU2013279937B2 (en) Traffic shaping drive method and driver

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14904844

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 20177014364

Country of ref document: KR

Kind code of ref document: A

122 Ep: pct application non-entry in european phase

Ref document number: 14904844

Country of ref document: EP

Kind code of ref document: A1