CN101087244A - 一种流控制传输中拥塞控制的实现方法 - Google Patents

一种流控制传输中拥塞控制的实现方法 Download PDF

Info

Publication number
CN101087244A
CN101087244A CNA2006100831655A CN200610083165A CN101087244A CN 101087244 A CN101087244 A CN 101087244A CN A2006100831655 A CNA2006100831655 A CN A2006100831655A CN 200610083165 A CN200610083165 A CN 200610083165A CN 101087244 A CN101087244 A CN 101087244A
Authority
CN
China
Prior art keywords
network
end points
congestion
packet loss
parameter
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
Application number
CNA2006100831655A
Other languages
English (en)
Inventor
汪碧海
纳哥希
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
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
Priority to CNA2006100831655A priority Critical patent/CN101087244A/zh
Publication of CN101087244A publication Critical patent/CN101087244A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种流控制传输中拥塞控制的实现方法。该方法的过程包括:发送端点在自身设置的T3定时器超时后启动延时定时器,a.判断所述延时定时器是否超时,如果没有超时则执行步骤b,否则拥塞控制流程结束;b.发送端点根据自身接收到的选择性确认消息判断网络是否处于拥塞状态,如果不处于则返回执行步骤a;否则,发送端点将拥塞控制参数调小,降低网络的数据传输率。本发明的这种方法在缓解网络拥塞的同时,保证网络的合理利用。

Description

一种流控制传输中拥塞控制的实现方法
技术领域
本发明涉及IP网络技术,尤指一种流控制传输中拥塞控制的实现方法。
背景技术
流控制传输协议(SCTP,Stream Control Transmission Protocol)属于传输层协议,用于在对等SCTP端点(endpoint)之间可靠地传输用户数据。由于用户数据的平滑传输主要依赖于瞬态网络条件,故根据不同的网络条件调整SCTP端点的拥塞控制参数,对于获得可靠的数据传输性能起着重要的作用。
当执行流控制传输的SCTP端点处于可靠通信时,大量资源能够分配给通话业务,以确保用户数据的快速传输。如果上述传输遭遇严重的拥塞问题,就会出现不可靠(unlikely)通信。为了应对上述问题,必须为SCTP端点设置拥塞控制机制,使SCTP端点具备在不利环境下的工作能力。所述不利环境指的是部分网络失效或不可预知的通信电涌(surges)等。
每个SCTP端点都设置有T3定时器,用于对数据传输和重传进行时间管理。在数据正常传输过程中,某个SCTP端点会在自身发出数据包时,启动T3定时器进行计时。在下面的描述中,将发出数据包的SCTP端点称为发送端点。对应地,接收该数据包的SCTP端点被称为接收端点。图1显示的是数据传输过程中的拥塞控制流程,具体包括以下步骤:
步骤101、发送端点判断T3定时器是否超时,如果超时则执行步骤106,否则执行步骤102。
步骤102、发送端点判断自身是否接收到选择性确认(SACK)消息,如果没有则执行后续处理,拥塞控制流程结束;否则执行步骤103。
步骤103、发送端点根据本次接收到的SACK消息判断是否存在丢包,如果没有则执行后续处理,拥塞控制流程结束;否则执行步骤104。
现有技术中,发送端点会为自身发出的数据包设置传输序列号(TSN)。接收端点收到数据包后,逐个检查数据包的TSN,如果某个TSN的数据包缺失,比如检测到的数据包编号为#1、#3和#4,缺少#2,则接收端点判定数据发送过程出现间隙,就向发送端点发出SACK消息,将数据包的接收情况告知发送端点。发送端点根据现有定义的编码规则,解析出TSN=2的数据包丢失。
步骤104、发送端点连续接收到一个以上SACK消息后,判断是否指示同一个数据包丢失,如果是则执行步骤105,否则执行后续处理,拥塞控制流程结束。
步骤105、发送端点发起快速重传和快速恢复操作,对丢失的数据包进行重传,流程结束。
步骤106、发送端点执行拥塞控制和拥塞避免操作,将拥塞控制参数调整为拥塞缺省值,以降低网络的数据传输率,流程结束。
协议中规定,SCTP端点设置的拥塞控制参数有:拥塞控制窗口(CWND)参数和慢启动阈值(ssthresh)等,这些拥塞控制参数用来调整网络的数据传输率。其中,CWND参数是每个SCTP端点为自身发送出去的数据包设置的,该参数可以根据实际检测到的网络条件进行调整。正常情况下,CWND参数设置为4*MTU。所述MTU为最大传输单元,即到达SCTP端点的单个数据包的最大允许长度。
所述拥塞缺省值指的是SCTP端点判定网络处于拥塞状态后,对拥塞控制参数的缺省设置。该步骤中,发送端点将拥塞控制参数调整为拥塞缺省值的过程如下:
a、发送端点根据公式(1)设置自身的ssthresh参数,其中等式右边的CWND参数为执行本次参数调整前的正常取值。
ssthresh=max(CWND/2,2*MTU)                    (1)
b、将CWND参数直接设置为CWND=1*MTU。
通过上述处理,网络就能按照正确的拥塞控制节拍(steps),快速地从拥塞状态恢复过来,避免拥塞造成网络性能的进一步恶化。
由于CWND参数在上述调整中被减小,SCTP端点判定网络性能下降,无法承载大量的数据传输,就会减少自身发送至网络的数据包。
但是,网络中的丢包现象在任何时候都可能存在,现有方法只是简单地根据某次丢包判断当前网络性能的好坏,这将导致网络的利用率下降,使得网络资源不能得到合理利用。比如,如果某次网络丢包只是偶然情况,并非真正的拥塞状态造成的,当前的网络潜力还很大,网元的处理能力也很强,直接减小CWND参数的拥塞控制方法,将会造成SCTP端点的数据积压,从而影响整个网络的传输性能。
发明内容
有鉴于此,本发明的主要目的在于提供一种流控制传输中拥塞控制的实现方法,在缓解网络拥塞的同时,保证网络的合理利用。
为达到上述目的,本发明的技术方案具体是这样实现的:
一种流控制传输中拥塞控制的实现方法,执行流控制传输的发送端点在自身设置的T3定时器超时后启动延时定时器,该方法包括:
a、判断所述延时定时器是否超时,如果没有超时则执行步骤b,否则拥塞控制流程结束;
b、发送端点根据自身接收到的选择性确认消息判断网络是否处于拥塞状态,如果不处于则返回执行步骤a;否则,发送端点将拥塞控制参数调小,降低网络的数据传输率。
发送端点预先设置丢包门限值,则步骤b所述判断网络是否处于拥塞状态的方法为:在延时时间内,发送端点接收选择性确认消息,从中获取丢包指示,并记录所获得的丢包指示数目,如果丢包指示数目超过丢包门限值,则确定网络处于拥塞状态。
所述获取丢包指示的方法为:发送端点根据编码规则从选择性确认消息中获取丢包指示。
所述拥塞控制参数包括:拥塞控制窗口参数,则步骤b所述将拥塞控制参数调小的方法为:将拥塞控制窗口参数减半,或者将拥塞控制窗口参数设为最大传输单元的两倍。
步骤b所述将拥塞控制参数调小的方法为:将拥塞控制参数设置为拥塞缺省值。
该方法进一步包括:发送端点在T3定时器超时后设置超时标记,并在发送端点判定网络处于拥塞状态时,或拥塞控制流程结束之前清除所述超时标记。
该方法进一步包括:发送端点在判定网络处于拥塞状态时,或拥塞控制流程结束之前关闭延时定时器。
所述延时定时器的时长根据以下至少其中之一个参数确定,所述参数包括:当前偶联的网络流量、已发出未被确认的数据大小、双向传播时间和当前重发的超时时长。
由上述技术方案可见,本发明的这种流控制传输中拥塞控制的实现方法,在发送端点的T3定时器超时后,启动延时定时器,在延时时间内根据SACK消息判断是否接收到丢包指示,并记录接收到的丢包指示的数目,一旦丢包指示数目超过丢包门限值,发送端点就将拥塞控制参数调小,以减少自身向网络发送的数据量,使得网络能够从拥塞状态尽快恢复。如果丢包指示数目没有超过丢包门限值,发送端点保持当前的拥塞控制参数设置,以便合理利用当前可用的网络资源。
附图说明
图1为现有技术中的拥塞控制流程;
图2为本发明一个较佳实施例中的拥塞控制流程。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
图2为本发明一个较佳实施例中拥塞控制的实现流程,具体包括以下步骤:
步骤201、发送端点判断T3定时器是否超时,如果超时则执行步骤206,否则执行步骤202。
步骤202~205的过程与图1中的步骤102~105相同,此处不再赘述。
步骤206、判断延时定时器是否已经启动,如果没有启动则执行步骤207,否则执行步骤211。
步骤207、发送端点设置超时标记并启动延时定时器。
该步骤中,延时定时器的时长根据当前偶联(association)的网络流量、已发出未被确认的数据大小(Total Data Outstanding)、双向传播时间(RTT)、当前重发的超时时长(RTO)等参数进行设置。比如,延时定时器的时长设置为N*RTO,N在2~4之间。
步骤208、判断延时定时器是否超时,如果超时则执行步骤209,否则执行步骤210。
步骤209、关闭延时定时器并清除超时标记,拥塞控制流程结束。
步骤210、发送端点根据延时时间内接收到的SACK消息判断网络是否处于拥塞状态,如果不处于则返回执行步骤208,否则执行步骤211。
由于接收端点在没有接收到某个TSN的数据包时,会持续通过SACK消息发出丢包指示给发送端点,故发送端点可以根据接收到的丢包指示对网络的拥塞状态进行判断,如果丢包指示数目超过丢包门限值,发送端点就能确定网络处于拥塞状态,立即执行步骤211。
其中,发送端点根据编码规则从SACK消息中获取丢包指示,此处不再赘述。
采取以上处理的原因在于:根据偶尔丢包是无法准确衡量网络情况的,一检测到网络丢包就减小SCTP端点向网络发送的数据量,这种做法是很不可取的。为了避免对拥塞状态的误判,在发现网络丢包后,发送端点并不立即减小拥塞控制参数,而是在一定的延时时间内探测是否继续丢包,如果没有继续丢包,则正常传输数据,此时发送端点保持向网络发送的数据量,这样可以使网络资源得到充分利用。如果在首次丢包后的延时时间内,发送端点继续收到丢包指示,则证明确实是由于拥塞导致网络条件变坏。这种情况下,发送端点才会减小向网络发送的数据量。
所述丢包门限值根据需要进行设置,一般情况下设置为4,以期在网络拥塞和网络合理利用这两个方面达到平衡。
步骤211~212、关闭延时定时器并清除超时标记,执行拥塞控制和拥塞避免操作,将拥塞控制参数逐步调小,来降低网络的数据传输率,流程结束。
该步骤中,拥塞控制参数可以直接设置为缺省值,比如将CWND参数直接设置为1*MTU等。
另外,为了避免网络的数据发送能力骤降到最小,造成SCTP端点的数据积压,发送端点也可以逐步调小拥塞控制参数,比如将CWND参数从当前值减半或设为2*MTU等。
由上述的实施例可见,本发明的这种流控制传输中拥塞控制的实现方法,在发送端点的T3定时器超时后,设置一段延时时间,并根据这段时间内接收到的丢包指示判断网络是否处于拥塞状态。只有在确定网络处于拥塞状态后,发送端点才会调小拥塞控制参数,以减少自身向网络发送的数据量,缓解网络拥塞。如果在延时时间内丢包指示数目没有超过丢包门限值,发送端点将保持当前的拥塞控制参数,以便合理利用当前可用的网络资源。

Claims (8)

1、一种流控制传输中拥塞控制的实现方法,其特征在于,执行流控制传输的发送端点在自身设置的T3定时器超时后启动延时定时器,该方法包括:
a、判断所述延时定时器是否超时,如果没有超时则执行步骤b,否则拥塞控制流程结束;
b、发送端点根据自身接收到的选择性确认消息判断网络是否处于拥塞状态,如果不处于则返回执行步骤a;否则,发送端点将拥塞控制参数调小,降低网络的数据传输率。
2、根据权利要求1所述的方法,其特征在于,发送端点预先设置丢包门限值,则步骤b所述判断网络是否处于拥塞状态的方法为:在延时时间内,发送端点接收选择性确认消息,从中获取丢包指示,并记录所获得的丢包指示数目,如果丢包指示数目超过丢包门限值,则确定网络处于拥塞状态。
3、根据权利要求2所述的方法,其特征在于,所述获取丢包指示的方法为:发送端点根据编码规则从选择性确认消息中获取丢包指示。
4、根据权利要求1所述的方法,其特征在于,所述拥塞控制参数包括:拥塞控制窗口参数,则步骤b所述将拥塞控制参数调小的方法为:将拥塞控制窗口参数减半,或者将拥塞控制窗口参数设为最大传输单元的两倍。
5、根据权利要求1所述的方法,其特征在于,步骤b所述将拥塞控制参数调小的方法为:将拥塞控制参数设置为拥塞缺省值。
6、根据权利要求1所述的方法,其特征在于,该方法进一步包括:发送端点在T3定时器超时后设置超时标记,并在发送端点判定网络处于拥塞状态时,或拥塞控制流程结束之前清除所述超时标记。
7、根据权利要求1至6任一项所述的方法,其特征在于,该方法进一步包括:发送端点在判定网络处于拥塞状态时,或拥塞控制流程结束之前关闭延时定时器。
8、根据权利要求1所述的方法,其特征在于,所述延时定时器的时长根据以下至少其中之一个参数确定,所述参数包括:当前偶联的网络流量、已发出未被确认的数据大小、双向传播时间和当前重发的超时时长。
CNA2006100831655A 2006-06-07 2006-06-07 一种流控制传输中拥塞控制的实现方法 Pending CN101087244A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNA2006100831655A CN101087244A (zh) 2006-06-07 2006-06-07 一种流控制传输中拥塞控制的实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNA2006100831655A CN101087244A (zh) 2006-06-07 2006-06-07 一种流控制传输中拥塞控制的实现方法

Publications (1)

Publication Number Publication Date
CN101087244A true CN101087244A (zh) 2007-12-12

Family

ID=38938015

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2006100831655A Pending CN101087244A (zh) 2006-06-07 2006-06-07 一种流控制传输中拥塞控制的实现方法

Country Status (1)

Country Link
CN (1) CN101087244A (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101677292A (zh) * 2008-09-16 2010-03-24 中兴通讯股份有限公司 一种流控传输协议中数据分片的方法
CN101982997A (zh) * 2010-11-11 2011-03-02 新邮通信设备有限公司 Td-lte***sctp链路闪断时缩短ue附着时间的方法
CN102299899A (zh) * 2010-06-24 2011-12-28 清华大学 一种恶劣信道下的tcp加速方法
CN102308512A (zh) * 2011-07-28 2012-01-04 华为技术有限公司 一种基于流控制传输协议的信令重传方法、装置及***
CN102474453A (zh) * 2009-06-29 2012-05-23 阿尔卡特朗讯 基于目的地点编码的消息传送控制
CN101465719B (zh) * 2008-12-30 2012-08-22 华为技术有限公司 数据重传方法及装置
CN102918806A (zh) * 2010-04-21 2013-02-06 汤姆森特许公司 基于确认路径选择估计可用路径比特率的方法
CN103975623A (zh) * 2013-01-30 2014-08-06 华为技术有限公司 一种拥塞控制的方法和设备
CN104301250A (zh) * 2014-10-31 2015-01-21 华为技术有限公司 一种无线拥塞控制方法和设备
CN105099940A (zh) * 2014-05-05 2015-11-25 中兴通讯股份有限公司 队列管理方法和装置
WO2016033742A1 (zh) * 2014-09-02 2016-03-10 华为技术有限公司 一种传输数据的方法和设备
CN106464598A (zh) * 2014-04-23 2017-02-22 贝匡特有限公司 用于基于传输速率梯度的网络拥塞控制的方法和装置
CN115277590A (zh) * 2022-07-22 2022-11-01 支付宝(杭州)信息技术有限公司 一种拥塞控制方法、装置及设备

Cited By (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101677292A (zh) * 2008-09-16 2010-03-24 中兴通讯股份有限公司 一种流控传输协议中数据分片的方法
CN101465719B (zh) * 2008-12-30 2012-08-22 华为技术有限公司 数据重传方法及装置
CN102474453A (zh) * 2009-06-29 2012-05-23 阿尔卡特朗讯 基于目的地点编码的消息传送控制
CN102474453B (zh) * 2009-06-29 2014-11-05 阿尔卡特朗讯 基于目的地点编码的消息传送控制
US9762472B2 (en) 2010-04-21 2017-09-12 Thomson Licensing Method for evaluating an available path bitrate based on an acknowledgement path selection
CN102918806A (zh) * 2010-04-21 2013-02-06 汤姆森特许公司 基于确认路径选择估计可用路径比特率的方法
CN102299899B (zh) * 2010-06-24 2014-04-02 清华大学 一种恶劣信道下的tcp加速方法
CN102299899A (zh) * 2010-06-24 2011-12-28 清华大学 一种恶劣信道下的tcp加速方法
CN101982997A (zh) * 2010-11-11 2011-03-02 新邮通信设备有限公司 Td-lte***sctp链路闪断时缩短ue附着时间的方法
CN101982997B (zh) * 2010-11-11 2013-09-18 新邮通信设备有限公司 Td-lte***sctp链路闪断时缩短ue附着时间的方法
CN102308512A (zh) * 2011-07-28 2012-01-04 华为技术有限公司 一种基于流控制传输协议的信令重传方法、装置及***
CN102308512B (zh) * 2011-07-28 2013-08-28 华为技术有限公司 一种基于流控制传输协议的信令重传方法、装置及***
WO2012109848A1 (zh) * 2011-07-28 2012-08-23 华为技术有限公司 一种基于流控制传输协议的信令重传方法、装置及***
CN103975623A (zh) * 2013-01-30 2014-08-06 华为技术有限公司 一种拥塞控制的方法和设备
WO2014117342A1 (zh) * 2013-01-30 2014-08-07 华为技术有限公司 一种拥塞控制的方法和设备
CN106464598B (zh) * 2014-04-23 2019-04-23 贝匡特有限公司 用于基于传输速率梯度的网络拥塞控制的方法和装置
US10516616B2 (en) 2014-04-23 2019-12-24 Bequant S.L. Method and apparatus for network congestion control based on transmission rate gradients
US11876714B2 (en) 2014-04-23 2024-01-16 Bequant S.L. Method and apparatus for network congestion control based on transmission rate gradients
CN106464598A (zh) * 2014-04-23 2017-02-22 贝匡特有限公司 用于基于传输速率梯度的网络拥塞控制的方法和装置
US10263894B2 (en) 2014-04-23 2019-04-16 Bequant S.L. Method and apparatus for network congestion control based on transmission rate gradients
US11329920B2 (en) 2014-04-23 2022-05-10 Bequant S.L. Method and apparatus for network congestion control based on transmission rate gradients
CN105099940A (zh) * 2014-05-05 2015-11-25 中兴通讯股份有限公司 队列管理方法和装置
CN105099940B (zh) * 2014-05-05 2020-08-04 中兴通讯股份有限公司 队列管理方法和装置
CN105900377B (zh) * 2014-09-02 2019-10-18 华为技术有限公司 一种传输数据的方法和设备
WO2016033742A1 (zh) * 2014-09-02 2016-03-10 华为技术有限公司 一种传输数据的方法和设备
US10798605B2 (en) 2014-09-02 2020-10-06 Huawei Technologies Co., Ltd. Message transmission method and apparatus
US11627488B2 (en) 2014-09-02 2023-04-11 Huawei Technologies Co., Ltd. Message transmission method and apparatus
CN105900377A (zh) * 2014-09-02 2016-08-24 华为技术有限公司 一种传输数据的方法和设备
CN104301250A (zh) * 2014-10-31 2015-01-21 华为技术有限公司 一种无线拥塞控制方法和设备
CN115277590A (zh) * 2022-07-22 2022-11-01 支付宝(杭州)信息技术有限公司 一种拥塞控制方法、装置及设备
CN115277590B (zh) * 2022-07-22 2023-09-29 支付宝(杭州)信息技术有限公司 一种拥塞控制方法、装置及设备

Similar Documents

Publication Publication Date Title
CN101087244A (zh) 一种流控制传输中拥塞控制的实现方法
US7035214B1 (en) System and method for a negative acknowledgement-based transmission control protocol
US7607062B2 (en) System for fast recovery from losses for reliable data communication protocols
KR100988683B1 (ko) 통신 단말, 폭주제어 방법, 및 폭주제어 프로그램을 기록한 컴퓨터에 의해 판독 가능한 기록매체
CN107204834B (zh) 一种基于udt协议的高速网络可靠传输的控制方法
EP2316182B1 (en) Method for transporting data over a data connection and network component
CN101588225B (zh) 一种基于分组交换网络的快速重传方法
US7489637B2 (en) Method of enhancing the efficiency of data flow in communication systems
US20090046717A1 (en) Methods to improve transmission control protocol (tcp) performance over large bandwidth long delay links
US20070280107A1 (en) Data Unit Sender Control Method
US8811500B2 (en) Data transmission
US7738395B2 (en) Communication system for improving data transmission efficiency of TCP in a wireless network environment and a method thereof
CN105406915B (zh) 一种面向星地链路的文件传输方法
CN101765004A (zh) 一种优化无线视频tcp传输的方法
Caro et al. SCTP and TCP variants: Congestion control under multiple losses
Peng et al. An effective way to improve TCP performance in wireless/mobile networks
JP6011813B2 (ja) 通信装置およびその通信制御方法
JP3594185B2 (ja) データ伝送装置およびデータ伝送方法
JP2003224547A (ja) フロー制御方法
JP3594195B2 (ja) データ伝送装置およびデータ伝送方法
JP3594196B1 (ja) データ伝送装置およびデータ伝送方法
Caro Jr et al. Congestion control: SCTP vs TCP
JP2004350318A (ja) データ伝送方法
Radio 4.1 Extending the Differentiated Service Framework
JP2003264605A (ja) 端末装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication