当前位置: 首页 > 专利查询>中南大学专利>正文

一种带宽探测阶段的发送速率调整方法及拥塞控制算法技术

技术编号:22820106 阅读:74 留言:0更新日期:2019-12-14 14:14
本发明专利技术公开了一种带宽探测阶段的发送速率调整方法及拥塞控制算法,在带宽探测阶段的第一个RTT,先用增速因子g增加发送速率,然后发送一轮数据包,以进行带宽探测。根据是否在一定时间内收到该轮发送的所有数据包的ACK包来判断当前网络的拥塞状况。当前网络的状况较好时,依据当前往返延时和历史最大传输速率调整发送速率的增速因子。当前网络的状况较差时,降低发送速率发送一轮数据包,即在该带宽探测阶段的第二个RTT,降低发送速率以排空队列。在该带宽探测阶段的剩下的剩余周期,则按实时传输速率确定发送速率。本发明专利技术能兼顾传输效率、收敛性和公平性。

A transmission rate adjustment method and congestion control algorithm in bandwidth detection stage

【技术实现步骤摘要】
一种带宽探测阶段的发送速率调整方法及拥塞控制算法
本专利技术涉及一种带宽探测阶段的发送速率调整方法及拥塞控制算法。
技术介绍
近年来,随着用户数目和网络的带宽产生的巨大增长,新的网络和计算技术、新的业务应用和商业模式的出现对互联网的表现提出了新的要求。网络技术不断发展,网络支撑平台从单一业务逐渐转换为多业务;网络数据传输从传统的简单数据到现在的新兴快速发展的云计算、在线视频、移动互联网等应用模式,从根本上改变了网络的流量模型;随着全球化的进行,跨洲际的网络交流更加频繁。下一代互联网的发展趋势是更高带宽、更大延迟、更多的流量,这都对现有的传输协议提出了新的需求。因此,下一代互联网的研究越来越受到人们的重视,成为了计算机网络研究领域的热点。传统的传输协议采用的多为基于丢包的TCP数据传输协议,这是一种端到端尽最大努力交付的可靠数据传输协议。当网络资源无法满足用户需求时,传统TCP协议会尽力为用户提供服务,直到网络使用效率降低到了极低并且发生拥塞。拥塞发生时,由于路由器中数据包排队长度增加引起队列缓存的不足,若不能够及时地采取措施,就会导致数据丢包率增加、吞吐量降低、网络延时增大、资源利用率降低。拥塞更加严重的话,则会导致网络的拥塞崩溃。但现有的拥塞控制主要是基于丢包的拥塞控制方法,因此人们常常会发现网络的速度达不到设计时预期的效果。基于丢包的拥塞控制从连接开始阶段就不断占用缓存,造成更多的丢包,但当发现丢包时又马上将传输速度降到很低,造成网络资源很大的浪费,导致传输的效率低下。这一问题在BBR拥塞控制算法中得到了缓解。BBR拥塞控制算法提出了一个新的模型来解释拥塞:BBR不把丢包作为拥塞信号,而是用一种探测可用带宽的方法计算窗口大小。许多实验证明,BBR在广域网上的性能十分优秀,能极大地提高传输速度。但BBR也存在着一些问题,比如多条BBR流竞争同一个瓶颈链路时吞吐率的收敛速度很慢;由于BBR尽可能地排空队列,很少占用缓存,它与其他协议之间也存在公平性问题;更重要的是,BBR虽然交替地探测带宽和延时,但进入稳定期之后BBR有长达6个RTT的时间是处于不主动探测带宽的阶段,在这个阶段它不能发现可能存在的空余带宽。在主动探测带宽的阶段,BBR固定的发送速率也存在着发送速率不能快速增长到最大可用带宽或增长太过激进加剧整个网络拥塞而降低性能的问题。因此,针对下一代互联网提出新的兼顾传输效率、收敛性和公平性的传输协议成为一个亟待解决的问题。
技术实现思路
为了解决现有技术的不足,本专利技术提供了一种带宽探测阶段的发送速率调整方法及拥塞控制算法,能兼顾传输效率、收敛性和公平性。本专利技术的技术方案包括以下步骤:一种带宽探测阶段的发送速率调整方法,包括以下步骤:步骤1、令当前轮数Round=0;步骤2、判断Round%cp的值是否为0,其中,cp为每个带宽探测阶段包含的RTT个数;如果否,则令发送速率Rs=Rr,然后按发送速率Rs发送一轮数据包,并更新Round=Round+1,然后返回步骤2;其中Rr为实时传输速率;如果是,则更新Rs=g×Rr(即以增速因子g为乘性增长系数增加发送速率Rs为g×Rr来探测当前网络是否还存在空余带宽),其中g为增速因子,g>1;然后按发送速率Rs发送一轮数据包,并更新Round=Round+1;本轮数据包发送完毕后,等待一定时间,再进入步骤3;步骤3:判断是否收到了本轮发送的所有数据包的ACK;如果是,则进入步骤4;如果否,则更新Rs=(2-g)×Rr(即将发送速率Rs减小为(2-g)×Rr),然后按发送速率Rs发送一轮数据包,以将队列尽可能完全排空,并更新Round=Round+1,再返回步骤2;步骤4:判断Rs是否大于历史最大传输速率Cmax;如果是,则令增速因子g=gmin,转步骤2;否则,转步骤5;其中gmin为增速因子最小值;步骤5:判断当前往返延时RTTc是否大于或等于K×RTTmin,如果是,则令增速因子g=gmin,转步骤2;否则,转步骤6;其中K为延时门限,RTTmin为最小往返延时;步骤6:判断增速因子g是否小于gmax,若是,则令g=g+gain,转步骤2;否则,令g=g-gain,转步骤2;其中gmax为增速因子最大值,gain为增速因子增幅;其中,发送端每轮发送数据包的时间长度为一个RTT。上述带宽探测阶段的发送速率调整方法,可以直接应用于BBR拥塞控制算法中的带宽探测阶段。本专利技术还提供了一种拥塞控制算法,包括慢启动阶段、排空阶段和带宽探测阶段;发送端在带宽探测阶段采用权利要求1所述的方法调整发送速率。进一步地,发送端在数据包发送过程中,每收到一个数据包的ACK包(非重复ACK包),则首先将当前往返延时RTTc更新为收到该ACK包的时间与相应数据包发送时间之差;然后根据公式RTTmin=min(RTTmin,RTTc)更新最小往返延时RTTmin,其中min(·)表示取最小值。进一步地,发送端更新最小往返延时RTTmin后,还根据以下公式更新实时传输速率Rr:其中,deliveryRatet是t时刻前一个RTT内收到的ACK包数量和RTT大小的比值,max(·)表示取最大值,W是一个时间窗口,等于6~10倍的RTT,t为[T-W,T]区间内任意一个时间,T是当前时间,该公式的目的是取一段时间内最大的传输速率。进一步地,deliveryRatet是t时刻前一个RTT内收到的ACK包数量和RTT大小的比值,其中RTT取值为t时刻的RTTmin值。进一步地,发送端每轮发送数据包的时间长度为一个RTT,且该RTT取值为开始发送该轮数据包时的RTTmin。进一步地,所述慢启动阶段包括以下步骤:发送端更新发送速率Rs=Rs×p,按发送速率Rs发送一轮数据包;本轮数据包发送完毕后,等待一定时间,然后判断是否收到了本轮发送的所有数据包的ACK包;如果是,则继续进行上述步骤;如果否,则进入排空阶段。进一步地,一轮数据包发送完毕后,在判断是否收到了本轮发送的所有数据包的ACK前,等待的时间长度等于该轮数据包发送完毕时的RTTmin值。进一步地,发送端更新实时传输速率Rr后,还根据以下公式更新历史最大传输速率Cmax:Cmax=max(Cmax,Rr)。进一步地,所述排空阶段包括以下步骤:发送端更新发送速率Rs=Rs/p,然后按发送速率Rs发送一轮数据包;判断本轮的发送速率Rs是否小于或等于Cmax;若是则待本轮数据包发送完毕后,进入带宽探测阶段;否则待本轮数据包发送完毕后,继续进行上述步骤。有益效果:本专利技术在每个带宽探测阶段的第一个RTT,先用增速因子g增加发送速率,然后发送一轮数据包,以进行带宽探测。每收到一个ACK包,则根据ACK包中的信息测量当前往返延时和实时传输速率,记录历史最大传输速率。根据是否在一定时间内收到该轮发送的所有数据包的ACK包来判断当前网络的拥塞本文档来自技高网
...

【技术保护点】
1.一种带宽探测阶段的发送速率调整方法,其特征在于,包括以下步骤:/n步骤1、令当前轮数Round=0;/n步骤2、判断Round%cp的值是否为0,其中,cp为每个带宽探测阶段包含的RTT个数;/n如果否,则令发送速率R

【技术特征摘要】
1.一种带宽探测阶段的发送速率调整方法,其特征在于,包括以下步骤:
步骤1、令当前轮数Round=0;
步骤2、判断Round%cp的值是否为0,其中,cp为每个带宽探测阶段包含的RTT个数;
如果否,则令发送速率Rs=Rr,然后按发送速率Rs发送一轮数据包,并更新Round=Round+1,然后返回步骤2;其中Rr为实时传输速率;
如果是,则更新Rs=g×Rr,其中g为增速因子,g>1;然后按发送速率Rs发送一轮数据包,并更新Round=Round+1;本轮数据包发送完毕后,等待一定时间,再进入步骤3;
步骤3:判断是否收到了本轮发送的所有数据包的ACK;
如果是,则进入步骤4;
如果否,则更新Rs=(2-g)×Rr,然后按发送速率Rs发送一轮数据包,并更新Round=Round+1,再返回步骤2;
步骤4:判断发送速率Rs是否大于历史最大传输速率Cmax;如果是,则令增速因子g=gmin,转步骤2;否则,转步骤5;其中gmin为增速因子最小值;
步骤5:判断当前往返延时RTTc是否大于或等于K×RTTmin,如果是,则令增速因子g=gmin,转步骤2;否则,转步骤6;其中K为延时门限,RTTmin为最小往返延时;
步骤6:判断增速因子g是否小于gmax,若是,则令g=g+gain,转步骤2;否则,令g=g-gain,转步骤2;其中gmax为增速因子最大值,gain为增速因子增幅;
其中,发送端每轮发送数据包的时间长度为一个RTT。


2.一种拥塞控制算法,其特征在于,包括慢启动阶段、排空阶段和带宽探测阶段;发送端在带宽探测阶段采用权利要求1所述的方法调整带宽探测阶段的发送速率。


3.根据权利要求2所述的拥塞控制算法,其特征在于,发送端在数据包发送过程中,每收到一个数据包的ACK包,则首先将当前往返延时RTTc更新为收到该ACK包的时间与相应数据包发送时间之差;然后根据公式RTTmin=min(RTTmin,RTTc)更新最小往返延时RTTm...

【专利技术属性】
技术研发人员:黄家玮彭澍王建新
申请(专利权)人:中南大学
类型:发明
国别省市:湖南;43

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

1
相关领域技术
  • 暂无相关专利