CN102388584A - 拥塞控制方法及设备 - Google Patents

拥塞控制方法及设备 Download PDF

Info

Publication number
CN102388584A
CN102388584A CN2011800019337A CN201180001933A CN102388584A CN 102388584 A CN102388584 A CN 102388584A CN 2011800019337 A CN2011800019337 A CN 2011800019337A CN 201180001933 A CN201180001933 A CN 201180001933A CN 102388584 A CN102388584 A CN 102388584A
Authority
CN
China
Prior art keywords
value
way time
confirmation
alpha
max
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
Application number
CN2011800019337A
Other languages
English (en)
Other versions
CN102388584B (zh
Inventor
肖文曙
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN102388584A publication Critical patent/CN102388584A/zh
Application granted granted Critical
Publication of CN102388584B publication Critical patent/CN102388584B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/187Details of sliding window management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • H04L47/283Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/19Flow control; Congestion control at layers above the network layer
    • H04L47/193Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/27Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets

Landscapes

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

Abstract

本发明实施例涉及一种拥塞控制方法及设备,方法,包括:在拥塞避免阶段,根据检测到的确认信息、以及获得的该确认信息对应的往返时间的抖动,确定拥塞窗口值的调整值;根据所述确定的拥塞窗口的调整值,对所述拥塞窗口值进行调整。本发明实施例能够避免现有技术中由于根据接收到的确认信息调整拥塞窗口值并利用调整之后的发送窗口进行数据发送速率的控制精度较低的问题,能够充分利用网络带宽能力,从而提高了拥塞控制的可靠性和TCP的传输效率。

Description

拥塞控制方法及设备
技术领域
本发明实施例涉及通信技术,尤其涉及一种拥塞控制方法及设备。
背景技术
传输控制协议(Transmission Control Protocol,简称TCP)是目前常用的一种传输层协议,其可以用于分组网络中的各节点之间进行可靠数据传输。而拥塞控制就是TCP保证分组网络中数据可靠传输的一个重要控制功能,发送端设备可以根据接收到的确认(ACKnowledge,简称ACK)信息,通过调整拥塞窗口(congestion window,简称CWND)的大小实现调整发送窗口的大小,进而能够实现调整数据发送速率,避免网络崩溃现象的发生。
然而,由于接收端设备接收分组数据并返回ACK信息会受到众多网络链路因素的影响,例如:无线链路引起的丢包、时延抖动和乱序,因此,发送端设备根据接收到的ACK信息,调整拥塞窗口值并利用调整之后的发送窗口进行数据发送速率的控制精度较低,导致了拥塞控制的可靠性降低,从而降低了TCP的传输效率。
发明内容
本发明实施例提供一种拥塞控制方法及设备,用以提高拥塞控制的可靠性和TCP的传输效率。
一方面提供了一种拥塞控制方法,包括:
在拥塞避免阶段,根据检测到的ACK信息、以及获得的该ACK信息对应的往返时间的抖动,确定拥塞窗口值的调整值;
根据所述确定的拥塞窗口的调整值,对所述拥塞窗口值进行调整。
另一方面提供了一种拥塞控制设备,包括:
确定单元,用于在拥塞避免阶段,根据检测到的ACK信息、以及获得的该ACK信息对应的往返时间的抖动,确定拥塞窗口值的调整值;
调整单元,用于根据所述确定单元确定的拥塞窗口的调整值,对所述拥塞窗口值进行调整。
由上述技术方案可知,在拥塞避免阶段,本发明实施例通过根据检测到的ACK信息、以及获得的该ACK信息对应的往返时间的抖动,确定拥塞窗口值的调整值,使得能够根据上述确定的拥塞窗口的调整值,对上述拥塞窗口值进行调整,能够避免现有技术中由于根据接收到的ACK信息调整拥塞窗口值并利用调整之后的发送窗口进行数据发送速率的控制精度较低的问题,能够充分利用网络带宽能力,从而提高了拥塞控制的可靠性和TCP的传输效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的拥塞控制方法的流程示意图;
图2为本发明另一实施例提供的拥塞控制方法的流程示意图;
图3为本发明另一实施例提供的拥塞控制设备的结构示意图;
图4为本发明另一实施例提供的拥塞控制设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明一实施例提供的拥塞控制方法的流程示意图,如图1所示,本实施例的拥塞控制方法可以包括:
步骤101、在拥塞避免阶段,根据检测到的ACK信息、以及获得的该ACK信息对应的往返时间(Round-Trip Time,简称RTT)的抖动,确定拥塞窗口值的调整值;
步骤102、根据上述确定的拥塞窗口的调整值,对上述拥塞窗口值进行调整。
上述步骤101~102的执行主体可以为发送端设备。
可以理解的是:由于网络链路特性(例如:无线链路的误码率、终端设备移动过程中的链路切换等),会使发送端设备发送给接收端设备的分组数据在传输过程中产生传播延迟。另外,发送端设备发送给接收端设备的分组数据还可以进一步在路由器中进行队列缓存,之后由路由器再将缓存的分组数据转发给接收端设备,这样会使发送端设备发送给接收端设备的分组数据在传输过程中产生了额外的延迟。其中,路由器的队列缓存所产生的这部分额外延迟,随着拥塞发生的趋势会呈现逐渐增大的特征。因此,如果采用现有技术,不考虑这两种传播延迟的差异,在拥塞避免阶段,一律采用线性机制调整拥塞窗口值,使得在数据发送速率远远小于网络带宽时,不能快速增长,无法有效利用网络带宽能力,在数据发送速率接近网络带宽时,不能减缓增加速度,短时间内容易发生拥塞,导致拥塞窗口降低。因此现有技术的拥塞控制方法容易导致拥塞窗口的大小发生大幅度波动,而无法充分利用网络带宽能力。正是针对上述现有技术对发送端设备的拥塞窗口的大小调整时所产生的问题,本实施例中,发送端设备可以以当前的ACK信息对应的往返时间的抖动为参考,调整拥塞窗口,充分利用网络带宽能力的同时,避免拥塞现象的发生。
例如:在步骤101中,若发送端设备检测到ACK信息,则可以根据获得的该ACK信息对应的往返时间和指定时间内的往返时间最小值,获得该ACK信息对应的往返时间的抖动(即ACK信息对应的往返时间的抖动为该ACK信息对应的往返时间与指定时间内的往返时间最小值的差值)。如果上述ACK信息对应的往返时间对应的抖动小于或等于抖动阈值,发送端设备则可以根据alpha1=alpha_max,获得第一增加因子,其中,alpha1为第一增加因子,alpha_max为预先指定的增加因子最大值。如果上述ACK信息对应的往返时间的抖动大于抖动阈值,发送端设备则可以根据alpha2=f1(alpha_max,alpha_min,cur_delay,tolerant_jitter),获得第二增加因子,其中,alpha2为第二增加因子,alpha_max为预先指定的增加因子最大值,alpha_min为预先指定的增加因子最小值,cur_delay为上述ACK信息对应的往返时间对应的抖动,tolerant_jitter为抖动阈值,函数f1为上述cur_delay的减函数,且取值范围为[alpha_min,alpha_max],当cur_delay趋于tolerant_jitter时,函数f1的值收敛到alpha_max。因此,能够实现当往返时间对应的抖动小于或等于抖动阈值时,控制拥塞窗口值进行调整的增加因子可以取预先指定的最大值,拥塞窗口值快速增加;当往返时间对应的抖动大于抖动阈值时,控制拥塞窗口值进行调整的增加因子可以通过构造的函数f1得到,认为此时的往返时间中包含了由发送端设备与接收端设备之间的路由器的队列缓存引起的延迟时间,拥塞窗口值缓慢增加,短时间内不容易发生拥塞,不会导致拥塞窗口的大小发生大幅度波动,能够充分利用网络可用带宽。
可选地,在步骤101之前,本实施例中的发送端设备还可以进一步设置初始抖动阈值,作为当前的抖动阈值。
可选地,为了进一步充分利用网络带宽能力,本实施例中的发送端设备还可以进一步根据指定时间内的往返时间最大值和往返时间最小值,对抖动阈值进行更新。例如:若发送端设备检测到ACK信息,则可以根据tolerant_jitter_lst=f2(rtt_max,rtt_min),获得抖动样本值,其中,rtt_max为指定时间内的往返时间最大值,rtt_min为指定时间内的往返时间最小值;然后,发送端设备根据抖动样本值和当前的抖动阈值,采用低通滤波方式更新上述当前的抖动阈值,即tolerant_jitter=q*tolerant_jitter+(1-q)*tolerant_jitter_lst,其中,q为预先指定的权重因子。其中,发送端设备还可以进一步将当前的ACK信息对应的往返时间与上一ACK信息对应的往返时间进行比较,并设置一个计数器,初始值可以设置为0。若上述ACK信息对应的往返时间大于上一ACK信息对应的往返时间,发送端设备则可以将计数器的值增加指定步长(例如:1);若上述ACK信息对应的往返时间小于或等于上一ACK信息对应的往返时间,发送端设备则重置计数器即设置该计数器的值为初始值;若上述计数器的值大于预先指定的计数器阈值(例如:3),发送端设备则可以将上述当前的抖动阈值设置为上述初始抖动阈值。
本实施例中,在拥塞避免阶段,通过根据检测到的ACK信息、以及获得的该ACK信息对应的往返时间的抖动,确定拥塞窗口值的调整值,使得能够根据上述确定的拥塞窗口的调整值,对上述拥塞窗口值进行调整,能够避免现有技术中由于根据接收到的ACK信息调整拥塞窗口值并利用调整之后的发送窗口进行数据发送速率的控制精度较低的问题,能够充分利用网络带宽能力,从而提高了拥塞控制的可靠性和TCP的传输效率。
可以理解的是:本实施例提供的拥塞控制方法中,除了步骤101和步骤102所述的拥塞避免阶段之外,还可以进一步包括初始化阶段、快速重传和快速恢复阶段、慢启动阶段。然而,在这些阶段中,发送端设备可以采用现有技术中的方法,具体内容可以参见现有技术中的相关描述,此处不再赘述。
本实施例中,若发送端设备检测到指定个数(例如:3个)重复的ACK信息,或者检测到发送端设备的重传定时器超时,则可以采用现有技术中的方法调整当前的慢启动阈值(Slow Start Threshold,简称ssthresh)(即通过步骤102中进行慢启动阈值)到当前的拥塞窗口值的二分之一,并将拥塞窗口值减小到当前的拥塞窗口值的二分之一或者慢启动阶段的初始拥塞窗口值(通常为1),并进入相应阶段执行拥塞控制(快速重传和快速恢复阶段或者慢启动阶段)。采用上述现有技术,盲目减小慢启动阈值,导致拥塞窗口也盲目减小,使得在快速重传和快速恢复阶段中的数据发送速率远远小于网络带宽,造成网络资源的浪费。图2为本发明另一实施例提供的拥塞控制方法的流程示意图,如图2所示,本实施例在上一实施例的基础之上(步骤201-202同步骤101-102一致),本实施例的拥塞控制方法还可以进一步包括:
步骤203、若检测到指定个数(例如:3个)重复的ACK信息,或者检测到发送端设备的重传定时器超时,将慢启动阈值设置为网络带宽与指定时间内的往返时间平均值的乘积值,并进入相应阶段执行拥塞控制。
其中,上述网络带宽为发送端设备通过接收端反馈的信息计算得到的发送端与接收端设备之间的数据传输路径的可用带宽,是一个实际测量值。具体地,发送端设备可以根据当前的最新没有接收到的ACK信息的字节号和上一次的最新没有接收到的ACK信息的字节号,获得接收到的字节数,即ackc=snd_una_new-snd_una_last,其中,ackc为接收到的字节数,snd_una_new为当前的最新没有接收到的ACK信息的字节号,snd_una_last为上一次的最新没有接收到的ACK信息的字节号;然后,根据接收到当前的ACK信息的时刻和接收到上一次的ACK信息的时刻,获得一个时间范围delta;最后,根据bw_est=(1/mss)*(ackc/delta),获得网络带宽,其中,bw_est为网络带宽,mss为TCP中的最大分段大小(Maxitum Segment Size,简称MSS)值。
其中,指定时间内的往返时间平均值可以有多种理解,可以为算数平均值,或者还可以为加权平均值,本实施例对此不进行限定。以算数平均值作为举例,可以根据rtt_avg=rtt_s/rtt_cnt,获得指定时间(例如:一个往返时间)内的往返时间平均值,其中,rtt_avg为指定时间内的往返时间平均值,rtt_s为指定时间内采样到的往返时间的总和,rtt_cnt为指定时间内采样的次数。
可以理解的是:本实施例中,发送端设备可以采用现有技术中的方法获得拥塞窗口值。例如:若发送端设备检测到指定个数(例如:3个)重复的ACK信息,则可以根据cwnd=ssthresh+3,获得拥塞窗口值,其中,cwnd为拥塞窗口值,ssthresh为慢启动阈值;再例如:若发送端设备检测到发送端设备的重传定时器超时,则将拥塞窗口值设置为慢启动阶段的初始拥塞窗口值。
本实施例中,若发送端设备检测到指定个数重复的ACK信息,或者检测到发送端设备的重传定时器超时,通过将慢启动阈值设置为网络带宽与指定时间内的往返时间平均值的乘积值,使得在快速重传和快速恢复阶段或者慢启动阶段中的慢启动阈值根据网络带宽与往返时间平均值乘积的变化而变化,特别是,在快速重传和快速恢复阶段开始时拥塞窗口根据网络带宽与往返时间平均值乘积的变化而变化,进一步提高了拥塞控制的控制精度,而且能够充分利用网络带宽能力,从而避免了网络资源浪费。
需要说明的是:对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
图3为本发明另一实施例提供的拥塞控制设备的结构示意图,如图3所示,本实施例的拥塞控制设备可以包括确定单元31和调整单元32。其中,确定单元31用于在拥塞避免阶段,根据检测到的ACK信息、以及获得的该ACK信息对应的往返时间的抖动,确定拥塞窗口值的调整值;调整单元32用于根据确定单元31确定的拥塞窗口的调整值,对上述拥塞窗口值进行调整。
上述图1和图2对应的实施例中方法均可以由本实施例提供的拥塞控制设备实现。
例如:本实施例中的确定单元31若检测到ACK信息,可以根据获得的该ACK信息对应的往返时间和指定时间内的往返时间最小值,获得该ACK信息对应的往返时间的抖动;若上述ACK信息对应的往返时间的抖动小于或等于抖动阈值,根据alpha1=alpha_max,获得第一增加因子,其中,alpha1为第一增加因子,alpha_max为预先指定的增加因子最大值;若上述ACK信息对应的往返时间的抖动大于抖动阈值,根据alpha2=f1(alpha_max,alpha_min,cur_delay,tolerant_jitter),获得第二增加因子,其中,alpha2为第二增加因子,alpha_max为预先指定的增加因子最大值,alpha_min为预先指定的增加因子最小值,cur_delay为上述ACK信息对应的往返时间的抖动,tolerant_jitter为上述抖动阈值,函数f1为上述cur_delay的减函数,且取值范围为[alpha_min,alpha_max],当cur_delay趋于tolerant_jitter时,函数f1的值收敛到alpha_max。因此,能够实现当往返时间对应的抖动小于或等于抖动阈值时,控制拥塞窗口值进行调整的增加因子可以取预先指定的最大值,拥塞窗口值快速增加;当往返时间对应的抖动大于抖动阈值时,控制拥塞窗口值进行调整的增加因子可以通过构造的函数f1得到,认为此时的往返时间中包含了由发送端设备与接收端设备之间的路由器的队列缓存引起的延迟时间,拥塞窗口值缓慢增加,短时间内不容易发生拥塞,不会导致拥塞窗口的大小发生大幅度波动,能够充分利用网络可用带宽。
可选地,如图4所示,本实施例提供的拥塞控制设备还可以进一步包括设置单元41,用于设置初始抖动阈值,作为当前的抖动阈值。
可选地,为了进一步充分利用网络带宽能力,设置单元41还可以进一步根据指定时间内的往返时间最大值和往返时间最小值,对抖动阈值进行更新。例如:设置单元41若检测到ACK信息,还可以根据tolerant_jitter_lst=f2(rtt_max,rtt_min),获得抖动样本值,其中,rtt_max为指定时间内的往返时间最大值,rtt_min为指定时间内的往返时间最小值;然后,根据抖动样本值和当前的抖动阈值,采用低通滤波方式更新上述当前的抖动阈值。其中,设置单元41还可以进一步将当前的ACK信息对应的往返时间与上一ACK信息对应的往返时间进行比较,并设置一个计数器,初始值可以设置为0。若上述ACK信息对应的往返时间大于上一ACK信息对应的往返时间,设置单元41则可以将计数器的值增加指定步长(例如:1);若上述ACK信息对应的往返时间小于或等于上一ACK信息对应的往返时间,设置单元41则重置计数器即设置该计数器的值为初始值;若上述计数器的值大于预先指定的计数器阈值(例如:3),设置单元41则可以将上述当前的抖动阈值设置为上述初始抖动阈值。
本实施例中,在拥塞避免阶段,通过确定单元根据检测到的ACK信息、以及获得的该ACK信息对应的往返时间的抖动,确定拥塞窗口值的调整值,使得调整单元能够根据上述确定单元确定的拥塞窗口的调整值,对上述拥塞窗口值进行调整,能够避免现有技术中由于根据接收到的ACK信息调整拥塞窗口值并利用调整之后的发送窗口进行数据发送速率的控制精度较低的问题,能够充分利用网络带宽能力,从而提高了拥塞控制的可靠性和TCP的传输效率。
可选地,本实施例中的调整单元32若检测到指定个数重复的ACK信息,或者检测到发送端设备的重传定时器超时,还可以进一步将慢启动阈值设置为网络带宽与指定时间内的往返时间平均值的乘积值,并进入相应阶段执行拥塞控制(快速重传和快速恢复阶段或者慢启动阶段),使得在快速重传和快速恢复阶段或者慢启动阶段中的慢启动阈值根据网络带宽与往返时间平均值乘积的变化而变化,特别是,在快速重传和快速恢复阶段开始时拥塞窗口根据网络带宽与往返时间平均值乘积的变化而变化,进一步提高了拥塞控制的控制精度,而且能够充分利用网络带宽能力,从而避免了网络资源浪费。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个调整单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (12)

1.一种拥塞控制方法,其特征在于,包括:
在拥塞避免阶段,根据检测到的确认信息、以及获得的该确认信息对应的往返时间的抖动,确定拥塞窗口值的调整值;
根据所述确定的拥塞窗口的调整值,对所述拥塞窗口值进行调整。
2.根据权利要求1所述的方法,其特征在于,所述根据检测到的确认信息、以及获得的该确认信息对应的往返时间的抖动,确定拥塞窗口值的调整值,包括:
若检测到确认信息,根据获得的该确认信息对应的往返时间和指定时间内的往返时间最小值,获得该确认信息对应的往返时间的抖动;
若所述确认信息对应的往返时间的抖动小于或等于抖动阈值,根据alpha1=alpha_max,获得第一增加因子,其中,alpha1为第一增加因子,alpha_max为预先指定的增加因子最大值;
若所述确认信息对应的往返时间的抖动大于抖动阈值,根据alpha2=f1(alpha_max,alpha_min,cur_delay,tolerant_jitter),获得第二增加因子,其中,alpha2为第二增加因子,alpha_max为预先指定的增加因子最大值,alpha_min为预先指定的增加因子最小值,cur_delay为所述确认信息对应的往返时间的抖动,tolerant_jitter为所述抖动阈值,函数f1为所述cur_delay的减函数,且取值范围为[alpha_min,alpha_max],当cur_delay趋于tolerant_jitter时,函数f1的值收敛到alpha_max。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:设置初始抖动阈值,作为当前的抖动阈值。
4.根据权利要求3所述的方法,其特征在于,所述设置初始抖动阈值,作为当前的抖动阈值之后,还包括:
若检测到确认信息,根据tolerant_jitter_lst=f2(rtt_max,rtt_min),获得抖动样本值,其中,rtt_max为指定时间内的往返时间最大值,rtt_min为指定时间内的往返时间最小值;
根据抖动样本值和当前的抖动阈值,采用低通滤波方式更新所述当前的抖动阈值。
5.根据权利要求4所述的方法,其特征在于,所述设置初始抖动阈值,作为当前的抖动阈值之后,还包括:
若所述确认信息对应的往返时间大于上一确认信息对应的往返时间,将计数器的值增加指定步长;
若所述确认信息对应的往返时间小于或等于上一确认信息对应的往返时间,重置计数器;
若所述计数器的值大于预先指定的计数器阈值,将所述当前的抖动阈值设置为所述初始抖动阈值。
6.根据权利要求1~5任一权利要求所述的方法,其特征在于,所述方法还包括:
若检测到指定个数重复的确认信息,或者检测到发送端设备的重传定时器超时,将慢启动阈值设置为网络带宽与指定时间内的往返时间平均值的乘积值,并进入相应阶段执行拥塞控制。
7.一种拥塞控制设备,其特征在于,包括:
确定单元,用于在拥塞避免阶段,根据检测到的确认信息、以及获得的该确认信息对应的往返时间的抖动,确定拥塞窗口值的调整值;
调整单元,用于根据所述确定单元确定的拥塞窗口的调整值,对所述拥塞窗口值进行调整。
8.根据权利要求7所述的设备,其特征在于,所述确定单元具体用于
若检测到确认信息,根据获得的该确认信息对应的往返时间和指定时间内的往返时间最小值,获得该确认信息对应的往返时间的抖动;若所述确认信息对应的往返时间的抖动小于或等于抖动阈值,根据alpha1=alpha_max,获得第一增加因子,其中,alpha1为第一增加因子,alpha_max为预先指定的增加因子最大值;若所述确认信息对应的往返时间的抖动大于抖动阈值,根据alpha2=f1(alpha_max,alpha_min,cur_delay,tolerant_jitter),获得第二增加因子,其中,alpha2为第二增加因子,alpha_max为预先指定的增加因子最大值,alpha_min为预先指定的增加因子最小值,cur_delay为所述ACK信息对应的往返时间的抖动,tolerant_jitter为所述抖动阈值,函数f1为所述cur_delay的减函数,且取值范围为[alpha_min,alpha_max],当cur_delay趋于tolerant_jitter时,函数f1的值收敛到alpha_max。
9.根据权利要求8所述的设备,其特征在于,所述设备还包括设置单元,用于设置初始抖动阈值,作为当前的抖动阈值。
10.根据权利要求9所述的设备,其特征在于,所述设置单元还用于
若检测到确认信息,根据tolerant_jitter_lst=f2(rtt_max,rtt_min),获得抖动样本值,其中,rtt_max为指定时间内的往返时间最大值,rtt_min为指定时间内的往返时间最小值;根据抖动样本值和当前的抖动阈值,采用低通滤波方式更新所述当前的抖动阈值。
11.根据权利要求10所述的设备,其特征在于,所述设置单元还用于
若所述确认信息对应的往返时间大于上一确认信息对应的往返时间,将计数器的值增加指定步长;若所述确认信息对应的往返时间小于或等于上一确认信息对应的往返时间,重置计数器;若所述计数器的值大于预先指定的计数器阈值,将所述当前的抖动阈值设置为所述初始抖动阈值。
12.根据权利要求7~11任一权利要求所述的设备,其特征在于,所述调整单元进一步用于若检测到指定个数重复的确认信息,或者检测到发送端设备的重传定时器超时,将慢启动阈值设置为网络带宽与指定时间内的往返时间平均值的乘积值,并进入相应阶段执行拥塞控制。
CN201180001933.7A 2011-09-22 2011-09-22 拥塞控制方法及设备 Expired - Fee Related CN102388584B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2011/080017 WO2012149762A1 (zh) 2011-09-22 2011-09-22 拥塞控制方法及设备

Publications (2)

Publication Number Publication Date
CN102388584A true CN102388584A (zh) 2012-03-21
CN102388584B CN102388584B (zh) 2014-07-16

Family

ID=45826512

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180001933.7A Expired - Fee Related CN102388584B (zh) 2011-09-22 2011-09-22 拥塞控制方法及设备

Country Status (2)

Country Link
CN (1) CN102388584B (zh)
WO (1) WO2012149762A1 (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102780621A (zh) * 2012-07-23 2012-11-14 北京星网锐捷网络技术有限公司 一种上行数据包发送方法、装置及网络设备
CN103227794A (zh) * 2013-04-28 2013-07-31 华为技术有限公司 数据传输控制方法、装置以及系统
CN103716136A (zh) * 2013-12-23 2014-04-09 上海网达软件股份有限公司 一种数据传送方法及系统
CN104125159A (zh) * 2014-07-29 2014-10-29 福建星网锐捷网络有限公司 一种拥塞带宽检测方法、拥塞控制方法、装置及系统
CN104683259A (zh) * 2015-02-15 2015-06-03 上海帝联信息科技股份有限公司 Tcp拥塞控制方法及装置
CN105721333A (zh) * 2016-01-21 2016-06-29 全时云商务服务股份有限公司 一种数据传输装置及方法
CN105991461A (zh) * 2015-01-30 2016-10-05 华为技术有限公司 拥塞控制方法及装置
CN105991476A (zh) * 2015-01-29 2016-10-05 沪江教育科技(上海)股份有限公司 一种语音数据延时处理方法及装置
CN107196863A (zh) * 2016-03-15 2017-09-22 掌赢信息科技(上海)有限公司 一种码率调节方法及电子设备
CN108075988A (zh) * 2017-11-16 2018-05-25 华为技术有限公司 数据传输方法和装置
CN105207949B (zh) * 2014-06-12 2018-06-26 中国移动通信集团内蒙古有限公司 一种tcp优化方法和系统、sp服务器
WO2020244448A1 (zh) * 2019-06-05 2020-12-10 阿里巴巴集团控股有限公司 一种拥塞控制方法、设备及计算机可读介质
CN112203328A (zh) * 2020-09-30 2021-01-08 中南林业科技大学 一种基于dccp的拥塞控制方法、装置及电子设备

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103152285B (zh) * 2013-03-14 2016-01-27 华为技术有限公司 本端网元、对端网元以及发送窗口调整方法
CN114143271B (zh) * 2021-11-30 2024-04-02 百果园技术(新加坡)有限公司 一种基于拥塞检测的带宽估算方法及装置
CN116233002A (zh) * 2022-12-30 2023-06-06 天翼云科技有限公司 一种数据包发送方法、接收方法、报文发送方法和产品

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1556629A (zh) * 2004-01-06 2004-12-22 �����ʵ��ѧ 通信网络中调整拥塞窗口的方法
US20070121511A1 (en) * 2005-11-30 2007-05-31 Cisco Technology, Inc. Transmission control protocol (TCP) congestion control using transmission delay components
CN101094047A (zh) * 2007-07-06 2007-12-26 中国人民解放军国防科学技术大学 基于网络状态测量的分阶段慢启动传输控制方法
CN101860488A (zh) * 2010-06-08 2010-10-13 电子科技大学 一种网络拥塞控制方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008283621A (ja) * 2007-05-14 2008-11-20 Oki Electric Ind Co Ltd ネットワーク輻輳状況監視装置、ネットワーク輻輳状況監視方法及びプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1556629A (zh) * 2004-01-06 2004-12-22 �����ʵ��ѧ 通信网络中调整拥塞窗口的方法
US20070121511A1 (en) * 2005-11-30 2007-05-31 Cisco Technology, Inc. Transmission control protocol (TCP) congestion control using transmission delay components
CN101094047A (zh) * 2007-07-06 2007-12-26 中国人民解放军国防科学技术大学 基于网络状态测量的分阶段慢启动传输控制方法
CN101860488A (zh) * 2010-06-08 2010-10-13 电子科技大学 一种网络拥塞控制方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
胡飞飞等: "《TCP-BM:一种适用于异构网络的TCP协议改进策略》", 《电子技术应用》 *

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102780621A (zh) * 2012-07-23 2012-11-14 北京星网锐捷网络技术有限公司 一种上行数据包发送方法、装置及网络设备
CN103227794A (zh) * 2013-04-28 2013-07-31 华为技术有限公司 数据传输控制方法、装置以及系统
CN103716136A (zh) * 2013-12-23 2014-04-09 上海网达软件股份有限公司 一种数据传送方法及系统
CN105207949B (zh) * 2014-06-12 2018-06-26 中国移动通信集团内蒙古有限公司 一种tcp优化方法和系统、sp服务器
CN104125159B (zh) * 2014-07-29 2017-09-12 福建星网锐捷网络有限公司 一种拥塞带宽检测方法、装置及系统
CN104125159A (zh) * 2014-07-29 2014-10-29 福建星网锐捷网络有限公司 一种拥塞带宽检测方法、拥塞控制方法、装置及系统
CN105991476A (zh) * 2015-01-29 2016-10-05 沪江教育科技(上海)股份有限公司 一种语音数据延时处理方法及装置
CN105991476B (zh) * 2015-01-29 2020-08-04 沪江教育科技(上海)股份有限公司 一种语音数据延时处理方法及装置
CN105991461A (zh) * 2015-01-30 2016-10-05 华为技术有限公司 拥塞控制方法及装置
CN104683259A (zh) * 2015-02-15 2015-06-03 上海帝联信息科技股份有限公司 Tcp拥塞控制方法及装置
CN104683259B (zh) * 2015-02-15 2018-02-09 上海帝联信息科技股份有限公司 Tcp拥塞控制方法及装置
CN105721333A (zh) * 2016-01-21 2016-06-29 全时云商务服务股份有限公司 一种数据传输装置及方法
CN107196863B (zh) * 2016-03-15 2020-09-08 掌赢信息科技(上海)有限公司 一种码率调节方法及电子设备
CN107196863A (zh) * 2016-03-15 2017-09-22 掌赢信息科技(上海)有限公司 一种码率调节方法及电子设备
CN108075988A (zh) * 2017-11-16 2018-05-25 华为技术有限公司 数据传输方法和装置
WO2020244448A1 (zh) * 2019-06-05 2020-12-10 阿里巴巴集团控股有限公司 一种拥塞控制方法、设备及计算机可读介质
CN112203328A (zh) * 2020-09-30 2021-01-08 中南林业科技大学 一种基于dccp的拥塞控制方法、装置及电子设备
CN112203328B (zh) * 2020-09-30 2022-07-12 中南林业科技大学 一种基于dccp的拥塞控制方法、装置及电子设备

Also Published As

Publication number Publication date
WO2012149762A1 (zh) 2012-11-08
CN102388584B (zh) 2014-07-16

Similar Documents

Publication Publication Date Title
CN102388584B (zh) 拥塞控制方法及设备
Li et al. HPCC: High precision congestion control
US11817954B2 (en) Packet coding based network communication
EP3075112B1 (en) Transferring data between network nodes
US7765307B1 (en) Bulk network transmissions using multiple connections primed to optimize transfer parameters
CN108881008B (zh) 一种数据传输的方法、装置和系统
KR101130479B1 (ko) 스퓨리어스 타임아웃에 대한 응답 방법
CN103986548A (zh) 一种确定丢包原因的方法和终端
US7643420B2 (en) Method and system for transmission control protocol (TCP) traffic smoothing
CN104158760B (zh) 一种广域网tcp单边加速的方法及系统
US20030112754A1 (en) Technique for improving transmission control protocol performance in lossy networks
CN103141050B (zh) 快速通道互联系统中数据包重传方法、节点
US9130740B2 (en) Variable acknowledge rate to reduce bus contention in presence of communication errors
US10601722B2 (en) Method and device for dynamically managing the message retransmission delay on an interconnection network
CN103188059A (zh) 快速通道互联系统中数据包重传方法、装置和系统
CN103152278A (zh) 拥塞确定方法、装置和网络设备
US20110317561A1 (en) Method, apparatus and system for improving packet throughput based on classification of packet loss in data transmissions
US10264105B2 (en) Transmitting data
KR20080079410A (ko) 지속적인 혼잡감지를 이용한 tcp 혼잡제어방법
JP6863274B2 (ja) 送信装置およびその制御方法、通信システム、並びに通信制御プログラム
WO2023276126A1 (ja) 通信路切替方法、通信路切替装置、通信路切替システム及びプログラム
EP2224631B1 (en) Method, apparatus and system for improving packet throughput based on classification of packet loss in data transmissions
Radziwilowicz et al. Improving transmission efficiency in optical communication
JP2009094863A (ja) 高信頼マルチキャストデータ配信システム,高信頼マルチキャストデータ配信方法および高信頼マルチキャストデータ配信プログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20170705

Address after: 510640 Guangdong City, Tianhe District Province, No. five, road, public education building, unit 371-1, unit 2401

Patentee after: Guangdong Gaohang Intellectual Property Operation Co., Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: Huawei Technologies Co., Ltd.

CB03 Change of inventor or designer information

Inventor after: Li Wenyan

Inventor before: Xiao Wenshu

CB03 Change of inventor or designer information
TR01 Transfer of patent right

Effective date of registration: 20170907

Address after: 743000, 136, Feng Yu Street, Anding District, Gansu, Dingxi

Patentee after: Li Wenyan

Address before: 510640 Guangdong City, Tianhe District Province, No. five, road, public education building, unit 371-1, unit 2401

Patentee before: Guangdong Gaohang Intellectual Property Operation Co., Ltd.

TR01 Transfer of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140716

Termination date: 20170922

CF01 Termination of patent right due to non-payment of annual fee