CN103051555A - 基于网络有效带宽和ecn机制的tcp拥塞控制方法 - Google Patents

基于网络有效带宽和ecn机制的tcp拥塞控制方法 Download PDF

Info

Publication number
CN103051555A
CN103051555A CN2013100037285A CN201310003728A CN103051555A CN 103051555 A CN103051555 A CN 103051555A CN 2013100037285 A CN2013100037285 A CN 2013100037285A CN 201310003728 A CN201310003728 A CN 201310003728A CN 103051555 A CN103051555 A CN 103051555A
Authority
CN
China
Prior art keywords
ecn
effective bandwidth
ack
network
echo
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
CN2013100037285A
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.)
Beihang University
Original Assignee
Beihang University
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 Beihang University filed Critical Beihang University
Priority to CN2013100037285A priority Critical patent/CN103051555A/zh
Publication of CN103051555A publication Critical patent/CN103051555A/zh
Pending legal-status Critical Current

Links

Images

Abstract

本发明提供一种基于网络有效带宽和ECN机制的TCP拥塞控制方法,包括有下列处理步骤:步骤一:交换机上进行ECN标记;步骤二:接收方设置ECN-echo;步骤三:发送方动态调整发送窗口,当发送端收到ACK后,首先由BWE计算模块计算当前网络的有效带宽BWE和最小往返时延RTTmin;然后ECN控制模块查看该ACK是否设置了ECN-echo位,如果是,则设置ecn_flag表示需要根据ECN调整发送速率,并计算它收到的带有ECN-echo标记的ACK占上一发送窗口所发送数据包总数的比例α。本发明采用ECN技术和基于网络有效带宽的控制方法,ECN可以在网络轻度拥塞时进行控制,避免有线数据中心的TCP Incast现象,基于BWE的控制方法在发生丢包时根据当前网络的有效带宽对发送窗口进行调整,避免无线随机丢包而导致的发送窗口减半。

Description

基于网络有效带宽和ECN机制的TCP拥塞控制方法
技术领域
本发明涉及计算机网络以及通信技术领域,具体涉及基于网络有效带宽和ECN机制的TCP拥塞控制方法。 
背景技术
传统的有线数据中心网络TCP拥塞控制算法使用网络中的丢包作为拥塞信号,当丢包发生时,算法会降低连接的数据包发送速度,从而避免网络发生拥塞。 
随着数据中心规模的扩大,网络负载分布不均的现象越发严重,有线数据中心的布线问题也越来越复杂。为了解决这些问题,无线技术被引入到现有的有线数据中心网络。然而,无线网络因其介质的不可靠性,导致网络中存在大量的与拥塞无关的随机丢包。这些随机丢包也会引发算法降低传输速率,引起严重的性能问题。而现有方法中还没有一种可以同时处理有线数据中心网络TCP Incast现象和无线随机丢包而引发的性能下降问题。 
在现有的TCP拥塞控制方法中,与本申请最为接近的技术方案为DCTCP方案。该方案在交换机上进行ECN控制,发送方根据收到标记ECN的ACK占上一窗口发送数据包总数的比例来调整发送速率。DCTCP的一个重要缺陷是当没有ECN标记时,如果出现丢包发送方就会将发送速率减半,因此,无法抵抗无线随机丢包问题。 
现有的无线TCP拥塞控制方法主要有TCP Veno、TCP Westwood等。这些方法都采取了一定的手段来分辨丢包发生的原因:随机丢包或是拥塞丢包。但它们都是以丢包作为基础的,而如果丢包真的是由于拥塞导致的,则说明此时的网络拥塞已经非常严重。这些方法都不能提早进行控制,防止拥塞的发生。所以并不适用于数据中心网络中。 
本发明与现有拥塞控制方法的区别是本发明可以根据交换机缓冲区队列长度提前对发送速率进行调整,防止网络拥塞的发生。当没有ECN标记时,如果出现丢包,发送方会根据当前网络的有效带宽来调整发送速率,而不是盲目减半,进而避免由于无线随机丢包而导致的严重的性能问题。 
发明内容
针对上述现有技术的缺点,本申请提案要解决的技术问题为:DCTCP当没有ECN标记时,如果出现丢包就会将发送速率减半,因此,无法抵抗无线随机丢包问题。而无线TCP拥 塞控制方法都不能对拥塞提前进行控制,无法应用于数据中心网络。本发明使用ECN机制防止拥塞的发生,在没有ECN标记时,如果出现丢包会根据当前网络的有效带宽来调整发送速率,而不是盲目减半,进而避免出现严重的性能问题。 
本发明采用的技术方案为:一种基于网络有效带宽和ECN机制的TCP拥塞控制方法,该方法包括有下列处理步骤: 
步骤一:交换机上进行ECN标记 
当交换机收到数据包时,首先判断当前缓冲区的队列长度,如果超过某一个门限值,则为该数据包设置ECN标记位。否则,不设置; 
步骤二:接收方设置ECN-echo 
接收方查看收到的数据包是否设置了ECN标记,如果是,则在它所发送的ACK中设置ECN-echo位,否则,返回没有设置ECN-echo位的ACK; 
步骤三:发送方动态调整发送窗口 
当发送端收到ACK后,首先由BWE计算模块计算当前网络的有效带宽BWE和最小往返时延RTTmin;然后ECN控制模块查看该ACK是否设置了ECN-echo位,如果是,则设置ecn_flag表示需要根据ECN调整发送速率,并计算它收到的带有ECN-echo标记的ACK占上一发送窗口所发送数据包总数的比例α,并根据α调整发送窗口。否则,根据当前网络的有效带宽BWE动态调整发送窗口。 
本发明的优点在于结合采用ECN技术和基于网络有效带宽的控制方法。ECN可以在网络轻度拥塞时进行控制,避免有线数据中心的TCP Incast现象。基于BWE的控制方法在发生丢包时根据当前网络的有效带宽对发送窗口进行调整,可以避免由于无线随机丢包而导致的发送窗口减半。因此,本发明可以用于有线数据中心网络和无线网络中。 
附图说明
图1是系统发送端结构; 
图2是该发明发送端控制过程流程图。 
具体实施方式
下面结合附图以及具体实施例进一步说明本发明。 
本发明的目的是提出一种基于网络有效带宽和ECN机制的TCP拥塞控制方法,可以同时用于有线数据中心网络和无线网络中。该方法在交换机上进行ECN标记,接收方根据收到的数据包中ECN标记位的状态决定它所发送的ACK是否应该设置ECN-echo位。发送方计算网络的有效带宽,并根据收到的ACK中ECN-echo位的状态动态调整发送窗口。本发明综合考虑了数据中心网络和无线网络的特点,能够缓解有线数据中心网络的TCP Incast现 象,同时避免由于无线丢包而导致的网络性能下降。 
本发明是一种基于网络有效带宽和ECN机制的TCP拥塞控制方法,该方法包括有下列处理步骤: 
步骤一:交换机上进行ECN标记 
当交换机收到数据包时,首先判断当前缓冲区的队列长度,如果超过某一个门限值,则为该数据包设置ECN标记位。否则,不设置。 
步骤二:接收方设置ECN-echo 
接收方查看收到的数据包是否设置了ECN标记,如果是,则在它所发送的ACK中设置ECN-echo位,否则,返回没有设置ECN-echo位的ACK。 
步骤三:发送方动态调整发送窗口 
如图1所示,发送端主要包括BWE计算模块、ECN控制模块、丢包控制模块和发送速率控制模块。当发送端收到ACK后,首先由BWE计算模块计算当前网络的有效带宽BWE和最小往返时延RTTmin。然后ECN控制模块查看该ACK是否设置了ECN-echo位,如果是,则设置ecn_flag表示需要根据ECN调整发送速率,并计算它收到的带有ECN-echo标记的ACK占上一发送窗口所发送数据包总数的比例α。丢包控制模块判断网络是否出现丢包以及丢包产生的原因:是由于重复ACK或是超时。发送速率控制模块根据以上3个模块的结果动态设置拥塞窗口。具体过程如下: 
如果ecn_flag=true,则根据α调整发送速率,设置拥塞窗口                                                  
Figure 2013100037285100002DEST_PATH_IMAGE001
否则,如果网络出现丢包,则根据丢包原因及BWE计算模块的结果动态调整发送速率。否则,增加拥塞窗口。 
丢包情况下窗口的调整过程如下: 
如果因为收到3个重复ACK而判断网络出现丢包,则设置慢启动门限ssthresh=(BWE×RTTmin)/seg_size,如果拥塞窗口cwnd大于慢启动门限ssthresh,则设置cwnd=ssthresh。 
如果是根据超时而判断网络出现丢包,则设置慢启动门限ssthresh=(BWE×RTTmin)/seg_size,并将cwnd设置为1。 
其中seg_size是TCP数据包的载荷长度。 
本发明未详细阐述的部分属于本领域公知技术。 
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员 来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。 

Claims (1)

1.一种基于网络有效带宽和ECN机制的TCP拥塞控制方法,其特征在于,该方法包括有下列处理步骤:
步骤一:交换机上进行ECN标记
当交换机收到数据包时,首先判断当前缓冲区的队列长度,如果超过某一个门限值,则为该数据包设置ECN标记位。否则,不设置;
步骤二:接收方设置ECN-echo
接收方查看收到的数据包是否设置了ECN标记,如果是,则在它所发送的ACK中设置ECN-echo位,否则,返回没有设置ECN-echo位的ACK;
步骤三:发送方动态调整发送窗口
当发送端收到ACK后,首先由BWE计算模块计算当前网络的有效带宽BWE和最小往返时延RTTmin;然后ECN控制模块查看该ACK是否设置了ECN-echo位,如果是,则设置ecn_flag表示需要根据ECN调整发送速率,并计算它收到的带有ECN-echo标记的ACK占上一发送窗口所发送数据包总数的比例α,并根据α调整发送窗口;否则,根据当前网络的有效带宽BWE动态调整发送窗口。
CN2013100037285A 2013-01-05 2013-01-05 基于网络有效带宽和ecn机制的tcp拥塞控制方法 Pending CN103051555A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2013100037285A CN103051555A (zh) 2013-01-05 2013-01-05 基于网络有效带宽和ecn机制的tcp拥塞控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2013100037285A CN103051555A (zh) 2013-01-05 2013-01-05 基于网络有效带宽和ecn机制的tcp拥塞控制方法

Publications (1)

Publication Number Publication Date
CN103051555A true CN103051555A (zh) 2013-04-17

Family

ID=48064060

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2013100037285A Pending CN103051555A (zh) 2013-01-05 2013-01-05 基于网络有效带宽和ecn机制的tcp拥塞控制方法

Country Status (1)

Country Link
CN (1) CN103051555A (zh)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103297346A (zh) * 2013-06-12 2013-09-11 北京航空航天大学 一种基于ecn机制的tcp友好速率控制方法
CN105991461A (zh) * 2015-01-30 2016-10-05 华为技术有限公司 拥塞控制方法及装置
CN106357551A (zh) * 2016-11-08 2017-01-25 中南大学 一种数据中心网络中对tcp友好且能快速收敛的调窗方法
CN106537867A (zh) * 2015-03-27 2017-03-22 华为技术有限公司 一种数据传输方法、装置和系统
CN106789719A (zh) * 2016-12-15 2017-05-31 中国科学院沈阳自动化研究所 一种面向工业无线Mesh网络的拥塞控制方法及装置
CN106911583A (zh) * 2017-03-14 2017-06-30 国网四川省电力公司经济技术研究院 一种显式反馈拥塞程度滑动平均值的传输层拥塞控制方法
CN107800638A (zh) * 2016-09-05 2018-03-13 北京金山云网络技术有限公司 一种拥塞控制方法及装置
CN108270647A (zh) * 2018-01-24 2018-07-10 北京奇艺世纪科技有限公司 一种带宽计算方法及装置
CN109120544A (zh) * 2018-09-30 2019-01-01 华中科技大学 一种数据中心网络中基于主机端流量调度的传输控制方法
CN109698794A (zh) * 2019-01-21 2019-04-30 北京达佳互联信息技术有限公司 一种拥塞控制方法、装置、电子设备及存储介质
CN109714267A (zh) * 2018-12-26 2019-05-03 清华大学 管理反向队列的传输控制方法及系统
WO2019210725A1 (zh) * 2018-05-04 2019-11-07 华为技术有限公司 拥塞控制方法、装置、设备及存储介质
CN110868359A (zh) * 2019-11-15 2020-03-06 中国人民解放军国防科技大学 一种网络拥塞控制方法
CN108833293B (zh) * 2018-06-20 2021-01-26 北京邮电大学 一种基于软件定义网络sdn的数据中心拥塞控制方法及装置
CN112532535A (zh) * 2019-09-17 2021-03-19 华为技术有限公司 一种用于优化网络拥塞的方法和装置
CN113300974A (zh) * 2020-07-10 2021-08-24 阿里巴巴集团控股有限公司 一种拥塞控制方法、设备及计算机可读介质
WO2022042282A1 (zh) * 2020-08-28 2022-03-03 中兴通讯股份有限公司 一种无损流量拥塞自适应方法、系统和网络设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
MOHAMMAD ALIZADEH等: ""Data Center TCP(DCTCP)"", 《SIGCOMM’10》 *
SAVERIO MASCOLO等: ""TCP Westwood:Bandwidth Estimation for Enhanced Transport over Wireless Links"", 《PROCEEDINGS OF THE 7TH ANNUAL INTERNATIONAL CONFERENCE ON MOBILE COMPUTING AND NETWORKING》 *

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103297346B (zh) * 2013-06-12 2017-05-10 北京航空航天大学 一种基于ecn机制的tcp友好速率控制方法
CN103297346A (zh) * 2013-06-12 2013-09-11 北京航空航天大学 一种基于ecn机制的tcp友好速率控制方法
CN105991461A (zh) * 2015-01-30 2016-10-05 华为技术有限公司 拥塞控制方法及装置
CN106537867A (zh) * 2015-03-27 2017-03-22 华为技术有限公司 一种数据传输方法、装置和系统
US10461986B2 (en) 2015-03-27 2019-10-29 Huawei Technologies Co., Ltd. Data transmission method, apparatus, and system
CN106537867B (zh) * 2015-03-27 2019-07-19 华为技术有限公司 一种数据传输方法、装置和系统
CN107800638A (zh) * 2016-09-05 2018-03-13 北京金山云网络技术有限公司 一种拥塞控制方法及装置
CN106357551B (zh) * 2016-11-08 2019-05-10 中南大学 一种数据中心网络中对tcp友好且能快速收敛的调窗方法
CN106357551A (zh) * 2016-11-08 2017-01-25 中南大学 一种数据中心网络中对tcp友好且能快速收敛的调窗方法
CN106789719A (zh) * 2016-12-15 2017-05-31 中国科学院沈阳自动化研究所 一种面向工业无线Mesh网络的拥塞控制方法及装置
CN106789719B (zh) * 2016-12-15 2019-06-04 中国科学院沈阳自动化研究所 一种面向工业无线Mesh网络的拥塞控制方法及装置
CN106911583A (zh) * 2017-03-14 2017-06-30 国网四川省电力公司经济技术研究院 一种显式反馈拥塞程度滑动平均值的传输层拥塞控制方法
CN108270647A (zh) * 2018-01-24 2018-07-10 北京奇艺世纪科技有限公司 一种带宽计算方法及装置
CN110445722B (zh) * 2018-05-04 2021-10-26 华为技术有限公司 拥塞控制方法、装置、设备及存储介质
WO2019210725A1 (zh) * 2018-05-04 2019-11-07 华为技术有限公司 拥塞控制方法、装置、设备及存储介质
CN110445722A (zh) * 2018-05-04 2019-11-12 华为技术有限公司 拥塞控制方法、装置、设备及存储介质
US11838208B2 (en) 2018-05-04 2023-12-05 Huawei Technologies Co., Ltd. Congestion control method and apparatus, device, and storage medium
CN108833293B (zh) * 2018-06-20 2021-01-26 北京邮电大学 一种基于软件定义网络sdn的数据中心拥塞控制方法及装置
CN109120544A (zh) * 2018-09-30 2019-01-01 华中科技大学 一种数据中心网络中基于主机端流量调度的传输控制方法
CN109714267B (zh) * 2018-12-26 2021-01-29 清华大学 管理反向队列的传输控制方法及系统
CN109714267A (zh) * 2018-12-26 2019-05-03 清华大学 管理反向队列的传输控制方法及系统
CN109698794A (zh) * 2019-01-21 2019-04-30 北京达佳互联信息技术有限公司 一种拥塞控制方法、装置、电子设备及存储介质
CN112532535A (zh) * 2019-09-17 2021-03-19 华为技术有限公司 一种用于优化网络拥塞的方法和装置
CN110868359B (zh) * 2019-11-15 2023-03-24 中国人民解放军国防科技大学 一种网络拥塞控制方法
CN110868359A (zh) * 2019-11-15 2020-03-06 中国人民解放军国防科技大学 一种网络拥塞控制方法
CN113300974A (zh) * 2020-07-10 2021-08-24 阿里巴巴集团控股有限公司 一种拥塞控制方法、设备及计算机可读介质
WO2022042282A1 (zh) * 2020-08-28 2022-03-03 中兴通讯股份有限公司 一种无损流量拥塞自适应方法、系统和网络设备

Similar Documents

Publication Publication Date Title
CN103051555A (zh) 基于网络有效带宽和ecn机制的tcp拥塞控制方法
CN103051554B (zh) 基于吞吐量变化率和ecn机制的tcp拥塞控制方法
CN101854738B (zh) 一种用于卫星网络的传输控制协议方法
US10263904B2 (en) Kind of self-adaptive network congestion control method based on SCPS-TP
US8418016B2 (en) Communication system, communication device, and communication method
CN103281255A (zh) 一种基于吞吐量变化率和ecn机制的tcp友好速率控制方法
CN109194450B (zh) 天地一体化网络通信的snack-p应答系统及方法、无线通信系统
CN102694731B (zh) 速率调整方法、装置和网络设备
CN106059951A (zh) 一种用于dcn中基于多级拥塞反馈的传输控制方法
CN105376173A (zh) 一种发送窗口流量控制方法和终端
CN103297346B (zh) 一种基于ecn机制的tcp友好速率控制方法
CN104320809A (zh) 基于rtt的无线多跳网络拥塞控制方法及系统
CN105376172B (zh) 一种控制网络拥塞的方法
JPWO2014069642A1 (ja) 通信装置、送信データ出力制御方法、及びそのプログラム
CN103152278B (zh) 拥塞确定方法、装置和网络设备
CN105227484B (zh) 一种面向卫星网络的数据传输控制方法
WO2016065676A1 (zh) 基于吞吐率和丢包控制cwnd的优化方法和系统
CN104202257A (zh) 一种基于带宽估计的卫星网络拥塞控制方法
CN105406915B (zh) 一种面向星地链路的文件传输方法
CN104796235B (zh) 基于丢包率的卫星通信自适应拥塞控制方法
CN104980365A (zh) 一种基于连续丢包拥塞判断的tcp传输加速方法
CN105472655B (zh) 一种拥塞窗口的调整方法、相关装置和系统
CN103636157B (zh) 一种ack信息的发送方法及装置
EP3108631B1 (en) Buffer bloat control
CN108650258A (zh) 窄带物联网无线链路协议子层am实体数据传输自适应方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20130417