一种拥塞控制算法的改进方法、装置、设备及存储介质制造方法及图纸

技术编号:28058766 阅读:21 留言:0更新日期:2021-04-14 13:33
本发明专利技术实施例公开了一种拥塞控制算法的改进方法、装置、设备及存储介质。该方法包括在当前传输轮次满足探测功能执行条件时,如果确定当前满足探测发包条件,则基于所获取当前窗口量的待发送数据包形成探测数据包组并采用确定的当前探测速率进行探测发包;在满足探测收包条件时,对探测数据包组进行探测收包操作,并在监测到完成探测收包后,确定探测数据包组的当前接收速率;根据当前接收速率确定下一传输轮次对应的下一数据包发送速率。利用该方法,主要对拥塞控制的起始状态模式进行了改进,使得拥塞控制在起始状态模式下能够更快、更准确探测到网络的最大可用带宽,进而提升网络传输中拥塞控制在初始阶段的吞吐率,具备更广泛的实用性。广泛的实用性。广泛的实用性。

【技术实现步骤摘要】
一种拥塞控制算法的改进方法、装置、设备及存储介质


[0001]本专利技术实施例涉及网络传输
,尤其涉及一种拥塞控制算法的改进方法、装置、设备及存储介 质。

技术介绍

[0002]随着互联网的发展,网络流量迅猛增长,互联网的传输越来越拥堵。为了实现速率和带宽的平衡,业 界提出了许多算法,目前较流行的一种拥塞控制方法是瓶颈带宽和往返时延(Bottleneck Bandwidth andRound

trip propagation time,BBR)拥塞控制算法。该BBR拥塞控制算法由谷歌提出,其进行拥塞控制的 核心思想可概括为:通过测量瓶颈带宽和往返传播时延来动态调控网络传输时的窗口量(cwnd)以及数 据包发送速率(pacing rate,pacing速率),且BBR拥塞控制算法可以在四个状态模式下实现窗口量以及 pacing速率的调控。
[0003]图1给出了BBR拥塞控制算法中四个状态模式的状态转换图,其中,四个状态模式分别为:起始状 态模式(Startup)11、排空状态模式(Drain)12、瓶颈带宽探测状态模式(Probe_BW)13以及往返传播 时延探测状态模式(Probe_RTT)14。如图1所示,BBR算法的状态转移过程可表述为:在具备网络传输 需求时,BBR流首先处于Startup状态模式,逐渐地加大Packing速率以及窗口量量;当通过即时带宽Bw 确定网络管道已满,则进入Drain状态模式,发送端通过主动少发数据包以排空队列;然后在处于稳态工 作状态时,进入Probe_Bw状态模式以通过设定更高的带宽来进行瓶颈带宽探测,以及每隔10s从Probe_Bw 状态模式转移到Probe_RTT状态模式以测量往返传播时延(Round

Trip Time,RTT),从而实现交替地测 量瓶颈带宽和RTT。
[0004]可以看出,相对一些传统拥塞控制方法整个BBR算法在拥塞控制上较为完整和系统,但仍存在一些 缺陷影响其在实际应用中的控制效果,如:1)BBR的Startup状态模式继承了传统基于丢包的拥塞控制算 法中的慢启动方式,即指数增长窗口量;而该状态模式的退出条件为连续3个轮次的带宽Bw都不再增长 25%。该种增长形式,在长远距离、大时延网络场景下,轮次周期长,窗口量的增长非常缓慢,会严重影 响网络传输的吞吐率和网络的带宽利用率;2)通过这种固定指数增长窗口量的方式去感知网络瓶颈带宽 是被动的和不灵敏的,在增长前期,存在带宽按照指数增长仍然不够快的情况,降低了该种增长模式的收 敛速度;3)通过在实际应用(如进行短视频传输)中对BBR算法运行状态模式的统计分析,发现超过 50%的短视频在BBR还没有退出Startup状态模式时就结束了传输任务,而BBR算法的其他状态模式很 难在这种应用中实际生效;此外,通过对BBR在起始状态模式下对平均RTT的统计发现,有75%的延时 时长位于[128,384]ms之间,即用户到服务器的时延偏大。

技术实现思路

[0005]有鉴于此,本专利技术实施例提供了拥塞控制算法的改进方法、装置、设备及存储介质,以提高网络传输 拥塞控制初始阶段的吞吐性能。
[0006]第一方面,本专利技术实施例提供了一种拥塞控制算法的改进方法,包括:
[0007]在当前传输轮次满足探测功能执行条件时,如果确定当前满足探测发包条件,则基于所获取当前窗口 量的待发送数据包形成探测数据包组并采用确定的当前探测速率进行探测发包;
[0008]在满足探测收包条件时,对所述探测数据包组进行探测收包操作,并在监测到完成探测收包后,确定 所述探测数据包组的当前接收速率;
[0009]根据所述当前接收速率确定下一传输轮次中数据包发送所需的下一数据包发送速率;
[0010]其中,所述探测功能执行条件为当前传输轮次处于拥塞控制的起始状态模式且所设定探测机制功能处 于使能状态。
[0011]第二方面,本专利技术实施例提供一种一种拥塞控制算法的改进方法,包括:
[0012]探测发包模块,用于在当前传输轮次满足探测功能执行条件时,如果确定当前满足探测发包条件,则 基于所获取当前窗口量的待发送数据包形成探测数据包组并采用确定的当前探测速率进行探测发包;
[0013]探测收包模块,用于在满足探测收包条件时,对所述探测数据包组进行探测收包操作,并在监测到完 成探测收包后,确定所述探测数据包组的当前接收速率;
[0014]信息确定模块,用于根据所述当前接收速率确定下一传输轮次中数据包发送所需的下一数据包发送速 率;
[0015]其中,所述探测功能执行条件为当前传输轮次处于拥塞控制的起始状态模式且所设定探测机制功能处 于使能状态。
[0016]第三方面,本专利技术实施例提供了一种计算机设备,包括:
[0017]一个或多个处理器;
[0018]存储装置,用于存储一个或多个程序;
[0019]所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本专利技术第一方面 实施例提供的拥塞控制算法的改进方法。
[0020]第四方面,本专利技术实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器 执行时实现本专利技术第一方面实施例提供的拥塞控制算法的改进方法。
[0021]本专利技术实施例提供的一种拥塞控制算法的改进方法、装置、设备及存储介质,首先可以在获取当前传 输轮次满足探测功能执行条件时,如果确定当前满足探测发包条件,则基于所获取当前窗口量的待发送数 据包形成探测数据包组并采用确定的当前探测速率进行探测发包;在满足探测收包条件时对所述探测数据 包组进行探测收包操作,并在监测到完成探测收包后,确定所述探测数据包组的当前接收速率;最终,根 据当前接收速率确定下一传输轮次中数据包发送所需的下一数据包发送速率。上述技术方案,相比于现有 的拥塞控制算法,主要对拥塞控制的起始状态模式进行了改进,具体从待发送数据包中确定较小的探测数 据包组,通过探测数据包组短时变快发包速率来实现网络带宽探测的优化,并从而对拥塞控制中数据包发 送速率进行有效更新,使得拥塞控制在起始状态模式下能够更快、更准确探测到网络的最大可用带宽,进 而提升网络传输中拥塞控制在初始阶段的吞吐率;同时,本实施例所提供改进后方法具备更广泛的实用性。
附图说明
[0022]图1给出了BBR拥塞控制算法中四个状态模式的状态转换图;
[0023]图2给出了本专利技术实施例一提供的一种拥塞控制算法的改进方法的流程示意图;
[0024]图3给出了本专利技术实施例二提供的一种拥塞控制算法的改进方法的流程示意图;
[0025]图3a给出了本专利技术实施例二所提供拥塞控制算法的改进方法中探测包个数确定的一种实现流程图;
[0026]图3b给出了本专利技术实施例二所提供拥塞控制算法的改进方法中探测速率确定的一种实现流程图;
[0027]图3c给出了本专利技术实施例二所提供拥塞控制算法的改进方法中探测速率确定的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种拥塞控制算法的改进方法,其特征在于,包括:在当前传输轮次满足探测功能执行条件时,如果确定当前满足探测发包条件,则基于所获取当前窗口量的待发送数据包形成探测数据包组并采用确定的当前探测速率进行探测发包;在满足探测收包条件时,对所述探测数据包组进行探测收包操作,并在监测到完成探测收包后,确定所述探测数据包组的当前接收速率;根据所述当前接收速率确定下一传输轮次中数据包发送所需的下一数据包发送速率;其中,所述探测功能执行条件为当前传输轮次处于拥塞控制的起始状态模式且所设定探测机制功能处于使能状态。2.根据权利要求1所述的方法,其特征在于,所述探测发包条件包括:当前处于所述当前传输轮次的起始时刻且当前不存在网络传输的应用限制。3.根据权利要求1所述的方法,其特征在于,所述基于所获取当前窗口量的待发送数据包形成探测数据包组并采用确定的当前探测速率进行探测发包,包括:获取当前执行时刻对应的当前窗口量,并从待发送数据队列中提取所述当前窗口量的待发送数据包,形成待发送数据包序列;确定执行探测发包所需的当前探测包个数,并确定执行探测发包所需的当前探测速率;从所述待发送数据包序列的首位开始,顺序选定所述当前探测包个数的待发送数据包作为探测数据包并构成探测数据包组;采用所述当前探测速率进行各所述探测数据包的发送。4.根据权利要求3所述的方法,其特征在于,所述确定执行探测发包所需的当前探测包个数,包括:获取当前执行时刻对应的第一当前最小往返时延RTT、当前通告窗口量以及当前已发包数;如果所述第一当前最小RTT大于或等于第一设定阈值且确定所述当前通告窗口量或当前已发包数满足第一执行条件,则将所设定初始窗口量的一半作为所述当前探测包个数;否则,将所述初始窗口量作为所述当前探测包个数;所述第一执行条件包括:所述当前通告窗口量小于或等于所述初始窗口量的第一倍数值,或者,当前已发包数小于或等于所述初始窗口量的第二倍数值;其中,所述第一倍数值大于所述第二倍数值。5.根据权利要求3所述的方法,其特征在于,所述确定执行探测发包所需的当前探测速率,包括:如果当前为首次满足探测发包条件,则获取当前执行时刻所对应第二当前最小RTT;如果所述第二当前最小RTT大于或等于第二设定阈值,则将给定的基准速率作为初始的探测发包所需的当前探测速率;否则,将所述当前探测包个数与所给定字节速率转换常量相乘后与所述第二当前最小RTT的商作为初始的探测发包所需的当前探测速率。6.根据权利要求3所述的方法,其特征在于,所述确定执行探测发包所需的当前探测速
率,包括:如果当前为非首次满足探测发包条件,则获取在上一传输轮次中确定的当前数据包发送速率;根据所述当前数据包发送速率与所设定最高速率阈值的比对结果,确定执行探测发包所需的当前探测速率。7.根据权利要求6所述的方法,其特征在于,所述根据所述当前数据包发送速率与所设定最高速率阈值的比对结果,确定执行探测发包所需的当前探测速率,包括:如果所述当前数据包发送速率小于所设定最高速率阈值的一半,则将所述当前数据包发送速率的第三倍数值作为探测发包所需的当前探测速率;如果所述当前数据包发送速率大于或等于最高速率阈值的一半且小于或等于所述最高速率阈值,则将所述当前数据包发送速率的第四倍数值作为探测发包所需的当前探测速率;如果所述当前数据包发送速率大于所述最高速率阈值,则将所述当前数据包发送速率的第五倍数值作为探测发包所需的当前探测速率;其中,所述第四倍数值大于所述第五倍数值且小于所述第三倍数值。8.根据权利要求3所述的方法,其特征在于,在所述确定执行探测发包所需的当前探测速率之后,还包括:确定用于探测发包结束限定的当前探测定时时长。9.根据权利要求8所述的方法,其特征在于,所述确定用于探测发包结束限定的当前探测定时时长,包括:通过所述当前探测包个数,预估探测发包所需的总预估时长;将所述总预估时长与所述当前探测速率的商作为用于探测发包结束限定的当前探测定时时长。10.根据权利要求3

9任一项所述的方法,其特征在于,在确定当前满足探测发包条件后,还包括:将探测发包标志位赋值为设定的第一标识值,进行探测发包的起始参数信息记录;其中,所述起始参数信息包括:探测发包的发包起始时间和探测发包基数;所述探测发包基数为当前首个待发送数据对应的数据包号。11.根据权利要求10所述的方法,其特征在于,还包括:如果所述探测发包标志位为所述第一标识值且所获取当前发包数与所述探测发包基数的差值大于或等于探测包个数,则确定探测发包操作结束;或者,如果所述探测发包标志位为所述第一标识值且探测发包的持续时长达到预确定的当前探测定时时长,则确定探测发包操作结束;其中,所述当前发包数为当前执行时刻所发送数据包对应的数据包号。12.根据权利要求11所述的方法,其特征在于,在所述确定探测发包操作结束之后,还包括:将所述探测发包标志位赋值为设定的第二标识值,并进行探测发包的发包结束时间记录;采用预获取的当前数据包发送速率发送所述待发送数据包序列中的非探测数据包。
13.根据权利要求1所述方法,其特征在于,所述探测收包条件包括:当前所进行数据包发送操作的发送时刻大于或等于探测发包操作中的发包起始时间,且小于或等于所述探测发包操作中的发包结束时间。14.根据权利要求1所述的方法,其特征在于,在对所述探测数据包组进行的探测收包操作之前,还包括:将探测收包标志位赋值为设定的第三标识值,将探测数据包的收包个数以及丢包个数分别赋值为0,以及记录探测收包的探测收包起始时间戳。15.根据权利要求14所述的方法,其特征在于,所述对所述探测数据包组进行探测收包操作包括:接收到所述探测数据包组中探测数据包对应的确认数据包,进行所述收包个数累加;监测到所述探测数据包组中探测数据包的丢包事件,进行所述丢包个数累加。16.根据权利要求15所述的方法,其特征在于,所述监测到完成探测收包,包括:当所述探测收包标志位为所述第三标识值,且对当前执行时刻所对应收包个数及丢包个数的判定满足第二执行条件时,确定当前结束探测收包操作,并将所述探测收包标志位赋值为设定的第四标识值;其中,所述第二执行条件包括:当前执行时刻所对应收包个数与丢包个数之和大于或等于所述探测数据包组中所包含探测数据包数量的第六倍数值。17.根据权利要求1、13

16任一项所述的方法,其特征在于,所述确定所述探测数据包组的当前接收速率,包括:将探测收包操作结束时对应的收包个数作为探测收包个数;如果所述探测收包个数大于或等于设定的收包有效值,则获取预先记录的探测起始时间戳;将当前执行时刻与所述探测起始时...

【专利技术属性】
技术研发人员:刘静唐海峰刘丽
申请(专利权)人:百果园技术新加坡有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1