CN105323187A - 一种拥塞控制方法和装置 - Google Patents
一种拥塞控制方法和装置 Download PDFInfo
- Publication number
- CN105323187A CN105323187A CN201410374765.1A CN201410374765A CN105323187A CN 105323187 A CN105323187 A CN 105323187A CN 201410374765 A CN201410374765 A CN 201410374765A CN 105323187 A CN105323187 A CN 105323187A
- Authority
- CN
- China
- Prior art keywords
- congestion
- window
- sending
- tcp data
- alpha
- 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 38
- 230000005540 biological transmission Effects 0.000 claims abstract description 91
- 230000035945 sensitivity Effects 0.000 claims abstract description 86
- 238000012545 processing Methods 0.000 claims description 18
- 230000008859 change Effects 0.000 claims description 11
- 238000013507 mapping Methods 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 claims description 7
- 238000004422 calculation algorithm Methods 0.000 description 11
- 238000001514 detection method Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 7
- 238000005457 optimization Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 238000003860 storage Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
本发明公开了一种拥塞控制方法,在单位时间周期内,根据传输控制协议TCP数据发送速率,确定网络条件反馈因子和发送窗口调整灵敏度因子;根据网络条件反馈因子和发送窗口调整灵敏度因子确定拥塞发送窗口大小,并根据所确定的拥塞发送窗口控制TCP数据发送速率。本发明同时还公开了一种拥塞控制装置。
Description
技术领域
本发明涉及广域网网络优化技术,尤其涉及一种拥塞控制方法和装置。
背景技术
从传输控制协议(TCP,TransmissionControlProtocol)的发明到现在共经历了多次拥塞控制算法的改进,包括TCPTahoe、TCPReno、TCPNewReno、TCPVegas、TCP选择性确认(TCPSack,TCPSelectiveacknowledgment)、显示控制协议(Xcp,TCPeXplicitControlProtocol)、可扩展TCP(STCP,ScalableTCP)、高速TCP(HighSpeedTCP)、加速TCP(FastTCP)等,主流操作系统中大都使用TCPNewReno或其派生算法。整体上来说,拥塞控制算法可以划分为基于丢包检测的算法和基于排队时延检测的算法。基于丢包检测的算法认为丢包是网络拥塞的指示,一般检测到三个重复ACK就把拥塞发送窗口减半,主动降低发送速率,以便网络从拥塞中恢复;而基于排队时延检测的算法通过检测往返时延(RTT,Round-TripTime)的变化来判断网络是否发生拥塞,RTT的变化比丢包能够提供更丰富的信息。
随着互联网技术的演进,由于路由器等中间设备而产生的丢包事件已经很少了,而由传输介质引起的随机丢包则是目前广域网上丢包的主要因素,因此基于丢包检测的拥塞控制算法就产生了误判,这是造成广域网不能被充分利用的根本原因。
目前,TCPVegas和FastTCP等基于排队时延检测的算法比Reno及其派生等基于丢包检测的算法在广域网上能够更充分地利用带宽,发送窗口的抖动更小,传输也更稳定。但是,TCPVegas的基于排队时延的检测机制还不够完善,容易造成误判,存在不必要的减小发送窗口的情况,导致使用TCPVegas算法传输的流的带宽竞争力不高。FastTCP相比较TCPVegas而言,其基于排队时延的检测机制更加完善,也更加准确,但是其对带宽的适应性不够好,特别是在大带宽环境下,不能迅速充分的利用带宽。
发明内容
有鉴于此,本发明实施例期望提供一种拥塞控制方法和装置,能够根据TCP数据发送速率调整拥塞发送窗口,从而快速实现拥塞控制。
本发明的技术方案是这样实现的:
本发明实施例提供了一种拥塞控制方法,所述方法包括:
步骤1:在单位时间周期内,根据传输控制协议TCP数据发送速率,确定发送窗口调整灵敏度因子以及网络条件反馈因子;
步骤2:根据所述网络条件反馈因子和发送窗口调整灵敏度因子确定拥塞发送窗口大小,并根据所确定的拥塞发送窗口控制TCP数据发送速率。
上述方案中,所述根据TCP数据发送速率,确定发送窗口调整灵敏度因子,包括:
确定所述TCP数据发送速率V1对应的带宽档位,并依据所述带宽档位查找预设的带宽档位和权重值的映射关系获得相应的权重值ω;
确定当前网络的往返时延RTT;
计算所述RTT与所述权重值ω的乘积,并将计算结果设置为所述发送窗口调整灵敏度因子。
上述方案中,所述根据TCP数据发送速率V1,确定网络条件反馈因子,包括:
当所述TCP数据发送速率V1小于1280KBs时,所述网络条件反馈因子gamma为1;
当所述TCP数据发送速率V1大于等于1280KBs且小于2560KBs时,所述网络条件反馈因子gamma为6/7;
当所述TCP数据发送速率V1大于等于2560KBs时,所述网络条件反馈因子gamma为2/3。
上述方案中,所述根据网络条件反馈因子和发送窗口调整灵敏度因子确定拥塞发送窗口大小为:
cwnd=gamma×alpha,
其中,cwnd表示拥塞发送窗口,gamma表示网络条件反馈因子,alpha表示发送窗口调整灵敏度因子;所述拥塞发送窗口cwnd设置为所述网络条件反馈因子gamma和所述发送窗口调整灵敏度因子alpha的乘积。
上述方案中,在所述根据网络条件反馈因子和发送窗口调整灵敏度因子确定拥塞发送窗口大小后,所述方法还包括:
步骤3:在当前时间周期内,根据TCP数据发送速率变化幅度F,对发送窗口调整灵敏度因子进行调整,并根据所述调整后的发送窗口调整灵敏度因子调整拥塞发送窗口大小。
上述方案中,所述根据TCP数据发送速率变化幅度F,对发送窗口调整灵敏度因子alpha进行调整,包括:
当F>=10%时,alpha1=alpha0+10;
当F<=-10%时,alpha1=alpha0-10;
当5%<=F<=10%时,alpha1=alpha0+5;
当-5%>=F>=-10%时,alpha1=alpha0-5;
当3%<=F<=5%时,alpha1=alpha0+3;
当-3%>=F>=-5%时,alpha1=alpha0-3;
当1%<=F<=3%时,alpha1=alpha0+2;
当-1%>=F>=-3%时,alpha1=alpha0-2;
当-1%<=F<=1%时,alpha1=alpha0;
其中,alpha0表示调整前的alpha值,alpha1表示调整后的alpha值。
进一步的,所述根据确定的拥塞发送窗口控制TCP数据发送速率后,所述方法还包括:
重复步骤1和步骤2;
当根据确定的拥塞发送窗口控制TCP数据发送速率,所述TCP数据发送速率不发生变化或变化幅度小于预设阈值时,结束拥塞控制流程。
进一步的,所述根据确定的拥塞发送窗口控制TCP数据发送速率后,所述方法还包括:
重复步骤1至步骤3;
当根据确定的拥塞发送窗口控制TCP数据发送速率,所述TCP数据发送速率不发生变化或变化幅度小于预设阈值时,结束拥塞控制流程。
本发明实施例提供了一种拥塞控制装置,所述装置包括:传输控制协议TCP数据处理模块、网络条件反馈因子确定模块、发送窗口调整灵敏度因子确定模块以及拥塞发送窗口确定模块;其中,
所述TCP数据处理模块,用于确定单位时间周期内的TCP数据发送速率;
所述网络条件反馈因子确定模块,用于根据所述确定的TCP数据发送速率确定网络条件反馈因子;
所述发送窗口调整灵敏度因子确定模块,用于根据所述确定的TCP数据发送速率确定发送窗口调整灵敏度因子;
所述拥塞发送窗口确定模块,用于根据所述确定的网络条件反馈因子和发送窗口调整灵敏度因子确定拥塞发送窗口大小。
上述方案中,所述TCP数据处理模块,还用于确定所述TCP数据发送速率对应的带宽档位,并依据所述带宽档位查找预设的带宽档位和权重值的映射关系获得相应的权重值ω;还用于确定当前网络的往返时延RTT;
所述发送窗口调整灵敏度因子确定模块,还用于计算所述RTT与所述权重值ω的乘积,并将计算结果设置为所述发送窗口调整灵敏度因子。
上述方案中,所述网络条件反馈因子确定模块根据所述TCP数据发送速率确定网络条件反馈因子gamma为:
当所述TCP数据发送速率V1小于1280KBs时,所述网络条件反馈因子gamma为1;
当所述TCP数据发送速率V1大于等于1280KBs且小于2560KBs时,所述网络条件反馈因子gamma为6/7;
当所述TCP数据发送速率V1大于等于2560KBs时,所述网络条件反馈因子gamma为2/3。
上述方案中,所述拥塞发送窗口确定模块,用于通过以下方式确定拥塞发送窗口cwnd大小:
cwnd=gamma×alpha,
其中,cwnd表示拥塞发送窗口,gamma表示网络条件反馈因子,alpha表示发送窗口调整灵敏度因子;所述拥塞发送窗口cwnd设置为所述网络条件反馈因子gamma和所述发送窗口调整灵敏度因子alpha的乘积。
上述方案中,所述发送窗口调整灵敏度因子确定模块还用于,在所述拥塞发送窗口确定模块根据网络条件反馈因子和发送窗口调整灵敏度因子确定拥塞发送窗口大小后,在当前时间周期内,根据TCP数据发送速率变化幅度F,对发送窗口调整灵敏度因子进行调整;
所述拥塞发送窗口确定模块,还用于根据所述调整后的发送窗口调整灵敏度因子调整拥塞发送窗口大小。
上述方案中,所述根据TCP数据发送速率变化幅度F,对发送窗口调整灵敏度因子alpha进行调整,包括:
当F>=10%时,alpha1=alpha0+10;
当F<=-10%时,alpha1=alpha0-10;
当5%<=F<=10%时,alpha1=alpha0+5;
当-5%>=F>=-10%时,alpha1=alpha0-5;
当3%<=F<=5%时,alpha1=alpha0+3;
当-3%>=F>=-5%时,alpha1=alpha0-3;
当1%<=F<=3%时,alpha1=alpha0+2;
当-1%>=F>=-3%时,alpha1=alpha0-2;
当-1%<=F<=1%时,alpha1=alpha0;
其中,alpha0表示调整前的alpha值,alpha1表示调整后的alpha值。
本发明实施例提供的拥塞控制方法和装置,在单位时间周期内,根据传输控制协议TCP数据发送速率,确定网络条件反馈因子和发送窗口调整灵敏度因子;根据网络条件反馈因子和发送窗口调整灵敏度因子确定拥塞发送窗口大小,并根据所述确定的拥塞发送窗口控制TCP数据发送速率。如此,能够根据TCP数据发送速率变化情况,动态调整拥塞发送窗口大小,由于TCP数据发送速率能够综合反映网络中排队时延的变化和丢包恢复的结果,因此,本发明实施例相较于现有技术中单纯基于排队时延检测的拥塞控制具有更高的准确性;而且,根据发送窗口调整灵敏度因子确定的拥塞发送窗口可以很快提高当前网络环境中的TCP数据发送速率,从而提高网络带宽档位,通过不断调整发送窗口调整灵敏度因子,可以不断提高当前网络的带宽档位,最终逼近当前网络带宽档位的上限,从而实现对网络带宽的充分利用。
附图说明
图1为本发明至少一个实施例提供的拥塞控制方法流程图一;
图2为本发明至少一个实施例提供的拥塞控制方法流程图二;
图3为本发明至少一个实施例提供的拥塞控制装置的基本结构图。
具体实施方式
本发明实施例中,在单位时间周期内,根据TCP数据发送速率,确定网络条件反馈因子和发送窗口调整灵敏度因子;根据网络条件反馈因子和发送窗口调整灵敏度因子确定拥塞发送窗口大小,并根据所述确定的拥塞发送窗口控制TCP数据发送速率。
下面通过附图及具体实施例对本发明做进一步的详细说明。
实施例一
本发明实施例一提供了一种拥塞控制方法,如图2所示,该方法包括以下步骤:
步骤101:在单位时间周期内,根据传输控制协议TCP数据发送速率,确定网络条件反馈因子和发送窗口调整灵敏度因子;
具体的,这一步骤中,可以由广域网优化设备在单位周期t内对TCP数据发送速率V1进行实时测量;这里的单位时间周期t的长度可以根据需要设置,这里不作限制;
所述根据TCP数据发送速率确定发送窗口调整灵敏度因子,包括:
确定所述TCP数据发送速率V1对应的带宽档位,并依据所述带宽档位查找预设的带宽档位和权重值的映射关系获得相应的权重值ω;
确定当前网络的往返时延(RTT);
计算所述RTT与所述权重值ω的乘积,并将计算结果设置为所述发送窗口调整灵敏度因子;其计算公式具体如下:
alpha=RTT×ω,其中,alpha为发送窗口调整灵敏度因子。
下表1为带宽档位与TCP数据最高发送速率的对应表,从表中可以看出,当TCP数据的最高发送速率为0KBs~256KBs时,可以确定所述TCP数据发送速率对应的带宽档位为2;当TCP数据的最高发送速率为513KBs~768KBs时,可以确定所述TCP数据发送速率对应的带宽档位为6;当TCP数据的最高发送速率为1025KBs~1280KBs时,可以确定所述TCP数据发送速率对应的带宽档位为10;表1中只是给出了一些常用TCP数据发送速率与带宽档位的对应关系,本领域技术人员可以理解,本发明实施例在实际应用中,并不局限于表1所列出的TCP数据发送速率与带宽档位的对应关系;
带宽档位(Mbps) | TCP数据发送速率(KBs) |
2 | 0~256 |
4 | 257~512 |
6 | 513~768 |
8 | 769~1024 |
10 | 1025~1280 |
20 | 1281~2560 |
表1
因此,依据表1,可以方便、快速的确定TCP数据发送速率V1所对应的带宽档位。
在低带宽时使用较大的发送窗口调整灵敏度因子可以使得窗口调整更迅速;反之,在高带宽时使用小的发送窗口调整灵敏度因子,可以避免速率变化引起窗口抖动;上述带宽档位分割点和带宽档位对应的发送窗口调整灵敏度因子数值是根据实验测试选取的最优值。
具体的,为了确定所述档位带宽对应的权重值ω,需要事先设置带宽档位和ω的映射关系,示例性的,该映射关系可以如表2所示,表2给出了部分带宽档位和其对应的ω值列表;所述权重值ω是用于计算alpha值重要指标,如果该权重值设置得过小,会导致TCP数据发送速率上涨慢;如果该权重值设得过大,会导致TCP数据发送速率上涨太快;表2中某一带宽档位下对应的权重值是根据不同时延、丢包环境下测量出的alpha的平均值确定出来的,这些权重值为对应带宽档位下的较佳权重值;
带宽档位(Mbps) | 权重值 |
2 | 242 |
4 | 485 |
6 | 730 |
8 | 975 |
10 | 1220 |
20 | 2200 |
表2
在这一步骤中,所述根据TCP数据发送速率V1确定网络条件反馈因子gamma为:
当所述TCP数据发送速率小于1280KBs时,所述网络条件反馈因子gamma为1;
当所述TCP数据发送速率V1大于等于1280KBs且小于2560KBs时,所述网络条件反馈因子gamma为6/7;
当所述TCP数据发送速率V1大于等于2560KBs时,所述网络条件反馈因子gamma为2/3。
步骤102:根据网络条件反馈因子和发送窗口调整灵敏度因子确定拥塞发送窗口大小,并根据所述确定的拥塞发送窗口控制TCP数据发送速率;
具体的,确定了网络条件反馈因子和发送窗口调整灵敏度因子以后,确定拥塞发送窗口大小为:
cwnd=gamma×alpha(1),
其中,cwnd表示拥塞发送窗口,gamma表示网络条件反馈因子,alpha表示发送窗口调整灵敏度因子;所述拥塞发送窗口cwnd设置为所述网络条件反馈因子gamma和所述发送窗口调整灵敏度因子alpha的乘积。
在单位时间周期内,广域网优化设备根据(1)式对当前拥塞发送窗口进行调整,并根据所述调整后的拥塞发送窗口控制TCP数据发送速率,之后,等待下一个周期,可以重复步骤101-步骤102的处理流程,以再次调整拥塞发送窗口,提高TCP数据发送速率,直到某一时间周期内,拥塞发送窗口的调整不能进一步提高TCP数据发送速率或者提高的幅度非常小,例如:小于预设阈值VS时,说明当前网络环境已经达到了当前网络环境中的带宽档位上限,则结束拥塞控制流程,这里,所述预设阈值VS可以根据实际需要进行调整,这里不作限制。
进一步的,如图2所示,本发明实施例提供的另一种拥塞控制方法,除包括上述步骤101和步骤102之外,还可以包括以下步骤:
步骤103:在当前时间周期内,根据TCP数据发送速率变化幅度F,对发送窗口调整灵敏度因子进行调整,并根据所述调整后的发送窗口调整灵敏度因子调整拥塞发送窗口大小;
具体的,广域网优化设备可以根据当前周期内TCP数据发送速率V1和所述当前周期的前一周期TCP数据发送速率V0的差值与V0的比值,确定当前时间周期内TCP数据发送速率V1的变化幅度F;具体的,F=(V1-V0)/V0;
所述根据TCP数据发送速率变化幅度F,对发送窗口调整灵敏度因子alpha进行调整,包括:
当F>=10%时,alpha1=alpha0+10;其中,所述alpha0表示调整前的alpha值,alpha1表示调整后的alpha值;
当F<=-10%时,alpha1=alpha0-10;
当5%<=F<=10%时,alpha1=alpha0+5;
当-5%>=F>=-10%时,alpha1=alpha0-5;
当3%<=F<=5%时,alpha1=alpha0+3;
当-3%>=F>=-5%时,alpha1=alpha0-3;
当1%<=F<=3%时,alpha1=alpha0+2;
当-1%>=F>=-3%时,alpha1=alpha0-2;
当-1%<=F<=1%时,alpha1=alpha0,也就是说,保持当前alpha0的值不变。
可以看出除-1%<=F<=1%的情况外,当F为正时,也就是说TCP数据发送速率上升时,alpha值相应增加;当F为负时,也就是说TCP数据发送速率下降时,alpha值相应减少;
接下来将调整后的alpha值(即,alpha1)代入(1)式重新确定拥塞发送窗口的大小。
在步骤101和步骤102中,直接根据TCP数据发送速率确定alpha的值,这样得到的拥塞发送窗口可以很快的提高当前网络环境中的TCP数据发送速率,从而提高TCP数据发送速率所对应的带宽档位,但是这种对TCP数据发送速率的调节相对比较粗略,因此,后续还可以如步骤103中一样,根据TCP数据发送速率变化幅度F,对发送窗口调整灵敏度因子alpha进行调整,这种调整是在步骤101和102的基础上,对alpha值进行的进一步微调,可以使得TCP数据发送速率迅速逼近调整之后获得的带宽档位对应的速率上限;
在单位时间周期内,广域网优化设备进行一次拥塞发送窗口的粗调和一次拥塞发送窗口的微调之后;等待下一个周期,再次重复步骤101至步骤103,以调整拥塞发送窗口,提高TCP数据发送速率,直到某一时间周期内,拥塞发送窗口的调整不能进一步提高TCP数据发送速率或者提高的幅度非常小,例如:小于预设阈值VS时,说明当前网络环境已经达到了当前网络环境中的带宽档位上限,则结束拥塞控制流程,这里,所述预设阈值VS可以根据实际需要进行调整,这里不作限制。
本发明实施例还提供了一种拥塞控制装置,图3为所述拥塞控制装置的基本结构框图,如图3所示,所述拥塞控制装置包括:TCP数据处理模块31、网络条件反馈因子确定模块32、发送窗口调整灵敏度因子确定模块33以及拥塞发送窗口确定模块34;其中,所述TCP数据处理模块31,用于确定单位时间周期内的TCP数据发送速率V1;所述网络条件反馈因子确定模块32,用于根据所述确定的TCP数据发送速率V1确定网络条件反馈因子gamma;所述发送窗口调整灵敏度因子确定模块33,用于根据所述确定的TCP数据发送速率V1确定发送窗口调整灵敏度因子alpha;所述拥塞发送窗口确定模块34,用于根据所述确定的网络条件反馈因子gamma和发送窗口调整灵敏度因子alpha确定拥塞发送窗口cwnd大小。
具体的,所述TCP数据处理模块31,还用于确定所述TCP数据发送速率V1对应的带宽档位,并依据所述带宽档位查找预设的带宽档位和权重值的映射关系获得相应的权重值ω;还用于确定当前网络的往返时延RTT;
所述发送窗口调整灵敏度因子确定模块,还用于计算所述RTT与所述权重值ω的乘积,并将计算结果设置为所述发送窗口调整灵敏度因子。
表1为带宽档位与TCP数据最高发送速率的对应表,从图中可以看出,当TCP数据的最高发送速率为0KBs~256KBs时,可以确定所述TCP数据发送速率对应的带宽档位为2;当TCP数据的最高发送速率为513KBs~768KBs时,可以确定所述TCP数据发送速率对应的带宽档位为6;当TCP数据的最高发送速率为1025KBs~1280KBs时,可以确定所述TCP数据发送速率对应的带宽档位为10;表1中只是给出了一些常用TCP数据发送速率与带宽档位的对应关系,本领域技术人员可以理解,本发明实施例在实际应用中,并不局限于表1所列出的TCP数据发送速率与带宽档位的对应关系;
因此,依据表1,可以方便、快速的确定TCP数据发送速率V1所对应的带宽档位;
具体的,为了确定所述档位带宽对应的权重值ω,需要事先设置带宽档位和ω的映射关系,示例性的,该映射关系可以如表2所示,表2给出了部分带宽档位和其对应的ω值列表;所述权重值ω是用于计算alpha值的重要指标,如果该权重值设得过小,会导致TCP数据发送速率上涨慢;如果该权重值设得过大,会导致TCP数据发送速率上涨太快;表2中某一带宽档位下对应的权重值是根据不同时延、丢包环境下测量出的alpha的平均值确定出来的,这些权重值为对应带宽档位下的较佳权重值;
具体的,所述网络条件反馈因子确定模块32根据所述TCP数据发送速率确定网络条件反馈因子gamma为:
当所述TCP数据发送速率小于1280KBs时,所述网络条件反馈因子gamma为1;
当所述TCP数据发送速率V1大于等于1280KBs且小于2560KBs时,所述网络条件反馈因子gamma为6/7;
当所述TCP数据发送速率V1大于等于2560KBs时,所述网络条件反馈因子gamma为2/3。
具体的,所述拥塞发送窗口确定模块34,用于通过以下方式确定拥塞发送窗口cwnd大小:
cwnd=gamma×alpha,
其中,cwnd表示拥塞发送窗口,gamma表示网络条件反馈因子,alpha表示发送窗口调整灵敏度因子;所述拥塞发送窗口cwnd设置为所述网络条件反馈因子gamma和所述发送窗口调整灵敏度因子alpha的乘积;
具体的,所述拥塞发送窗口确定模块34确定拥塞发送窗口cwnd的大小之后,在下一个时间周期到来时,可以返回TCP数据处理模块31,重新进行拥塞发送窗口的确定,并将当前拥塞发送窗口调整为所述重新确定的拥塞发送窗口大小,以实现对TCP数据发送速率的控制。
进一步的,所述发送窗口调整灵敏度因子确定模块33,还用于在所述拥塞发送窗口确定模块34根据网络条件反馈因子和发送窗口调整灵敏度因子确定拥塞发送窗口大小后,在当前时间周期内,根据TCP数据发送速率变化幅度F,对发送窗口调整灵敏度因子alpha进行调整;所述拥塞发送窗口确定模块34,还用于根据所述调整后的发送窗口调整灵敏度因子调整拥塞发送窗口大小。
具体的,所述根据TCP数据发送速率变化幅度F,对发送窗口调整灵敏度因子alpha进行调整,包括:
当F>=10%时,alpha1=alpha0+10;其中,其中,所述alpha0表示调整前的alpha值,alpha1表示调整后的alpha值;
当F<=-10%时,alpha1=alpha0-10;
当5%<=F<=10%时,alpha1=alpha0+5;
当-5%>=F>=-10%时,alpha1=alpha0-5;
当3%<=F<=5%时,alpha1=alpha0+3;
当-3%>=F>=-5%时,alpha1=alpha0-3;
当1%<=F<=3%时,alpha1=alpha0+2;
当-1%>=F>=-3%时,alpha1=alpha0-2;
当-1%<=F<=1%时,alpha1=alpha0;
接下来将调整后的alpha值(即,alpha1)代入(1)式重新确定拥塞发送窗口的大小;
进一步的,拥塞发送窗口确定模块34根据所述调整后的发送窗口调整灵敏度因子对拥塞发送窗口cwnd大小进行调整之后,在下一个时间周期到来时,还可以返回TCP数据处理模块31,重新进行拥塞发送窗口的确定,并将当前拥塞发送窗口调整为所述重新确定的拥塞发送窗口大小,以实现对TCP数据发送速率的控制。
在实际应用中,本发明实施例中所述TCP数据处理模块31、网络条件反馈因子确定模块32、发送窗口调整灵敏度因子确定模块33以及拥塞发送窗口确定模块34可由位于广域网优化设备之上的中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)、或现场可编程门阵列(FPGA)实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (14)
1.一种拥塞控制方法,其特征在于,所述方法包括:
步骤1:在单位时间周期内,根据传输控制协议TCP数据发送速率,确定发送窗口调整灵敏度因子以及网络条件反馈因子;
步骤2:根据所述网络条件反馈因子和发送窗口调整灵敏度因子确定拥塞发送窗口大小,并根据所确定的拥塞发送窗口控制TCP数据发送速率。
2.根据权利要求1所述的方法,其特征在于,所述根据TCP数据发送速率,确定发送窗口调整灵敏度因子,包括:
确定所述TCP数据发送速率V1对应的带宽档位,并依据所述带宽档位查找预设的带宽档位和权重值的映射关系获得相应的权重值ω;
确定当前网络的往返时延RTT;
计算所述RTT与所述权重值ω的乘积,并将计算结果设置为所述发送窗口调整灵敏度因子。
3.根据权利要求1所述的方法,其特征在于,所述根据TCP数据发送速率V1,确定网络条件反馈因子,包括:
当所述TCP数据发送速率小于1280KBs时,所述网络条件反馈因子gamma为1;
当所述TCP数据发送速率V1大于等于1280KBs且小于2560KBs时,所述网络条件反馈因子gamma为6/7;
当所述TCP数据发送速率V1大于等于2560KBs时,所述网络条件反馈因子gamma为2/3。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述根据网络条件反馈因子和发送窗口调整灵敏度因子确定拥塞发送窗口大小为:
cwnd=gamma×alpha,
其中,cwnd表示拥塞发送窗口,gamma表示网络条件反馈因子,alpha表示发送窗口调整灵敏度因子;所述拥塞发送窗口cwnd设置为所述网络条件反馈因子gamma和所述发送窗口调整灵敏度因子alpha的乘积。
5.根据权利要求4所述的方法,其特征在于,在所述根据网络条件反馈因子和发送窗口调整灵敏度因子确定拥塞发送窗口大小后,所述方法还包括:
步骤3:在当前时间周期内,根据TCP数据发送速率变化幅度F,对发送窗口调整灵敏度因子进行调整,并根据所述调整后的发送窗口调整灵敏度因子调整拥塞发送窗口大小。
6.根据权利要求5所述的方法,其特征在于,所述根据TCP数据发送速率变化幅度F,对发送窗口调整灵敏度因子alpha进行调整,包括:
当F>=10%时,alpha1=alpha0+10;
当F<=-10%时,alpha1=alpha0-10;
当5%<=F<=10%时,alpha1=alpha0+5;
当-5%>=F>=-10%时,alpha1=alpha0-5;
当3%<=F<=5%时,alpha1=alpha0+3;
当-3%>=F>=-5%时,alpha1=alpha0-3;
当1%<=F<=3%时,alpha1=alpha0+2;
当-1%>=F>=-3%时,alpha1=alpha0-2;
当-1%<=F<=1%时,alpha1=alpha0;
其中,alpha0表示调整前的alpha值,alpha1表示调整后的alpha值。
7.根据权利要求1所述的方法,其特征在于,所述根据确定的拥塞发送窗口控制TCP数据发送速率后,所述方法还包括:
重复步骤1和步骤2;
当根据确定的拥塞发送窗口控制TCP数据发送速率,所述TCP数据发送速率不发生变化或变化幅度小于预设阈值时,结束拥塞控制流程。
8.根据权利要求5所述的方法,其特征在于,所述根据确定的拥塞发送窗口控制TCP数据发送速率后,所述方法还包括:
重复步骤1至步骤3;
当根据确定的拥塞发送窗口控制TCP数据发送速率,所述TCP数据发送速率不发生变化或变化幅度小于预设阈值时,结束拥塞控制流程。
9.一种拥塞控制装置,其特征在于,所述装置包括:传输控制协议TCP数据处理模块、网络条件反馈因子确定模块、发送窗口调整灵敏度因子确定模块以及拥塞发送窗口确定模块;其中,
所述TCP数据处理模块,用于确定单位时间周期内的TCP数据发送速率;
所述网络条件反馈因子确定模块,用于根据所述确定的TCP数据发送速率确定网络条件反馈因子;
所述发送窗口调整灵敏度因子确定模块,用于根据所述确定的TCP数据发送速率确定发送窗口调整灵敏度因子;
所述拥塞发送窗口确定模块,用于根据所述确定的网络条件反馈因子和发送窗口调整灵敏度因子确定拥塞发送窗口大小。
10.根据权利要求9所述的装置,其特征在于,
所述TCP数据处理模块,还用于确定所述TCP数据发送速率对应的带宽档位,并依据所述带宽档位查找预设的带宽档位和权重值的映射关系获得相应的权重值ω;还用于确定当前网络的往返时延RTT;
所述发送窗口调整灵敏度因子确定模块,还用于计算所述RTT与所述权重值ω的乘积,并将计算结果设置为所述发送窗口调整灵敏度因子。
11.根据权利要求9所述的装置,其特征在于,所述网络条件反馈因子确定模块根据所述TCP数据发送速率确定网络条件反馈因子gamma为:
当所述TCP数据发送速率小于1280KBs时,所述网络条件反馈因子gamma为1;
当所述TCP数据发送速率V1大于等于1280KBs且小于2560KBs时,所述网络条件反馈因子gamma为6/7;
当所述TCP数据发送速率V1大于等于2560KBs时,所述网络条件反馈因子gamma为2/3。
12.根据权利要求9至11中任一项所述的装置,其特征在于,所述拥塞发送窗口确定模块,用于通过以下方式确定拥塞发送窗口cwnd大小:
cwnd=gamma×alpha,
其中,cwnd表示拥塞发送窗口,gamma表示网络条件反馈因子,alpha表示发送窗口调整灵敏度因子;所述拥塞发送窗口cwnd设置为所述网络条件反馈因子gamma和所述发送窗口调整灵敏度因子alpha的乘积。
13.根据权利要求12所述的装置,其特征在于,所述发送窗口调整灵敏度因子确定模块还用于,在所述拥塞发送窗口确定模块根据网络条件反馈因子和发送窗口调整灵敏度因子确定拥塞发送窗口大小后,在当前时间周期内,根据TCP数据发送速率变化幅度F,对发送窗口调整灵敏度因子进行调整;
所述拥塞发送窗口确定模块,还用于根据所述调整后的发送窗口调整灵敏度因子调整拥塞发送窗口大小。
14.根据权利要求13所述的装置,其特征在于,所述根据TCP数据发送速率变化幅度F,对发送窗口调整灵敏度因子alpha进行调整,包括:
当F>=10%时,alpha1=alpha0+10;
当F<=-10%时,alpha1=alpha0-10;
当5%<=F<=10%时,alpha1=alpha0+5;
当-5%>=F>=-10%时,alpha1=alpha0-5;
当3%<=F<=5%时,alpha1=alpha0+3;
当-3%>=F>=-5%时,alpha1=alpha0-3;
当1%<=F<=3%时,alpha1=alpha0+2;
当-1%>=F>=-3%时,alpha1=alpha0-2;
当-1%<=F<=1%时,alpha1=alpha0;
其中,alpha0表示调整前的alpha值,alpha1表示调整后的alpha值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410374765.1A CN105323187B (zh) | 2014-07-31 | 2014-07-31 | 一种拥塞控制方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410374765.1A CN105323187B (zh) | 2014-07-31 | 2014-07-31 | 一种拥塞控制方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105323187A true CN105323187A (zh) | 2016-02-10 |
CN105323187B CN105323187B (zh) | 2020-02-07 |
Family
ID=55249800
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410374765.1A Active CN105323187B (zh) | 2014-07-31 | 2014-07-31 | 一种拥塞控制方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105323187B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107171969A (zh) * | 2016-03-07 | 2017-09-15 | 华为技术有限公司 | 一种数据传输方法、装置及系统 |
CN108476174A (zh) * | 2016-03-25 | 2018-08-31 | 华为技术有限公司 | 一种拥塞控制方法、装置及相关设备 |
CN109660467A (zh) * | 2019-02-26 | 2019-04-19 | 北京百度网讯科技有限公司 | 用于控制流量的方法和装置 |
CN114039931A (zh) * | 2021-10-27 | 2022-02-11 | 浙江大华技术股份有限公司 | 一种控制数据传输的方法、装置、设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101056259A (zh) * | 2007-05-21 | 2007-10-17 | 中南大学 | 一种用于高速网络中的协同工作式拥塞控制方法 |
US20110216648A1 (en) * | 2010-03-05 | 2011-09-08 | Microsoft Corporation | Congestion control for delay sensitive applications |
CN103001727A (zh) * | 2011-09-09 | 2013-03-27 | 中兴通讯股份有限公司 | 一种无线网络的数据传输控制方法和系统 |
US20130121148A1 (en) * | 2009-03-26 | 2013-05-16 | Empire Technology Development Llc | Tcp extension and variants for handling heterogeneous applications |
-
2014
- 2014-07-31 CN CN201410374765.1A patent/CN105323187B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101056259A (zh) * | 2007-05-21 | 2007-10-17 | 中南大学 | 一种用于高速网络中的协同工作式拥塞控制方法 |
US20130121148A1 (en) * | 2009-03-26 | 2013-05-16 | Empire Technology Development Llc | Tcp extension and variants for handling heterogeneous applications |
US20110216648A1 (en) * | 2010-03-05 | 2011-09-08 | Microsoft Corporation | Congestion control for delay sensitive applications |
CN103001727A (zh) * | 2011-09-09 | 2013-03-27 | 中兴通讯股份有限公司 | 一种无线网络的数据传输控制方法和系统 |
Non-Patent Citations (1)
Title |
---|
茹新宇: "一种基于COS-Slow-Start的新拥塞控制机制", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107171969A (zh) * | 2016-03-07 | 2017-09-15 | 华为技术有限公司 | 一种数据传输方法、装置及系统 |
CN108476174A (zh) * | 2016-03-25 | 2018-08-31 | 华为技术有限公司 | 一种拥塞控制方法、装置及相关设备 |
CN108476174B (zh) * | 2016-03-25 | 2021-01-29 | 华为技术有限公司 | 一种拥塞控制方法、装置及相关设备 |
CN109660467A (zh) * | 2019-02-26 | 2019-04-19 | 北京百度网讯科技有限公司 | 用于控制流量的方法和装置 |
CN114039931A (zh) * | 2021-10-27 | 2022-02-11 | 浙江大华技术股份有限公司 | 一种控制数据传输的方法、装置、设备及介质 |
CN114039931B (zh) * | 2021-10-27 | 2024-04-02 | 浙江大华技术股份有限公司 | 一种控制数据传输的方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN105323187B (zh) | 2020-02-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105323187B (zh) | 一种拥塞控制方法和装置 | |
KR20220007698A (ko) | 속도 최적화된 정체 관리 | |
CN107800642A (zh) | 一种拥塞控制方法及装置 | |
CN103329492B (zh) | 在网络元件的芯片上缓冲存储器中实现周期性早期丢弃的系统和方法 | |
US9379989B2 (en) | Congestion avoidance and control for UDP-based protocols | |
EP1779347A2 (en) | Method and apparatus for network congestion control using queue control and one-way delay measurements | |
US20080219164A1 (en) | Communication terminal which perform low-delay communication | |
EP2451099A3 (en) | Method and system for optical network smart timer management via delay measurement betweens spans | |
US20170324641A1 (en) | Modified slow start for background connections | |
CN106028085A (zh) | 基于dash的多客户端码率自适应及震荡补偿方法 | |
US9246829B2 (en) | Utilizing latency control to alleviate bufferbloat | |
CN103973587A (zh) | 多路径网络拥塞控制方法及装置 | |
US20140226473A1 (en) | Dynamic Adjustment Of Receive Window Utilized By A Transmitting Device | |
US9432296B2 (en) | Systems and methods for initializing packet transfers | |
CN105471757A (zh) | 一种tcp拥塞控制方法及装置 | |
US20150085648A1 (en) | Congestion control in data networks | |
JP6301505B2 (ja) | 伝送バッファサイズを決定する方法及びデバイス | |
US9843526B2 (en) | Pacing enhanced packet forwarding/switching and congestion avoidance | |
CN114866489A (zh) | 拥塞控制方法和装置及拥塞控制模型的训练方法和装置 | |
CN104378307A (zh) | 基于吞吐率和丢包控制cwnd的优化方法和系统 | |
CN101023455A (zh) | 使用排队控制和单向延迟测量实现网络拥塞控制的方法和设备 | |
EP2991290B1 (en) | Controller, node management unit, system and method for controlling packet flow in a network | |
JP5308364B2 (ja) | 送信装置、送信方法及びプログラム | |
Schwarzkopf et al. | Performance analysis of codel and pie for saturated tcp sources | |
EP3340551A1 (en) | Method and system for queue management |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |