CN110572333B - 一种带宽探测阶段的发送速率调整方法及拥塞控制算法的实现方法 - Google Patents

一种带宽探测阶段的发送速率调整方法及拥塞控制算法的实现方法 Download PDF

Info

Publication number
CN110572333B
CN110572333B CN201911024953.0A CN201911024953A CN110572333B CN 110572333 B CN110572333 B CN 110572333B CN 201911024953 A CN201911024953 A CN 201911024953A CN 110572333 B CN110572333 B CN 110572333B
Authority
CN
China
Prior art keywords
round
sending
rtt
rate
time
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.)
Active
Application number
CN201911024953.0A
Other languages
English (en)
Other versions
CN110572333A (zh
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.)
Central South University
Original Assignee
Central South University
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 Central South University filed Critical Central South University
Priority to CN201911024953.0A priority Critical patent/CN110572333B/zh
Publication of CN110572333A publication Critical patent/CN110572333A/zh
Application granted granted Critical
Publication of CN110572333B publication Critical patent/CN110572333B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/25Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
    • 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/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • H04L47/263Rate modification at the source after receiving feedback

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

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

Description

一种带宽探测阶段的发送速率调整方法及拥塞控制算法的实 现方法
技术领域
本发明涉及一种带宽探测阶段的发送速率调整方法及拥塞控制算法的实现方法。
背景技术
近年来,随着用户数目和网络的带宽产生的巨大增长,新的网络和计算技术、新的业务应用和商业模式的出现对互联网的表现提出了新的要求。网络技术不断发展,网络支撑平台从单一业务逐渐转换为多业务;网络数据传输从传统的简单数据到现在的新兴快速发展的云计算、在线视频、移动互联网等应用模式,从根本上改变了网络的流量模型;随着全球化的进行,跨洲际的网络交流更加频繁。下一代互联网的发展趋势是更高带宽、更大延迟、更多的流量,这都对现有的传输协议提出了新的需求。因此,下一代互联网的研究越来越受到人们的重视,成为了计算机网络研究领域的热点。
传统的传输协议采用的多为基于丢包的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拥塞控制算法中的带宽探测阶段。
本发明还提供了一种拥塞控制算法的实现方法,包括慢启动阶段、排空阶段和带宽探测阶段;发送端在带宽探测阶段采用前述一种带宽探测阶段的发送速率调整方法调整发送速率。
进一步地,发送端在数据包发送过程中,每收到一个数据包的ACK包(非重复ACK包),则首先将当前往返延时RTTc更新为收到该ACK包的时间与相应数据包发送时间之差;然后根据公式RTTmin=min(RTTmin,RTTc)更新最小往返延时RTTmin,其中min(·)表示取最小值。
进一步地,发送端更新最小往返延时RTTmin后,还根据以下公式更新实时传输速率Rr
Figure GDA0002886796270000031
其中,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包来判断当前网络的拥塞状况。当前网络的状况较好时,依据当前往返延时和历史最大传输速率调整发送速率的增速因子,具体为:在发送速率大于历史最大实时传输速率或当前往返延时超过设定阈值(K×RTTmin)时,将增速因子g调至最小值gmin来降低发送速率的增幅;如果发送速率不大于历史最大传输速率,且当前往返延时不大于设定阈值时,则依据增速因子g是否小于其最大值gmax,来增加或减小增速因子以提升或降低发送速率的增幅(如果小于gmax则将g的值增加gain,否则认为已经高倍率发送过,为了保证不会加剧链路拥塞状况,将g的值减小gain)。当前网络的状况较差时,降低发送速率发送一轮数据包,即在该带宽探测阶段的第二个RTT,降低发送速率以排空队列。在该带宽探测阶段的剩下的cp-1(或cp-2)个RTT,则按实时传输速率确定发送速率。在每个带宽探测阶段的cp个RTT过后(Round%cp=0),进入下一个带宽探测阶段,重复上述流程。
本发明提高了传输效率,提升了带宽利用率,降低了排队延时、平均往返延时和丢包率;同时可以使每条流占用的带宽尽快收敛到其公平份额,相对于现有广域网拥塞控制算法改善了流的收敛性和公平性。
附图说明
图1为本发明实施例中拥塞控制算法的实现方法的流程图。
图2为本发明的拥塞控制算法(命名为BBR-DYNAMIC)的有效性验证结果图。
图2(a)为50ms延时、100Mbps带宽环境下本发明(BBR-DYNAMIC)与BBR协议的吞吐率的对比图。
图2(b)为100ms延时、100Mbps带宽环境下本发明(BBR-DYNAMIC)与BBR协议的吞吐率的对比图。
图3为测试场景网络拓扑图。
图4为协议丢包指标测试图,其中本发明的拥塞控制算法命名为BBR DYNAMIC。
图4(a)为瓶颈链路基础延时为50ms、带宽为100Mbps时的丢包率统计对比图。
图4(b)为瓶颈链路基础延时为100ms、带宽为100Mbps时的丢包率统计对比图。
图4(c)为瓶颈链路基础延时为150ms、带宽为100Mbps时的丢包率统计对比图。
图4(d)为瓶颈链路基础延时为200ms、带宽为100Mbps时的丢包率统计对比图。
图5为协议平均往返延时指标测试图,其中本发明的拥塞控制算法命名为BBRDYNAMIC。
图5(a)为瓶颈链路基础延时为50ms、带宽为100Mbps时的平均往返延时对比图。
图5(b)为瓶颈链路基础延时为100ms、带宽为100Mbps时的平均往返延时对比图。
图5(c)为瓶颈链路基础延时为150ms、带宽为100Mbps时的平均往返延时对比图。
图5(d)为瓶颈链路基础延时为200ms、带宽为100Mbps时的平均往返延时对比图。
图6为协议吞吐量提升指标测试图,其中本发明的拥塞控制算法命名为BBR-DYNAMIC。
具体实施方式
下面结合附图对本发明作进一步的说明。
参见图1,图1为本发明实施例的流程图。
本实施例中,拥塞控制算法的实现方法过程如下:
一、参数初始化
所述参数初始化包括:根据经验初始化实时传输速率Rr、发送速率Rs、历史最大传输速率Cmax,最小往返延时RTTmin、当前往返延时RTTc和增速因子g;根据经验设置乘性增长系数p(p>1)、带宽探测阶段包含的RTT个数cp、延时门限K、增速因子最大值gmax、增速因子最小值gmin和增速因子增幅gain;其中发送速率是发送端发送数据包的速率,实时传输速率是数据包在网络中的实际传输速率,可能小于发送速率;
本实施例中初始化实时传输速率Rr和发送速率Rs都为1,历史最大实时传输速率Cmax=0,三者单位均为数据包/s;设置乘性增长系数p=2/ln2;设置带宽探测阶段包含的RTT个数cp=8;设置延时门限K=3/2;初始化增速因子g=1;设置增速因子最大值gmax=1.5,增速因子最小值gmin=1.1,增速因子增幅gain=0.1;
最小往返延时RTTmin和当前往返延时RTTc的初始值可采用如下方法确定:先发送一个数据包,根据发送该数据包的时间与接收到该数据包的ACK时间计算往返延时,将该往返延时作为最小往返延时RTTmin和当前往返延时RTTc的初始值;
二、慢启动阶段
2.1)发送端更新发送速率Rs=Rs×p,按发送速率Rs发送一轮数据包;本轮数据包发送完毕后,等待RTTmin的时间,然后进入步骤2.2);
2.2)发送端判断是否收到了本轮发送的所有数据包的ACK包,根据是否收到所有数据包的ACK包来判断当前网络状态;
如果是,则返回步骤2.1);
上述过程即以类似TCP慢启动的方式,以最小往返延时RTTmin为速率调整周期,以p作为发送速率乘性增长系数,增加发送速率Rs为Rs×p;
如果否,则进入排空阶段;
三、排空阶段
3.1)发送端更新发送速率Rs=Rs/p,然后按发送速率Rs发送一轮数据包;
3.2)判断本轮的发送速率Rs是否小于或等于Cmax;若是则待本轮数据包发送完毕后,进入带宽探测阶段;否则待本轮数据包发送完毕后,转步骤3.1);
上述过程即以往返延迟RTTmin为速率调整周期,以1/p作为发送速率乘性减小系数,降低发送速率Rs为Rs/p,以排空队列;
四、带宽探测阶段
步骤1、令当前轮数Round=0;
步骤2、发送端判断Round%cp的值是否为0;
如果否,则令Rs=Rr,按发送速率Rs发送一轮数据包,并更新Round=Round+1,然后返回步骤2;
如果是,则更新Rs=g×Rr,然后按发送速率Rs发送一轮数据包,并更新Round=Round+1;本轮数据包发送完毕后,等待RTTmin的时间,再进入步骤3;
步骤3:判断是否收到了所有数据包的ACK;
如果是,则进入步骤4;
如果否,则更新Rs=(2-g)×Rr,然后按发送速率Rs发送一轮数据包,以将队列尽可能完全排空,并更新Round=Round+1,再返回步骤2;
步骤4:发送端判断发送速率Rs是否大于历史最大传输速率Cmax;如果是,则令增速因子g=gmin,转步骤2;否则,转步骤5;
步骤5:发送端判断当前往返延时RTTc是否大于或等于K×RTTmin,如果是,则令增速因子g=gmin,转步骤2;否则,转步骤6;
步骤6:如果增速因子g小于gmax,则令g=g+gain,转步骤2;否则,令g=g-gain,转步骤2;
其中,发送端每轮发送数据包的时间长度一个RTT,RTT取值为开始发送该轮数据包时的RTTmin
结合步骤4~6,带宽探测阶段调整增速因子g的公式为:
Figure GDA0002886796270000071
发送端在数据包发送过程中,每收到一个数据包的ACK包(非重复ACK包),则首先计算收到该ACK包的时间与相应数据包发送时间之差,作为当前往返延时RTTc;然后根据RTTmin=min(RTTmin,RTTc)更新最小往返延时RTTmin,其中min(·)表示取最小值;再根据以下公式则更新实时传输速率Rr
Figure GDA0002886796270000072
其中,deliveryRatet是t时刻前一个RTTmin时间内收到的ACK包数量和RTTmin大小的比值,max(·)表示取最大值,W是一个时间窗口,等于6~10倍的RTTmin,t为[T-W,T]区间内任意一个时间,T是当前时间,该公式的目的是取一段时间内最大的传输速率。
进一步地,发送端更新实时传输速率Rr后,还根据以下公式更新历史最大传输速率Cmax
Cmax=max(Cmax,Rr)。
图2是协议有效性验证实验结果图,目的是为了验证本发明中拥塞控制算法BBR-DYNAMIC相对于BBR,能够有效地在带宽探测阶段进行动态发送速率的调整,从而保证传输效率。实验环境如下:1台工作机和1台服务器与一台拥有1000KB缓存的交换机(配置WANem广域网环境模拟器)相连。利用Iperf工具建立发送数据的连接,总共发送30秒。本次实验分别使用BBR和BBR-DYNAMIC进行测试,改变瓶颈链路的带宽和延时,观察瓶颈链路的吞吐率变化情况。
从图2(a)中可以看出,在延迟为50ms、带宽为100Mbps实验环境下,设置每隔8秒发送一次后暂停2秒的80Mbps的UDP流,本发明BBR-DYNAMIC在UDP流暂停时能更快地增长到最大可用带宽,即收敛到其公平份额,整体带宽利用率提高了22.67%,而且吞吐率的变化曲线更加平稳。这是由于BBR-DYNAMIC的动态调节发送速率的机制,BBR-DYNAMIC在有空余带宽时会通过增加增速因子g的值从而提高发送速率来抢占更多的带宽。当UDP流撤出时,BBR-DYNAMIC能比BBR更快地增长到实际带宽,不会造成带宽资源的浪费。
在图2(b)中,在延迟为100ms、带宽为100Mbps实验环境下,设置每隔9秒发送一次后暂停1秒的80Mbps的UDP流,本发明BBR-DYNAMIC能更快地增长到最大可用带宽,且效果比图2(a)更加明显。这是因为在延时变高的情况下收到的反馈也会变慢,因此在发现带宽有空余时采用相对激进的增速策略的本发明BBR-DYNAMIC会比采用固定增速策略的BBR更快地增长到实际带宽。
图3为该实验使用的网络拓扑图,具体如下:整个网络由发送端、交换机和接收端三个部分组成,由总共有四种延时和两种带宽的链路相连。实验时,分别在发送端同时发送1、3、5、10条流,测试链路的丢包、延时和吞吐率的变化情况。
图4为协议丢包指标测试图,目的是展示本发明BBR DYNAMIC在降低链路丢包问题上的性能表现,说明本发明BBR DYNAMIC要比BBR协议有着更好的公平性和收敛性。
图4(a)给出的是瓶颈链路基础延时为50ms、带宽为100Mbps时的丢包率统计对比图。本发明BBR DYNAMIC是根据当前往返延时是否超过延时门限K倍的最小往返延时来判断是否存在排队现象,有则降速发送,不造成更多的排队以避免丢包。可以看出,随着流数的增多两个协议的丢包率都增加了,但本发明BBR DYNAMIC的丢包率始终都比BBR协议要低,这说明BBR DYNAMIC可以降低瓶颈链路上的丢包率。
图4(b)给出的是瓶颈链路基础延时为100ms、带宽为100Mbps时的丢包率统计对比图。可以看出,由于丢包的不确定性,两个协议丢包率的差异有大有小,但总体上本发明BBRDYNAMIC的丢包性能始终都比BBR协议要好。
图4(c)给出的是瓶颈链路基础延时为150ms、带宽为100Mbps时的丢包率统计对比图。可以看出,随着延时的增加,两个协议的丢包率有不同程度的增加,但本发明BBRDYNAMIC的丢包率始终都比BBR协议要低。
图4(d)给出的是瓶颈链路基础延时为200ms、带宽为100Mbps时的丢包率统计对比图。由这四个图可以看出,本发明BBR DYNAMIC在降低链路丢包问题上的性能表现良好。
图5为协议平均往返延时指标测试图,目的是展示本发明BBR DYNAMIC在降低链路平均往返延时问题上的性能表现,说明本发明BBR DYNAMIC要比BBR协议有着更好的公平性和收敛性。其中带宽为100Mbps。图5(a)-(d)分别为瓶颈链路基础延时为50ms、100ms、150ms、200ms的平均往返延时对比图。
本发明BBR DYNAMIC是根据当前往返延时是否超过延时门限K倍的最小往返延时来判断是否存在排队现象,有则降速发送,不造成更多的排队以减小链路上的往返延时。两个协议在4种不同基础延时的环境下瓶颈链路的平均往返延时对比情况可以直观地看出,本发明BBR DYNAMIC的瓶颈链路平均延时都要低于BBR的瓶颈链路平均延时,这说明本发明BBR DYNAMIC确实能够降低链路的排队,从而降低平均往返延时。
图6为协议吞吐量提升指标测试图。实验测试了100Mbps带宽,50ms、100ms、150ms、200ms四种延时下的1、3、5、10条不同流数的情况下本发明BBR-DYNAMIC对比BBR的吞吐率提升百分比情况。可以看出在高延时情况下本发明BBR-DYNAMIC提高吞吐率的效果会更加明显。在发现带宽有空余时采用相对激进的增速策略的BBR-DYNAMIC会比采用固定增速策略的BBR更快地增长到实际带宽,因此高延时情况下本发明BBR-DYNAMIC的吞吐量提升会更加明显。而多条流同时竞争瓶颈带宽的情况下,空余带宽会被多条流快速占满,这时吞吐量的提升效果就不如单条流明显,而且随着流数的增加,吞吐量的提升会越来越低。但从图中可知,多条流情况下本发明BBR-DYNAMIC也能很好地起到提升吞吐率的效果。

Claims (10)

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)更新最小往返延时RTTmin,其中min(·)表示取最小值。
4.根据权利要求3所述的实现方法,其特征在于,发送端更新最小往返延时RTTmin后,还根据以下公式更新实时传输速率Rr
Figure FDA0002886796260000021
其中,deliveryRatet是t时刻前一个RTT内收到的ACK包数量和RTT大小的比值,max(·)表示取最大值,W是一个时间窗口,t为[T-W,T]区间内任意一个时间,T是当前时间。
5.根据权利要求4所述的实现方法,其特征在于,deliveryRatet是t时刻前一个RTT内收到的ACK包数量和RTT大小的比值,其中RTT取值为t时刻的RTTmin值。
6.根据权利要求3所述的实现方法,其特征在于,发送端每轮发送数据包的时间长度为一个RTT,且该RTT取值为开始发送该轮数据包时的RTTmin
7.根据权利要求2~6中任一项所述的实现方法,其特征在于,所述慢启动阶段包括以下步骤:发送端按发送速率Rs发送一轮数据包;本轮数据包发送完毕后,等待一定时间,然后判断是否收到了本轮发送的所有数据包的ACK包;如果是,则更新发送速率Rs=Rs×p,继续进行上述发送端按发送速率Rs发送一轮数据包的步骤;如果否,则进入排空阶段,p为乘性增长系数。
8.根据权利要求6所述的实现方法,其特征在于,一轮数据包发送完毕后,在判断是否收到了本轮发送的所有数据包的ACK前,等待的时间长度等于该轮数据包发送完毕时的RTTmin值。
9.根据权利要求7所述的实现方法,其特征在于,发送端更新实时传输速率Rr后,还根据以下公式更新历史最大传输速率Cmax
Cmax=max(Cmax,Rr)。
10.根据权利要求9所述的实现方法,其特征在于,所述排空阶段包括以下步骤:发送端更新发送速率Rs=Rs/p,然后按发送速率Rs发送一轮数据包;并判断发送速率Rs是否小于或等于Cmax;若是则待本轮数据包发送完毕后,进入带宽探测阶段;否则待本轮数据包发送完毕后,继续进行上述发送端更新发送速率Rs=Rs/p,然后按发送速率Rs发送一轮数据包的步骤。
CN201911024953.0A 2019-10-25 2019-10-25 一种带宽探测阶段的发送速率调整方法及拥塞控制算法的实现方法 Active CN110572333B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911024953.0A CN110572333B (zh) 2019-10-25 2019-10-25 一种带宽探测阶段的发送速率调整方法及拥塞控制算法的实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911024953.0A CN110572333B (zh) 2019-10-25 2019-10-25 一种带宽探测阶段的发送速率调整方法及拥塞控制算法的实现方法

Publications (2)

Publication Number Publication Date
CN110572333A CN110572333A (zh) 2019-12-13
CN110572333B true CN110572333B (zh) 2021-04-13

Family

ID=68785929

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911024953.0A Active CN110572333B (zh) 2019-10-25 2019-10-25 一种带宽探测阶段的发送速率调整方法及拥塞控制算法的实现方法

Country Status (1)

Country Link
CN (1) CN110572333B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111541626B (zh) * 2020-04-21 2023-08-25 广州市百果园信息技术有限公司 网络带宽更新方法、装置、电子设备及存储介质
CN112203328B (zh) * 2020-09-30 2022-07-12 中南林业科技大学 一种基于dccp的拥塞控制方法、装置及电子设备
CN112511451B (zh) * 2020-11-24 2022-11-08 南京邮电大学 控制bbr收敛周期长度的方法及服务器
CN112839240B (zh) * 2020-12-31 2022-03-22 福州大学 一种基于视频流的带宽探测方法与系统
CN113840310A (zh) * 2021-06-30 2021-12-24 南京奥康通讯技术有限责任公司 一种曲率加速的优化控制方法
CN114125920A (zh) * 2021-10-25 2022-03-01 中国科学院计算技术研究所 基于时延的BBRv2带宽探测方法及系统
US20230254229A1 (en) * 2022-02-09 2023-08-10 Mellanox Technologies, Ltd. Network delay estimation
CN114915600B (zh) * 2022-06-10 2023-06-27 贵州大学 一种深度缓冲区下BBRv2拥塞控制方法
CN115412497B (zh) * 2022-11-01 2022-12-30 合肥综合性国家科学中心人工智能研究院(安徽省人工智能实验室) 一种bbr拥塞控制算法的性能优化方法
CN116915722B (zh) * 2023-09-12 2023-12-19 珠海星云智联科技有限公司 一种网络拥塞调节方法、装置、计算设备及可读存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101184052A (zh) * 2007-12-25 2008-05-21 北京广视通达网络技术有限公司 一种实现可靠udp传输的拥塞控制方法
CN106789427A (zh) * 2016-12-23 2017-05-31 潘敏 一种网络传输量计算方法
CN108011771A (zh) * 2016-11-01 2018-05-08 阿里巴巴集团控股有限公司 网络链路可用带宽的探测方法、装置和设备
WO2019019825A1 (zh) * 2017-07-27 2019-01-31 华为技术有限公司 一种拥塞控制方法及相关设备
CN109951398A (zh) * 2019-03-22 2019-06-28 腾讯科技(深圳)有限公司 数据发送方法、装置及计算机设备
CN110166366A (zh) * 2018-02-14 2019-08-23 华为技术有限公司 网络拥塞控制方法、装置和系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101184052A (zh) * 2007-12-25 2008-05-21 北京广视通达网络技术有限公司 一种实现可靠udp传输的拥塞控制方法
CN108011771A (zh) * 2016-11-01 2018-05-08 阿里巴巴集团控股有限公司 网络链路可用带宽的探测方法、装置和设备
CN106789427A (zh) * 2016-12-23 2017-05-31 潘敏 一种网络传输量计算方法
WO2019019825A1 (zh) * 2017-07-27 2019-01-31 华为技术有限公司 一种拥塞控制方法及相关设备
CN110166366A (zh) * 2018-02-14 2019-08-23 华为技术有限公司 网络拥塞控制方法、装置和系统
CN109951398A (zh) * 2019-03-22 2019-06-28 腾讯科技(深圳)有限公司 数据发送方法、装置及计算机设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"BBR拥塞控制算法在无线网络中的性能改进";董瀚泽 等;《哈尔滨工业大学学报》;20191016;第63-67页 *

Also Published As

Publication number Publication date
CN110572333A (zh) 2019-12-13

Similar Documents

Publication Publication Date Title
CN110572333B (zh) 一种带宽探测阶段的发送速率调整方法及拥塞控制算法的实现方法
US7136353B2 (en) Quality of service management for multiple connections within a network communication system
WO2017000719A1 (zh) 一种基于队列时延的拥塞控制方法及装置
CN113746748B (zh) 一种命名数据网络中显式拥塞控制方法
CN111935441B (zh) 一种网络状态检测方法及装置
JP2006014329A (ja) 通信端末
KR20030089708A (ko) 큐 버퍼를 제어하는 방법
CN104618258B (zh) 一种数据传输速率的控制方法
CN110166374B (zh) 基于能效的mptcp拥塞控制方法及装置
CN113518040A (zh) 一种面向时延敏感业务的多径耦合拥塞控制方法
Mamatas et al. Approaches to congestion control in packet networks
CN114244711A (zh) 基于平均队列长度及其变化率的自适应主动队列管理方法
CN114710807A (zh) 一种面向5g毫米波通信的卡尔曼滤波动态拥塞控制方法
Abdullah Enhancing the TCP Newreno Fast RecoveryAlgorithm on 5G Networks
CN112468405A (zh) 基于信用和反应型的数据中心网络拥塞控制方法
CN117676695A (zh) Tcp传输方法、装置和系统
CN104579582B (zh) 一种基于通信网络的高质量语音传输方法
CN116760777B (zh) 一种基于abea3c的多路径拥塞控制方法
CN115941557B (zh) 基于延时的自适应拥塞控制方法及设备
Hu et al. Converging credit-based and reactive datacenter transport using ecn and rtt
Reddy et al. A Combined TCP-friendly Rate control with WFQ Approach for Congestion Control for MANET
Li et al. Analysis and improvement of TFRC congestion control mechanism
Zhang et al. DFTCP: A TCP-friendly delay-based high-speed TCP variant
Li et al. Performance Improvement of TFRC Congestion Control Algorithm in Wireless Network Streaming Media Transmission
CN114157610B (zh) 一种适用于区块链网络的高速网络协议系统及传输方法

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
GR01 Patent grant
GR01 Patent grant