CN107800642A - 一种拥塞控制方法及装置 - Google Patents

一种拥塞控制方法及装置 Download PDF

Info

Publication number
CN107800642A
CN107800642A CN201610793016.1A CN201610793016A CN107800642A CN 107800642 A CN107800642 A CN 107800642A CN 201610793016 A CN201610793016 A CN 201610793016A CN 107800642 A CN107800642 A CN 107800642A
Authority
CN
China
Prior art keywords
network bandwidth
congestion
current
congestion window
estimated value
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.)
Pending
Application number
CN201610793016.1A
Other languages
English (en)
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 Kingsoft Cloud Network Technology Co Ltd
Beijing Kingsoft Cloud Technology Co Ltd
Original Assignee
Beijing Kingsoft Cloud Network Technology Co Ltd
Beijing Kingsoft Cloud Technology Co Ltd
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 Beijing Kingsoft Cloud Network Technology Co Ltd, Beijing Kingsoft Cloud Technology Co Ltd filed Critical Beijing Kingsoft Cloud Network Technology Co Ltd
Priority to CN201610793016.1A priority Critical patent/CN107800642A/zh
Publication of CN107800642A publication Critical patent/CN107800642A/zh
Pending legal-status Critical Current

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
    • 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/37Slow start

Abstract

本发明实施例公开了一种拥塞控制方法及装置。该方法包括:基于当前时刻前预设时长内发送的数据量,确定当前网络带宽估算值;判断是否发生网络拥塞;如果是,基于当前时刻的RTT值以及当前网络带宽估算值,更新慢启动阈值;将更新后的慢启动阈值作为拥塞窗口大小的初始值,按照预设的拥塞窗口增长算法,调整拥塞窗口大小;基于调整后的所述拥塞窗口大小,发送数据包。应用本发明提供的方案,当出现网络拥塞现象时,发送端就会基于当前时刻的RTT值以及当前网络带宽估算值,调整拥塞窗口和慢启动阈值,即在调整慢启动阈值以及拥塞窗口时充分考虑当前的网络带宽,进而充分利用了当前网络带宽资源,实现TCP加速。

Description

一种拥塞控制方法及装置
技术领域
本发明涉及计算机技术领域领域,特别涉及一种拥塞控制方法及装置。
背景技术
拥塞现象是指到达通信子网中某一部分的分组数量过多,使得该部分网络来不及处理,以致引起这部分乃至整个网络性能下降的现象。拥塞现象发生的主要原因在于网络能够提供的资源不足以满足用户的需求,这些资源包括缓存空间、链路带宽容量和中间节点的处理能力。TCP(Transmission Control Protocol,传输控制协议)作为互联网上使用最广泛的端到端传输协议,其对应的拥塞控制机制对于网络的整体性能有着十分重要的意义。TCP拥塞控制主要原理依赖于一个拥塞窗口来控制,拥塞窗口指源端在拥塞控制情况下一次最多能发送的数据包的数量。
基于TCP传输数据时,拥塞窗口的控制首先会进入慢启动阶段,拥塞窗口值乘法增长,拥塞窗口增长的速度较快;为了防止拥塞窗口增长过快,TCP拥塞控制中还设置了当前网络可能发生拥塞的阈值,称之为慢启动阈值或门限值,当拥塞窗口增长到当前的慢启动阈值时,就会进入拥塞避免阶段,此时拥塞窗口加法增长,拥塞窗口增长的速度缓慢。而现有技术中,当发生网络拥塞时,首先会重置慢启动阈值为小于当前拥塞窗口的任一值,例如,常见的将慢启动阈值重置为发生拥塞时的拥塞窗口大小的一半;然后,控制拥塞窗口至该重置后的慢启动阈值,直接进入到拥塞避免阶段来控制拥塞窗口的增长。
但是,现有技术中,在发生网络拥塞时,慢启动阈值的重置并没有充分考虑发生拥塞时网络性能,重置的慢启动阈值过小,就不能充分利用当前的网络资源,造成网络资源的浪费。
发明内容
本发明实施例公开了一种拥塞控制方法及装置,以在调整慢启动阈值以及拥塞窗口时充分考虑当前的网络带宽,进而充分利用当前网络资源。技术方案如下:
为达上述目的,第一方面,本发明实施例提供了一种拥塞控制方法,所述方法包括:
基于当前时刻前预设时长内发送的数据量,确定当前网络带宽估算值;
判断是否发生网络拥塞;
如果是,基于当前时刻的RTT值以及所述当前网络带宽估算值,更新慢启动阈值;
将更新后的所述慢启动阈值作为拥塞窗口大小的初始值,按照预设的拥塞窗口增长算法,调整所述拥塞窗口大小;
基于调整后的所述拥塞窗口大小,发送数据包。
优选的,所述基于当前时刻前预设时长内发送的数据量,确定当前网络带宽估算值,包括:
按照预设的时间间隔,基于当前时刻前预设时长内发送的数据量,测量当前时刻的网络带宽测量值;
根据所述网络带宽测量值和目标时刻对应的网络带宽估算值,确定当前网络带宽估算值,其中,所述目标时刻为:当前时刻之前,距离当前时刻为所述预设时间间隔的时刻。
优选的,所述根据所述网络带宽测量值和目标时刻对应的网络带宽估算值,确定当前网络带宽估算值,包括:
基于以下公式确定当前网络带宽估算值:
Bk=X*Bk-1+(1-X)*A,
式中,Bk表示所述当前网络带宽估算值,X表示预设的权重,0≤X<1,Bk-1表示目标时刻对应的网络带宽估算值,A表示所述网络带宽测量值。
优选的,所述判断是否发生网络拥塞,包括:
判断连续丢包数量是否大于第一预设阈值,如果是,判定发生网络拥塞。
优选的,所述判断是否发生网络拥塞,包括:
判断是否满足条件:连续丢包数量大于第一预设阈值,且期望吞吐量与实际吞吐量的差值大于第二预设阈值,如果是,判定发生网络拥塞。
优选的,所述将更新后的所述慢启动阈值作为拥塞窗口大小的初始值,按照预设的拥塞窗口增长算法,调整所述拥塞窗口大小,包括:
将更新后的所述慢启动阈值作为拥塞窗口大小的初始值,按照如下公式,调整所述拥塞窗口大小:
W(t)=C*(t-K)3+Wmax;
式中,C表示预设的常量,t表示当前时刻发生网络拥塞后,距离当前时刻的时长,W表示当前重置后的网络窗口的大小,W(t)表示时长t对应的时刻的拥塞窗口的大小,Wmax为当前发生网络拥塞时的拥塞窗口大小。
优选的,所述基于当前时刻的RTT值以及所述当前网络带宽估算值,更新慢启动阈值,包括:
按照如下公式,更新慢启动阈值:
S=Bk*RTTC/MSS;
式中,S表示慢启动阈值,RTTC表示当前时刻的RTT值,MSS表示对应TCP连接的最大报文段长度。
第二方面,本发明实施例提供了一种拥塞控制装置,所述装置包括:
确定模块,用于基于当前时刻前预设时长内发送的数据量,确定当前网络带宽估算值;
判断模块,用于判断是否发生网络拥塞;
更新模块,用于在所述判断模块的判断结果为是的情况下,基于当前时刻的RTT值以及所述当前网络带宽估算值,更新慢启动阈值;
调整模块,用于将更新后的所述慢启动阈值作为拥塞窗口大小的初始值,按照预设的拥塞窗口增长算法,调整所述拥塞窗口大小;
发送模块,用于基于调整后的所述拥塞窗口大小,发送数据包。
优选的,所述确定模块,包括:
测量单元,用于按照预设的时间间隔,基于当前时刻前预设时长内发送的数据量,测量当前时刻的网络带宽测量值;
确定单元,用于根据所述网络带宽测量值和目标时刻对应的网络带宽估算值,确定当前网络带宽估算值,其中,所述目标时刻为:当前时刻之前,距离当前时刻为所述预设时间间隔的时刻。
优选的,所述确定单元,具体用于:
基于以下公式确定当前网络带宽估算值:
Bk=X*Bk-1+(1-X)*A,
式中,Bk表示所述当前网络带宽估算值,X表示预设的权重,0≤X<1,Bk-1表示目标时刻对应的网络带宽估算值,A表示所述网络带宽测量值。
优选的,所述判断模块,具体用于:
判断连续丢包数量是否大于第一预设阈值;如果是,判定发生网络拥塞。
优选的,所述判断模块,具体用于:
判断是否满足条件:连续丢包数量是否第一预设阈值,且期望吞吐量与实际吞吐量的差值大于第二预设阈值;如果是,判定发生网络拥塞。
优选的,所述调整模块,具体用于:
将更新后的所述慢启动阈值作为拥塞窗口大小的初始值,按照如下公式,调整所述拥塞窗口大小:
W(t)=C*(t-K)3+Wmax;
式中,C表示预设的常量,t表示当前时刻发生网络拥塞后,距离当前时刻的时长,W表示当前重置后的网络窗口的大小,W(t)表示时长t对应的时刻的拥塞窗口的大小,Wmax为当前发生网络拥塞时的拥塞窗口大小。
优选的,所述更新模块,具体用于:
按照如下公式,更新慢启动阈值:
S=Bk*RTTC/MSS;
式中,S表示慢启动阈值,RTTC表示当前时刻的RTT值,MSS表示对应TCP连接的最大报文段长度。
由以上可见,在本发明实施例提供的方案中,基于当前时刻前预设时长内发送的数据量,确定当前网络带宽估算值;判断是否发生网络拥塞;如果是,基于当前时刻的RTT值以及所述当前网络带宽估算值,更新慢启动阈值;将更新后的所述慢启动阈值作为拥塞窗口大小的初始值,按照预设的拥塞窗口增长算法,调整所述拥塞窗口大小;基于调整后的所述拥塞窗口大小,发送数据包。与现有技术相比,本发明实施例提供的方案中,TCP连接过程中,针对发送端,一旦出现网络拥塞现象,就会基于当前时刻的RTT值以及当前网络带宽估算值,调整拥塞窗口和慢启动阈值,即在调整慢启动阈值以及拥塞窗口时充分考虑当前的网络带宽,调整后拥塞窗口的增长直接从拥塞避免阶段开始,进而充分利用了当前网络带宽资源,实现TCP加速。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种拥塞控制方法的第一种流程示意图;
图2为应用本发明实施例提供的拥塞窗口控制公式时的拥塞窗口增长示意图;
图3为本发明实施例提供的一种拥塞控制方法的第二种流程示意图;
图4为本发明实施例提供的一种拥塞控制方法的第三种流程示意图;
图5为本发明实施例提供的一种拥塞控制方法的第四种流程示意图;
图6为本发明实施例提供的一种拥塞控制装置的第一种结构示意图;
图7为本发明实施例提供的一种拥塞控制装置的第二种结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面,首先对本申请文件中涉及到的技术术语进行简单介绍。
TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议,当前互联网90%以上的数据传输使用TCP协议,TCP作为互联网上使用最广泛的端到端传输协议,其对应的拥塞控制机制对于网络的整体性能有着十分重要的意义。TCP拥塞控制主要依赖于一个拥塞窗口,拥塞窗口指源端在拥塞控制情况下一次最多能发送的数据包的数量。
TCP加速:指的是通过一组优化技术,使TCP在通过Internet(互联网)传输数据时的性能更好,同时不需要修改具体应用。目前对TCP加速有强烈需求的是互联网、CDN(Content Delivery Network,内容分发网络)企业以及专门提供TCP加速服务的公司。
现有技术中,TCP加速技术从实现方式上主要分为两种:TCP双边加速和TCP单边加速。
TCP双边加速,指通过TCP代理的方式实现。在client端(客户端)和server端(服务端)分别部署TCP代理,TCP代理之间实现TCP传输的优化,这种优化方式适合TCP长肥管道,多用于数据中心之间的专线传输。
TCP单边加速,意味着可以只在TCP的一端部署软件或设备,达到提升TCP性能的目标。例如,TCP协议栈优化,通过对TCP协议栈的修改实现TCP加速,由于linux(一种操作系统)内核在互联网服务器的广泛应用和开源特性,现有的TCP协议栈优化基本都是针对linux协议栈进行修改优化。
另外,除了采用TCP加速技术,为了提升网络的传输性能,现有技术中还提出:开发新协议来替代TCP,新协议替换的主要思路是对UDP(User DatagramProtocol,用户数据报协议)做二次开发,在加入可靠性传输的基础上,通过实现更加有效的拥塞控制算法,从而达到比TCP更好的传输效果。这种开发新协议的方式的好处在于对新协议的定制化好,没有TCP的历史包袱。
应该说明,此处所指的TCP的历史包袱是指:TCP传输出现网络拥塞现象时,会将拥塞窗口重置为一个较小的值,例如直接重置为1。
对比上述3种提升网络数据传输性能的方式:
对于开发新协议的方式,替换TCP还为时尚早,因为当前互联网90%以上的应用还是使用TCP协议,新的协议在没有一个标准规范之前很难被大家接受,同时新协议的开发和维护成本较高。
对于TCP双边加速,由于首先需要部署专用的设备,这些设备部署复杂成本较高,其次这种TCP加速技术适合TCP长肥管道,更适合IDC(互联网数据中心)之间的数据专线。而互联网应用网络状况千差万别,访问方式又各不相同,双边加速很难做到适应各种场景。
相比较而言,目前多数CDN企业和互联网企业都更愿意接受TCP单边加速。例如TCP协议栈优化,这种TCP协议栈优化是通过纯软件即可实现,成本低,部署简单,比如PRR(Proportional Rate Reduction,Google提出的一种拥塞控制改进算法)、zeta-tcp(国内企业提供的一种拥塞控制改进算法)。
对于TCP传输中的拥塞控制,如上所述,源端即数据发送端维持一个叫做拥塞窗口(cwnd,congestion window)的状态变量。拥塞窗口的大小取决于网络的拥塞程度,并且动态地在变化,应该强调的是,拥塞窗口的大小可以是以字节为单位的。
现有技术中,最开始建立TCP连接的时候,发送端进入慢启动阶段,慢启动阶段中,拥塞窗口从一个较小的值逐渐增长至预先设置的慢启动阈值;当拥塞窗口增长到当前的慢启动阈值后,发送端进入拥塞避免阶段,拥塞窗口缓慢增长,本领域技术人员公知的是,在慢启动阶段中,拥塞窗口的增长速度要大于拥塞窗口在拥塞避免阶段的增长速度。
当TCP发送端检测到网络拥塞时,会将拥塞窗口重置为发生拥塞现象时的拥塞窗口大小与一比例值的乘积,当然该比例值小于1且大于0。在现有技术中,当TCP发送端检测发现端到端的路径无拥塞现象时,会线性的增加拥塞窗口,当TCP发送端检测发现端到端的路径存在拥塞现象时,会乘性的减小拥塞窗口,即拥塞控制的AIMD(Additive IncreaseMultiplicative Decrease;和式增加,积式减少)特性。
下面从与最接近的现有技术进行对比的角度对本发明进行详细介绍。
在现有技术中,随着拥塞控制技术的发展,拥塞控制领域出现了快重传和快恢复算法,当发送端发现发生网络拥塞时,会将拥塞窗口重置为发生拥塞现象时的拥塞窗口大小与一比例值的乘积,例如将拥塞窗口重置为发生拥塞现象时的拥塞窗口大小的一半,另外,直接将上述慢启动阈值设置为重置后的拥塞窗口,这样使得重置拥塞窗口后,拥塞窗口的增长直接从拥塞避免阶段开始。
由以上可见,现有技术中,当发生网络拥塞时,拥塞窗口和慢启动阈值的设置比较随意,缺乏对不同网络的适应性,如果重新设置的拥塞窗口过高,则可能在重置拥塞窗口后仍然存在拥塞现象,如果重新设置的拥塞窗口过低,则不能充分利用当前网络的带宽资源,造成带宽资源的浪费,传输速率低,影响TCP传输性能。
应用本发明实施例提供的拥塞控制方法,首先基于当前时刻前预设时长内发送的数据量,确定当前网络带宽估算值;判断是否发生网络拥塞;如果是,基于当前时刻的RTT值以及当前网络带宽估算值,更新慢启动阈值;将更新后的慢启动阈值作为拥塞窗口大小的初始值,按照预设的拥塞窗口增长算法,调整拥塞窗口大小;基于调整后的拥塞窗口大小,发送数据包。
可见在本发明实施例提供的方案中,一旦出现网络拥塞现象,就会基于当前时刻的RTT值以及当前网络带宽估算值,调整拥塞窗口和慢启动阈值,即在调整慢启动阈值以及拥塞窗口时充分考虑当前的网络带宽,调整后拥塞窗口的增长直接从拥塞避免阶段开始,进而充分利用了当前网络带宽资源,实现TCP加速。
而且,本发明实施例提供的方案属于上述属于TCP协议栈优化技术,完全基于诸如linux等系统内核拥塞控制算法的模块框架开发,可以以模块的形式热加载,无需对系统内核源码修改,而且对上层应用无影响。本发明实施例提供的方案同时沿用了TCP拥塞控制窗口的AIMD特性,兼顾了TCP协议的公平性。
下面再通过具体实施例对本发明进行详细介绍。
应该说明的是,本发明实施实施例提供的方案可以应用于linux操作系统、UNIX(尤尼斯)操作系统以及其它的类UNIX操作系统,本发明实施例中为了方便说明,下文以linux操作系统为例,对本发明的方案进行详细介绍。
图1为本发明实施例提供的一种拥塞控制方法的第一种流程示意图,该方法应用于数据包的发送端,该方法包括:
S101:基于当前时刻前预设时长内发送的数据量,确定当前网络带宽估算值。
由于网络的带宽并非是稳定不变的,例如在移动网络或无线网络中,带宽变化较快,而且变化量较大,所以在本发明实施例中,从TCP连接建立后,就可以实时地检测当前网络带宽估算值,例如,发送端每接收到接收端返回的一个ACK(Acknowledgement,确认字符),就实时确定一次当前网络带宽估算值,或者每个RTT(Round-Trip Time,往返时延)内确定一次当前网络带宽估算值。
假设在某一时刻T,发送端需要确定网络带宽估算值,则可以从在该时刻T前并且距离该时刻T预设时长的时刻T’开始,统计从时刻T’到时刻T,发送端发送的数据量或者数据包的个数,例如,该预设时长为a,发送端在该时长a内发送了b个数据包,则当前G网络带宽估算值可以为b/a,其中,b的数值可以对应为ACK确认的报文长度,或者是总数据量,例如100M。
S102:判断是否发生网络拥塞。
应该说明,此处所述判断是否发生网络拥塞(S102)也是实时进行的。
当前主流的拥塞现象的判断方法分为丢包判断方法和延时判断方法。两种方法都有其理论依据,适用场景不同。具体的,判断是否发生网络拥塞可以通过现有技术实现,本发明实施例在此不做详细介绍。
在上述判断是否发生网络拥塞(S102)的判断结果为是的情况下,执行S103:基于当前时刻的RTT值以及当前网络带宽估算值,更新慢启动阈值。
如上所述,确定当前网络带宽估算值是实时进行的,也就是说,每间隔一段时间,进行一次确定当前网络带宽估算值的操作,所以当发生网络拥塞时,基于当前时刻的RTT值以及当前网络带宽估算值,更新慢启动阈值(S103),表示基于当前时刻的RTT值以及最接近此时刻确定的当前网络带宽估算值,更新该慢启动阈值。
例如,发送端在进行第K次确定当前网络带宽估算值的操作后,网络中出现拥塞现象,此时发送端还没有进行第K+1次确定当前网络带宽估算值的操作,显然的,此时应基于当前时刻的RTT值以及第K次确定的当前网络带宽估算值,更新该慢启动阈值。
在本发明实施例中,为了使更新后的慢启动阈值能够充分利用当前的网络带宽,进而充分利用当前网络资源,上述基于当前时刻的RTT值以及当前网络带宽估算值,更新慢启动阈值(S103),可以包括:
按照如下公式,更新慢启动阈值:
S=Bk*RTTC/MSS;
式中,S表示慢启动阈值,RTTC表示当前时刻的RTT值,MSS表示对应TCP连接的最大报文段长度。
本领域技术人员公知的是,自建立TCP连接开始,对应该TCP连接的RTT值会不断变化,系统内核会对RTT值不断的进行估算,所以在本发明实施例中,对应该发送端的TCP连接建立后,当发生网络拥塞现象时,发送端可以直接从系统内核获取最新更新的RTT值为上述当前时刻的RTT值。
另外,慢启动阈值以及拥塞窗口的单位一般为MSS,MSS表示对应TCP连接的最大报文段长度,例如,在现有技术中,对于不同的TCP连接,设定的MSS的大小也不相同。
例如:本发明实施例中发送端对应的TCP连接中设定的MSS值为536字节(byte),假设当前网络带宽估算值为1000kb/s,当前的RTT值为0.01s,通过慢启动阈值的计算公式,可以计算出此时的慢启动阈值为:19。
S104:将更新后的慢启动阈值作为拥塞窗口大小的初始值,按照预设的拥塞窗口增长算法,调整拥塞窗口大小。
可以理解,步骤S103已对慢启动阈值进行了重置更新,此时再将拥塞窗口设置为更新后的慢启动阈值,可以使得拥塞窗口的增长直接从拥塞避免阶段开始增长。
本发明实施例中,上述将更新后的慢启动阈值作为拥塞窗口大小的初始值,按照预设的拥塞窗口增长算法,调整拥塞窗口大小(S104),可以包括:
将更新后的慢启动阈值作为拥塞窗口大小的初始值,按照如下公式,调整拥塞窗口大小:
W(t)=C*(t-K)3+Wmax;
式中,C表示预设的常量,t表示当前时刻发生网络拥塞后,距离当前时刻的时长,W表示当前重置后的网络窗口的大小,W(t)表示时长t对应的时刻的拥塞窗口的大小,Wmax为当前发生网络拥塞时的拥塞窗口大小。
按照上述调整拥塞窗口大小的公式调整拥塞窗口时,拥塞窗口的增长曲线如图2所示,图中的“Steady State Behavior”以及“Max Probing”分别对应拥塞窗口的快速恢复过程以及最大拥塞窗口的探测过程,图中,从左至右表示时间的进度方向,从下至上,越往上拥塞窗口的值越大。如图,拥塞窗口重置后,拥塞窗口可以很快接近接近Wmax,拥塞窗口增长快,而且拥塞窗口可以在Wmax附近维持一段时间,保证拥塞窗口的稳定,当带宽变化需要再次探测拥塞窗口的时候,发送端又能很快探测到新的带宽上限。
S105:基于调整后的拥塞窗口大小,发送数据包。
应该说明的是,重置后的拥塞窗口会按照预设的窗口增长算法变化,所以此处可以理解为:发送端基于不断变化的拥塞窗口,发送数据包。
可以理解,目前linux系统中拥塞控制算法都是以模块的形式存在的,通过在linux内核中设置hook(钩子)点来实现对拥塞窗口的控制。本发明提供的方案同样可以以模块的形式存在,这样做方便拥塞控制算法的配置、更新以及开发和调试。另一方面,模块方式的拥塞控制算法,可以方便地部署于其他linux内核之上。
由以上可见,在本发明实施例提供的方案中,基于当前时刻前预设时长内发送的数据量,确定当前网络带宽估算值;判断是否发生网络拥塞;如果是,基于当前时刻的RTT值以及所述当前网络带宽估算值,更新慢启动阈值;将更新后的所述慢启动阈值作为拥塞窗口大小的初始值,按照预设的拥塞窗口增长算法,调整所述拥塞窗口大小;基于调整后的所述拥塞窗口大小,发送数据包。与现有技术相比,本发明实施例提供的方案中,TCP连接过程中,针对发送端,一旦出现网络拥塞现象,就会基于当前时刻的RTT值以及当前网络带宽估算值,调整拥塞窗口和慢启动阈值,即在调整慢启动阈值以及拥塞窗口时充分考虑当前的网络带宽,调整后拥塞窗口的增长直接从拥塞避免阶段开始,进而充分利用了当前网络带宽资源,实现TCP加速。
图3为本发明实施例提供的一种拥塞控制方法的第二种流程示意图,如图,上述基于当前时刻前预设时长内发送的数据量,确定当前网络带宽估算值(S101),可以包括:
S1011:按照预设的时间间隔,基于当前时刻前预设时长内发送的数据量,测量当前时刻的网络带宽测量值。
在本发明实施例中,此处的预设的时间间隔可以是一个定值,例如,时间间隔固定为1秒,每间隔1秒的时间,测量一次当前时刻的网络带宽测量值;另外,该预设的时间间隔也可以是变量,例如使用对应于发送端的RTT值。
S1012:根据网络带宽测量值和目标时刻对应的网络带宽估算值,确定当前网络带宽估算值,其中,目标时刻为:当前时刻之前,距离当前时刻为预设时间间隔的时刻。
在实际的应用过程中,网络的带宽会出现一些异常的突变现象,例如,网络带宽突然变的很小或者突然变的很大,为了排除这些异常的情况对当前网络带宽估算值的影响,在本发明实施例中,可以对当前网络带宽估算值进行平滑处理,即综合考虑上述当前的网络带宽测量值和上述目标时刻对应的网络带宽估算值。
应该强调的是,在TCP连接建立后,第一次进行确定当前网络带宽估算值的时候,直接确定当前网络带宽估算值等于当前的网络带宽测量值。
在本发明实施例中,上述根据网络带宽测量值和目标时刻对应的网络带宽估算值,确定当前网络带宽估算值(S1012),可以包括:
基于以下公式确定当前网络带宽估算值:
Bk=X*Bk-1+(1-X)*A,
式中,Bk表示当前网络带宽估算值,X表示预设的权重,0≤X<1,Bk-1表示目标时刻对应的网络带宽估算值,A表示网络带宽测量值。
可以理解,为了实现上述对当前网络带宽估算值进行平滑处理的目的,上述确定当前网络带宽估算值所采用的公式表明:基于不同的权重,加权目标时刻对应的网络带宽估算值以及当前时刻的网络带宽测量值,即可获得当前网络带宽估算值。
例如,当上述X的取值为0.875时,对于第一次进行确定当前网络带宽估算值的时候:
Bk=A;
在第一次进行确定当前网络带宽估算值后,基于以下公式确定当前网络带宽估算值:
Bk=0.875Bk-1+0.125A。
由以上可见,在本发明实施例提供的方案中,基于当前时刻前预设时长内发送的数据量,确定当前网络带宽估算值;判断是否发生网络拥塞;如果是,基于当前时刻的RTT值以及所述当前网络带宽估算值,更新慢启动阈值;将更新后的所述慢启动阈值作为拥塞窗口大小的初始值,按照预设的拥塞窗口增长算法,调整所述拥塞窗口大小;基于调整后的所述拥塞窗口大小,发送数据包。与现有技术相比,本发明实施例提供的方案中,TCP连接过程中,针对发送端,一旦出现网络拥塞现象,就会基于当前时刻的RTT值以及当前网络带宽估算值,调整拥塞窗口和慢启动阈值,即在调整慢启动阈值以及拥塞窗口时充分考虑当前的网络带宽,调整后拥塞窗口的增长直接从拥塞避免阶段开始,进而充分利用了当前网络带宽资源,实现TCP加速。
另外,在本发明实施例中,确定当前网络带宽估算值时,结合了当前的网络带宽测量值和前述目标时刻对应的网络带宽估算值,减小了网络带宽异常突变对当前网络带宽估算值的确定结果产生的影响。
如上所述,拥塞现象的判断可以基于现有技术,但是,对于移动网络等丢包现象较为常见的网络,如果一旦出现丢包就重置拥塞窗口,有可能由于该丢包现象就是网络中的随机丢包,造成系统错误地判读网络出现拥塞现象,以致影响TCP传输速率。所以,本发明所提供的方案为了更准确地对网络拥塞做出判断,如图4所示的一种拥塞控制方法的第三种流程示意图,上述判断是否发生网络拥塞(S102),可以是:
S1021:判断连续丢包数量是否大于第一预设阈值。如果是,判定发生网络拥塞。
可以理解,无线网络、移动网络等网络中,发送端发往对端的数据包发生丢包的可能性较大,但是,大多数情况下,网络中的丢包现象属于随机丢包,并不是因为拥塞现象而出现的拥塞丢包,所以此时可以通过判断连续丢包的数量来判断是否发生网络拥塞。例如,设定该第一阈值为5个,则当发送端连续丢包的数量超过5个时,则可以判定发生网络拥塞现象。
具体的,连续丢包数的计数可以在系统内核TCP协议栈中实现,该计数方法为现有技术,本发明实施例在此不做详细介绍。
为了进一步地对网络拥塞做出准确判断,如图5所示的一种拥塞控制方法的第四种流程示意图,上述判断是否发生网络拥塞(S102),可以是:
S1022:判断是否满足条件:连续丢包数量大于第一预设阈值,且期望吞吐量与实际吞吐量的差值大于第二预设阈值。如果是,判定发生网络拥塞。
本领域技术人员公知的是,期望吞吐量与实际吞吐量的差值表征的是网络的延时变化,该差值越大,表示网络延时越大。另外,期望吞吐量与实际吞吐量的差值可通过如下公式计算:
N=(cwnd/BaseRTT–cwnd/RTT’)*BaseRTT
式中,N表示期望吞吐量与实际吞吐量的差值,cwnd表示计算该差值时的拥塞窗口的大小,BaseRTT代表连接发送端和接收端的路由器上没有缓存的情况下,数据包的RTT值,RTT’为距离计算该差值的时刻前最近一次确认的RTT的测量值。
应该说明的是,BaseRTT和RTT’的更新在每次收到ACK并且完成当前的RTT计算之后记录。由于丢包的判断可以依据丢包之后的RTT的变化,因此在TCP连接开始时,就需要开启上述N值的更新计算,在TCP连接重置时需要重新开启上述N值的更新计算。
当然,上述期望吞吐量与实际吞吐量的差值的计算可以采用现有技术完成,本发明在此不做详细介绍。
由以上可见,在本发明实施例提供的方案中,基于当前时刻前预设时长内发送的数据量,确定当前网络带宽估算值;判断是否发生网络拥塞;如果是,基于当前时刻的RTT值以及所述当前网络带宽估算值,更新慢启动阈值;将更新后的所述慢启动阈值作为拥塞窗口大小的初始值,按照预设的拥塞窗口增长算法,调整所述拥塞窗口大小;基于调整后的所述拥塞窗口大小,发送数据包。与现有技术相比,本发明实施例提供的方案中,TCP连接过程中,针对发送端,一旦出现网络拥塞现象,就会基于当前时刻的RTT值以及当前网络带宽估算值,调整拥塞窗口和慢启动阈值,即在调整慢启动阈值以及拥塞窗口时充分考虑当前的网络带宽,调整后拥塞窗口的增长直接从拥塞避免阶段开始,进而充分利用了当前网络带宽资源,实现TCP加速。
下面通过一个具体实例对本发明进行简单介绍。
在一个TCP连接关系中,发送端每间隔一个RTT进行一次确定当前带宽估算值的操作,并且实时地统计连续丢包数量以及期望吞吐量和同实际吞吐量的差值。假设上述第一预设阈值和第二预设阈值均为5。
假设某一时刻t1,发送端基于公式Bk=0.75Bk-1+0.25A确定当前网络带宽估算值为x,在时刻t2,发送端发现连续丢包数量为6个,期望吞吐量与实际吞吐量的差值为6个报文段,则此时发送端判定发生网络拥塞,此时的拥塞窗口为W1。
假设从时刻t1到时刻t2,发送端没有进行下一次的确定当前网络带宽估算值的操作,则此时基于上述公式S=Bk*RTTC/MSS,确定更新后的慢启动阈值为y,同时将更新后的慢启动阈值y作为拥塞窗口大小的初始值,按照拥塞窗口增长公式:W(t)=C*(t-K)3+W1,调整拥塞窗口大小,然后发送端基于该调整后的拥塞窗口大小,发送数据包即可。
对应于图1所示的方法实施例,本发明还提供了一种拥塞控制装置,如图6所示的一种拥塞控制装置的第一种结构示意图,所述装置包括:
确定模块110,用于基于当前时刻前预设时长内发送的数据量,确定当前网络带宽估算值;
判断模块120,用于判断是否发生网络拥塞;
更新模块130,用于在所述判断模块的判断结果为是的情况下,基于当前时刻的RTT值以及所述当前网络带宽估算值,更新慢启动阈值;
调整模块140,用于将更新后的所述慢启动阈值作为拥塞窗口大小的初始值,按照预设的拥塞窗口增长算法,调整所述拥塞窗口大小;
发送模块150,用于基于调整后的所述拥塞窗口大小,发送数据包。
具体的,在本发明的第一种实现方式中,所述判断模块120,具体用于:
判断连续丢包数量是否大于第一预设阈值;如果是,判定发生网络拥塞。
具体的,在本发明的第二种实现方式中,所述判断模块120,具体用于:
判断是否满足条件:连续丢包数量大于第一预设阈值,且期望吞吐量与实际吞吐量的差值大于第二预设阈值;如果是,判定发生网络拥塞。
具体的,所述调整模块140,具体用于:
将更新后的所述慢启动阈值作为拥塞窗口大小的初始值,按照如下公式,调整所述拥塞窗口大小:
W(t)=C*(t-K)3+Wmax;
式中,C表示预设的常量,t表示当前时刻发生网络拥塞后,距离当前时刻的时长,W表示当前重置后的网络窗口的大小,W(t)表示时长t对应的时刻的拥塞窗口的大小,Wmax为当前发生网络拥塞时的拥塞窗口大小。
具体的,所述更新模块130,具体用于:
按照如下公式,更新慢启动阈值:
S=Bk*RTTC/MSS;
式中,S表示慢启动阈值,RTTC表示当前时刻的RTT值,MSS表示对应TCP连接的最大报文段长度。
由以上可见,在本发明实施例提供的方案中,基于当前时刻前预设时长内发送的数据量,确定当前网络带宽估算值;判断是否发生网络拥塞;如果是,基于当前时刻的RTT值以及所述当前网络带宽估算值,更新慢启动阈值;将更新后的所述慢启动阈值作为拥塞窗口大小的初始值,按照预设的拥塞窗口增长算法,调整所述拥塞窗口大小;基于调整后的所述拥塞窗口大小,发送数据包。与现有技术相比,本发明实施例提供的方案中,TCP连接过程中,针对发送端,一旦出现网络拥塞现象,就会基于当前时刻的RTT值以及当前网络带宽估算值,调整拥塞窗口和慢启动阈值,即在调整慢启动阈值以及拥塞窗口时充分考虑当前的网络带宽,调整后拥塞窗口的增长直接从拥塞避免阶段开始,进而充分利用了当前网络带宽资源,实现TCP加速。
对应于图3所示的方法实施例,如图7所示的一种拥塞控制装置的第二种结构示意图,所述确定模块110,可以包括:
测量单元1101,用于按照预设的时间间隔,基于当前时刻前预设时长内发送的数据量,测量当前时刻的网络带宽测量值;
确定单元1102,用于根据所述网络带宽测量值和目标时刻对应的网络带宽估算值,确定当前网络带宽估算值,其中,所述目标时刻为:当前时刻之前,距离当前时刻为所述预设时间间隔的时刻。
具体的,所述确定单元1102,具体用于:
基于以下公式确定当前网络带宽估算值:
Bk=X*Bk-1+(1-X)*A,
式中,Bk表示所述当前网络带宽估算值,X表示预设的权重,0≤X<1,Bk-1表示目标时刻对应的网络带宽估算值,A表示所述网络带宽测量值。
由以上可见,在本发明实施例提供的方案中,基于当前时刻前预设时长内发送的数据量,确定当前网络带宽估算值;判断是否发生网络拥塞;如果是,基于当前时刻的RTT值以及所述当前网络带宽估算值,更新慢启动阈值;将更新后的所述慢启动阈值作为拥塞窗口大小的初始值,按照预设的拥塞窗口增长算法,调整所述拥塞窗口大小;基于调整后的所述拥塞窗口大小,发送数据包。与现有技术相比,本发明实施例提供的方案中,TCP连接过程中,针对发送端,一旦出现网络拥塞现象,就会基于当前时刻的RTT值以及当前网络带宽估算值,调整拥塞窗口和慢启动阈值,即在调整慢启动阈值以及拥塞窗口时充分考虑当前的网络带宽,调整后拥塞窗口的增长直接从拥塞避免阶段开始,进而充分利用了当前网络带宽资源,实现TCP加速。
另外,在本发明实施例中,确定当前网络带宽估算值时,结合了当前的网络带宽测量值和前述目标时刻对应的网络带宽估算值,减小了网络带宽异常突变对当前网络带宽估算值的确定结果产生的影响。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:ROM/RAM、磁碟、光盘等。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (14)

1.一种拥塞控制方法,其特征在于,所述方法包括:
基于当前时刻前预设时长内发送的数据量,确定当前网络带宽估算值;
判断是否发生网络拥塞;
如果是,基于当前时刻的RTT值以及所述当前网络带宽估算值,更新慢启动阈值;
将更新后的所述慢启动阈值作为拥塞窗口大小的初始值,按照预设的拥塞窗口增长算法,调整所述拥塞窗口大小;
基于调整后的所述拥塞窗口大小,发送数据包。
2.根据权利要求1所述的方法,其特征在于,所述基于当前时刻前预设时长内发送的数据量,确定当前网络带宽估算值,包括:
按照预设的时间间隔,基于当前时刻前预设时长内发送的数据量,测量当前时刻的网络带宽测量值;
根据所述网络带宽测量值和目标时刻对应的网络带宽估算值,确定当前网络带宽估算值,其中,所述目标时刻为:当前时刻之前,距离当前时刻为所述预设时间间隔的时刻。
3.根据权利要求2所述的方法,其特征在于,所述根据所述网络带宽测量值和目标时刻对应的网络带宽估算值,确定当前网络带宽估算值,包括:
基于以下公式确定当前网络带宽估算值:
Bk=X*Bk-1+(1-X)*A,
式中,Bk表示所述当前网络带宽估算值,X表示预设的权重,0≤X<1,Bk-1表示目标时刻对应的网络带宽估算值,A表示所述网络带宽测量值。
4.根据权利要求1所述的方法,其特征在于,所述判断是否发生网络拥塞,包括:
判断连续丢包数量是否大于第一预设阈值,如果是,判定发生网络拥塞。
5.根据权利要求1所述的方法,其特征在于,所述判断是否发生网络拥塞,包括:
判断是否满足条件:连续丢包数量大于第一预设阈值,且期望吞吐量与实际吞吐量的差值大于第二预设阈值,如果是,判定发生网络拥塞。
6.根据权利要求1所述的方法,其特征在于,所述将更新后的所述慢启动阈值作为拥塞窗口大小的初始值,按照预设的拥塞窗口增长算法,调整所述拥塞窗口大小,包括:
将更新后的所述慢启动阈值作为拥塞窗口大小的初始值,按照如下公式,调整所述拥塞窗口大小:
W(t)=C*(t-K)3+Wmax;
式中,C表示预设的常量,t表示当前时刻发生网络拥塞后,距离当前时刻的时长,W表示当前重置后的网络窗口的大小,W(t)表示时长t对应的时刻的拥塞窗口的大小,Wmax为当前发生网络拥塞时的拥塞窗口大小。
7.根据权利要求1所述的方法,其特征在于,所述基于当前时刻的RTT值以及所述当前网络带宽估算值,更新慢启动阈值,包括:
按照如下公式,更新慢启动阈值:
S=Bk*RTTC/MSS;
式中,S表示慢启动阈值,RTTC表示当前时刻的RTT值,MSS表示对应TCP连接的最大报文段长度。
8.一种拥塞控制装置,其特征在于,所述装置包括:
确定模块,用于基于当前时刻前预设时长内发送的数据量,确定当前网络带宽估算值;
判断模块,用于判断是否发生网络拥塞;
更新模块,用于在所述判断模块的判断结果为是的情况下,基于当前时刻的RTT值以及所述当前网络带宽估算值,更新慢启动阈值;
调整模块,用于将更新后的所述慢启动阈值作为拥塞窗口大小的初始值,按照预设的拥塞窗口增长算法,调整所述拥塞窗口大小;
发送模块,用于基于调整后的所述拥塞窗口大小,发送数据包。
9.根据权利要求8所述的装置,其特征在于,所述确定模块,包括:
测量单元,用于按照预设的时间间隔,基于当前时刻前预设时长内发送的数据量,测量当前时刻的网络带宽测量值;
确定单元,用于根据所述网络带宽测量值和目标时刻对应的网络带宽估算值,确定当前网络带宽估算值,其中,所述目标时刻为:当前时刻之前,距离当前时刻为所述预设时间间隔的时刻。
10.根据权利要求9所述的装置,其特征在于,所述确定单元,具体用于:
基于以下公式确定当前网络带宽估算值:
Bk=X*Bk-1+(1-X)*A,
式中,Bk表示所述当前网络带宽估算值,X表示预设的权重,0≤X<1,Bk-1表示目标时刻对应的网络带宽估算值,A表示所述网络带宽测量值。
11.根据权利要求8所述的装置,其特征在于,所述判断模块,具体用于:
判断连续丢包数量是否大于第一预设阈值;如果是,判定发生网络拥塞。
12.根据权利要求8所述的装置,其特征在于,所述判断模块,具体用于:
判断是否满足条件:连续丢包数量大于第一预设阈值,且期望吞吐量与实际吞吐量的差值大于第二预设阈值;如果是,判定发生网络拥塞。
13.根据权利要求8所述的装置,其特征在于,所述调整模块,具体用于:
将更新后的所述慢启动阈值作为拥塞窗口大小的初始值,按照如下公式,调整所述拥塞窗口大小:
W(t)=C*(t-K)3+Wmax;
式中,C表示预设的常量,t表示当前时刻发生网络拥塞后,距离当前时刻的时长,W表示当前重置后的网络窗口的大小,W(t)表示时长t对应的时刻的拥塞窗口的大小,Wmax为当前发生网络拥塞时的拥塞窗口大小。
14.根据权利要求8所述的装置,其特征在于,所述更新模块,具体用于:
按照如下公式,更新慢启动阈值:
S=Bk*RTTC/MSS;
式中,S表示慢启动阈值,RTTC表示当前时刻的RTT值,MSS表示对应TCP连接的最大报文段长度。
CN201610793016.1A 2016-08-31 2016-08-31 一种拥塞控制方法及装置 Pending CN107800642A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610793016.1A CN107800642A (zh) 2016-08-31 2016-08-31 一种拥塞控制方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610793016.1A CN107800642A (zh) 2016-08-31 2016-08-31 一种拥塞控制方法及装置

Publications (1)

Publication Number Publication Date
CN107800642A true CN107800642A (zh) 2018-03-13

Family

ID=61529554

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610793016.1A Pending CN107800642A (zh) 2016-08-31 2016-08-31 一种拥塞控制方法及装置

Country Status (1)

Country Link
CN (1) CN107800642A (zh)

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108075988A (zh) * 2017-11-16 2018-05-25 华为技术有限公司 数据传输方法和装置
CN110048955A (zh) * 2019-04-18 2019-07-23 深圳市赛为智能股份有限公司 拥塞控制方法、装置、计算机设备及存储介质
CN110166370A (zh) * 2019-05-15 2019-08-23 浙江启程电子科技股份有限公司 一种基于拥塞因子预判的传输方法
CN110445722A (zh) * 2018-05-04 2019-11-12 华为技术有限公司 拥塞控制方法、装置、设备及存储介质
CN110519175A (zh) * 2019-08-22 2019-11-29 咪咕视讯科技有限公司 一种信息处理方法、设备及计算机可读存储介质
CN110874223A (zh) * 2018-08-31 2020-03-10 中兴通讯股份有限公司 一种业务部署方法及装置、存储介质
CN111142942A (zh) * 2019-12-26 2020-05-12 远景智能国际私人投资有限公司 窗口数据的处理方法、装置、服务器及存储介质
CN111277502A (zh) * 2020-01-20 2020-06-12 北京红云融通技术有限公司 多链路聚合传输数据的方法及发送设备
CN111614572A (zh) * 2020-04-28 2020-09-01 网络通信与安全紫金山实验室 一种基于rtt的tcp网络拥塞控制方法
CN111683393A (zh) * 2020-05-25 2020-09-18 华中科技大学 一种动态调整增益系数的自适应拥塞控制方法
CN111935025A (zh) * 2020-07-08 2020-11-13 腾讯科技(深圳)有限公司 一种tcp传输性能的控制方法、装置、设备和介质
CN112054965A (zh) * 2019-06-05 2020-12-08 阿里巴巴集团控股有限公司 一种拥塞控制方法、设备及计算机可读介质
CN112492646A (zh) * 2020-11-27 2021-03-12 清华大学 基于拥塞成因识别的拥塞控制方法及装置
CN112688803A (zh) * 2020-12-17 2021-04-20 上海乌嘎信息技术有限公司 一种提高web应用可用性与响应速度的系统
CN113098782A (zh) * 2021-03-22 2021-07-09 武汉大学 一种网络拥塞的控制方法和计算机设备
CN113453045A (zh) * 2021-06-28 2021-09-28 苏州科达科技股份有限公司 网络带宽预测方法、系统、设备及存储介质
CN114629856A (zh) * 2022-05-16 2022-06-14 湖南戎腾网络科技有限公司 拥塞控制方法、装置、电子设备及可读存储介质
CN114866425A (zh) * 2022-03-17 2022-08-05 北京邮电大学 一种调整光业务单元连接的带宽的方法及装置
CN114945004A (zh) * 2022-05-23 2022-08-26 国网信息通信产业集团有限公司 拥塞控制方法、装置、电子设备及存储介质
CN116055402A (zh) * 2023-01-05 2023-05-02 果子(青岛)数字技术有限公司 用于大数据和边缘计算的高速通信网络优化方法和装置
EP4250674A1 (en) * 2022-03-25 2023-09-27 Sandvine Corporation System and method for calibration of traffic flow acceleration

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102404187A (zh) * 2010-09-13 2012-04-04 华为技术有限公司 拥塞控制方法和系统以及网络设备
US20150156129A1 (en) * 2013-12-02 2015-06-04 Fujitsu Limited Communication node
EP2890065A1 (en) * 2013-12-30 2015-07-01 Comcast Cable Communications, LLC Systems and methods for managing congestion
CN105049369A (zh) * 2015-08-14 2015-11-11 浙江大学 异构无线网络中基于mptcp的视频传输拥塞控制方法
CN105141542A (zh) * 2015-09-18 2015-12-09 北京百度网讯科技有限公司 基于tcp通信协议的拥塞窗口的控制算法和系统
CN105376172A (zh) * 2014-08-29 2016-03-02 华平信息技术股份有限公司 一种控制网络拥塞的方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102404187A (zh) * 2010-09-13 2012-04-04 华为技术有限公司 拥塞控制方法和系统以及网络设备
US20150156129A1 (en) * 2013-12-02 2015-06-04 Fujitsu Limited Communication node
EP2890065A1 (en) * 2013-12-30 2015-07-01 Comcast Cable Communications, LLC Systems and methods for managing congestion
CN105376172A (zh) * 2014-08-29 2016-03-02 华平信息技术股份有限公司 一种控制网络拥塞的方法
CN105049369A (zh) * 2015-08-14 2015-11-11 浙江大学 异构无线网络中基于mptcp的视频传输拥塞控制方法
CN105141542A (zh) * 2015-09-18 2015-12-09 北京百度网讯科技有限公司 基于tcp通信协议的拥塞窗口的控制算法和系统

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108075988A (zh) * 2017-11-16 2018-05-25 华为技术有限公司 数据传输方法和装置
CN110445722A (zh) * 2018-05-04 2019-11-12 华为技术有限公司 拥塞控制方法、装置、设备及存储介质
US11838208B2 (en) 2018-05-04 2023-12-05 Huawei Technologies Co., Ltd. Congestion control method and apparatus, device, and storage medium
CN110874223A (zh) * 2018-08-31 2020-03-10 中兴通讯股份有限公司 一种业务部署方法及装置、存储介质
CN110048955A (zh) * 2019-04-18 2019-07-23 深圳市赛为智能股份有限公司 拥塞控制方法、装置、计算机设备及存储介质
CN110166370A (zh) * 2019-05-15 2019-08-23 浙江启程电子科技股份有限公司 一种基于拥塞因子预判的传输方法
CN112054965A (zh) * 2019-06-05 2020-12-08 阿里巴巴集团控股有限公司 一种拥塞控制方法、设备及计算机可读介质
CN110519175A (zh) * 2019-08-22 2019-11-29 咪咕视讯科技有限公司 一种信息处理方法、设备及计算机可读存储介质
CN111142942A (zh) * 2019-12-26 2020-05-12 远景智能国际私人投资有限公司 窗口数据的处理方法、装置、服务器及存储介质
CN111142942B (zh) * 2019-12-26 2023-08-04 远景智能国际私人投资有限公司 窗口数据的处理方法、装置、服务器及存储介质
CN111277502A (zh) * 2020-01-20 2020-06-12 北京红云融通技术有限公司 多链路聚合传输数据的方法及发送设备
CN111614572A (zh) * 2020-04-28 2020-09-01 网络通信与安全紫金山实验室 一种基于rtt的tcp网络拥塞控制方法
CN111683393A (zh) * 2020-05-25 2020-09-18 华中科技大学 一种动态调整增益系数的自适应拥塞控制方法
CN111935025A (zh) * 2020-07-08 2020-11-13 腾讯科技(深圳)有限公司 一种tcp传输性能的控制方法、装置、设备和介质
CN111935025B (zh) * 2020-07-08 2023-10-17 腾讯科技(深圳)有限公司 一种tcp传输性能的控制方法、装置、设备和介质
CN112492646A (zh) * 2020-11-27 2021-03-12 清华大学 基于拥塞成因识别的拥塞控制方法及装置
CN112688803A (zh) * 2020-12-17 2021-04-20 上海乌嘎信息技术有限公司 一种提高web应用可用性与响应速度的系统
CN113098782A (zh) * 2021-03-22 2021-07-09 武汉大学 一种网络拥塞的控制方法和计算机设备
CN113453045A (zh) * 2021-06-28 2021-09-28 苏州科达科技股份有限公司 网络带宽预测方法、系统、设备及存储介质
CN114866425A (zh) * 2022-03-17 2022-08-05 北京邮电大学 一种调整光业务单元连接的带宽的方法及装置
CN114866425B (zh) * 2022-03-17 2023-12-05 北京邮电大学 一种调整光业务单元连接的带宽的方法及装置
EP4250674A1 (en) * 2022-03-25 2023-09-27 Sandvine Corporation System and method for calibration of traffic flow acceleration
CN114629856A (zh) * 2022-05-16 2022-06-14 湖南戎腾网络科技有限公司 拥塞控制方法、装置、电子设备及可读存储介质
CN114945004A (zh) * 2022-05-23 2022-08-26 国网信息通信产业集团有限公司 拥塞控制方法、装置、电子设备及存储介质
CN114945004B (zh) * 2022-05-23 2024-01-02 国网信息通信产业集团有限公司 拥塞控制方法、装置、电子设备及存储介质
CN116055402A (zh) * 2023-01-05 2023-05-02 果子(青岛)数字技术有限公司 用于大数据和边缘计算的高速通信网络优化方法和装置

Similar Documents

Publication Publication Date Title
CN107800642A (zh) 一种拥塞控制方法及装置
CN102468941B (zh) 网络丢包处理方法及装置
US7330426B2 (en) Receiver-based RTT measurement in TCP
CN103999409B (zh) 用于带宽变化移动数据网络的链路缓冲器大小和队列长度估算的方法
Eggert et al. Effects of ensemble-TCP
US8514715B2 (en) Congestion window control based on queuing delay and packet loss
US11558302B2 (en) Data transmission method and apparatus
CN107637032A (zh) 用于调整数据流的系统和方法
CN113595923A (zh) 一种网络拥塞控制方法及装置
WO2014062682A1 (en) Method and system for determining sustainable throughput over wireless networks
CN105471757B (zh) 一种tcp拥塞控制方法及装置
US9432296B2 (en) Systems and methods for initializing packet transfers
Ziegler et al. A quantitative Model for the Parameter Setting of RED with TCP traffic
KR100887129B1 (ko) 전송 제어 프로토콜에서의 혼잡 제어 방법 및 이를 위한기록매체
Jiang et al. Adaptive low-priority congestion control for high bandwidth-delay product and wireless networks
Jain et al. Data center TCP in ns-3: implementation, validation and evaluation
Zhang et al. LearningCC: An online learning approach for congestion control
US10567294B2 (en) Distributed load-control in multi-hop networks
Lu et al. EQF: An explicit queue-length feedback for TCP congestion control in datacenter networks
Kavidha et al. Exploring Round Trip Time fairness for Adaptive Layered Transmission Control Protocol
CN109348259A (zh) 一种无线网络视频的发送码率调整方法及系统
CN117692396B (zh) 一种复杂网络环境下的tcp单边加速方法及装置
Petrov et al. Evolution of TCP in High Speed Networks
Tsai et al. A Transmission Control Protocol with High Throughput of Using Low Earth-Orbit Satellite to Collect Data from the Floats on Sea Surface
Sun et al. Improving the Start-up Performance of the TFRC Protocol

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20180313

RJ01 Rejection of invention patent application after publication