掌桥专利:专业的专利平台
掌桥专利
首页

一种BBR拥塞控制算法数据重传的优化方法

文献发布时间:2024-04-18 20:01:23


一种BBR拥塞控制算法数据重传的优化方法

技术领域

本发明涉及计算机网络领域,特别涉及一种BBR拥塞控制算法数据重传的优化方法。

背景技术

BBR是一种基于速率的拥塞控制算法,在互联网上得到了广泛的应用。在数据传输过程中,发送端发送数据,接收端接收到数据时给发送端发送确认消息,在发送端收到确认时BBR算法对应调整发送速率与拥塞控制窗口。与传统的基于丢包的拥塞控制算法相比,虽然BBR更有效的利用了带宽,但这种算法也导致了高重传率。理想情况下BBR维持传输中的数据为带宽延迟积大小,但由于数据包的聚合以及网络路由器具有处理突发流量的能力,BBR会经常地高估可用带宽,如果瓶颈缓冲区不够大,无法容纳过多的数据,就会导致较高的丢包率,大量的数据需要重新传输,给服务提供商带来额外的带宽成本。此外,BBR算法采用一个时间窗口内速率样本的最大值作为估计带宽,当可用带宽下降时,BBR不会及时更新带宽估计,继续根据高估的带宽发送数据,瓶颈缓冲区很快被塞满并开始丢弃数据包,造成大量重传。

目前已有的解决方案主要有两种,一种是在发现丢包时乘法降低拥塞窗口,另一种是为估计带宽乘上一个因子避免带宽高估。但是这两种方案都存在一定的问题,前者在高丢包场景下会一直降低拥塞窗口,后者难以适应复杂的网络情况,两者都会使得吞吐量降低。

发明内容

为解决上述技术问题,本发明提供了一种BBR拥塞控制算法数据重传的优化方法,以达到及时地更新估计带宽,使用一个效益函数评估更新前数据传输的效率,保证不会影响吞吐量的目的。

为达到上述目的,本发明的技术方案如下:

一种BBR拥塞控制算法数据重传的优化方法,包括以下步骤:

步骤S1、拥塞窗口调节:数据传输过程中发送端接收数据包的确认,检测到丢包时,用数据包的时延估计瓶颈缓冲区的大小,自适应地调节拥塞窗口;

步骤S2、带宽更新:在调整拥塞窗口后,发送端根据采集的数据包的时延和速率样本,及时地更新BBR算法的估计带宽,调整发送速率;

步骤S3、吞吐量评估:对于调整后的发送速率,结合丢包率和吞吐量计算估计带宽更新后的效益分数,若效益分数下降,则撤销更新,否则保留更新。

上述方案中,步骤S1具体方法如下:

S11、发送端接收到数据包的确认后,计算数据包的时延与接收速率;

数据包的时延计算方式如下:

;/>

其中,

数据包的接收速率的计算方式如下:

其中,

S12、检测到数据包丢失时,根据S11计算出的数据包的时延,计算网络链路瓶颈缓冲区与带宽延迟积的比值:

其中,

S13、使用S12得到的结果,调整拥塞窗口控制参数的大小,计算方式为:

其中,

之后调整拥塞窗口,计算方式为:

其中,

发送端在接下来发送数据时限制传输中的数据总量不超过拥塞窗口

S14、在S13调整拥塞窗口后一个往返时间内未检测到丢包后,发送端收到数据包的确认时,调整拥塞窗口控制参数,计算方式为:

其中,

上述方案中,步骤S2具体方法如下:

S21、对于S11计算的数据包的时延和接收速率,记录满足以下条件的数据包样本:

S22、统计满足S21条件的连续数据包的个数,发送端接收到数据包的确认时,满足S21的条件将该数据包样本的接收速率

S23、在S22的保存的数据包样本的数量超过30时,计算更新后的带宽,计算方式为:

;/>

其中,

S24、将当前BBR算法的估计带宽信息做备份,更新它的估计带宽为S23计算出的结果。

上述方案中,步骤S3具体方法如下:

S31、将数据传输过程中连续的时间划分成一个个的时间间隔T,计算每个时间间隔T内接收到的数据量,计算方式如下:

其中,

计算每个时间间隔T内未确认的数据量,计算方式如下:

其中,

S32、计算带宽更新前的数据传输的效益分数,对于S31中的每个时间间隔T内的效益分数计算方式如下:

其中,U为该时间间隔T内计算出的效益分数;

S33、采用S31的方法用带宽更新后的参数计算带宽更新后的

S34、对于S32与S33各计算带宽更新前后两个时间间隔T内的效益分数,分别计算带宽更新前后的效益分数的平均值,若带宽更新后效益分数降低,则撤销估计带宽的更新。

通过上述技术方案,本发明提供的一种BBR拥塞控制算法数据重传的优化方法具有如下有益效果:

(1)本发明设计了拥塞窗口自适应调节机制,解决了瓶颈缓冲区过小时BBR算法重传率过高的问题。

(2)本发明通过采集数据包样本的速率和时延,可以在网络链路可用带宽下降时及时地更新估计带宽,缩短了BBR算法收敛的时间。

(3)本发明最终利用一个效益分散来计算更新估计带宽前后的效益分数,在效益分数下降时撤销更新,在降低重传率的同时保证了吞吐量。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。

图1为本发明实施例所公开的一种BBR拥塞控制算法数据重传的优化方法流程示意图。

图2为本发明优化后的BBR算法(oBBR)与BBR算法和Cubic算法的重传率对比图。

图3为本发明优化后的BBR算法(oBBR)与BBR算法和Cubic算法的吞吐量对比图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。

本发明提供了一种BBR拥塞控制算法数据重传的优化方法,如图1所示,包括以下步骤:

(1)拥塞窗口调节阶段:

(1.1)估计缓冲区大小:发送端收到数据包的确认时,若检测到丢包,根据丢包时的数据包的时延与BBR算法估计的物理时延估计瓶颈缓冲区容量;

(1.2)窗户自适应调节:调节拥塞控制参数,降低拥塞窗口的大小以适应上一步估计的瓶颈缓冲区的容量,让出部分缓冲区;

(1.3)拥塞窗口恢复:在上一步降低拥塞窗口后一个往返时间内没有检测到丢包后,发送端在收到数据包确认时根据接收数据量补偿拥塞控制窗口,保证可以适应网络路由的更新。

具体方法如下:

S11、发送端接收到数据包的确认后,计算数据包的时延与接收速率;

数据包的时延计算方式如下:

其中,

数据包的接收速率的计算方式如下:

其中,

S12、检测到数据包丢失时,根据S11计算出的数据包的时延,计算网络链路瓶颈缓冲区与带宽延迟积的比值:

其中,

S13、使用S12得到的结果,调整拥塞窗口控制参数的大小,计算方式为:

其中,

之后调整拥塞窗口,计算方式为:

其中,

发送端在接下来发送数据时限制传输中的数据总量不超过拥塞窗口

S14、在S13调整拥塞窗口后一个往返时间内未检测到丢包后,发送端收到数据包的确认时,调整拥塞窗口控制参数,计算方式为:

其中,

(2)带宽更新阶段:

(2.1)样本收集:发送端接收到数据包的确认时,与BBR算法的估计带宽和估计的物理时延作比较,收集时延过大与速率过小的数据包样本;

(2.2)带宽下降判定:统计上一步收集到的连续数据包的个数,收集到的数量超过30时,认为链路可用带宽下降,进行下一步带宽更新;

(2.3)带宽更新:保存当前BBR算法的估计带宽,清除最大带宽过滤器,更新估计带宽为上一步样本速率的最大值。

具体方法如下:

S21、对于S11计算的数据包的时延和接收速率,记录满足以下条件的数据包样本:

S22、统计满足S21条件的连续数据包的个数,发送端接收到数据包的确认时,满足S21的条件将该数据包样本的接收速率

S23、在S22的保存的数据包样本的数量超过30时,计算更新后的带宽,计算方式为:

其中,

S24、将当前BBR算法的估计带宽信息做备份,更新它的估计带宽为S23计算出的结果。

(3)吞吐量评估阶段

(3.1)效益分数计算:将数据传输的过程中连续的时间划分为一个个的时间间隔T,计算每个时间间隔T内发送端确认的数据量以及未确认的数据量,使用一个效益函数评估数据传输的效率;

(3.2)传输效率比较:对于估计带宽更新前后各取两个T计算效益分数,分别取平均值,比较更新前后数据传输的效率;

(3.3)状态恢复:更新后计算的效率下降,则撤销更新,将最大带宽过滤器恢复更新前的状态,恢复BBR算法之前的估计带宽。

具体方法如下:

S31、将数据传输过程中连续的时间划分成一个个的时间间隔T,计算每个时间间隔T内接收到的数据量,计算方式如下:

;/>

其中,

计算每个时间间隔T内未确认的数据量,计算方式如下:

其中,

S32、计算带宽更新前的数据传输的效益分数,对于S31中的每个时间间隔T内的效益分数计算方式如下:

其中,U为该时间间隔T内计算出的效益分数;

S33、采用S31的方法用带宽更新后的参数计算带宽更新后的

S34、对于S32与S33各计算带宽更新前后两个时间间隔T内的效益分数,分别计算带宽更新前后的效益分数的平均值,若带宽更新后效益分数降低,则撤销估计带宽的更新。

图2与图3展示了本发明优化后的BBR算法(oBBR)与BBR算法和Cubic算法的重传率和吞吐量对比,Cubic是传统的基于丢包的拥塞控制算法,为Linux内核的默认拥塞控制算法。这里设置了不同的网络环境包括带宽、时延、缓冲区大小(图中表示为R)以及随机丢包率(图中表示为Loss),可以看到,oBBR相对于BBR降低了大量重传,并且吞吐量没有降低。Cubic算法采用基于丢包的拥塞控制方式,检测到丢包就乘法降低拥塞窗口,虽然重传率最低,但在随机丢包场景中吞吐量非常低。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

技术分类

06120116546873