CN112423342A - 一种基于ledbat的拥塞控制窗口获取方法 - Google Patents
一种基于ledbat的拥塞控制窗口获取方法 Download PDFInfo
- Publication number
- CN112423342A CN112423342A CN202011163564.9A CN202011163564A CN112423342A CN 112423342 A CN112423342 A CN 112423342A CN 202011163564 A CN202011163564 A CN 202011163564A CN 112423342 A CN112423342 A CN 112423342A
- Authority
- CN
- China
- Prior art keywords
- sub
- stream
- value
- data calculation
- calculation period
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/0289—Congestion control
-
- 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/27—Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种基于LEDBAT的拥塞控制窗口获取方法,其特征在于包括如下步骤:步骤1、设定参考参数;步骤2、获取子流r的单向时延以及上一预设时间段内的基本时延;步骤2、将子流r的单向时延减去上一预设时间段内的基本时延,得到子流r的排队时延Tdr;步骤4、获取当前时刻子流r的排队时延阈值Tr;步骤5、使用当前的Tr值计算当前时刻子流r的拥塞控制窗口变化程度值Otr,Otr=(Tr‑Tdr)/Tr;步骤6、根据当前时刻子流r的拥塞控制窗口变化程度值Otr更新下一时刻子流r的拥塞控制窗口的大小。与现有技术相比,本发明的优点在于:本发明提供的基于LEDBAT的拥塞控制窗口获取方法,能有效解决由于AQM的丢包阈值较小或者缓存较小的原因而产生的优先级反转问题。
Description
技术领域
本发明涉及一种基于LEDBAT的拥塞控制窗口获取方法。
背景技术
当前的移动设备都提供多个网络设备,如WIFI和蜂窝4G网络。而数据中心中的设备也提供多条链路以便发送端和接收端通过不同链路交换数据。随着这些技术的发展,单路径的传输控制协议(以下简称TCP协议)不能有效利用多条路径发送数据,而多路径传输控制协议(以下简称MPTCP协议)可以有效利用多个接口以提高传输效率。MPTCP协议包含四个功能模块,即路径管理、数据调度、子流接口以及拥塞控制,其中,拥塞控制较大程度上影响了MPTCP协议的性能。
对于大文件传输,如软件更新之类的背景流,适合低优先级的方式占用剩余带宽,不影响交互式应用的性能。LEDBAT拥塞控制方法是一种基于时延的低优先级拥塞控制算法。LEDBAT拥塞控制方法仍是基于窗口的速率控制,但是比TCP更早地感知网络的拥塞情况,以便更好地做出回应。拥塞窗口,是卫星通信在因特网中防止通信拥塞的一种措施,它是在发端采用了一种“拥塞避免”算法,“拥塞窗口”就是“拥塞避免”的窗口,它是一个装在发送端的可滑动窗口,窗口的大小是不超过接收端确认通知的窗口。当发送方与接收方建立连接后,发送方每收到一个来自接收方的确认信息,就控制窗口增加一个段值大小,直至窗口值达到的限值,从而避免了网络发生拥塞。拥塞窗口的大小取决于网络的拥塞程度,并且动态地在变化。发送方让自己的发送窗口等于拥塞窗口。如果再考虑到接收方的接收能力,那么发送窗口还可能小于拥塞窗口。发送方控制拥塞窗口的原则是:只要网络没有出现拥塞,拥塞窗口就再增大一些,以便把更多的分组发送出去。但只要网络出现拥塞,拥塞窗口就减少一些,以减少注入到网络中的分组数。LEDBAT拥塞控制方法采用单向时延,估计网络中的排队情况。一个数据包在网络的传输经历的时延有三部分组成:处理时延(processing delay),传输时延(propagation delay)和排队时延(queue delay),当在网络中不存在排队的时候,没有排队时延,数据包经历的时延最小。LEDBAT拥塞控制方法采用单向时延来衡量网络的拥塞状况,单向时延相比RTT的优势,就是不用考虑确认字符(ack)返回时经历的回路时延,但是单向时延不够准确,因为收发端时钟不同步,LEDBAT拥塞控制方法的单向时延是这样计算的,接收端接收到数据,回复确认字符(ack),确认字符(ack)中携带时间差,确认字时延(ack.delay)=接收端收到数据时的本地时间(localtimestamp)-发送端在发送时的时戳(remotetimestamp)。因此,在拥塞避免阶段,LEDBAT拥塞控制方法每收到一个确认字符,都计算当前的单向时延current_delay,而LEDBAT拥塞控制方法会保持一个列表,其中保存了一分钟间隔内单向时延的最小值。将数据包传输过程中的最小的确认字时延(ack.delay)作为基本时延(base_delay)。
LEDBAT拥塞控制算法将排队时延控制在一个预设的范围内,当与其他拥塞控制算法竞争带宽时,它可以较早的感受到拥塞,能够提早降低发送速率,让出可用带宽。但是,当中间设备部署了主动队列算法(以下简称AQM)或者缓存较小,LEDBAT拥塞控制算法与基于丢包的算法竞争带宽时,基于丢包的算法由于AQM的丢包阈值较小或者缓存较小的原因,会发生频繁的丢包现象,故发送速率会不断降低,而LEDBAT拥塞控制算法探测到减小的排队时延,发送速率增加,故会发生优先级反转情况。故当软件备份的低优先级应用于实时性较高的应用(视频会议、在线游戏等)竞争带宽时,这种优先级反转问题严重影响了用户体验。
发明内容
本发明所要解决的技术问题是针对上述现有技术提供一种面向背景流的低优先级的多路径传输控制协议拥塞控制方法,能有效解决丢包阈值较小或者缓存较小而产生的优先级反转问题。
本发明解决上述技术问题所采用的技术方案为:一种基于LEDBAT的拥塞控制窗口获取方法,其特征在于包括如下步骤:
步骤1、将当前需要发送数据的子流标记为子流r,并设定如下参考参数:
最小排队时延阈值,标记记为Tmin,Tmin的初始值为1ms;最大排队时延阈值,标记为Tmax,Tmax的初始值为100ms;数据计算周期,标记为i,i的初始值为0;将子流r在上一个数据计算周期以及上一个数据计算周期之前发送的总字节数标记为Pdr,Pdr的初始值为0;将子流r在上一个数据计算周期以及上一个数据计算周期之前丢失的总字节数标记为Plr,Plr的初始值为0;丢包率阈值,标记为Lmax,Lmax为0.1,将当前时刻子流r的排队时延阈值标记为Tr,Tr的初始值为100;
步骤2、获取子流r的单向时延以及上一预设时间段内的基本时延;
步骤3、将子流r的单向时延减去上一预设时间段内的基本时延,得到子流r的排队时延,将子流r的排队时延标记为Tdr;
步骤4、更新当前时刻子流r的排队时延阈值Tr,Tr的具体更新计算方法为:
步骤4-1、判断i是否等于4,如果i=4,进入步骤4-3,如果i不等于4,进入步骤4-2;
步骤4-2、保持Tr不变,一个往返时延后,以公式i=i+1更新i的值,然后进入步骤5;
步骤4-3、子流r计算上一个数据计算周期传输的字节数、上一个数据计算周期丢失的字节数以及上一个数据计算周期内的丢包率:
将上一个数据计算周期传输的字节数标记为Cdr,其计算公式为Cdr=Pr-Pdr,其中Pr为截至到当前时刻子流r一共传输的字节数,Pdr为子流r在上一个数据计算周期以及上一个数据计算周期之前发送的总字节数;
将上一个数据计算周期丢失的字节数记为Clr,其计算公式为Clr=Pl-Plr,其中Pl为截至到当前时刻子流r一共丢失的字节数,Plr为子流r在上一个数据计算周期以及上一个数据计算周期之前丢失的总字节数;
将上一个数据计算周期内的丢包率记为L,L的计算公式为L=Clr/Cdr;L计算完毕后,更新Pdr与Plr的值,将Pr的值赋值给Pdr,将Pl的值赋值给Plr;
判断L是否大于Lmax,如是,更新排队时延阈值Tr,其更新公式为Tr=(Tmin+Tmax)/2,然后更新最大排队时延阈值Tmax的值,将排队时延阈值Tr赋值给最大排队时延阈值Tmax,即Tmax=Tr,之后将i的值设为0,然后进入步骤5;如否,保持Tr值不变,将i的值设为0,然后进入步骤5;
步骤5、使用当前的Tr值计算当前时刻子流r的拥塞控制窗口变化程度值Otr,Otr=(Tr-Tdr)/Tr,进入步骤5;
步骤6、根据当前时刻子流r的拥塞控制窗口变化程度值Otr更新下一时刻子流r的拥塞控制窗口的大小,其公式为:
CWt+1=(G×Otr)/CW,其中CWt+1为下一时刻子流r的拥塞控制窗口的大小,G表示增益值,是一个常数,CW为当前时刻的子流r的拥塞控制窗口的大小;然后返回步骤3。
与现有技术相比,本发明的优点在于:本发明提供的基于LEDBAT的拥塞控制窗口获取方法,能有效解决由于AQM的丢包阈值较小或者缓存较小的原因而产生的优先级反转问题。
附图说明
图1为本发明实施例中基于LEDBAT的拥塞控制窗口获取方法流程图。
图2为本发明实施例中当前时刻子流r的排队时延阈值更新方法流程图。
具体实施方式
以下结合附图实施例对本发明作进一步详细描述。
本发明提供了一种基于LEDBAT的拥塞控制窗口获取方法,其包括如下步骤,参见图1所示:
步骤1、将当前需要发送数据的子流标记为子流r,并设定如下参考参数:
最小排队时延阈值,标记记为Tmin,Tmin的初始值为1ms;最大排队时延阈值,标记为Tmax,Tmax的初始值为100ms;数据计算周期,标记为i,i的初始值为0;将子流r在上一个数据计算周期以及上一个数据计算周期之前发送的总字节数标记为Pdr,Pdr的初始值为0;将子流r在上一个数据计算周期以及上一个数据计算周期之前丢失的总字节数标记为Plr,Plr的初始值为0;丢包率阈值,标记为Lmax,Lmax为0.1,将当前时刻子流r的排队时延阈值标记为Tr,Tr的初始值为100;
步骤2、获取子流r的单向时延以及上一预设时间段内的基本时延;
步骤3、将子流r的单向时延减去上一预设时间段内的基本时延,得到子流r的排队时延,将子流r的排队时延标记为Tdr;
步骤4、更新当前时刻子流r的排队时延阈值Tr,Tr的具体更新计算方法为:
步骤4-1、判断i是否等于4,如果i=4,进入步骤4-3,如果i不等于4,进入步骤4-2;
步骤4-2、保持Tr不变,一个往返时延后,以公式i=i+1更新i的值,然后进入步骤5;
步骤4-3、子流r计算上一个数据计算周期传输的字节数、上一个数据计算周期丢失的字节数以及上一个数据计算周期内的丢包率:
将上一个数据计算周期传输的字节数标记为Cdr,其计算公式为Cdr=Pr-Pdr,其中Pr为截至到当前时刻子流r一共传输的字节数,Pdr为子流r在上一个数据计算周期以及上一个数据计算周期之前发送的总字节数;
将上一个数据计算周期丢失的字节数记为Clr,其计算公式为Clr=Pl-Plr,其中Pl为截至到当前时刻子流r一共丢失的字节数,Plr为子流r在上一个数据计算周期以及上一个数据计算周期之前丢失的总字节数;
将上一个数据计算周期内的丢包率记为L,L的计算公式为L=Clr/Cdr;L计算完毕后,更新Pdr与Plr的值,将Pr的值赋值给Pdr,将Pl的值赋值给Plr;
判断L是否大于Lmax,如是,更新排队时延阈值Tr,其更新公式为Tr=(Tmin+Tmax)/2,然后更新最大排队时延阈值Tmax的值,将排队时延阈值Tr赋值给最大排队时延阈值Tmax,即Tmax=Tr,之后将i的值设为0,然后进入步骤5;如否,保持Tr值不变,将i的值设为0,然后进入步骤5;
步骤5、使用当前的Tr值计算当前时刻子流r的拥塞控制窗口变化程度值Otr,Otr=(Tr-Tdr)/Tr,进入步骤5;
步骤6、根据当前时刻子流r的拥塞控制窗口变化程度值Otr更新下一时刻子流r的拥塞控制窗口的大小,其公式为:
CWt+1=(G×Otr)/CW,其中CWt+1为下一时刻子流r的拥塞控制窗口的大小,G表示增益值,是一个常数,CW为当前时刻的子流r的拥塞控制窗口的大小,CW的初始值当前操作系统内核在执行慢启动后的拥塞控制窗口值,是可以根据现有技术计算获得的一个变量;然后返回步骤3。
Claims (1)
1.一种基于LEDBAT的拥塞控制窗口获取方法,其特征在于包括如下步骤:
步骤1、将当前需要发送数据的子流标记为子流r,并设定如下参考参数:
最小排队时延阈值,标记记为Tmin,Tmin的初始值为1ms;最大排队时延阈值,标记为Tmax,Tmax的初始值为100ms;数据计算周期,标记为i,i的初始值为0;将子流r在上一个数据计算周期以及上一个数据计算周期之前发送的总字节数标记为Pdr,Pdr的初始值为0;将子流r在上一个数据计算周期以及上一个数据计算周期之前丢失的总字节数标记为Plr,Plr的初始值为0;丢包率阈值,标记为Lmax,Lmax为0.1;将当前时刻子流r的排队时延阈值标记为Tr,Tr的初始值为100;
步骤2、获取子流r的单向时延以及上一预设时间段内的基本时延;
步骤3、将子流r的单向时延减去上一预设时间段内的基本时延,得到子流r的排队时延,将子流r的排队时延标记为Tdr;
步骤4、更新当前时刻子流r的排队时延阈值Tr,Tr的具体更新计算方法为:
步骤4-1、判断i是否等于4,如果i=4,进入步骤4-3,如果i不等于4,进入步骤4-2;
步骤4-2、保持Tr不变,一个往返时延后,以公式i=i+1更新i的值,然后进入步骤5;
步骤4-3、子流r计算上一个数据计算周期传输的字节数、上一个数据计算周期丢失的字节数以及上一个数据计算周期内的丢包率:
将上一个数据计算周期传输的字节数标记为Cdr,其计算公式为Cdr=Pr-Pdr,其中Pr为截至到当前时刻子流r一共传输的字节数,Pdr为子流r在上一个数据计算周期以及上一个数据计算周期之前发送的总字节数;
将上一个数据计算周期丢失的字节数记为Clr,其计算公式为Clr=Pl-Plr,其中Pl为截至到当前时刻子流r一共丢失的字节数,Plr为子流r在上一个数据计算周期以及上一个数据计算周期之前丢失的总字节数;
将上一个数据计算周期内的丢包率记为L,L的计算公式为L=Clr/Cdr;L计算完毕后,更新Pdr与Plr的值,将Pr的值赋值给Pdr,将Pl的值赋值给Plr;
判断L是否大于Lmax,如是,更新排队时延阈值Tr,其更新公式为Tr=(Tmin+Tmax)/2,然后更新最大排队时延阈值Tmax的值,将排队时延阈值Tr赋值给最大排队时延阈值Tmax,即Tmax=Tr,之后将i的值设为0,然后进入步骤5;如否,保持Tr值不变,将i的值设为0,然后进入步骤5;
步骤5、使用当前的Tr值计算当前时刻子流r的拥塞控制窗口变化程度值Otr,Otr=(Tr-Tdr)/Tr,进入步骤5;
步骤6、根据当前时刻子流r的拥塞控制窗口变化程度值Otr更新下一时刻子流r的拥塞控制窗口的大小,其公式为:
CWt+1=(G×Otr)/CW,其中CWt+1为下一时刻子流r的拥塞控制窗口的大小,G表示增益值,是一个常数,CW为当前时刻的子流r的拥塞控制窗口的大小;然后返回步骤3。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011163564.9A CN112423342A (zh) | 2020-10-27 | 2020-10-27 | 一种基于ledbat的拥塞控制窗口获取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011163564.9A CN112423342A (zh) | 2020-10-27 | 2020-10-27 | 一种基于ledbat的拥塞控制窗口获取方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112423342A true CN112423342A (zh) | 2021-02-26 |
Family
ID=74841058
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011163564.9A Pending CN112423342A (zh) | 2020-10-27 | 2020-10-27 | 一种基于ledbat的拥塞控制窗口获取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112423342A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105230067A (zh) * | 2013-05-20 | 2016-01-06 | 瑞典爱立信有限公司 | 通信网络中的拥塞控制 |
CN105357138A (zh) * | 2015-09-30 | 2016-02-24 | 四川大学 | 一种基于低优先级的自适应可靠传输方法 |
US20170324641A1 (en) * | 2016-05-04 | 2017-11-09 | Microsoft Technology Licensing, Llc | Modified slow start for background connections |
-
2020
- 2020-10-27 CN CN202011163564.9A patent/CN112423342A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105230067A (zh) * | 2013-05-20 | 2016-01-06 | 瑞典爱立信有限公司 | 通信网络中的拥塞控制 |
CN105357138A (zh) * | 2015-09-30 | 2016-02-24 | 四川大学 | 一种基于低优先级的自适应可靠传输方法 |
US20170324641A1 (en) * | 2016-05-04 | 2017-11-09 | Microsoft Technology Licensing, Llc | Modified slow start for background connections |
Non-Patent Citations (3)
Title |
---|
AMUDA JAMES ABU等: "A Dynamic Algorithm for Stabilising LEDBAT Congestion Window", 《 2010 SECOND INTERNATIONAL CONFERENCE ON COMPUTER AND NETWORK TECHNOLOGY》 * |
HAKIM ADHARI等: "Eclipse: A New Dynamic Delay-based Congestion Control Algorithm for Background Traffic", 《2015 18TH INTERNATIONAL CONFERENCE ON NETWORK-BASED INFORMATION SYSTEMS》 * |
马阿曼等: "LEDBAT协议优先级反转抑制的启发式动态阈值算法", 《计算机研究与发展》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4738594B2 (ja) | データフロー制御方法および装置 | |
CN114145001B (zh) | 速率优化的拥塞管理 | |
CN102468941B (zh) | 网络丢包处理方法及装置 | |
US6178448B1 (en) | Optimal link scheduling for multiple links by obtaining and utilizing link quality information | |
US7898958B2 (en) | Communication system | |
US7376737B2 (en) | Optimised receiver-initiated sending rate increment | |
TWI487389B (zh) | 避免網路壅塞的方法及其裝置 | |
JP4878391B2 (ja) | 適応的なキュー待ち時間を伴うスケジューリング及びキューマネージメント | |
CN113518040B (zh) | 一种面向时延敏感业务的多径耦合拥塞控制方法 | |
US20020150048A1 (en) | Data transport acceleration and management within a network communication system | |
WO2006065008A1 (en) | Apparatus for arq controlling in wireless portable internet system and method thereof | |
JP2002521858A (ja) | 混雑制御 | |
De Oliveira et al. | A smart TCP acknowledgment approach for multihop wireless networks | |
CN107634908B (zh) | 一种数据传输的方法和设备 | |
CN113329413B (zh) | 用于高铁场景的多路径传输数据预调度方法及系统 | |
US20180176136A1 (en) | TCP Bufferbloat Resolution | |
CN109698925B (zh) | 基于数据驱动的实时视频拥塞控制方法及装置 | |
CN113242183A (zh) | 一种数据流发送控制方法、装置、智能终端及存储介质 | |
Sreenivas et al. | L2DB-TCP: An adaptive congestion control technique for MANET based on link layer measurements | |
CN117676695A (zh) | Tcp传输方法、装置和系统 | |
CN112423342A (zh) | 一种基于ledbat的拥塞控制窗口获取方法 | |
Pu et al. | Enhancements on router-assisted congestion control for wireless networks | |
Hisamatsu et al. | Non bandwidth-intrusive video streaming over TCP | |
CN114501542A (zh) | 基于mptcp耦合的自适应带宽估计方法及系统 | |
Al-Saadi et al. | Characterising LEDBAT performance through bottlenecks using PIE, FQ-CoDel and FQ-PIE active queue management |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20210226 |
|
WD01 | Invention patent application deemed withdrawn after publication |