CN117499317A - 链路拥塞控制方法及装置、存储介质及电子设备 - Google Patents
链路拥塞控制方法及装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN117499317A CN117499317A CN202311839059.5A CN202311839059A CN117499317A CN 117499317 A CN117499317 A CN 117499317A CN 202311839059 A CN202311839059 A CN 202311839059A CN 117499317 A CN117499317 A CN 117499317A
- Authority
- CN
- China
- Prior art keywords
- link
- target
- state
- parameter value
- delay
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 104
- 230000005540 biological transmission Effects 0.000 claims abstract description 38
- 238000001514 detection method Methods 0.000 claims description 120
- 230000002860 competitive effect Effects 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 22
- 239000000523 sample Substances 0.000 claims description 19
- 239000000758 substrate Substances 0.000 claims 9
- 238000005516 engineering process Methods 0.000 abstract description 5
- 239000000872 buffer Substances 0.000 description 26
- 238000010586 diagram Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 9
- 238000013468 resource allocation Methods 0.000 description 9
- 230000008859 change Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000001934 delay Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000012888 cubic function Methods 0.000 description 1
- 230000000779 depleting effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000012464 large buffer Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/28—Flow control; Congestion control in relation to timing considerations
- H04L47/283—Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/52—Queue scheduling by attributing bandwidth to queues
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例提供了链路拥塞控制方法及装置、存储介质及电子设备,其中,该方法包括:对目标链路的链路状态进行检测,其中,目标链路为目标节点进行数据流传输所使用的链路,目标节点是通过测量链路的瓶颈带宽和往返传播时间来进行拥塞控制的节点;在基于目标链路的链路状态确定存在与目标节点的数据流竞争目标链路的链路资源的竞争流的情况下,调整目标节点的第一增益参数的参数值,其中,第一增益参数用于控制目标节点的发送速率,使用第一增益参数调整前的参数值侦测带宽的速度低于使用第一增益参数调整后的参数值侦测带宽的速度。通过本申请,解决了相关技术中的链路拥塞控制方法存在带宽资源分配不合理的问题。
Description
技术领域
本申请实施例涉及计算机领域,具体而言,涉及一种链路拥塞控制方法及装置、存储介质及电子设备。
背景技术
当网络中的数据流量超过了网络的处理能力时,会出现网络拥塞,而网络拥塞会降低网络的吞吐量,增加网络延迟。为了降低出现网络拥塞的影响,相关技术中,存在多种拥塞控制方式,第一种拥塞控制方式是基于丢包的拥塞控制,第二种拥塞控制方式通过测量链路的瓶颈带宽和往返传播时间来进行拥塞控制。
对于第一种拥塞控制方式,如果出现网络拥塞,数据报会填满瓶颈链路的缓冲区,出现缓冲区膨胀的情况。而对于第二种拥塞控制方式,如果存在采用第一种拥塞控制方式的竞争流,则采用第二种拥塞控制方式的数据流很难竞争到带宽,存在带宽资源分配不合理的问题。
发明内容
本申请实施例提供了一种链路拥塞控制方法及装置、存储介质及电子设备,以至少解决相关技术中的链路拥塞控制方法存在带宽资源分配不合理的问题。
根据本申请实施例的一个方面,提供了一种链路拥塞控制方法,包括:对目标链路的链路状态进行检测,其中,所述目标链路为目标节点进行数据流传输所使用的链路,所述目标节点是通过测量链路的瓶颈带宽和往返传播时间来进行拥塞控制的节点;在基于所述目标链路的链路状态确定存在与所述目标节点的数据流竞争所述目标链路的链路资源的竞争流的情况下,调整所述目标节点的第一增益参数的参数值,其中,所述第一增益参数用于控制所述目标节点的发送速率,使用所述第一增益参数调整前的参数值侦测带宽的速度低于使用所述第一增益参数调整后的参数值侦测带宽的速度。
根据本申请实施例的另一个方面,提供了一种链路拥塞控制装置,包括:检测单元,用于对目标链路的链路状态进行检测,其中,所述目标链路为目标节点进行数据流传输所使用的链路,所述目标节点是通过测量链路的瓶颈带宽和往返传播时间来进行拥塞控制的节点;调整单元,用于在基于所述目标链路的链路状态确定存在与所述目标节点的数据流竞争所述目标链路的链路资源的竞争流的情况下,调整所述目标节点的第一增益参数的参数值,其中,所述第一增益参数用于控制所述目标节点的发送速率,使用所述第一增益参数调整前的参数值侦测带宽的速度低于使用所述第一增益参数调整后的参数值侦测带宽的速度。
根据本申请实施例的又一个方面,提供了一种计算机可读的存储介质,计算机可读的存储介质包括存储的程序,其中,程序运行时执行上述任一项方法实施例中的步骤。
根据本申请实施例的又一个方面,提供了一种电子设备,包括存储器和处理器,存储器中存储有计算机程序,处理器被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
在本申请实施例中,对目标链路的链路状态进行检测,其中,目标链路为目标节点进行数据流传输所使用的链路,目标节点是通过测量链路的瓶颈带宽和往返传播时间来进行拥塞控制的节点;在基于目标链路的链路状态确定存在与目标节点的数据流竞争目标链路的链路资源的竞争流的情况下,调整目标节点的第一增益参数的参数值,其中,第一增益参数用于控制目标节点的发送速率,使用第一增益参数调整前的参数值侦测带宽的速度低于使用第一增益参数调整后的参数值侦测带宽的速度,当识别到存在与目标节点的数据流竞争目标链路的链路资源的竞争流时,通过调整目标节点的第一增益参数来增加目标节点的数据流的发送速率,发送速率的增加可以提高侦测带宽的速度,从而可以在更短的时间内探测到目标链路的瓶颈带宽,从而基于探测到的瓶颈带宽进行拥塞控制,即,提高拥塞控制的速度,而拥塞控制速度的提升可以有助于目标节点更快地进行链路带宽资源的竞争,达到提高带宽资源分配的合理性的技术效果,解决了相关技术中的链路拥塞控制方法存在带宽资源分配不合理的问题。
附图说明
图1是根据本申请实施例的一种可选的链路拥塞控制方法的硬件环境示意图;
图2是根据本申请实施例的一种可选的链路拥塞控制方法的流程示意图;
图3是根据本申请实施例的一种可选的链路拥塞控制方法的示意图;
图4是根据本申请实施例的一种可选的链路拥塞控制方法的状态机的流程图;
图5是根据本申请实施例的另一种可选的链路拥塞控制方法的示意图;
图6是根据本申请实施例的另一种可选的链路拥塞控制方法的流程示意图;
图7是根据本申请实施例的一种可选的链路拥塞控制装置的结构框图;
图8是根据本申请实施例的一种可选的电子设备的计算机系统的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请实施例中所提供的方法实施例可以在主机、路由器、服务器、移动终端、计算机终端或者类似的运算装置中执行。以运行在服务器上为例,图1是根据本申请实施例的一种链路拥塞控制方法的硬件环境示意图。如图1所示,服务器可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,其中,上述服务器还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述服务器的结构造成限定。例如,服务器还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本申请实施例中的链路拥塞控制方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
根据本申请实施例的一个方面,提供了一种链路拥塞控制方法。当网络中的数据流量超过了网络的处理能力时,会出现网络拥塞,而网络拥塞会降低网络的吞吐量,增加网络延迟。为了降低出现网络拥塞的影响,相关技术中,存在多种拥塞控制方式,第一种拥塞控制方式是基于丢包的拥塞控制,第二种拥塞控制方式通过测量链路的瓶颈带宽和往返传播时间来进行拥塞控制。
对于第一种拥塞控制方式,如果出现网络拥塞,数据报会填满瓶颈链路的缓冲区,出现缓冲区膨胀的情况。而对于第二种拥塞控制方式,如果存在采用第一种拥塞控制方式的竞争流,则采用第二种拥塞控制方式的数据流很难竞争到带宽,存在带宽资源分配不合理的问题。
示例性地,对于第一种拥塞控制方式,可以是通过CUBIC(一种基于丢包的TCP(Transmission Control Protocol,传输控制协议)拥塞控制算法)控制,CUBIC使用立方函数来调整拥塞窗口的大小,拥塞窗口的大小根据时间而增长,当拥塞发生时会记录当下的拥塞窗口,并乘性降低拥塞窗口,舒缓链路拥塞的情形;第一种拥塞控制方式还可以是Reno(Reno Congestion Control Algorithm,Reno拥塞控制算法)等算法控制。这里,丢包指的是一个或多个数据包的数据无法通过网络从发送端到达接收端。CUBIC属于第一种拥塞控制方式。
示例性地,对于第二种拥塞控制方式,可以是通过BBR (Bottleneck Bandwidthand Round-trip propagation time,瓶颈带宽和往返传播时间)控制,BBR是一种加速网络传输协议的TCP拥塞控制算法,BBR通过测量网络的瓶颈带宽和往返传播时间来进行拥塞控制,能够最大化网络的吞吐量,同时保持低延迟,BBR属于第二种拥塞控制方式。
下面以第一种拥塞控制方式为CUBIC,第二种拥塞控制方式为BBR进行举例说明,在链路中同时存在BBR和CUBIC的数据流的情况下,当链路中的缓冲区较大时,BBR的稳态会将其飞行数据报数量维持在其估计的BDP(Bandwidth-Delay Product,带宽时延积)上,而CUBIC会随着缓冲区的变大增加其cwnd(Congestion Window,拥塞窗口),使缓冲区的大部分队列都属于CUBIC,导致BBR在与基于丢包的TCP拥塞控制算法竞争时吞吐量较差。由此可见,相关技术中的链路拥塞控制方法,存在带宽资源分配不合理的问题。
本实施例中的链路拥塞控制方法可以应用到节点对链路进行拥塞控制的场景,这里,节点可以是主机、路由器、服务器、移动终端等,链路为两个节点之间的数据传输通道,两个节点之间通过链路相互传输数据报;网络拥塞是指在链路中传送数据报的数目太多时,由于存储转发节点的资源有限而造成网络传输性能下降的情况,当网络发生拥塞时,一般会出现数据丢失,时延增加,吞吐量下降,严重时甚至会导致“拥塞崩溃”,通常情况下,当链路中负载过度增加致使网络性能下降时,就会发生网络拥塞。两个节点之间可以通过单链路连接,也可以通过多条链路连接,限制两个节点之间的数据吞吐量的链路为瓶颈链路,瓶颈带宽指的是瓶颈链路所能传输数据报的最大速率,链路拥塞控制方法是为了最大化地利用瓶颈带宽,以提升两个节点之间的数据传输吞吐量。
可选地,本实施例中的链路拥塞控制方法可以是服务器执行的,这里,服务器指的是服务器整体,包括服务器内需要执行链路拥塞控制方法的相关部件以及处理器等;本实施例中的链路拥塞控制方法也可以是主机或路由器等执行的。在本实施例的部分示例中,链路拥塞控制方法以由服务器执行为例进行说明。
参见图2,图2是根据本申请实施例的一种可选的链路拥塞控制方法的流程示意图,如图2所示,上述方法包括步骤S202至步骤S204,下面分别针对各个步骤进行说明。
步骤202,对目标链路的链路状态进行检测,其中,目标链路为目标节点进行数据流传输所使用的链路,目标节点是通过测量链路的瓶颈带宽和往返传播时间来进行拥塞控制的节点。
节点可以是主机、路由器、服务器、移动终端、计算机终端等设备;链路为两个节点之间进行数据传输的通道,链路(物理链路)与数据链路的概念不同,数据链路除了物理线路外,还必须有通信协议来控制这些数据的传输,把实现这些协议的硬件和软件加到链路上的是数据链路,在本实施例中的目标链路为数据链路,这里,通信协议可以是TCP通信协议。
带宽指的是链路所能传输数据流的最大速率,带宽用来描述链路的数据传输能力,表示单位时间内可以传输的最大数据量;目标链路可以是单段链路,也可以是由多段链路组成;当目标链路为单段链路时,瓶颈带宽指的是目标链路的带宽;当目标链路由多段链路组成时,瓶颈带宽为瓶颈链路的带宽,瓶颈链路指的是数据传输速度最慢的链路;示例性地,参见图3,图3是根据本申请实施例的一种可选的链路拥塞控制方法的示意图,如图3所示,目标节点可以通过目标链路将数据流传输至第一节点,目标链路由第一链路、第二链路以及第三链路组成,瓶颈链路指的是第一链路、第二链路以及第三链路中数据传输速度最慢的链路,例如,当第一链路的数据传输速度最慢时,第一链路为瓶颈链路,第一链路的带宽,即第一链路传输数据流的最大速率,为瓶颈带宽。
往返传播时间也可以叫做往返时延,指的是从目标节点通过目标链路传输数据到接收节点,再到目标节点收到接收节点的确认信息(接收节点收到数据后立即发送确认信息)总共所需的时间。
目标节点通过测量链路的瓶颈带宽和往返传播时间来进行拥塞控制,目标节点进行拥塞控制的方式可以是将目标链路的瓶颈带宽和往返传播时间相乘,得到目标链路的时延带宽积,其中,时延带宽积用于指示目标链路的数据流传输能力,等同于在任何特定时间目标链路上的最大数据量,即,目标节点已通过目标链路向接收节点发送,但未收到接收节点的确认信息的数据;在得到目标链路的时延带宽积后,基于时延带宽积控制目标节点输出数据流的速度,以实现对目标链路带宽的高效利用。
在本实施例中,对目标链路的链路状态进行检测的目的是为了判断在目标链路中是否存在与目标节点的数据流竞争目标链路的链路资源的竞争流,这里,对目标链路的链路状态进行检测的方式可以是对目标链路的最小往返时延进行检测,目标链路的最小往返时延用于指示目标节点发出的数据流在目标链路中传输的过程中可以达到的最小往返时延,当识别到目标链路的最小往返时延变高时,说明可能存在竞争流与目标节点的数据流竞争目标链路的链路资源,导致目标链路当前的最小往返时延升高。
步骤204,在基于目标链路的链路状态确定存在与目标节点的数据流竞争目标链路的链路资源的竞争流的情况下,调整目标节点的第一增益参数的参数值,其中,第一增益参数用于控制目标节点的发送速率,使用第一增益参数调整前的参数值侦测带宽的速度低于使用第一增益参数调整后的参数值侦测带宽的速度。
如果基于目标链路的链路状态确定存在与目标节点的数据流竞争目标链路的链路资源的竞争流,则可以调整目标节点的第一增益参数的参数值。与目标节点的数据流竞争目标链路的链路资源的竞争流可以是有多种,例如,可以是基于丢包进行拥塞控制的节点的数据流。基于丢包进行拥塞控制的算法可以是CUBIC或Reno等算法,而确定的竞争流可以是相对于上一次状态检测新增加的数据流。
第一增益参数用于控制目标节点的发送速率,即,第一增益参数用于控制目标节点向目标链路发送数据流的发送速率,第一增益参数控制目标链路发送数据流的发送速率的方式可以是,第一增益参数越大,目标节点向目标链路发送数据流的发送速率越大。
目标节点是通过测量链路的瓶颈带宽和往返传播时间来进行拥塞控制的节点,即,目标节点需要测量目标链路的瓶颈带宽。在本实施例中,目标节点通过第一增益参数控制目标节点的数据流的发送速率来侦测目标链路的瓶颈带宽,目标节点测量目标链路的瓶颈带宽的方式可以是,通过第一增益参数增加目标节点的数据流的发送速率,使目标链路内的飞行数据报的数据量大于目标链路实际的时延带宽积,飞行数据报指的是目标链路发出但接收节点还未收到的数据报,往返传播时间是链路的物理特性,可以视作不会改变,可以统计一段时间内的延迟最小值作为往返传播时间,通过统计目标节点收到接收节点发送的确认信息的时间间隔,并统计这段时间内的飞行数据报的数量,可以得到往返时延积,将往返时延积除以往返传播时间,即可得到目标链路的瓶颈带宽。
通过改变第一增益参数来控制目标节点向目标链路发送数据流的发送速率,目标节点向目标链路发送数据流的发送速率越大,目标节点在单位时间内侦测带宽的范围也更大。在本实施例中,使用第一增益参数调整前的参数值侦测带宽的速度低于使用第一增益参数调整后的参数值侦测带宽的速度,即,在检测到的目标链路的链路状态确定存在与目标节点的数据流竞争目标链路的链路资源的竞争流的情况下,竞争流会与目标节点的数据流竞争目标链路的链路资源,此时可以通过调整目标节点的第一增益参数增加目标节点的发送速率,进而增加目标节点侦测带宽的速度,以使目标节点的数据流能够得到更多的目标链路的链路资源。
需要说明的是,调整目标节点的第一增益参数的参数值的方式可以有多种。例如,增大第一增益参数的参数值,通过上述方式,可以提高单位时间内向目标链路发送数据报的数量,从而抢占更多的带宽。又例如,对于采用第一增益参数的多个参数值进行链路带宽探测的场景,可以增大第一增益参数的至少部分参数值,其他参数值可以保持不变,通过上述方式,可以提高在相同时间内向目标链路发送数据报的数量(可以认为是单位时间内的平均数量),从而抢占更多的带宽。
示例性地,参见图3,目标链路包括第一链路、第二链路以及第三链路,目标节点通过目标链路发送数据流至第一节点,第二节点通过第四链路、第二链路以及第五链路发送数据流至第三节点,第二节点的数据流与目标节点的数据流竞争第二链路的链路资源,第二节点可以是通过基于丢包的拥塞控制方法进行拥塞控制的节点,当目标链路的瓶颈链路为第二链路时,目标节点需要测量第二链路的瓶颈带宽;由于第二节点的数据流与目标节点的数据流竞争第二链路的链路资源,导致目标节点的数据流在第二链接中占用的带宽减小,进而影响目标节点的数据流的传输速度,在本实施例中,在检测到的目标链路的链路状态确定存在与目标节点的数据流竞争目标链路的链路资源的竞争流的情况下,调整目标节点的第一增益参数,增加目标节点的数据流的发送速率,进而增加目标节点侦测带宽的速度,提升了目标节点传输数据流的竞争力。
通过本申请提供的实施例,对目标链路的链路状态进行检测,其中,目标链路为目标节点进行数据流传输所使用的链路,目标节点是通过测量链路的瓶颈带宽和往返传播时间来进行拥塞控制的节点;在检测到的目标链路的链路状态确定存在与目标节点的数据流竞争目标链路的链路资源的竞争流的情况下,调整目标节点的第一增益参数,其中,第一增益参数用于控制目标节点的发送速率,使用调整前的第一增益参数侦测带宽的速度低于使用调整后的第一增益参数侦测带宽的速度,解决了相关技术中的链路拥塞控制方法存在带宽资源分配不合理的问题,提高了带宽资源分配的合理性。
作为一种可选的方案,目标节点使用目标状态机进行拥塞控制,目标状态机包括延迟探测状态,其中,延迟探测状态是用于探测链路的往返时延的状态。
对应地,对目标链路的链路状态进行检测,包括:在目标状态机进入到延迟探测状态的情况下,记录目标状态机进入到延迟探测状态的最小时延,得到第一最小时延;在目标状态机退出到延迟探测状态的情况下,记录目标状态机退出延迟探测状态的最小时延,得到第二最小时延;根据第一最小时延和第二最小时延,对目标链路的链路状态进行检测。
目标节点是通过测量链路的瓶颈带宽和往返传播时间来进行拥塞控制的节点,往返传播时间也可以叫做往返时延,指的是从目标节点通过目标链路传输数据到接收节点,再到目标节点收到接收节点的确认信息(接收节点收到数据后立即发送确认信息)总共所需的时间,在本实施例中,延迟探测状态是用于探测链路的往返时延的状态,即,延迟探测状态是用于探测链路的往返传播时间的状态。
在目标状态机进入到延迟探测状态的情况下,目标节点可以减少数据流的发送速率,使目标链路内的飞行数据报的数据量小于目标链路实际的时延带宽积,此时,目标节点根据数据报在发送至接收节点后返回的确定信号,可以得到目标链路的最小往返时延。
在本实施例中,记录目标状态机进入到延迟探测状态的最小时延,得到第一最小时延,在延迟探测状态结束时,即,在目标状态机退出到延迟探测状态的情况下,记录目标状态机退出延迟探测状态的最小时延,得到第二最小时延,根据第一最小时延和第二最小时延,对目标链路的链路状态进行检测,这里,第一最小时延以及第二最小时延均指的是目标节点在延迟探测状态下测得的最小往返时延。
这里,第一最小时延是在目标状态机进入到延迟探测状态的情况下,记录目标状态机进入到延迟探测状态的最小时延,我们认为第一最小时延是在目标链路中不存在与目标节点的数据流竞争目标链路的链路资源的竞争流的情况下目标链路的往返时延,在目标链路中存在竞争流时,竞争流会占用目标链路的带宽,且目标链路的缓冲区可能存在竞争流引起的队列,导致在这个延迟探测状态下目标节点测得的第二最小时延相比第一最小时延产生较大变化,因此,可以根据第一最小时延和第二最小时延,对目标链路的链路状态进行检测。
根据第一最小时延和第二最小时延,对目标链路的链路状态进行检测的具体方式可以是,计算第二最小时延与第一最小时延之间的偏差程度,当偏差程度过大时,认为目标链路确定存在与目标节点的数据流竞争目标链路的链路资源的竞争流。
通过本申请提供的实施例,计算目标节点在延迟探测状态下测得的最小往返时延对目标链路的链路状态进行检测,可以提高链路状态检测的准确性。
作为一种可选的方案,根据第一最小时延和第二最小时延,对目标链路的链路状态进行检测,包括:基于第二最小时延与第一最小时延之间的时延差,对目标链路的链路状态进行检测。
在本实施例中,可以是将第二最小时延与第一最小时延之间的时延差与预设阈值进行大小比较,根据大小比较结果判断目标链路的链路状态;还可以是将第二最小时延与第一最小时延之间的时延差除以第一最小时延,得到最小时延的变化率,基于最小时延的变化率判断目标链路的链路状态。
通过本申请提供的实施例,基于第二最小时延与第一最小时延之间的时延差判断目标链路的链路状态,可以提高链路状态检测的准确性。
作为一种可选的方案,基于第二最小时延与第一最小时延之间的时延差,对目标链路的链路状态进行检测,包括:确定第二最小时延和第一最小时延之间的时延差与第一最小时延之间的比值,得到时延增长比值;在时延增长比值大于或者等于预设增长阈值的情况下,确定目标链路处于第一链路状态,其中,第一链路状态为存在与目标节点的数据流竞争目标链路的链路资源的竞争流的链路状态,预设增长阈值为正数。
时延增长比值为第二最小时延和第一最小时延之间的时延差与第一最小时延之间的比值,时延增长比值用于指示第二最小时延相对于第一最小时延的变化率。
在时延增长比值大于或者等于预设增长阈值的情况下,说明第二最小时延相比于第一最小时延增长较多,可以认为是由于目标链路中存在竞争流,竞争流会占用目标链路的带宽,且目标链路的缓冲区可能存在竞争流引起的队列,导致在这个延迟探测状态下目标节点测得的第二最小时延相比第一最小时延增长较多,此时可以确定目标链路处于第一链路状态。
通过本申请提供的实施例,将时延增长比值与预设增长阈值进行大小比较,基于比较结果确定链路状态,可以保证链路状态确定的可靠性。
作为一种可选的方案,基于第二最小时延与第一最小时延之间的时延差,对目标链路的链路状态进行检测,还包括:在时延增长比值的绝对值小于预设增长阈值、或者时延增长比值小于预设增长阈值的相反数的情况下,确定目标链路处于第二链路状态,其中,第二链路状态为不存在与目标节点的数据流竞争目标链路的链路资源的竞争流的链路状态。
在本实施例中,预设增长阈值为用于指示链路状态是否发生变化的分界线,当时延增长比值的绝对值小于预设增长阈值时,说明最小往返时延的波动范围在正常区间内,此时可以认为目标链路中不存在其他竞争流与目标节点的数据流竞争目标链路的链路资源;当时延增长比值小于预设增长阈值的相反数时,说明第二最小时延小于第一最小时延,且两者时间的偏差程度超过了预设增长阈值所指示的正常区间范围的偏差程度,此时可以认为目标链路的传播延迟变得更好;需要说明的是,上述两种状态均属于第二链路状态,即不存在与目标节点的数据流竞争目标链路的链路资源的竞争流的链路状态。
通过本申请提供的实施例,将时延增长比值与预设增长阈值进行大小比较,基于比较结果确定链路状态是否处于第二链路状态,可以提升链路拥塞控制方法的完整性。
作为一种可选的方案,目标节点使用目标状态机进行拥塞控制,目标状态机包括带宽探测状态,其中,带宽探测状态是用于进行带宽探测的状态。
对应地,在基于目标链路的链路状态确定存在与目标节点的数据流竞争目标链路的链路资源的竞争流的情况下,调整目标节点的第一增益参数的参数值,包括:在基于目标链路的链路状态确定存在与目标节点的数据流竞争目标链路的链路资源的竞争流的情况下,当目标状态机进入到带宽探测状态时,将目标节点进行带宽探测所使用的增益循环由第一增益循环调整为第二增益循环,其中,第一增益循环为与第一增益参数对应的、包含多个第一参数值的第一参数值序列,第二增益循环为与第一增益参数对应的、包含多个第二参数值的第二参数值序列,第一参数值序列中仅包含1个大于1的第一参数值,第二参数值序列包含多个大于1的第二参数值,第二参数值序列中的最大参数值不小于第一参数值序列中的最大参数值。
目标节点是通过测量链路的瓶颈带宽和往返传播时间来进行拥塞控制的节点,在本实施例中,带宽探测状态是用于进行带宽探测的状态,即,带宽探测状态是用于探测链路的往瓶颈带宽的状态。
在目标状态机进入到带宽探测状态的情况下,目标节点可以增加数据流的发送速率,使目标链路内的飞行数据报的数据量大于目标链路实际的时延带宽积,此时,目标节点根据数据报在发送至接收节点后返回的确定信号,可以得到目标节点发送至目标链路的飞行数据报的数量,基于飞行数据报的数量和目标状态机的其他状态测得的往返传播时间,可以得到瓶颈带宽。
需要说明的是,两个节点之间可以通过单链路连接,也可以通过多条链路连接,限制两个节点之间的数据吞吐量的链路为瓶颈链路,瓶颈带宽指的是瓶颈链路所能传输数据报的最大速率。
当目标状态机进入到带宽探测状态时,目标节点会使用增益循环进行带宽探测,增益循环包括参数值序列,目标节点基于参数值序列中的多个参数值依次调节目标节点发送数据流的发送速率;当不存在与目标节点的数据流竞争目标链路的链路资源的竞争流的情况下,目标节点会使用第一增益循环进行带宽探测,第一增益循环为与第一增益参数对应的、包含多个第一参数值的第一参数值序列,第一参数值序列中仅包含1个大于1的第一参数值;当存在与目标节点的数据流竞争目标链路的链路资源的竞争流的情况下,目标节点会使用第二增益循环进行带宽探测,第二增益循环为与第一增益参数对应的、包含多个第二参数值的第二参数值序列,第二参数值序列包含多个大于1的第二参数值。
需要说明的是,在参数值等于1时,与目标节点向目标链路发送数据流的发送速率对应的目标链路中飞行数据报的数量,与目标节点估计的带宽时延积相同;在参数值大于1时,目标节点向目标链路发送数据流的发送速率增加,目标链路中的飞行数据报的数量会大于目标节点估计的带宽时延积;在参数值小于1时,目标节点向目标链路发送数据流的发送速率降低,目标链路中的飞行数据报的数量会小于目标节点估计的带宽时延积。
在基于目标链路的链路状态确定存在与目标节点的数据流竞争目标链路的链路资源的竞争流的情况下,当目标状态机进入到带宽探测状态时,将目标节点进行带宽探测所使用的增益循环由第一增益循环调整为第二增益循环,第二参数值序列中的最大参数值不小于第一参数值序列中的最大参数值,即,目标节点会增加在带宽探测状态下其整体的数据流发送速率,进而增加目标节点探测带宽的速度。
示例性地,目标链路的吞吐量由10Mbps增加到20Mbps,由于第一参数值序列中仅包含1个大于1的第一参数值,目标节点进入带宽探测状态时,若以第一增益循环进行带宽探测,其侦测带宽的速度较低,可能需要4轮时间来侦测目标链路吞吐量的变化;当目标链路中存在其他竞争流时,目标节点若仍以第一增益循环进行带宽探测,目标节点侦测带宽的速度较低,会被竞争流抢夺大量的带宽资源;在本实施例中,当目标链路中存在其他竞争流时,目标节点若以第二增益循环进行带宽探测,相比第一增益循环,目标节点会增加在带宽探测状态下其整体的数据流发送速率,进而增加目标节点探测带宽的速度,提升目标节点传输数据流的竞争力。
通过本申请提供的实施例,将目标节点进行带宽探测所使用的增益循环由第一增益循环调整为第二增益循环来增加侦测带宽的速度,可以提高目标节点传输数据流的竞争力。
作为一种可选的方案,第二参数值序列包含交替出现的第一目标参数值和第二目标参数值,第一目标参数值大于1,第二目标参数值为1。
在本实施例中,第二参数值序列中的最小参数值为1,即,当目标节点使用第二增益循环进行带宽探测时,目标节点向目标链路中发送的飞行数据报的数量会大于目标节点估计的带宽时延积,进而增加侦测带宽的速度,帮助目标节点抢占目标链路的带宽资源。
第二参数值序列中交替出现第一目标参数值和第二目标参数值,使目标节点传输的数据报的数量能够与其估计的带宽时延积相匹配,以帮助目标链路实现高吞吐量以及低排队延迟。
通过本申请提供的实施例,使目标节点能够在进行带宽探测的同时,帮助目标链路实现高吞吐量以及低排队延迟。
作为一种可选的方案,第二参数值序列为[N, 1, N, 1, N, 1, N, 1],其中,N为2.89或者其他大于或者等于1.25的正数。
在本实施例中,第一参数值序列中的第一参数值可以为1.25,第二参数值序列中的第二目标参数值可以保持为大于或者等于1.25的正数,例如,2.89,以增加在带宽探测状态下目标节点整体的数据流发送速率,进而增加目标节点探测带宽的速度。
通过本申请提供的实施例,限定第二参数值序列中第二目标参数值的取值,可以提高目标节点探测带宽的速度。
作为一种可选的方案,在将目标节点进行带宽探测所使用的增益循环由第一增益循环调整为第二增益循环之后,上述方法还包括:将第二参数值序列中的每个第二参数值依次作为第一增益参数的参数值进行带宽探测,直到探测到目标链路的瓶颈带宽。
在本实施例中,将第二参数值序列中的每个第二参数值依次作为第一增益参数的参数值进行带宽探测,直到探测到目标链路的瓶颈带宽,即,目标链路内目标节点的飞行数据报的数量不再增加,此时可以基于目标链路内目标节点的飞行数据报的数量和目标节点在延迟探测状态下得到的往返传播时间,确定目标链路的瓶颈带宽。
通过本申请提供的实施例,基于第二参数值序列持续进行带宽探测,使目标节点能够快速地探测到目标链路的瓶颈带宽。
作为一种可选的方案,在将第二参数值序列中的每个第二参数值依次作为第一增益参数的参数值进行带宽探测之前,上述方法还包括:将目标节点的第二增益参数设置为第一目标参数值,其中,第二增益参数是用于控制目标节点的飞行数据报的数量的增益参数。
在本实施例中,第二增益参数是用于控制目标节点的飞行数据报的数量的增益参数,第二增益参数可以用于控制拥塞窗口的大小,拥塞窗口用于控制目标链路中飞行数据报的数量,拥塞窗口用于决定目标节点可以发送的数据量。
将目标节点的第二增益参数设置为第一目标参数值,即,当目标节点发送数据报的发送速率增加时,第二增益参数也同步增加,以使目标节点发送数据报能够进入目标链路,进而提高目标节点侦测带宽的速度。
通过本申请提供的实施例,在将目标节点进行带宽探测所使用的增益循环由第一增益循环调整为第二增益循环的同时,将目标节点的第二增益参数设置为第一目标参数值,使目标节点发送数据报能够进入目标链路,进而提高目标节点侦测带宽的速度。
作为一种可选的方案,在对目标链路的链路状态进行检测之后,上述方法还包括:在基于目标链路的链路状态确定不存在与目标节点的数据流竞争目标链路的链路资源的竞争流的情况下,当目标状态机进入到带宽探测状态时,将第一参数值序列中的每个第一参数值依次作为第一增益参数的参数值进行带宽探测,其中,第一参数值序列为[1.25,0.75, 1, 1, 1, 1, 1, 1]。
在本实施例中,第一参数值序列为[1.25, 0.75, 1, 1, 1, 1, 1, 1],第一个第一参数值为1.25,以增加目标节点的发送速率,以探测更多的带宽;在探测完之后,第一参数值为0.75,以降低目标链路中的飞行数据报的数量;之后维持第一参数值为1,以保持目标节点输出数据报的数量与其估计的带宽时延积相匹配,以提高目标链路在带宽探测状态下的吞吐量,降低目标链路的排队延迟。
通过本申请提供的实施例,可以提高目标链路在带宽探测状态下的吞吐量,降低目标链路的排队延迟。
作为一种可选的方案,在基于目标链路的链路状态确定存在与目标节点的数据流竞争目标链路的链路资源的竞争流的情况下,调整目标节点的第一增益参数的参数值之后,上述方法还包括:持续对目标链路的最小时延进行探测;在目标链路的最小时延未发生更新的时长达到预设时长阈值的情况下,控制目标状态机切换到延迟探测状态,以重新对目标链路的链路状态进行检测,其中,延迟探测状态是用于探测链路的往返时延的状态。
在本实施例中,当目标状态机进入到带宽探测状态时,可以持续对目标链路的最小时延进行探测,并基于探测到的最小时延确定是否进行状态切换。如果检测到目标链路的最小时延未发生更新的时长达到预设时长阈值(例如,10s,也可以是其他时长阈值),则控制目标状态机切换到延迟探测状态,即,用于探测链路的往返时延的状态。
在延迟探测状态下,可以重新对目标链路的链路状态进行检测,并判断是否需要调整第一增益参数的参数值。判断的方式与前述实施例中类似,在此不做赘述。
通过本申请提供的实施例,基于链路的最小时延未发生更新的时长进行状态切换,从而控制重新对链路状态进行检测,可以提升链路状态检测的及时性。
作为一种可选的方案,在对目标链路的链路状态进行检测之前,上述方法还包括:持续对目标链路的最小时延进行探测;在目标链路的最小时延未发生更新的时长达到预设时长阈值的情况下,触发对目标链路的链路状态进行检测。
为了确定是否需要对目标链路的链路状态进行检测,可以持续对目标链路的最小时延进行探测,并基于探测到的最小时延确定是否需要对目标链路的链路状态进行检测。如果检测到目标链路的最小时延未发生更新的时长达到预设时长阈值(例如,10s,也可以是其他时长阈值),则触发对目标链路的链路状态进行检测。
可选地,触发对目标链路的链路状态进行检测可以是通过触发进行目标状态机中的不同状态之间的切换进行的,目标状态机以及目标状态机中的各个状态与前述实施例中类似,在此不做赘述。触发对目标链路的链路状态进行检测可以是:触发目标状态机切换到延迟探测状态,即,用于探测链路的往返时延的状态。
通过本申请提供的实施例,基于链路的最小时延未发生更新的时长触发对链路状态进行检测,可以提升链路状态检测的及时性。
作为一种可选的方案,目标节点使用目标状态机进行拥塞控制,目标状态机包括带宽探测状态,其中,带宽探测状态是用于进行带宽探测的状态。
对应地,在基于目标链路的链路状态确定存在与目标节点的数据流竞争目标链路的链路资源的竞争流的情况下,调整目标节点的第一增益参数的参数值,包括:在基于目标链路的链路状态确定存在与目标节点的数据流竞争目标链路的链路资源的竞争流的情况下,当目标状态机进入到带宽探测状态时,按照参数值递增的方式依次调整第一增益参数的参数值,直到探测到目标链路的瓶颈带宽。
在本实施例中,在基于目标链路的链路状态确定存在与目标节点的数据流竞争目标链路的链路资源的竞争流的情况下,当目标状态机进入到带宽探测状态时,按照参数值递增的方式依次调整第一增益参数的参数值,即,通过不断增加第一增益参数的参数值来增加目标节点的数据流发送速率,增加了目标节点侦测带宽的速度,直到探测到目标链路的瓶颈带宽。
通过本申请提供的实施例,通过不断增加第一增益参数的参数值来探测目标链路的瓶颈带宽,能够提升带宽探测的效率。
作为一种可选的方案,在对目标链路的链路状态进行检测之后,上述方法还包括:在基于目标链路的链路状态确定存在与目标节点的数据流竞争目标链路的链路资源的竞争流的情况下,将预设竞争标识记录为第一标识值,其中,预设竞争标识是用于指示是否存在竞争流的标识,第一标识值是预设竞争标识的标识值中,与存在竞争流对应的标识值;在基于检测到的目标链路的链路状态确定不存在与目标节点的数据流竞争目标链路的链路资源的竞争流的情况下,将预设竞争标识记录为第二标识值,其中,第二标识值是预设竞争标识的标识值中,与不存在竞争流对应的标识值;其中,第一增益参数是基于预设竞争标识的标识值调整的。
在本实施例中,在基于目标链路的链路状态确定存在与目标节点的数据流竞争目标链路的链路资源的竞争流的情况下,将预设竞争标识记录为第一标识值,在基于检测到的目标链路的链路状态确定不存在与目标节点的数据流竞争目标链路的链路资源的竞争流的情况下,将预设竞争标识记录为第二标识值,在目标状态机进入带宽探测状态时,第一增益参数可以基于预设竞争标识的标识值进行调整。
示例性地,第一标识值可以是1,第二标识值可以是0,当目标状态机进入带宽探测状态时,在识别到预设竞争标识的标识值为1时,可以将目标结点进行带宽探测所使用的增益循环由第一增益循环调整为第二增益循环。
通过本申请提供的实施例,能够提高数据传输过程的效率,保证链路拥塞控制方法的可靠性。
作为一种可选的方案,目标节点使用目标状态机进行拥塞控制,目标状态机包括带宽探测状态,其中,带宽探测状态是用于进行带宽探测的状态。
对应地,在基于目标链路的链路状态确定存在与目标节点的数据流竞争目标链路的链路资源的竞争流的情况下,调整目标节点的第一增益参数的参数值,包括:在目标状态机进入到带宽探测状态的情况下,读取预设竞争标识的标识值;在预设竞争标识的标识值为第一标识值的情况下,调整目标节点的第一增益参数的参数值。
确定进行带宽探测所使用的第一增益参数的参数值可以是基于预设竞争标识的标识值确定的。在目标状态机进入到带宽探测状态时,可以读取预设竞争标识的标识值。如果预设竞争标识的标识值为第一标识值,说明存在与目标节点的数据流竞争目标链路的链路资源的竞争流,此时可以调整目标节点的第一增益参数的参数值,以提高目标节点的数据流的发送速率,增加目标节点侦测带宽的速度。
通过本申请提供的实施例,基于预设竞争标识的标识值确定是否存在竞争流,进而确定是否需要调整第一增益参数的参数值,可以提高增益参数调整的便捷性。
作为一种可选的方案,在对目标链路的链路状态进行检测之后,上述方法还包括:在基于目标链路的链路状态确定不存在与目标节点的数据流竞争目标链路的链路资源的竞争流的情况下,将第一参数值序列中的每个第一参数值依次作为第一增益参数的参数值进行带宽探测,其中,第一参数值序列为[1.25, 0.75, 1, 1, 1, 1, 1, 1]。
在本实施例中,目标节点不需要进行带宽探测状态,在确定不存在与目标节点的数据流竞争目标链路的链路资源的竞争流的情况下,将第一参数值序列中的每个第一参数值依次作为第一增益参数的参数值进行带宽探测;第一参数值序列为[1.25, 0.75, 1, 1,1, 1, 1, 1],第一个第一参数值为1.25,以增加目标节点的发送速率,以探测更多的带宽;在探测完之后,第一参数值为0.75,以降低目标链路中的飞行数据报的数量;之后维持第一参数值为1,以保持目标节点输出数据报的数量与其估计的带宽时延积相匹配,以提高目标链路的吞吐量,降低目标链路的排队延迟。
通过本申请提供的实施例,可以提高目标链路的吞吐量,降低目标链路的排队延迟。
作为一种可选的方案,在调整目标节点的第一增益参数的参数值之后,上述方法还包括:重新对目标链路的链路状态进行检测;在基于重新检测的目标链路的链路状态确定不存在与目标节点的数据流竞争目标链路的链路资源的竞争流的情况下,将目标节点的第一增益参数的参数值恢复为调整前的参数值。
在调整目标节点的第一增益参数的参数值之后,重新对目标链路的链路状态进行检测,在不存在竞争流的情况下,将目标节点的第一增益参数的参数值恢复为调整前的参数值,即,控制目标节点向目标链路传输数据流的速度,使目标链路中的飞行数据报的数量与估计的带宽时延积相同,进而提高目标链路的吞吐量,降低目标链路的排队延迟。
通过本申请提供的实施例,在不存在竞争流的情况下及时地调整第一增益参数的参数值,可以提高目标链路的吞吐量,降低目标链路的排队延迟。
下面结合可选示例对本申请中的链路拥塞控制方法进行解释说明。当使用基于丢包的TCP拥塞控制算法进行拥塞控制的情况下,当瓶颈链路的缓存较大时,基于丢包的拥塞控制算法的数据流会填满缓存,造成缓冲区膨胀,其中,缓冲区膨胀是一种路由器或网络设备由于数据缓冲过多而导致数据传输出现高延迟和延迟的现象;当瓶颈链路的缓存较小时,基于丢包的拥塞控制算法会又将丢包作为发生拥塞的信号,不断地减少其拥塞窗口,从而降低数据传输速率,导致网络吞吐量较低。为了解决上述问题,提出了BBR,BBR通过测量网络的瓶颈带宽和往返传播时间来进行拥塞控制,inflight指的是目标节点通过目标链路向接收节点传输的数据报的数量,也称为飞行数据报。当inflight大于BDP(Bandwidth-Delay Product,带宽时延积)之后,代表目标链路内已填满(超过瓶颈带宽),此时会开始形成队列,堆积在链路瓶颈处,inflight继续增大,超过链路瓶颈所支持的最大缓冲区之后,目标链路就开始丢包。
BBR的状态机共有四个阶段,分别为STARTUP(启动)阶段、DRAIN(排空)阶段、PROBR_BW(探测带宽)阶段、PROBR_RTT(探测往返时延)阶段。参见图4,图4是根据本申请实施例的一种可选的链路拥塞控制方法的状态机的流程图,如图4所示,启动阶段是BBR控制的数据流启动时的状态,为了能尽快找到链路的瓶颈带宽,处于启动阶段的数据流每一个往返时延会将报文发送速率会提高一倍。指数增长的发送速率使得inflight报文快速增加,从而BBR探测到的带宽也快速增加;BBR测量到的带宽会达到峰值,当判断测量到的带宽连续3个往返时延不再显著增长时(例如,增长幅度小于25%),BBR会退出启动阶段,进入排空阶段;当判断测量到的带宽连续3个往返时延显著增长时,继续保持在启动阶段。
排空阶段的目标是让inflight报文数量回到BDP的水平,其存在的意义是为了抵消掉在启动阶段后期向网络目标链路灌入的超量报文,排空阶段下会降低目标节点的发送速率,当判断inflight小于或等于BDP时,BBR会进入PROBR_BW状态;当判断inflight大于BDP时,BBR保持在排空阶段。
PROBR_BW是四个状态中唯一的稳态,也是持续时间最长的状态(大概98%的时间),在此状态下,BBR会不断的去探测带宽,BBR定义了一个增益循环的概念,将增益系数作用到数据发送速率上,以此控制报文发送速度,增益系数的增益参数值如下:1.25、0.75、1、1、1、1、1、1,该设计允许增益周期首先以增益参数值高于1的方式探测更多带宽,然后以增益参数值低于1的方式排空任何结果队列,增益参数值等于1来保持传输数据报的数量与估计的BDP匹配,这有助于BBR流达到高吞吐量以及低排队延迟。
PROBR_RTT状态的目的是为了探测链路的固有往返时延,如果最小往返时延在10s内没有刷新,则无论之前在哪个状态,BBR都会强制将数据流的状态切换到PROBR_RTT。在PROBR_RTT状态中会判断管道是否被填满(目标链路是否被填满),即,判断inflight是否大于或等于BDP,当判断为是时,BBR切换至PROBR_BW状态,当判断为否时,BBR切换至启动阶段。
其中BBR用了两个重要的增益参数:pacing_gain(增益参数值)和cwnd_gain(拥塞窗口参数值),pacing_gain用来控制发送速率,确保网络中的数据流量在可接受的范围内,避免引发网络拥塞;而cwnd_gain用来控制inflight数据量,决定发送端可以发送的数据量。
相关技术中,蜂窝网络的缓冲区大小逐年增加,通过在链路设置大缓冲区来处理不同频道上的突发流量,以避免丢包事件。参见图5,图5是根据本申请实施例的另一种可选的链路拥塞控制方法的示意图,如图5所示,图5显示了BBR与CUBIC共享动态缓冲区时的吞吐量随缓冲区大小的变化,随着缓冲区大小的增加,CUBIC的良好吞吐量会更好,而BBR的良好吞吐量会更差;当缓冲区太小时,CUBIC过于积极地增加其拥塞窗口,导致其出现短时间内丢包的情况,此时CUBIC必须减少其拥塞窗口,因此CUBIC的吞吐量会低于BBR;当缓冲区大小大于2*BDP时,由于BBR的稳态会将其飞行数据报数量维持在估计的BDP上,因此缓冲区的大部分队列都属于CUBIC,即使发生数据报遗失,CUBIC也会恢复其cwnd,因此,当缓冲区大小太大时,BBR的吞吐量会远低于CUBIC。
当BBR瓶颈带宽和往返传播时间算法在与基于丢包的拥塞控制算法如CUBIC共享瓶颈链路缓存区时,由于BBR和基于丢包的算法有不同的工作原理,BBR倾向于通过精确测量瓶颈带宽和往返时延来动态调整发送速率,而CUBIC等基于丢包的算法主要依赖于丢包作为拥塞信号,这两种算法的反应速度和拥塞信号处理方式不同,因此它们在共享相同的链路上可能会产生不公平的竞争。
BBR只有pacing_gain大于1才能够侦测到更多的带宽,而BBR大部分时间都花在PROBE_BW上,那么这个状态下pacing_gain较小,因此,如果BBR没有成功探测到更好的带宽,那么一旦进入PROBE_BW,其吞吐量会相对较低。例如,若单一BBR数据流共享链路为10Mbps,在BBR进入PROBE_BW一段时间后,链路的吞吐量若增加一倍,达到20Mbps,BBR每次增益系数都会侦测1.25*10Mbps时的瓶颈带宽,因此BBR需要四轮时间来侦测吞吐量的变化。
参见图6,图6是根据本申请实施例的另一种可选的链路拥塞控制方法的流程示意图,如图6所示,可以通过以下步骤判断是否存在其他竞争流。在进入前将Last_RTTmin记录为最小往返时延,进入正常的PROBR_RTT状态,在退出PROBR_RTT状态之前将Current_RTTmin记录为最小往返时延。其中,具体的步骤可以参见以下步骤。
步骤1,计算Last_RTTmin:当BBR进入PROBE_RTT时,记录最小往返时延为Last_RTTmin。
步骤2,计算Current_RTTmin:当BBR退出PROBE_RTT时,记录新的最小往返时延为Current_RTTmin。
步骤3,计算往返时延差值:往返时延差值=( Current_RTTmin - Last_RTTmin )/ Last_RTTmin。
步骤4,判断往返时延差值是否超过预设阈值,若判断为是,则Compete_flag(竞争标识)记录为1,若判断为否,则Compete_flag(竞争标识)记录为0。
步骤5,当Compete_flag记录为1时,调节pacing_gain。
这里,cwnd_gain设定为4个数据报,pacing_gain为1,BBR将处于此状态至少20ms或1个往返时延,耗尽飞行中的数据报以检测最小往返时延。当链路中只存在BBR的数据流时,在BBR进入PROBE_RTT时,链路的飞行数据报总是被该状态耗尽,BBR可以侦测到新的最小往返时延。如果在BBR流建立一段时间后有一个数据流开始共享相同的瓶颈缓冲区,则BBR将进入PROBE_RTT以检测新的最小往返时延,并且它将清空自己的正在传输的数据报,因为还有其他数据流,且瓶颈缓冲区有一些由其他数据流引起的队列,BBR会检测到更高最小往返时延,并且该值将大于上次的最小往返时延。因此可以通过记录Last_RTTmin和Current_RTTmin来判断链路中是否有存在其他数据流。
上述步骤4的判断逻辑参见表1。
表1
往返时延差值>a在这个事件下,我们发现对于给定阈值a,Current_RTTmin大于Last_RTTmin,因为往返时延差值定义为 (Current_RTTmin-Last_RTTmin) / Last_RTTmin在这种情况下,我们会判断有其他流量竞争,将Compete_flag设定为1,当BBR进入PROBE_BW时,那么BBR会依照这个参数来调整pacing_gain。有可能判断错误的情况是实际传播延迟增加了,那么我们的算法就会出错,此时我们无法判断往返时延是否上升,因为竞争对手或实际传播延迟发生了变化。
|往返时延差值|<a(往返时延差值的绝对值小于a)在这个事件下,我们观察到Current_RTTmin和Last_RTTmin的差异在给定阈值a内,将Compete_flag设定为0。因为PROBE_RTT清空了自己的飞行数据报,所以BBR将侦测到最接近Last_RTTmin的值。因此,可以确定链路中不存在其他数据流,则BBR保持原来的行为。
往返时延差值<-a在这个事件中我们发现Current_RTTmin小于Last_RTTmin,若链路的传播延迟在其他状态下变化很小,BBR会侦测到并更新最小往返时延,当BBR最终进入这个状态时,这意味着无法找到更小的最小往返时延。因此,传播延迟只有在这种状态下变化得更好,BBR仍然保持原来的行为。
上述步骤5的判断逻辑参见表2。
表2
Cycling_gain为增益系数,Cycling_gain包括多个pacing_gain,当Compete_flag为1,BBR竞争的对象是积极的CUBIC,所以需要一个强的pacing_gain来抢夺CUBIC的带宽。在竞争模式下,每个阶段的cycle_gain都大于1,最大pacing_gain和cwnd_gain设定为2.89,与STARTUP状态中的慢启动相同;当Compete_flag为0时,表示链路中没有其他数据流,此时保持原有行为即可。
在本实施例中,通过修改BBR中的PROBE_RTT算法来判断是否有竞争者加入该链路,并使BBR能够更精确地探测带宽变化,并迅速地调整发送速率,以避免不必要的拥塞和带宽浪费,有助于确保不同数据流之间的公平性,避免某一数据流占用大部分带宽,能够有效地提高整体网络性能。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM(Read-Only Memory,只读存储器)/RAM(Random Access Memory,随机存取存储器)、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
根据本申请实施例的又一个方面,还提供了一种链路拥塞控制装置,该装置用于实现上述实施例中所提供的链路拥塞控制方法,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图7是根据本申请实施例的一种链路拥塞控制装置的结构框图,如图7所示,该装置包括:
检测单元702,用于对目标链路的链路状态进行检测,其中,目标链路为目标节点进行数据流传输所使用的链路,目标节点是通过测量链路的瓶颈带宽和往返传播时间来进行拥塞控制的节点;
调整单元704,用于在基于目标链路的链路状态确定存在与目标节点的数据流竞争目标链路的链路资源的竞争流的情况下,调整目标节点的第一增益参数的参数值,其中,第一增益参数用于控制目标节点的发送速率,使用第一增益参数调整前的参数值侦测带宽的速度低于使用第一增益参数调整后的参数值侦测带宽的速度。
需要说明的是,该实施例中的检测单元702可以用于执行上述步骤S202,该实施例中的调整单元704可以用于执行上述步骤S204。
通过本申请提供的实施例,对目标链路的链路状态进行检测,其中,目标链路为目标节点进行数据流传输所使用的链路,目标节点是通过测量链路的瓶颈带宽和往返传播时间来进行拥塞控制的节点;在检测到的目标链路的链路状态确定存在与目标节点的数据流竞争目标链路的链路资源的竞争流的情况下,调整目标节点的第一增益参数,其中,第一增益参数用于控制目标节点的发送速率,使用调整前的第一增益参数侦测带宽的速度低于使用调整后的第一增益参数侦测带宽的速度,解决了相关技术中的链路拥塞控制方法存在带宽资源分配不合理的问题,提高了带宽资源分配的合理性。
作为一种可选的方案,目标节点使用目标状态机进行拥塞控制,目标状态机包括延迟探测状态,其中,延迟探测状态是用于探测链路的往返时延的状态。对应地,检测单元包括:第一记录模块,用于在目标状态机进入到延迟探测状态的情况下,记录目标状态机进入到延迟探测状态的最小时延,得到第一最小时延;第二记录模块,用于在目标状态机退出到延迟探测状态的情况下,记录目标状态机退出延迟探测状态的最小时延,得到第二最小时延;检测模块,用于根据第一最小时延和第二最小时延,对目标链路的链路状态进行检测。
作为一种可选的方案,检测模块包括:检测子模块,用于基于第二最小时延与第一最小时延之间的时延差,对目标链路的链路状态进行检测。
作为一种可选的方案,检测子模块包括:第一确定子单元,用于确定第二最小时延和第一最小时延之间的时延差与第一最小时延之间的比值,得到时延增长比值;第二确定子单元,用于在时延增长比值大于或者等于预设增长阈值的情况下,确定目标链路处于第一链路状态,其中,第一链路状态为存在与目标节点的数据流竞争目标链路的链路资源的竞争流的链路状态,预设增长阈值为正数。
作为一种可选的方案,检测子模块还包括:第三确定子单元,用于在时延增长比值的绝对值小于预设增长阈值、或者时延增长比值小于预设增长阈值的相反数的情况下,确定目标链路处于第二链路状态,其中,第二链路状态为不存在与目标节点的数据流竞争目标链路的链路资源的竞争流的链路状态。
作为一种可选的方案,目标节点使用目标状态机进行拥塞控制,目标状态机包括带宽探测状态,其中,带宽探测状态是用于进行带宽探测的状态。对应地,调整单元包括:第一调整模块,用于在基于目标链路的链路状态确定存在与目标节点的数据流竞争目标链路的链路资源的竞争流的情况下,当目标状态机进入到带宽探测状态时,将目标节点进行带宽探测所使用的增益循环由第一增益循环调整为第二增益循环,其中,第一增益循环为与第一增益参数对应的、包含多个第一参数值的第一参数值序列,第二增益循环为与第一增益参数对应的、包含多个第二参数值的第二参数值序列,第一参数值序列中仅包含1个大于1的第一参数值,第二参数值序列包含多个大于1的第二参数值,第二参数值序列中的最大参数值不小于第一参数值序列中的最大参数值。
作为一种可选的方案,第二参数值序列包含交替出现的第一目标参数值和第二目标参数值,第一目标参数值大于1,第二目标参数值为1。
作为一种可选的方案,第二参数值序列为[N, 1, N, 1, N, 1, N, 1],其中,N为2.89或者其他大于或者等于1.25的正数。
作为一种可选的方案,上述装置还包括:第一探测单元,用于在将目标节点进行带宽探测所使用的增益循环由第一增益循环调整为第二增益循环之后,将第二参数值序列中的每个第二参数值依次作为第一增益参数的参数值进行带宽探测,直到探测到目标链路的瓶颈带宽。
作为一种可选的方案,上述装置还包括:设置单元,用于在将第二参数值序列中的每个第二参数值依次作为第一增益参数的参数值进行带宽探测之前,将目标节点的第二增益参数设置为第一目标参数值,其中,第二增益参数是用于控制目标节点的飞行数据报的数量的增益参数。
作为一种可选的方案,上述装置还包括:第二探测单元,用于在对目标链路的链路状态进行检测之后,在基于目标链路的链路状态确定不存在与目标节点的数据流竞争目标链路的链路资源的竞争流的情况下,当目标状态机进入到带宽探测状态时,将第一参数值序列中的每个第一参数值依次作为第一增益参数的参数值进行带宽探测,其中,第一参数值序列为[1.25, 0.75, 1, 1, 1, 1, 1, 1]。
作为一种可选的方案,上述装置还包括:第三探测单元,用于在调整目标节点的第一增益参数的参数值之后,持续对目标链路的最小时延进行探测;第一控制单元,用于在目标链路的最小时延未发生更新的时长达到预设时长阈值的情况下,控制目标状态机切换到延迟探测状态,以重新对目标链路的链路状态进行检测,其中,延迟探测状态是用于探测链路的往返时延的状态。
作为一种可选的方案,上述装置还包括:第四探测单元,用于在对目标链路的链路状态进行检测之前,持续对目标链路的最小时延进行探测;第二控制单元,用于在目标链路的最小时延未发生更新的时长达到预设时长阈值的情况下,触发对目标链路的链路状态进行检测。
作为一种可选的方案,目标节点使用目标状态机进行拥塞控制,目标状态机包括带宽探测状态,其中,带宽探测状态是用于进行带宽探测的状态。对应地,调整单元包括:第二调整模块,用于在基于目标链路的链路状态确定存在与目标节点的数据流竞争目标链路的链路资源的竞争流的情况下,当目标状态机进入到带宽探测状态时,按照参数值递增的方式依次调整第一增益参数的参数值,直到探测到目标链路的瓶颈带宽。
作为一种可选的方案,上述装置还包括:第一记录单元,用于在对目标链路的链路状态进行检测之后,在基于目标链路的链路状态确定存在与目标节点的数据流竞争目标链路的链路资源的竞争流的情况下,将预设竞争标识记录为第一标识值,其中,预设竞争标识是用于指示是否存在竞争流的标识,第一标识值是预设竞争标识的标识值中,与存在竞争流对应的标识值;第二记录单元,用于在基于检测到的目标链路的链路状态确定不存在与目标节点的数据流竞争目标链路的链路资源的竞争流的情况下,将预设竞争标识记录为第二标识值,其中,第二标识值是预设竞争标识的标识值中,与不存在竞争流对应的标识值;其中,第一增益参数是基于预设竞争标识的标识值调整的。
作为一种可选的方案,目标节点使用目标状态机进行拥塞控制,目标状态机包括带宽探测状态,其中,带宽探测状态是用于进行带宽探测的状态。对应地,调整单元包括:读取模块,用于在目标状态机进入到带宽探测状态的情况下,读取预设竞争标识的标识值;第三调整模块,用于在预设竞争标识的标识值为第一标识值的情况下,调整目标节点的第一增益参数的参数值。
作为一种可选的方案,上述装置还包括:第五探测单元,用于在对目标链路的链路状态进行检测之后,在基于目标链路的链路状态确定不存在与目标节点的数据流竞争目标链路的链路资源的竞争流的情况下,将第一参数值序列中的每个第一参数值依次作为第一增益参数的参数值进行带宽探测,其中,第一参数值序列为[1.25, 0.75, 1, 1, 1, 1, 1,1]。
作为一种可选的方案,上述装置还包括:第六探测单元,用于在调整目标节点的第一增益参数的参数值之后,重新对目标链路的链路状态进行检测;恢复单元,用于在基于重新检测的目标链路的链路状态确定不存在与目标节点的数据流竞争目标链路的链路资源的竞争流的情况下,将目标节点的第一增益参数的参数值恢复为调整前的参数值。
作为一种可选的方案,与目标节点的数据流竞争目标链路的链路资源的竞争流是基于丢包进行拥塞控制的节点的数据流。
根据本申请实施例的又一个方面,还提供了一种计算机可读的存储介质,计算机可读的存储介质包括存储的程序,其中,程序运行时执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
根据本申请实施例的又一方面,还提供了一种电子设备,包括存储器和处理器,存储器中存储有计算机程序,处理器被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述电子设备还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
根据本申请实施例的又一个方面,提供了一种计算机程序产品,该计算机程序产品包括计算机程序/指令,该计算机程序/指令包含用于执行流程图所示的方法的程序代码。在这样的实施例中,参考图8,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被中央处理器801执行时,执行本申请实施例提供的各种功能。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
参考图8,图8是根据本申请实施例的一种可选的电子设备的计算机系统的结构框图。
图8示意性地示出了用于实现本申请实施例的电子设备的计算机系统结构框图。如图8所示,计算机系统800包括中央处理器801(Central Processing Unit,CPU),其可以根据存储在只读存储器802(Read-Only Memory,ROM)中的程序或者从存储部分808加载到随机访问存储器803(Random Access Memory,RAM)中的程序而执行各种适当的动作和处理。在随机访问存储器803中,还存储有系统操作所需的各种程序和数据。中央处理器801、在只读存储器802以及随机访问存储器803通过总线804彼此相连。输入/输出接口805(Input /Output接口,即I/O接口)也连接至总线804。
以下部件连接至输入/输出接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如局域网卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至输入/输出接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
特别地,根据本申请的实施例,各个方法流程图中所描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被中央处理器801执行时,执行本申请的系统中限定的各种功能。
需要说明的是,图8示出的电子设备的计算机系统800仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
显然,本领域的技术人员应该明白,上述的本申请实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请实施例不限制于任何特定的硬件和软件结合。
以上仅为本申请的优选实施例而已,并不用于限制本申请实施例,对于本领域的技术人员来说,本申请实施例可以有各种更改和变化。凡在本申请实施例的原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请实施例的保护范围之内。
Claims (22)
1.一种链路拥塞控制方法,其特征在于,
包括:
对目标链路的链路状态进行检测,其中,所述目标链路为目标节点进行数据流传输所使用的链路,所述目标节点是通过测量链路的瓶颈带宽和往返传播时间来进行拥塞控制的节点;
在基于所述目标链路的链路状态确定存在与所述目标节点的数据流竞争所述目标链路的链路资源的竞争流的情况下,调整所述目标节点的第一增益参数的参数值,其中,所述第一增益参数用于控制所述目标节点的发送速率,使用所述第一增益参数调整前的参数值侦测带宽的速度低于使用所述第一增益参数调整后的参数值侦测带宽的速度。
2.根据权利要求1所述的方法,其特征在于,
所述目标节点使用目标状态机进行拥塞控制,所述目标状态机包括延迟探测状态,其中,所述延迟探测状态是用于探测链路的往返时延的状态;
所述对目标链路的链路状态进行检测,包括:
在所述目标状态机进入到所述延迟探测状态的情况下,记录所述目标状态机进入到所述延迟探测状态的最小时延,得到第一最小时延;
在所述目标状态机退出到所述延迟探测状态的情况下,记录所述目标状态机退出所述延迟探测状态的最小时延,得到第二最小时延;
根据所述第一最小时延和所述第二最小时延,对所述目标链路的链路状态进行检测。
3.根据权利要求2所述的方法,其特征在于,
所述根据所述第一最小时延和所述第二最小时延,对所述目标链路的链路状态进行检测,包括:
基于所述第二最小时延与所述第一最小时延之间的时延差,对所述目标链路的链路状态进行检测。
4.根据权利要求3所述的方法,其特征在于,
所述基于所述第二最小时延与所述第一最小时延之间的时延差,对所述目标链路的链路状态进行检测,包括:
确定所述第二最小时延和所述第一最小时延之间的时延差与所述第一最小时延之间的比值,得到时延增长比值;
在所述时延增长比值大于或者等于预设增长阈值的情况下,确定所述目标链路处于第一链路状态,其中,所述第一链路状态为存在与所述目标节点的数据流竞争所述目标链路的链路资源的竞争流的链路状态,所述预设增长阈值为正数。
5.根据权利要求4所述的方法,其特征在于,
所述基于所述第二最小时延与所述第一最小时延之间的时延差,对所述目标链路的链路状态进行检测,还包括:
在所述时延增长比值的绝对值小于所述预设增长阈值、或者所述时延增长比值小于所述预设增长阈值的相反数的情况下,确定所述目标链路处于第二链路状态,其中,所述第二链路状态为不存在与所述目标节点的数据流竞争所述目标链路的链路资源的竞争流的链路状态。
6.根据权利要求1所述的方法,其特征在于,
所述目标节点使用目标状态机进行拥塞控制,所述目标状态机包括带宽探测状态,其中,所述带宽探测状态是用于进行带宽探测的状态;
所述在基于所述目标链路的链路状态确定存在与所述目标节点的数据流竞争所述目标链路的链路资源的竞争流的情况下,调整所述目标节点的第一增益参数的参数值,包括:
在基于所述目标链路的链路状态确定存在与所述目标节点的数据流竞争所述目标链路的链路资源的竞争流的情况下,当所述目标状态机进入到所述带宽探测状态时,将所述目标节点进行带宽探测所使用的增益循环由第一增益循环调整为第二增益循环,其中,所述第一增益循环为与所述第一增益参数对应的、包含多个第一参数值的第一参数值序列,所述第二增益循环为与所述第一增益参数对应的、包含多个第二参数值的第二参数值序列,所述第一参数值序列中仅包含1个大于1的第一参数值,所述第二参数值序列包含多个大于1的第二参数值,所述第二参数值序列中的最大参数值不小于所述第一参数值序列中的最大参数值。
7.根据权利要求6所述的方法,其特征在于,
所述第二参数值序列包含交替出现的第一目标参数值和第二目标参数值,所述第一目标参数值大于1,所述第二目标参数值为1。
8.根据权利要求7所述的方法,其特征在于,
所述第二参数值序列为[N, 1, N, 1, N, 1, N, 1],其中,N为2.89或者其他大于或者等于1.25的正数。
9.根据权利要求7所述的方法,其特征在于,
在所述将所述目标节点进行带宽探测所使用的增益循环由第一增益循环调整为第二增益循环之后,所述方法还包括:
将所述第二参数值序列中的每个第二参数值依次作为所述第一增益参数的参数值进行带宽探测,直到探测到所述目标链路的瓶颈带宽。
10.根据权利要求9所述的方法,其特征在于,
在所述将所述第二参数值序列中的每个第二参数值依次作为所述第一增益参数的参数值进行带宽探测之前,所述方法还包括:
将所述目标节点的第二增益参数设置为所述第一目标参数值,其中,所述第二增益参数是用于控制所述目标节点的飞行数据报的数量的增益参数。
11.根据权利要求6所述的方法,其特征在于,
在所述对目标链路的链路状态进行检测之后,所述方法还包括:
在基于所述目标链路的链路状态确定不存在与所述目标节点的数据流竞争所述目标链路的链路资源的竞争流的情况下,当所述目标状态机进入到所述带宽探测状态时,将所述第一参数值序列中的每个第一参数值依次作为所述第一增益参数的参数值进行带宽探测,其中,所述第一参数值序列为[1.25, 0.75, 1, 1, 1, 1, 1, 1]。
12.根据权利要求6所述的方法,其特征在于,
在所述调整所述目标节点的第一增益参数的参数值之后,所述方法还包括:
持续对所述目标链路的最小时延进行探测;
在所述目标链路的最小时延未发生更新的时长达到预设时长阈值的情况下,控制所述目标状态机切换到延迟探测状态,以重新对所述目标链路的链路状态进行检测,其中,所述延迟探测状态是用于探测链路的往返时延的状态。
13.根据权利要求1所述的方法,其特征在于,
在所述对目标链路的链路状态进行检测之前,所述方法还包括:
持续对所述目标链路的最小时延进行探测;
在所述目标链路的最小时延未发生更新的时长达到预设时长阈值的情况下,触发对所述目标链路的链路状态进行检测。
14.根据权利要求1所述的方法,其特征在于,
所述目标节点使用目标状态机进行拥塞控制,所述目标状态机包括带宽探测状态,其中,所述带宽探测状态是用于进行带宽探测的状态;
所述在基于所述目标链路的链路状态确定存在与所述目标节点的数据流竞争所述目标链路的链路资源的竞争流的情况下,调整所述目标节点的第一增益参数的参数值,包括:
在基于所述目标链路的链路状态确定存在与所述目标节点的数据流竞争所述目标链路的链路资源的竞争流的情况下,当所述目标状态机进入到所述带宽探测状态时,按照参数值递增的方式依次调整所述第一增益参数的参数值,直到探测到所述目标链路的瓶颈带宽。
15.根据权利要求1所述的方法,其特征在于,
在所述对目标链路的链路状态进行检测之后,所述方法还包括:
在基于所述目标链路的链路状态确定存在与所述目标节点的数据流竞争所述目标链路的链路资源的竞争流的情况下,将预设竞争标识记录为第一标识值,其中,所述预设竞争标识是用于指示是否存在竞争流的标识,所述第一标识值是所述预设竞争标识的标识值中,与存在竞争流对应的标识值;
在基于检测到的所述目标链路的链路状态确定不存在与所述目标节点的数据流竞争所述目标链路的链路资源的竞争流的情况下,将所述预设竞争标识记录为第二标识值,其中,所述第二标识值是所述预设竞争标识的标识值中,与不存在竞争流对应的标识值;
其中,所述第一增益参数是基于所述预设竞争标识的标识值调整的。
16.根据权利要求15所述的方法,其特征在于,
所述目标节点使用目标状态机进行拥塞控制,所述目标状态机包括带宽探测状态,其中,所述带宽探测状态是用于进行带宽探测的状态;
所述在基于所述目标链路的链路状态确定存在与所述目标节点的数据流竞争所述目标链路的链路资源的竞争流的情况下,调整所述目标节点的第一增益参数的参数值,包括:
在所述目标状态机进入到所述带宽探测状态的情况下,读取所述预设竞争标识的标识值;
在所述预设竞争标识的标识值为所述第一标识值的情况下,调整所述目标节点的所述第一增益参数的参数值。
17.根据权利要求1所述的方法,其特征在于,
在对目标链路的链路状态进行检测之后,所述方法还包括:
在基于所述目标链路的链路状态确定不存在与所述目标节点的数据流竞争所述目标链路的链路资源的竞争流的情况下,将第一参数值序列中的每个第一参数值依次作为所述第一增益参数的参数值进行带宽探测,其中,所述第一参数值序列为[1.25, 0.75, 1, 1,1, 1, 1, 1]。
18.根据权利要求1所述的方法,其特征在于,
在所述调整所述目标节点的第一增益参数的参数值之后,所述方法还包括:
重新对所述目标链路的链路状态进行检测;
在基于重新检测的所述目标链路的链路状态确定不存在与所述目标节点的数据流竞争所述目标链路的链路资源的竞争流的情况下,将所述目标节点的所述第一增益参数的参数值恢复为调整前的参数值。
19.根据权利要求1至18中任一项所述的方法,其特征在于,
与所述目标节点的数据流竞争所述目标链路的链路资源的竞争流是基于丢包进行拥塞控制的节点的数据流。
20.一种链路拥塞控制装置,其特征在于,
包括:
检测单元,用于对目标链路的链路状态进行检测,其中,所述目标链路为目标节点进行数据流传输所使用的链路,所述目标节点是通过测量链路的瓶颈带宽和往返传播时间来进行拥塞控制的节点;
调整单元,用于在基于所述目标链路的链路状态确定存在与所述目标节点的数据流竞争所述目标链路的链路资源的竞争流的情况下,调整所述目标节点的第一增益参数的参数值,其中,所述第一增益参数用于控制所述目标节点的发送速率,使用所述第一增益参数调整前的参数值侦测带宽的速度低于使用所述第一增益参数调整后的参数值侦测带宽的速度。
21.一种计算机可读存储介质,其特征在于,
所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现权利要求1至19中任一项所述的方法。
22.一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,
所述处理器执行所述计算机程序时实现权利要求1至19中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311839059.5A CN117499317B (zh) | 2023-12-28 | 2023-12-28 | 链路拥塞控制方法及装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311839059.5A CN117499317B (zh) | 2023-12-28 | 2023-12-28 | 链路拥塞控制方法及装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117499317A true CN117499317A (zh) | 2024-02-02 |
CN117499317B CN117499317B (zh) | 2024-04-12 |
Family
ID=89672969
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311839059.5A Active CN117499317B (zh) | 2023-12-28 | 2023-12-28 | 链路拥塞控制方法及装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117499317B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110365600A (zh) * | 2019-07-30 | 2019-10-22 | 广州市百果园信息技术有限公司 | 一种基于bbr的拥塞控制方法、装置、设备和存储介质 |
CN110620737A (zh) * | 2019-09-09 | 2019-12-27 | 中南大学 | 基于延迟的自适应拥塞控制方法 |
CN111683393A (zh) * | 2020-05-25 | 2020-09-18 | 华中科技大学 | 一种动态调整增益系数的自适应拥塞控制方法 |
CN114915600A (zh) * | 2022-06-10 | 2022-08-16 | 贵州大学 | 一种深度缓冲区下BBRv2拥塞控制算法 |
CN115412497A (zh) * | 2022-11-01 | 2022-11-29 | 合肥综合性国家科学中心人工智能研究院(安徽省人工智能实验室) | 一种bbr拥塞控制算法的性能优化方法 |
US20230026835A1 (en) * | 2021-07-21 | 2023-01-26 | Denso Corporation | Communication device and communication method |
WO2023103847A1 (zh) * | 2021-12-09 | 2023-06-15 | 华为技术有限公司 | 一种通信方法、装置及系统 |
CN116319569A (zh) * | 2023-03-16 | 2023-06-23 | 京东科技信息技术有限公司 | 网络参数更新方法、网络参数更新装置、介质及电子设备 |
-
2023
- 2023-12-28 CN CN202311839059.5A patent/CN117499317B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110365600A (zh) * | 2019-07-30 | 2019-10-22 | 广州市百果园信息技术有限公司 | 一种基于bbr的拥塞控制方法、装置、设备和存储介质 |
CN110620737A (zh) * | 2019-09-09 | 2019-12-27 | 中南大学 | 基于延迟的自适应拥塞控制方法 |
CN111683393A (zh) * | 2020-05-25 | 2020-09-18 | 华中科技大学 | 一种动态调整增益系数的自适应拥塞控制方法 |
US20230026835A1 (en) * | 2021-07-21 | 2023-01-26 | Denso Corporation | Communication device and communication method |
WO2023103847A1 (zh) * | 2021-12-09 | 2023-06-15 | 华为技术有限公司 | 一种通信方法、装置及系统 |
CN114915600A (zh) * | 2022-06-10 | 2022-08-16 | 贵州大学 | 一种深度缓冲区下BBRv2拥塞控制算法 |
CN115412497A (zh) * | 2022-11-01 | 2022-11-29 | 合肥综合性国家科学中心人工智能研究院(安徽省人工智能实验室) | 一种bbr拥塞控制算法的性能优化方法 |
CN116319569A (zh) * | 2023-03-16 | 2023-06-23 | 京东科技信息技术有限公司 | 网络参数更新方法、网络参数更新装置、介质及电子设备 |
Non-Patent Citations (1)
Title |
---|
周文广: ""基于自适应的无线通信技术研究"", 《中国优秀硕士学位论文全文数据库(电子期刊)信息科技辑》, 15 February 2023 (2023-02-15), pages 3 * |
Also Published As
Publication number | Publication date |
---|---|
CN117499317B (zh) | 2024-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111277502B (zh) | 多链路聚合传输数据的方法及发送设备 | |
CN114145001B (zh) | 速率优化的拥塞管理 | |
US9356878B2 (en) | Method for avoiding network congestion and an apparatus thereof | |
KR100918731B1 (ko) | 큐 버퍼를 제어하는 방법 | |
CN107171969B (zh) | 一种数据传输方法、装置及系统 | |
CN102468941B (zh) | 网络丢包处理方法及装置 | |
EP1523836B1 (en) | Method and apparatus for selecting a window size for a packet switched connection | |
WO2003015355A2 (en) | Method for supporting non-linear, highly scalable increase-decrease congestion control scheme | |
WO2002052886A1 (en) | Traffic congestion | |
CN102461093B (zh) | 管理业务负荷的方法 | |
CN105230067A (zh) | 通信网络中的拥塞控制 | |
CN109309934A (zh) | 一种拥塞控制方法及相关设备 | |
CN109698797B (zh) | 一种tcp拥塞控制方法和装置 | |
Heusse et al. | Two-way TCP connections: old problem, new insight | |
Lautenschlaeger et al. | Global synchronization protection for bandwidth sharing TCP flows in high-speed links | |
CN108965066B (zh) | 一种对传输路径进行探测的方法和装置 | |
WO2008043398A1 (en) | Method and apparatus for use in a communications network | |
KR101818243B1 (ko) | 통신 시스템의 적응적인 버퍼 관리 방법 및 장치 | |
CN117499317B (zh) | 链路拥塞控制方法及装置、存储介质及电子设备 | |
Zhang et al. | An evaluation of bottleneck bandwidth and round trip time and its variants | |
CN110290552B (zh) | 缓存深度的测量方法和装置、存储介质、电子装置 | |
WO2022042589A1 (zh) | 网络数据断流检测方法及装置、终端设备和存储介质 | |
CN113542215B (zh) | 一种提升流媒体传输性能的方法及相关装置 | |
CN114221896B (zh) | Bgp路由震荡的抑制方法及装置 | |
Peng et al. | Fast backward congestion notification mechanism for TCP congestion control |
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 |