【技术实现步骤摘要】
一种拥塞控制算法的改进方法、装置、设备及存储介质
[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状态模式,发送端通过主动少发数据包以排空队列;然后在处于稳态工 作状态时,进入Pro ...
【技术保护点】
【技术特征摘要】
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任一项所述的方法,其特征在于,所述确定所述探测数据包组的当前接收速率,包括:将探测收包操作结束时对应的收包个数作为探测收包个数;如果所述探测收包个数大于或等于设定的收包有效值,则获取预先记录的探测起始时间戳;将当前执行时刻与所述探测起始时...
【专利技术属性】
技术研发人员:刘静,唐海峰,刘丽,
申请(专利权)人:百果园技术新加坡有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。