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

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

Info

Publication number
CN104378307A
CN104378307A CN201410584462.2A CN201410584462A CN104378307A CN 104378307 A CN104378307 A CN 104378307A CN 201410584462 A CN201410584462 A CN 201410584462A CN 104378307 A CN104378307 A CN 104378307A
Authority
CN
China
Prior art keywords
cwnd
throughput
smooth
level
growth pattern
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.)
Granted
Application number
CN201410584462.2A
Other languages
English (en)
Other versions
CN104378307B (zh
Inventor
庄灏
王永东
童锡鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Light Network Technology Co ltd
Original Assignee
APPEX NETWORKS Corp
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 APPEX NETWORKS Corp filed Critical APPEX NETWORKS Corp
Priority to CN201410584462.2A priority Critical patent/CN104378307B/zh
Priority to PCT/CN2014/091559 priority patent/WO2016065676A1/zh
Priority to KR1020177014364A priority patent/KR101981722B1/ko
Publication of CN104378307A publication Critical patent/CN104378307A/zh
Application granted granted Critical
Publication of CN104378307B publication Critical patent/CN104378307B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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

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之后才能继续发送下一个数据报文,则显然网络不易出现拥塞,但导致发送效率低下。因此,各种TCP CWND算法优化就是要在发送效率和网络拥塞两个因素之间进行平衡,选取最优的CWND值,使得网络吞吐量最大化且防止发生拥塞。
目前现有技术中提出的TCP CWND算法有很多,如NewReno、CUBIC、Westwood、Vegas等。其中的多数是以丢包作为拥塞信号的AIMD(Additive-Increase/Multiplicative-Decrease,加法增大/乘法减小)算法。但Vegas及其派生算法另辟蹊径,以网络时延的增长作为拥塞信号而调整CWND。下面就现有技术中比较典型的几种TCP CWND算法进行介绍。
在互联网中最广泛应用的TCP CWND算法是NewReno和CUBIC。NewReno是最早的TCP CWND算法之一,因为是Windows,BSD,和2.6.19版以前的Linux默认采用的算法而成为使用最广泛的CWND算法。CUBIC在NewReno的基础上做了较大的改动,尤其集中在丢包后如何迅速逼近实际带宽的处理。CUBIC现在是Linux内核2.6.19版以上的默认算法,在Android设备和各种基于Linux的网络设备、服务器、云技术设备等场合应用广泛。
CUBIC是基于丢包的算法。它的出发点在于改进传统的AIMD算法,以便在丢包后CWND能够迅速地收敛到实际带宽的水平。传统的NewReno AIMD算法在丢包后,CWND大约降至丢包前的1/2。之后CWND只能线性增长,因而需要很长时间才能触及实际带宽,尤其是在偶然丢包的情况下。CUBIC对此进行了以下改进:(1)丢包后,CWND按固定比例降低:CWND=β*Wmax(例如Linux内核3.x中β=0.7,高于NewReno的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增长模式为停止。
CN201410584462.2A 2014-10-27 2014-10-27 基于吞吐率和丢包控制cwnd的优化方法和系统 Active CN104378307B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201410584462.2A CN104378307B (zh) 2014-10-27 2014-10-27 基于吞吐率和丢包控制cwnd的优化方法和系统
PCT/CN2014/091559 WO2016065676A1 (zh) 2014-10-27 2014-11-19 基于吞吐率和丢包控制cwnd的优化方法和系统
KR1020177014364A KR101981722B1 (ko) 2014-10-27 2014-11-19 처리율과 패킷 손실에 기반하여 cwnd를 제어하는 최적화 방법과 시스템

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
CN104378307A true CN104378307A (zh) 2015-02-25
CN104378307B CN104378307B (zh) 2017-11-21

Family

ID=52556972

Family Applications (1)

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

Country Status (3)

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

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106230654A (zh) * 2016-07-22 2016-12-14 安徽皖通邮电股份有限公司 一种快速实现rfc2544带背景流下最大吞吐率的方法
CN107231315A (zh) * 2016-03-24 2017-10-03 阿里巴巴集团控股有限公司 一种拥塞控制方法及系统
CN113904989A (zh) * 2021-10-21 2022-01-07 北京理工大学 一种基于NewReno的吞吐率提升方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102096719B1 (ko) * 2018-10-19 2020-05-27 고려대학교 산학협력단 V2g 네트워크에서의 혼잡을 제어하기 위한 혼잡 윈도우의 크기를 설정하는 단말 장치 및 방법
KR102389104B1 (ko) 2019-04-08 2022-04-21 한국전자통신연구원 Tcp 혼잡 윈도우를 최적화하는 통신 장치 및 방법
KR102208856B1 (ko) 2019-10-31 2021-01-27 고려대학교 산학협력단 통신 제어 장치 및 통신 제어 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1610352A (zh) * 2003-10-18 2005-04-27 三星电子株式会社 移动专用网络中调整传输速度以获得最佳传输速度的方法
CN102694736A (zh) * 2012-06-15 2012-09-26 华为技术有限公司 吞吐率的获取方法和装置
CN103051554A (zh) * 2013-01-05 2013-04-17 北京航空航天大学 基于吞吐量变化率和ecn机制的tcp拥塞控制方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101094047A (zh) * 2007-07-06 2007-12-26 中国人民解放军国防科学技术大学 基于网络状态测量的分阶段慢启动传输控制方法
JP5146725B2 (ja) * 2007-09-19 2013-02-20 日本電気株式会社 通信装置および通信方法
CN102291389A (zh) * 2011-07-14 2011-12-21 南京邮电大学 一种卫星网络中跨层拥塞控制方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1610352A (zh) * 2003-10-18 2005-04-27 三星电子株式会社 移动专用网络中调整传输速度以获得最佳传输速度的方法
CN102694736A (zh) * 2012-06-15 2012-09-26 华为技术有限公司 吞吐率的获取方法和装置
CN103051554A (zh) * 2013-01-05 2013-04-17 北京航空航天大学 基于吞吐量变化率和ecn机制的tcp拥塞控制方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王斌: "TCP vegas拥塞控制算法研究", 《广西师范大学硕士毕业论文》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107231315A (zh) * 2016-03-24 2017-10-03 阿里巴巴集团控股有限公司 一种拥塞控制方法及系统
CN106230654A (zh) * 2016-07-22 2016-12-14 安徽皖通邮电股份有限公司 一种快速实现rfc2544带背景流下最大吞吐率的方法
CN113904989A (zh) * 2021-10-21 2022-01-07 北京理工大学 一种基于NewReno的吞吐率提升方法
CN113904989B (zh) * 2021-10-21 2023-11-07 北京理工大学 一种基于NewReno的吞吐率提升方法

Also Published As

Publication number Publication date
CN104378307B (zh) 2017-11-21
KR20170076759A (ko) 2017-07-04
KR101981722B1 (ko) 2019-05-23
WO2016065676A1 (zh) 2016-05-06

Similar Documents

Publication Publication Date Title
CN106789718B (zh) 数据传输的拥塞控制方法、设备、服务器及可编程设备
CN104378307A (zh) 基于吞吐率和丢包控制cwnd的优化方法和系统
CN110572333B (zh) 一种带宽探测阶段的发送速率调整方法及拥塞控制算法的实现方法
CN105049369A (zh) 异构无线网络中基于mptcp的视频传输拥塞控制方法
WO2017000719A1 (zh) 一种基于队列时延的拥塞控制方法及装置
CN105471757B (zh) 一种tcp拥塞控制方法及装置
CN110730469B (zh) 一种基于扩展卡尔曼无线网络带宽预测方法及其拥塞控制
CN114157603A (zh) 拥塞控制方法、装置、设备及存储介质
WO2021103706A1 (zh) 控制数据包发送方法、模型训练方法、装置及系统
CN104125159A (zh) 一种拥塞带宽检测方法、拥塞控制方法、装置及系统
JP6301505B2 (ja) 伝送バッファサイズを決定する方法及びデバイス
CN109698925B (zh) 基于数据驱动的实时视频拥塞控制方法及装置
US9432296B2 (en) Systems and methods for initializing packet transfers
CN104202257A (zh) 一种基于带宽估计的卫星网络拥塞控制方法
CN105450441A (zh) 一种基于tcp协议的弱网加速方法和装置
CN105340318B (zh) 传输拥塞的确定方法及装置
WO2024001763A1 (zh) 一种数据传输处理方法、装置、存储介质及电子装置
CN104580006B (zh) 一种移动网络发送速率控制方法、装置及系统
KR20150072512A (ko) 단방향 지연을 제어하는 프레임 전송 방법 및 장치
CN107888508B (zh) 一种基于pc-nc的数控系统及其抗干扰弱实时通讯方法
Koyama et al. Slow start algorithm for mobile broadband networks including delay unrelated to network congestion
JP6805713B2 (ja) 受信トラヒックの高速化装置、高速化方法、および高速化プログラム
US9537778B2 (en) Traffic shaping drive method and driver
CN114363209B (zh) 基于tcp网络的性能探测方法、装置、设备和存储介质
CN115941557B (zh) 基于延时的自适应拥塞控制方法及设备

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220602

Address after: Room 01, block C, No. 101, floor 6, building 24, yard 68, Beiqing Road, Haidian District, Beijing 100094

Patentee after: Beijing Light Network Technology Co.,Ltd.

Address before: Room 601, block C, building 24, yard 68, Beiqing Road, Haidian District, Beijing 102206

Patentee before: BEIJING HUAXIACHUANGTONG TECHNOLOGY Ltd.

CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: Room 01, block C, No. 101, floor 6, building 24, yard 68, Beiqing Road, Haidian District, Beijing 100094

Patentee after: Beijing Light Network Technology Co.,Ltd.

Address before: Room 01, block C, No. 101, floor 6, building 24, yard 68, Beiqing Road, Haidian District, Beijing 100094

Patentee before: Beijing Light Network Technology Co.,Ltd.