CN113141315A - 一种拥塞控制方法及设备 - Google Patents
一种拥塞控制方法及设备 Download PDFInfo
- Publication number
- CN113141315A CN113141315A CN202110426314.8A CN202110426314A CN113141315A CN 113141315 A CN113141315 A CN 113141315A CN 202110426314 A CN202110426314 A CN 202110426314A CN 113141315 A CN113141315 A CN 113141315A
- Authority
- CN
- China
- Prior art keywords
- current
- target link
- packet sending
- gain coefficient
- sending rate
- 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 54
- 230000005540 biological transmission Effects 0.000 claims abstract description 41
- 230000002159 abnormal effect Effects 0.000 claims description 9
- 230000015654 memory Effects 0.000 description 16
- 238000004422 calculation algorithm Methods 0.000 description 14
- 239000000872 buffer Substances 0.000 description 13
- 238000010586 diagram Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 7
- 230000005291 magnetic effect Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012067 mathematical method Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Images
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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B11/00—Automatic controllers
- G05B11/01—Automatic controllers electric
- G05B11/36—Automatic controllers electric with provision for obtaining particular characteristics, e.g. proportional, integral, differential
- G05B11/42—Automatic controllers electric with provision for obtaining particular characteristics, e.g. proportional, integral, differential for obtaining a characteristic which is both proportional and time-dependent, e.g. P. I., P. I. D.
-
- 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
-
- 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/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
- H04L47/323—Discarding or blocking control packets, e.g. ACK packets
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请的目的是提供一种拥塞控制方法及设备,本申请通过在数据传输网络中加入PID控制器;获取所述数据传输网络中的目标链路的当前往返延迟时间、当前拥塞窗口及当前吞吐量;并将所述目标链路的当前往返延迟时间、当前拥塞窗口及当前吞吐量输入至所述PID控制器,得到所述目标链路的当前增益系数;根据所述目标链路的当前增益系数和当前拥塞窗口,对所述目标链路的发包率进行调整,以确定所述目标链路的下一发包率,实现了通过所述PID控制器来不断调整目标链路中的下一发包率,不仅能够有效利用数据传输网络中的网络资源,还可以使数据传输网络更加准确和稳定,从而达到解决网络拥塞的目的。
Description
技术领域
本申请涉及计算机领域,尤其涉及一种拥塞控制方法及设备。
背景技术
随着移动互联网的发展,云计算与边缘计算也相继提出,云计算因为性能强大,数据量充足等特点大大减少了终端计算,存储等压力,而边缘计算因专一性,近终端性使得服务响应速度更快。但由于用户数量的增加以及终端场景的复杂性,因用户的移动以及需求的增长造成用户与云服务器(中心云计算服务器和边缘计算服务器)之间的通信延时增加,最终导致用户服务质量(Quality of Service,QoS)下降。
目前,网络的吞吐量(分组数/秒)与通信子网负荷(即,通信子网中正在传输的分组数)有着密切的关系。当通信子网负荷比较小时,网络的吞吐量随网络负荷(每个节点中分组的平均数)的增加而线性增加;当网络负荷增加到某一值后,网络吞吐量反而下降,则表征网络中出现了拥塞现象。在一个出现拥塞现象的网络中,到达某个节点的分组将会遇到无缓冲区可用的情况,从而使这些分组不得不由前一节点重传,或者需要由源节点/源端***重传。当拥塞比较严重时,通信子网中相当多的传输能力和节点缓冲器都用于这种无谓的重传,从而使通信子网的有效吞吐量下降,由此引起恶性循环,使通信子网的局部甚至全部处于死锁状态,最终导致网络有效吞吐量接近为零。其中,造成用拥塞的原因有:1)由于多条流入线路有分组到达,并需要同一输出线路,此时,如果路由器没有足够的内存来存放所有这些分组,那么有的分组就会丢失;2)又由于路由器的慢带处理器的缘故,以至于难以完成必要的处理工作,如缓冲区排队、更新路由表等。
现有的传输控制协议(Transmission Control Protoco,TCP)拥塞控制包括两个重要的控制方法,分别为:流量控制、拥塞控制。其中,在TCP协议中通过滑动窗口来进行流量控制,以通过控制发送方的发送速度从而使接受者来得及接收并处理。而拥塞控制是作用于网络,它是防止过多的包被发送到网络中,避免出现网络负载过大,网络拥塞的情况。
现有的在拥塞控制上有四种控制算法:慢启动,拥塞避免,拥塞发生时和快速恢复,如图1所示,为现有技术中的一种TCP状态机转换框图。其中,所谓慢启动,也就是TCP连接刚建立,一点一点地提速,试探一下网络的承受能力,以免直接扰乱了网络通道的秩序,具体过程包括如下:首先,初始化拥塞窗口cwnd大小为1,即可以传一个最大报文长度(Maximum Segmnet Size,MSS)大小的数据;其次,每当收到一个确认字符(AcknowledgeCharacter,ACK),cwnd大小加一,呈线性上升;接着,每当过了一个往返延迟时间(Round-Trip-Time,RTT),cwnd大小直接翻倍,乘以2,呈指数上升;最后,还有一个慢启动阈值ssthresh(slow start threshold),是一个指数上升的上限,当cwnd>=ssthresh时,就会进入“拥塞避免”阶段。当拥塞窗口cwnd于等于慢启动阈值ssthresh后,就进入拥塞避免,具体的拥塞避免过程如下:当收到一个确认字符ACK,则cwnd=cwnd+1/cwnd;每当过了一个往返延迟时间RTT,cwnd大小加一,当过了慢启动阈值后,拥塞避免算法可以避免窗口增长过快导致窗口拥塞,集体表现为缓慢的增加调整到网络的最佳值。当拥塞发生时,TCP拥塞控制默认认为网络丢包是由于网络拥塞导致的,所以一般的TCP拥塞控制算法以丢包为网络进入拥塞状态的信号。对于丢包有两种判定方式,一种是超时重传(RetransmissionTimeout,RTO),另一个是收到三个重复确认字符ACK。超时重传是TCP协议保证数据可靠性的一个重要机制,其原理是在发送一个数据以后就开启一个计时器,在一定时间内,如果没有得到发送数据报的ACK报文,那么就重新发送数据,直到发送成功为止;如果发送端接收到3个以上的重复ACK,TCP就意识到数据发生丢失,需要重传,这个机制不需要等到重传定时器超时,所以叫做快速重传,而快速重传后没有使用慢启动算法,而是采用拥塞避免算法,所以这又叫做快速恢复算法。快速恢复算法中,最为早期的为TCP拥塞控制算法:TCPTahoe算法就只使用上述处理办法,但是由于一丢包就一切重来,导致cwnd又重置为1,十分不利于网络数据的稳定传递;所以,对TCP拥塞控制算法:TCP Tahoe算法进行了改进,得到优化后的TCP拥塞控制算法:TCP Reno算法,当收到三个重复确认字符ACK时,TCP开启快速重传Fast Retransmit算法,而不用等到RTO超时再进行重传。
虽然TCP有上述对拥塞控制的有效性,但TCP拥塞控制也存在如下两个问题:1)把拥塞丢包和错误丢包统一处理,比如,TCP是基于丢包的拥塞控制方法,当网络发生了丢包现象就解释为网络拥塞,但实际上也可能是链路错误造成丢包,因当前认为链路的错误率较低可以忽略,故做统一处理,但是在高速网络中,这种问题是不能够忽略的,当数据的传输速率比较高的时候,本来的链路错误也会随之增大,如果因为错误丢包使得发送速率下降,则会造成一定的网络资源的浪费。2)当网络缓冲区过大时,出现大量的数据包排队,导致***吞吐量几乎为零,比如,实际网络中常常会设置一些缓冲区来吸收网络中的流量波动,而根据TCP的拥塞控制则更倾向于把缓冲区填满,当缓冲区很大时而链路中的瓶颈部分比较拥塞时,就会出现大量的数据包在缓冲区中排队传送,这样的情况造成了极大传输延时,也会导致当前***网络吞吐量为零。
发明内容
本申请的一个目的是提供一种拥塞控制方法及设备,通过不断调整链路中的发包率来有效利用网络资源,从而达到处理拥塞的目的。
根据本申请的一个方面,提供了一种拥塞控制方法,其中,所述方法包括:
在数据传输网络中加入PID控制器;
获取所述数据传输网络中的目标链路的当前往返延迟时间、当前拥塞窗口及当前吞吐量;
将所述目标链路的当前往返延迟时间、当前拥塞窗口及当前吞吐量输入至所述PID控制器,得到所述目标链路的当前增益系数;
根据所述目标链路的当前增益系数和当前拥塞窗口,对所述目标链路的发包率进行调整,以确定所述目标链路的下一发包率。
进一步地,上述拥塞控制方法中,所述根据所述目标链路的当前增益系数和当前拥塞窗口,对所述目标链路的发包率进行调整,以确定所述目标链路的下一发包率,包括:
根据所述目标链路的当前增益系数和当前拥塞窗口,确定所述目标链路的当前发包率;
根据所述目标链路的当前发包率和当前增益系数,对所述目标链路的发包率进行调整,得到所述目标链路的下一发包率。
进一步地,上述拥塞控制方法中,所述根据所述目标链路的当前增益系数和当前拥塞窗口,确定所述目标链路的当前发包率,包括:
当所述目标链路的所述当前增益系数满足预设增益系数阈值时,所述目标链路的所述当前拥塞窗口保持不变,则确定的所述目标链路的当前发包率为当前最优的发包率。
进一步地,上述拥塞控制方法中,所述PID控制器中采用数字增量式PID控制,其中,所述将所述目标链路的当前往返延迟时间、当前拥塞窗口及当前吞吐量输入至所述PID控制器,得到所述目标链路的当前增益系数,包括:
将所述目标链路的当前往返延迟时间、当前拥塞窗口及当前吞吐量输入至所述PID控制器,进行所述数字增量式PID控制,以得到所述目标链路的当前增益系数。
进一步地,上述拥塞控制方法中,所述目标链路的当前吞吐量由所述目前链路的当前发包率确定。
进一步地,上述拥塞控制方法中,所述方法还包括:
记录所述目标链路的至少一个异常增益系数;
将至少一个所述异常增益系数作为反馈填补至所述PID控制器进行微调。
根据本申请的另一方面,还提供了一种非易失性存储介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行时,使所述处理器实现如上述拥塞控制方法。
根据本申请的另一方面,还提供了一种用于拥塞控制的设备,其中,该设备包括:
一个或多个处理器;
计算机可读介质,用于存储一个或多个计算机可读指令,
当所述一个或多个计算机可读指令被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述拥塞控制方法。
与现有技术相比,本申请通过在数据传输网络中加入PID控制器;获取所述数据传输网络中的目标链路的当前往返延迟时间、当前拥塞窗口及当前吞吐量;并将所述目标链路的当前往返延迟时间、当前拥塞窗口及当前吞吐量输入至所述PID控制器,得到所述目标链路的当前增益系数;根据所述目标链路的当前增益系数和当前拥塞窗口,对所述目标链路的发包率进行调整,以确定所述目标链路的下一发包率,实现了通过所述PID控制器来不断调整目标链路中的下一发包率,不仅能够有效利用数据传输网络中的网络资源,还可以使数据传输网络更加准确和稳定,从而达到解决网络拥塞的目的。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出现有技术中的一种TCP状态机转换框图;
图2示出本申请一个方面的实施例中的提供的一种用于拥塞控制的整体的传输流程示意图;
图3示出本申请一个方面的实施例提供了一种拥塞控制方法的流程示意图;
图4所示出本申请一个方面的实施例中的一种拥塞控制方法中的基于PID的拥塞控制流程示意图;
图5示出本申请一个方面的实施例提供了一种拥塞控制方法中的链路的吞吐量与发包率之间的关系示意图;
图6示出本申请一个方面的实施例提供了一种拥塞控制方法中的链路的增益系数与发包量之间的关系示意图;
图7示出本申请一个方面的实施例提供了一种拥塞控制方法中的链路的增益系数与发包量之间的关系示意图;
图8示出本申请一个方面的实施例提供了一种拥塞控制方法中的链路的增益系数与发包率之间的关系示意图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本申请作进一步详细描述。
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
如图2所示,本申请一个方面的实施例中的提供的一种用于拥塞控制的整体的传输流程示意图,具体包括两个部分,分别为:基于偏差-积分-微分(Proportion-Integral-Doifferential,PID)发包率控制的源数据控制单元和由边缘服务器控制的队列平衡单元,下面主要以基于PID发包率控制的元数据控制单元进行详细解释。
如图3所示,本申请一个方面的实施例提供了一种拥塞控制方法的流程示意图,应用于云边协同的网络***中的云计算服务器或边缘服务器端,来对网络拥塞进行控制,所述方法包括步骤S11、步骤S12、步骤S13和步骤S14,其中,具体包括如下步骤:
所述步骤S11,在数据传输网络中加入PID控制器。在本申请中在数据传输网络中加入所述PID控制器来作为中心控制,其中,所述PID
所谓PID控制器是一个在工业控制应用中常见的反馈回路部件,所述PID控制器把收集到的历史数据和一个参考值进行比较,然后把比较后的差别用于计算新的输入值,所述新的输入值的目的是可以让***的数据达到或者保持在参考值;与其他简单的控制运算不同,所述PID控制器可以根据历史数据和比较后的差别的出现率来调整输入值,以此使***更加准确,更加稳定。可以通过数学的方法证明,在其他控制方法导致***有稳定误差或过程反复的情况下,一个PID反馈回路却可以保持***的稳定,在此不再赘述。
所述步骤S12,获取所述数据传输网络中的目标链路的当前往返延迟时间RTT、当前拥塞窗口cwnd及当前吞吐量count,所述目标链路的当前吞吐量count用于指示目标链路当前的分组发包量。
所述步骤S13,将所述目标链路的当前往返延迟时间RTT、当前拥塞窗口cwnd及当前吞吐量count输入至所述PID控制器,得到所述目标链路的当前增益系数G;
所述步骤S14,根据所述目标链路的当前增益系数G和当前拥塞窗口cwnd,对所述目标链路的发包率进行调整,以确定所述目标链路的下一发包率,以实现对目标链路的下一发包率进行计算和预测,以实现对目标链路的下一发包率的调整,以使目标链路的发包率能够时刻处于最优的传输速率,从而使得不占用或尽量极少占用网络缓存区资源,达到最大限度利用网络资源的目的。
通过上述步骤S11至步骤S14,本申请通过在数据传输网络中加入的所述PID控制器,来不断调整目标链路中的下一发包率,不仅能够有效利用数据传输网络中的网络资源,还可以使数据传输网络更加准确和稳定,从而达到解决网络拥塞的目的。
如图4所示,本申请一个方面的实施例中的一种拥塞控制方法中的基于PID的拥塞控制流程示意图,其中,粗的黑色箭头用于指示数据传输网络中的数据流向,其他箭头用于指示控制参数或反馈等,图4中的RTT为往返延迟时间、cwnd为拥塞窗口及count为监控的当前链路的分组发包量即当前链路的吞吐量。在本申请中,所述步骤14根据所述目标链路的当前增益系数G和当前拥塞窗口cwnd,对所述目标链路的发包率进行调整,以确定所述目标链路的下一发包率,具体包括:
根据所述目标链路的当前增益系数G和当前拥塞窗口cwnd,确定所述目标链路的当前发包率;
根据所述目标链路的当前发包率和当前增益系数,对所述目标链路的发包率进行调整,得到所述目标链路的下一发包率。
例如,本申请的实施例中,通过用户数据报协议(User Datagram Protocol,UDP)+确认字符ACK的形式(即发送一个包会有相应的确认字符ACK来进行反馈)来保证传输,通过确定监控的目标链路的当前拥塞窗口cwnd来决定发包率,即目标链路在某一时刻t的当前发包率的计算公式为:
某时刻的当前发包率=cwnd*增益系数(G)
其中,所述增益系数(G)用于指示监控的目标链路在所述某一时刻t对应的当前增益系数。
其中,本实施例中的通过所述PID控制器计算得到所述目标链路的当前增益系数G具体包括如下步骤:
所述PID控制器是一种线性控制器,根据给定值r(t)与实际输出值c(t)构成偏差:e(t)=r(t)-c(t);将偏差的比例(Proportion,P)、积分(Integral,I)和微分(Doifferential,D)通过线性组合构成控制量,对受控对象进行控制。其控制规律为如下公式:
根据所述控制规律对应计算得到的增益系数(G)表示为如下公式:
其中,Kp为比例系数,Ti为积分时间常数,Td为微分时间常数;Ki=Kp/Ti,为积分系数;Kd=Kp*Td,为微分系数。
由于数据传输网络的***中并不是模拟信号,故本申请中的所述PID控制器采用数字PID控制,具体体现为如下公式:
其中Ki=Kp/Ti,为积分系数;Kd=Kp*Td,为微分系数;T为采样周期,k为采样序号,k为大于等于1正整数;e(k-1)和e(k)依序分别为第(k-1)和第k时刻所得到的***偏差信号。
在本申请中,所述PID采用离散的增量式PID控制,将上述增益系数G转换为如下公式:
其中,G0为增益系数的基量,也可作为消除随机干扰的偏差分量,即K=0时***的默认增长系数或者异常值的修正分量。
在确定了所述PID控制器中采用的是数字增量式PID控制后,所述步骤S13将所述目标链路的当前往返延迟时间、当前拥塞窗口及当前吞吐量输入至所述PID控制器,得到所述目标链路的当前增益系数,具体包括:将所述目标链路的当前往返延迟时间、当前拥塞窗口及当前吞吐量输入至所述PID控制器,进行所述数字增量式PID控制,以得到所述目标链路的当前增益系数。例如,将获取的所述数据传输网络中的目标链路的当前往返延迟时间RTT、当前拥塞窗口cwnd及当前吞吐量count作为输入参数输入至所述PID控制器来激活图4中的PID反馈回路,进行数字增量式PID控制,以得到目标链路的当前增益系数。从图4中可以看出,每次发包都会有相应的RTT返回,当开始发包时网络状态良好,则反馈回来的RTT是不变的,那么,引起RTT变化的情况就存在如下两种。
情况一、发包速度(即发包速率,发包率)到达并超过目标链路的网络本链路网络发包阈值,则会往链路缓冲器buffer里面缓存,RTT增大;随着发包率的持续增大,RTT将会变成无限大,即导致丢包。其中,所述目标链路的当前吞吐量由所述目前链路的当前发包率确定,且所述目标链路中的当前吞吐量与发包率之间的关系如图5所示,图5中的横坐标用于指示目标链路中的发包率,纵坐标用于指示所述目标链路中的网络的吞吐量;当开始发包时,随着发包率的不断增加,目标链路中实时的当前吞吐量也逐渐变大,使得随着发包率的不断增加导致来不及转发出去的包被放在缓存器里面,若是继续增加发包率,缓存器会被填满,从而导致链路拥塞加剧,最后吞吐量为0。
情况二、由其他的链路引发的网络拥塞,会导致目标链路的数据被送往缓存器而导致RTT增加。例如,在确定了RTT之后就是cwnd和链路中的吞吐量count了,此时,可以将cwnd作为队列,那么就是PID最常应用的范畴:求解最优队列。将目标链路的增益系数G设置为100%,即目标链路的状态表现为:不占用链路缓冲器buffer或者占用少量的缓冲器buffer时的状态,在如此的求解最优队列中,目标链路的当前增益系数与发包量之间的关系如图6所示,其中,横坐标用于指示目前链路的发包量,纵坐标用于指示目标链路的增益系数G(K),其中,所述目标链路的发包量由所述目标链路对应的发包率确定的;在所述步骤S14中的根据所述目标链路的当前增益系数和当前拥塞窗口,确定所述目标链路的当前发包率,具体包括:当所述目标链路的所述当前增益系数满足预设增益系数阈值时,所述目标链路的所述当前拥塞窗口保持不变,则确定的所述目标链路的当前发包率为当前最优的发包率。所述目标链路的预设增益系数阈值可以是任意的增益取值,在本申请一优选实施例中,将所述目标链路的预设增益系数阈值优选为100%,则当所述目标链路的当前增益系数满足100%时,即在图6中可以看出,随着增益系数逐渐趋于100%平稳,即当增益系数到达100%的时候,不再增加cwnd的窗口大小即cwnd的窗口大小保持不变,则此时计算得到的所述目标链路的当前发包率为当前最优的发包率,所述目标链路的最优的当前发包率可表示为如下函数:
由此可知,所述目标链路在某一时刻的发包率由所述目标链路在所述某一时刻的前一时刻对应的发包率和增益系数决定的,即根据所述目标链路的当前发包率和当前增益系数,可以对所述目标链路在下一时刻的发包率进行预估和调整,以得到所述目标链路在下一时刻对应的最优的下一发包率,实现对所述目标链路中的发包率的预估和调整,以使所述数据传输网络更加稳定和准确。如图7所示,用于指示目标链路中的当前增益系数与对应的当前发包量之间的关系示意图,即增益比,经过一段时间的PID增量反馈后,增益系数趋近于0,即不在增加cwnd的窗口大小,对应的目标链路的增益系数与发包率之间的关系示意图如图8所示,随着发包量的不断增加,增益系数在如图所示的一固定值稳定下来。
为了提高数字的增量式PID控制的动态响应速度,本申请一个方面的一种拥塞控制方法还包括:记录所述目标链路的至少一个异常增益系数;将至少一个所述异常增益系数作为反馈填补至所述PID控制器进行微调。例如,在拥塞控制过程中,可以将目标链路中的一个或多个输出异常的异常增益系数记录下来,并将这些输出异常的异常增益系数作为反馈填补到PID控制的数据网络的***中来做微调,以使***更加稳定和精确。同时,为提升输出的增益系数的精确性,在第k次输出时,随机采样N个历史数据去掉极值求平均,把算下来的均值作为G0以计算一个中间增益系数G(N)并重新作为输入计算增益系数G(k),以提高计算得到的增益系数的准确度。
本申请的上述实施例中,采用忽略丢包估计最优传输速率的方式,即:在数据传输网络的网络链路中,瓶颈部分是影响整个网络的传输速率,本申请的实施例中意在预估最小/最优的传输速率即最优的发包率,具体表现为不占用或者极少占用网络缓存,向后验证(链路中下一时刻的发包率)不断调整各链路中的发包率,以最大限度利用网络资源。
根据本申请的另一方面,还提供了一种非易失性存储介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行时,使所述处理器实现如上述拥塞控制方法。
根据本申请的另一方面,还提供了一种用于拥塞控制的设备,其中,该设备包括:
一个或多个处理器;
计算机可读介质,用于存储一个或多个计算机可读指令,
当所述一个或多个计算机可读指令被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述拥塞控制方法。
在此,所述用于拥塞控制的设备中的各实施例的详细内容,具体可参见上述拥塞控制方法的实施例的对应部分,在此,不再赘述。
综上所述,本申请通过在数据传输网络中加入PID控制器;获取所述数据传输网络中的目标链路的当前往返延迟时间、当前拥塞窗口及当前吞吐量;并将所述目标链路的当前往返延迟时间、当前拥塞窗口及当前吞吐量输入至所述PID控制器,得到所述目标链路的当前增益系数;根据所述目标链路的当前增益系数和当前拥塞窗口,对所述目标链路的发包率进行调整,以确定所述目标链路的下一发包率,实现了通过所述PID控制器来不断调整目标链路中的下一发包率,不仅能够有效利用数据传输网络中的网络资源,还可以使数据传输网络更加准确和稳定,从而达到解决网络拥塞的目的。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (8)
1.一种拥塞控制方法,其中,所述方法包括:
在数据传输网络中加入PID控制器;
获取所述数据传输网络中的目标链路的当前往返延迟时间、当前拥塞窗口及当前吞吐量;
将所述目标链路的当前往返延迟时间、当前拥塞窗口及当前吞吐量输入至所述PID控制器,得到所述目标链路的当前增益系数;
根据所述目标链路的当前增益系数和当前拥塞窗口,对所述目标链路的发包率进行调整,以确定所述目标链路的下一发包率。
2.根据权利要求1所述的方法,其中,所述根据所述目标链路的当前增益系数和当前拥塞窗口,对所述目标链路的发包率进行调整,以确定所述目标链路的下一发包率,包括:
根据所述目标链路的当前增益系数和当前拥塞窗口,确定所述目标链路的当前发包率;
根据所述目标链路的当前发包率和当前增益系数,对所述目标链路的发包率进行调整,得到所述目标链路的下一发包率。
3.根据权利要求2所述的方法,其中,所述根据所述目标链路的当前增益系数和当前拥塞窗口,确定所述目标链路的当前发包率,包括:
当所述目标链路的所述当前增益系数满足预设增益系数阈值时,所述目标链路的所述当前拥塞窗口保持不变,则确定的所述目标链路的当前发包率为当前最优的发包率。
4.根据权利要求1或2所述的方法,其中,所述PID控制器中采用数字增量式PID控制,其中,所述将所述目标链路的当前往返延迟时间、当前拥塞窗口及当前吞吐量输入至所述PID控制器,得到所述目标链路的当前增益系数,包括:
将所述目标链路的当前往返延迟时间、当前拥塞窗口及当前吞吐量输入至所述PID控制器,进行所述数字增量式PID控制,以得到所述目标链路的当前增益系数。
5.根据权利要求1所述的方法,其中,所述目标链路的当前吞吐量由所述目前链路的当前发包率确定。
6.根据权利要求1所述的方法,其中,所述方法还包括:
记录所述目标链路的至少一个异常增益系数;
将至少一个所述异常增益系数作为反馈填补至所述PID控制器进行微调。
7.一种非易失性存储介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行时,使所述处理器实现如权利要求1至6中任一项所述的方法。
8.一种用于拥塞控制的设备,其中,该设备包括:
一个或多个处理器;
计算机可读介质,用于存储一个或多个计算机可读指令,
当所述一个或多个计算机可读指令被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1至6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110426314.8A CN113141315B (zh) | 2021-04-20 | 2021-04-20 | 一种拥塞控制方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110426314.8A CN113141315B (zh) | 2021-04-20 | 2021-04-20 | 一种拥塞控制方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113141315A true CN113141315A (zh) | 2021-07-20 |
CN113141315B CN113141315B (zh) | 2022-12-27 |
Family
ID=76812809
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110426314.8A Active CN113141315B (zh) | 2021-04-20 | 2021-04-20 | 一种拥塞控制方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113141315B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113438181A (zh) * | 2021-08-26 | 2021-09-24 | 北京邮电大学 | 网络拥塞控制方法和装置 |
CN113726677A (zh) * | 2021-11-02 | 2021-11-30 | 阿里云计算有限公司 | 一种网络拥塞控制方法及设备 |
CN115175245A (zh) * | 2022-06-27 | 2022-10-11 | 山东浪潮科学研究院有限公司 | 数据吞吐量的调整方法、装置、设备及存储介质 |
CN115277564A (zh) * | 2022-07-21 | 2022-11-01 | 深圳证券通信有限公司 | 一种自适应带宽的数据传输机制 |
CN117097635A (zh) * | 2023-10-12 | 2023-11-21 | 腾讯科技(深圳)有限公司 | 调用链路采样方法、装置、存储介质及设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070121511A1 (en) * | 2005-11-30 | 2007-05-31 | Cisco Technology, Inc. | Transmission control protocol (TCP) congestion control using transmission delay components |
US7643418B1 (en) * | 2006-03-24 | 2010-01-05 | Packeteer, Inc. | Aggregate rate control using PID |
CN106230722A (zh) * | 2016-08-05 | 2016-12-14 | 山东省计算中心(国家超级计算济南中心) | 基于转移代价的sdn网络拥塞链路调整方法 |
CN107070802A (zh) * | 2016-12-21 | 2017-08-18 | 吉林大学 | 基于pid控制器的无线传感器网络拥塞控制技术 |
CN111614572A (zh) * | 2020-04-28 | 2020-09-01 | 网络通信与安全紫金山实验室 | 一种基于rtt的tcp网络拥塞控制方法 |
US20200366608A1 (en) * | 2019-05-17 | 2020-11-19 | Pensando Systems, Inc. | Rate-optimized congestion management |
-
2021
- 2021-04-20 CN CN202110426314.8A patent/CN113141315B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070121511A1 (en) * | 2005-11-30 | 2007-05-31 | Cisco Technology, Inc. | Transmission control protocol (TCP) congestion control using transmission delay components |
US7643418B1 (en) * | 2006-03-24 | 2010-01-05 | Packeteer, Inc. | Aggregate rate control using PID |
CN106230722A (zh) * | 2016-08-05 | 2016-12-14 | 山东省计算中心(国家超级计算济南中心) | 基于转移代价的sdn网络拥塞链路调整方法 |
CN107070802A (zh) * | 2016-12-21 | 2017-08-18 | 吉林大学 | 基于pid控制器的无线传感器网络拥塞控制技术 |
US20200366608A1 (en) * | 2019-05-17 | 2020-11-19 | Pensando Systems, Inc. | Rate-optimized congestion management |
CN111614572A (zh) * | 2020-04-28 | 2020-09-01 | 网络通信与安全紫金山实验室 | 一种基于rtt的tcp网络拥塞控制方法 |
Non-Patent Citations (3)
Title |
---|
周川等: "基于显式拥塞指示的自适应主动队列管理算法", 《***仿真学报》 * |
牛磊等: "线性神经网络在网络拥塞中的应用", 《宿州学院学报》 * |
邢毅: "基于神经网络的多路无线TCP均衡控制算法", 《无线电工程》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113438181A (zh) * | 2021-08-26 | 2021-09-24 | 北京邮电大学 | 网络拥塞控制方法和装置 |
CN113438181B (zh) * | 2021-08-26 | 2021-11-09 | 北京邮电大学 | 网络拥塞控制方法和装置 |
CN113726677A (zh) * | 2021-11-02 | 2021-11-30 | 阿里云计算有限公司 | 一种网络拥塞控制方法及设备 |
CN115175245A (zh) * | 2022-06-27 | 2022-10-11 | 山东浪潮科学研究院有限公司 | 数据吞吐量的调整方法、装置、设备及存储介质 |
CN115277564A (zh) * | 2022-07-21 | 2022-11-01 | 深圳证券通信有限公司 | 一种自适应带宽的数据传输机制 |
CN117097635A (zh) * | 2023-10-12 | 2023-11-21 | 腾讯科技(深圳)有限公司 | 调用链路采样方法、装置、存储介质及设备 |
CN117097635B (zh) * | 2023-10-12 | 2024-01-05 | 腾讯科技(深圳)有限公司 | 调用链路采样方法、装置、存储介质及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113141315B (zh) | 2022-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113141315B (zh) | 一种拥塞控制方法及设备 | |
US9160670B2 (en) | Transmission control protocol (TCP) congestion control using transmission delay components | |
CN111683393B (zh) | 一种动态调整增益系数的自适应拥塞控制方法 | |
US9883013B2 (en) | Receive window auto-tuning | |
KR101046105B1 (ko) | 컴퓨터 프로그램 제조품, 리소스 요구 조정 방법 및 엔드 시스템 | |
US8004985B2 (en) | Communication terminal which perform low-delay communication by using a broadband line | |
US8321583B2 (en) | Receive window auto-tuning | |
US7577097B2 (en) | Compound transmission control protocol | |
US20080031149A1 (en) | Communications scheduler | |
CN113141314B (zh) | 一种拥塞控制方法及设备 | |
US8521901B2 (en) | TCP burst avoidance | |
CN110730469B (zh) | 一种基于扩展卡尔曼无线网络带宽预测方法及其拥塞控制 | |
AU2008255539B2 (en) | Method for buffer control for network device | |
Ismail et al. | Enhanced random early detection (ENRED) | |
Chang et al. | A stable queue-based adaptive controller for improving AQM performance | |
CA2940077C (en) | Buffer bloat control | |
Lu et al. | EQF: An explicit queue-length feedback for TCP congestion control in datacenter networks | |
JP3853784B2 (ja) | データ通信管理方法 | |
JP6805713B2 (ja) | 受信トラヒックの高速化装置、高速化方法、および高速化プログラム | |
CN117692396B (zh) | 一种复杂网络环境下的tcp单边加速方法及装置 | |
Tsiknas et al. | TCP-BIAD for enhancing TCP performance in broadband wireless access networks | |
CN114884884A (zh) | 一种拥塞控制方法及装置 | |
CN118175097A (zh) | 一种改进的网络传输加速方法和*** | |
CN116389363A (zh) | 使用可部署int针对网络的拥塞控制 | |
Latorre | Statistical approaches for congestion control in computer networks |
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 | ||
EE01 | Entry into force of recordation of patent licensing contract | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20210720 Assignee: SHANGHAI ZHUO YOU NETWORK TECHNOLOGY Co.,Ltd. Assignor: SHANGHAI DROI TECHNOLOGY Co.,Ltd. Contract record no.: X2023310000083 Denomination of invention: A Congestion Control Method and Equipment Granted publication date: 20221227 License type: Common License Record date: 20230608 |