CN102946361B - 基于交换机缓存分配的流量控制方法及系统 - Google Patents

基于交换机缓存分配的流量控制方法及系统 Download PDF

Info

Publication number
CN102946361B
CN102946361B CN201210392309.0A CN201210392309A CN102946361B CN 102946361 B CN102946361 B CN 102946361B CN 201210392309 A CN201210392309 A CN 201210392309A CN 102946361 B CN102946361 B CN 102946361B
Authority
CN
China
Prior art keywords
congestion window
packet
window value
value
switch
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.)
Active
Application number
CN201210392309.0A
Other languages
English (en)
Other versions
CN102946361A (zh
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.)
Tsinghua University
Original Assignee
Tsinghua 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 Tsinghua University filed Critical Tsinghua University
Priority to CN201210392309.0A priority Critical patent/CN102946361B/zh
Publication of CN102946361A publication Critical patent/CN102946361A/zh
Application granted granted Critical
Publication of CN102946361B publication Critical patent/CN102946361B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种基于交换机缓存分配的流量控制方法及系统。该方法包括步骤:S1.发送端发送数据包前将包中携带的拥塞窗口的域初始化;S2.交换机统计和维护端口的数据流总数N;S3.交换机收到数据包后,根据出端口缓冲池大小计算数据流的拥塞窗口值;S4.通过比较,确定拥塞窗口值;S5.交换机将数据包发送给接收端,接收端向发送端发送反馈包,反馈包中含有拥塞窗口值;S6.发送端收到反馈包后,将反馈包中携带的拥塞窗口值赋给发送端数据包的拥塞窗口值上。本发明通过基于交换机缓存分配的流量控制方法及系统分配交换机的缓存对每个流进行带宽分配,实现了快速收敛性和极少丢包的特点,解决短流延时大以及丢包引起的各种问题。

Description

基于交换机缓存分配的流量控制方法及系统
技术领域
本发明涉及数据传输领域,特别涉及一种基于交换机缓存分配的流量控制方法及系统。
背景技术
当前存在的网络形态多种多样,近几年数据中心网络蓬勃发展,数据中心网络具有很多不同于互联网的特征。首先,由于数据中心网络中的服务器和交换机比较集中;其次,数据中心中有很多延时敏感的短消息以及特殊的传输模式。由于这些特点,基于丢包进行拥塞控制的传统TCP协议产生了很多问题。主要包括三方面:1、短流的端到端延时很大:由于数据中心网络中长数据流和短数据流同时存在,TCP对交换机缓存空间的消耗过大,导致长数据流填充了交换机大部分缓存,短数据流被迫排队等待从而使得端到端延时非常大。2、TCPincast问题:incast问题指的是当多个发送端并行以数据块为单位向同一个接收端发送数据时,瓶颈缓冲池大量丢包引起很多超时重传,从而导致吞吐量急剧下降。这个问题在数据中心中的很多应用中存在,例如,分布式文件存储,基于划分-聚合模式的搜索查询等。3、TCPoutcast问题:当多个流和少数流竞争同一个出口时,少数流出现连续的丢包而引起的吞吐量不公平问题。
为了解决上述问题,很多方案对传统TCP协议进行了改进。为了减小短流的端到端延时同时维持长流的高吞吐量,DCTCP利用现有交换机中已经实现的显示通告机制ECN来得到瓶颈链路中的拥塞程度,进而根据拥塞程度来减小拥塞窗口。Google提出增加TCP的初始窗口来使短数据流尽快得到高带宽,从而减小数据流的完成时间。V.Vasudevan等人提出将RTOmin减小到2毫秒来减少超时重传引起的带宽浪费。ICTCP提出调节TCP接收端的宣告窗口(awnd)的方法。还有人提出利用队列管理机制,例如RED、SFQ以及TCPpacing,来缓解TCP outcast问题。
但是,现有的方案一般只是针对解决某个问题,会伴随带来其他问题。例如,Google提出的增加TCP的初始窗口虽然可以减小短流的端到端延时,但是增加了拥塞程度,从而会恶化incast传输模式中的传输性能,尤其是当发送端数量很大的时候。而通过降低TCP的最小重传时间RTOmin来解决TCP incast问题的方案不具有通用性,而且当数据中心内部的服务器与数据中心外部的服务器通信时,还可能会引起超时重传。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:
TCP协议在数据中心网络中存在短流的端到端延时很大,大量丢包、大量丢包引起很多超时重传和吞吐量不公平的问题。
(二)技术方案
为解决上述技术问题,本发明提供了一种基于交换机缓存分配的流量控制方法包括步骤:
S1发送端将数据包中携带的拥塞窗口的域初始化,然后将数据包发出;
S2交换机周期性统计和维护经过每个端口的数据流总数N;
S3交换机收到数据包后,根据出端口缓冲池大小计算数据流的拥塞窗口值;
S4将数据包中携带的拥塞窗口值与计算出的数据流拥塞窗口值比较,如果数据包中携带的拥塞窗口值比计算出来的拥塞窗口值大,则将计算出来的拥塞窗口值赋给数据包中携带的拥塞窗口值;
S5交换机将数据包发送给接收端,接收端向发送端发送反馈包,所述反馈包中含有拥塞窗口值;
S6发送端收到反馈包后,将反馈包中携带的拥塞窗口值赋给发送端数据包的拥塞窗口值上。
该方法还包括步骤:
S7当反馈包中的拥塞窗口值小于1时,将拥塞窗口的最小发送单元值减小到使得网络可以容纳每个数据流发一个包;
S8发送端根据新的发送拥塞窗口值和当前收到的反馈包中携带的拥塞窗口值比较,判断是否发送新的数据包,如果发送,则进行步骤S1。
所述步骤S1拥塞窗口的域的初始化值为0xffff。
所述步骤S2数据流总数N的计算方法为:利用连接建立或断开时的握手信号来统计和更新,收到一个连接建立请求则N加1;收到一个连接断开请求则N减1。
所述步骤S3数据流的拥塞窗口值的计算方法为:
将瓶颈带宽公平分配给每个流,其公式为:
W = ϵB N ε∈(0,1]
式中
B为出端口的缓冲池大小;
N为每个端口的数据流总数N;
W为计算出的数据流的拥塞窗口值。
所述步骤S3数据流的拥塞窗口值的计算方法为根据数据流的权重按比例设置拥塞窗口值。
所述步骤S5中当接收端对拥塞窗口有限制时,将数据包中携带的拥塞窗口值与接收端的限制值进行比较,取较小的值给反馈包的拥塞窗口值上。
所述步骤S5中当接收端对拥塞窗口无限制时,将数据包中携带的拥塞窗口值赋给反馈包的拥塞窗口值上。
本发明还提供了一种基于交换机缓存分配的流量控制系统包括:
发送模块,用于将数据包中携带的拥塞窗口的域初始化,收到数据包后,根据数据包包头中的拥塞窗口值确定发送窗口;
交换机模块,用于维护经过每个端口的流的数目,对于经过的数据包,比较包头中携带的拥塞窗口值大小以及计算出的拥塞窗口值,如果计算出的值比数据包包头中携带的小,则更新数据包包头中的值为W;
接收模块,用于在接收数据包后,将包头中携带的拥塞窗口值与接收窗口的拥塞窗口值进行比较,将较小值赋给数据包包头中的拥塞窗口值并反馈回发送模块。
(三)有益效果
充分利用了交换机的缓存池大于延时带宽积的特点,实现了动态调控降低了拥塞程度具有快速收敛性和极少丢包的特点,解决短流延时大以及丢包引起的各种问题,方便应用于其他交换机端口缓冲池大于往返延时带宽积的网络。
附图说明
图1是本发明基于交换机缓存分配的流量控制方法的工作流程图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
如图1所示,发送端将数据包中携带的拥塞窗口的域初始化,如TCP数据包包头中大小为16比特的window域,初始值可以为0xffff,再根据交换机缓冲池大小分配拥塞窗口值,然后将数据包发出。
交换机周期性统计和维护经过每个端口的数据流总数N,其统计与计算方法多样。例如,可利用连接建立和断开时的握手信号来统计与更新。收到一个连接建立请求如TCP的SYN,则N加1;收到一个连接断开请求如TCP的FIN,则N减1。
交换机收到数据包后,根据其出端口缓冲池大小计算应该分配给当前流的拥塞窗口值大小,如果将瓶颈带宽公平分配给每个流,则可以令其中B代表出端口的缓冲池大小,N为每个端口的数据流总数N,W计算出的为数据流的拥塞窗口值,参数ε∈(0,1],如果按比例分配,则根据当前流的权重设置拥塞窗口。上述根据出端口缓冲池大小计算应该分配给当前流的拥塞窗口值大小的方法解决了交换机缓冲池处产生的排队延时过长的技术问题。
将数据包中携带的拥塞窗口值与计算出的数据流拥塞窗口值比较,如果数据包中携带的拥塞窗口值比计算出来的拥塞窗口值大,则将计算出来的拥塞窗口值赋给数据包中携带的拥塞窗口值。
交换机将数据包发送给接收端,接收端向发送端发送反馈包,所述反馈包中携带有拥塞窗口值。当接收端对拥塞窗口有限制时,将数据包中携带的拥塞窗口值与接收端的限制值进行比较,取较小的值赋给反馈包的拥塞窗口值上;当接收端对拥塞窗口无限制时,将数据包中携带的拥塞窗口值赋给反馈包的拥塞窗口值上。
发送端收到反馈包后,将反馈包中携带的拥塞窗口值赋给发送端数据包的拥塞窗口值上。
当反馈包中的拥塞窗口值小于1时,将拥塞窗口的最小发送单元值减小到使得网络可以容纳每个数据流发一个包;发送端对和所述减小后的最小发送单元相应的新的发送拥塞窗口值和当前收到的反馈包携带的拥塞窗口值进行比较,判断是否发送新的数据包。通过该方法解决了因流数太多而导致的即使每个流发一个数据包也会使得网络拥塞的问题。
本发明中的数据包与基于TCP的数据包都是基于窗口的拥塞控制方法进行传输,因而本发明中的数据包包头和反馈包包头格式与TCP一样。TCP包头中有一个域window域,用来承载接收端的接收窗口。在本发明中,这个域用来携带接收窗口和发送窗口的最小值以及发送端分配的拥塞窗口值。
本发明提供一种基于交换机缓存分配的流量控制系统,包括,包括发送模块、交换机模块、接收模块。发送模块负责发送数据包时初始化包头中负责携带拥塞窗口的域,并且收到数据包后更新拥塞窗口的值。接收模块接收到数据包后,比较包头中的拥塞窗口值和接收窗口赋给数据包,然后反馈回发送模块。交换机模块主要负责维护流的数目N以及计算窗口值大小并赋给经过的数据包。
其中:
发送模块:在发送数据包之前,将数据包包头中大小为16比特的window域初始化为0xffff;收到数据包后,根据数据包包头中的拥塞窗口值以及最大传输字段大小确定发送窗口。
交换机模块:主要负责维护经过每个端口的流的数目,收到连接建立请求时,将流的数目加一,收到连接断开请求时,将流的数目减一。对于经过的数据包,比较包头中携带的拥塞窗口值大小以及计算出的拥塞窗口值,如果计算出的值比数据包包头中携带的小,则更新数据包包头中的值。
接收模块:收到数据包后,将包头中携带的拥塞窗口值与接收窗口的拥塞窗口值进行比较,将较小值赋给数据包包头中的拥塞窗口值并反馈回发送模块。
由于数据中心网络中交换机的缓冲池大小比往返延时带宽积大,根据交换机的缓冲池大小分配窗口值,可以避免由于缓冲池溢出导致的数据包丢失。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。

Claims (8)

1.一种基于交换机缓存分配的流量控制方法,其特征在于,包括步骤:
S1发送端将数据包中携带的拥塞窗口的域初始化,然后将数据
包发出;
S2交换机周期性统计和维护经过每个端口的数据流总数N;
S3交换机收到数据包后,根据出端口缓冲池大小计算数据流的拥塞窗口值;
S4将数据包中携带的拥塞窗口值与计算出的数据流拥塞窗口值比较,如果数据包中携带的拥塞窗口值比计算出来的拥塞窗口值大,则将计算出来的拥塞窗口值赋给数据包中携带的拥塞窗口值;
S5交换机将数据包发送给接收端,接收端向发送端发送反馈包,所述反馈包中含有拥塞窗口值;
S6发送端收到反馈包后,将反馈包中携带的拥塞窗口值赋给发送端数据包的拥塞窗口值上;
其中,该方法还包括步骤:
S7当反馈包中的拥塞窗口值小于1时,将拥塞窗口的最小发送单元值减小到使得网络可以容纳每个数据流发一个包;
S8发送端根据新的发送拥塞窗口值和当前收到的反馈包中携带的拥塞窗口值比较,判断是否发送新的数据包,如果发送,则进行步骤S1。
2.权利要求1所述的基于交换机缓存分配的流量控制方法,其特征在于,所述步骤S1拥塞窗口的域的初始化值为0xffff。
3.权利要求1所述的基于交换机缓存分配的流量控制方法,其特征在于,所述步骤S2数据流总数N的计算方法为:利用连接建立或断开时的握手信号来统计和更新,收到一个连接建立请求则N加1;收到一个连接断开请求则N减1。
4.权利要求1所述的基于交换机缓存分配的流量控制方法,其特征在于,所述步骤S3数据流的拥塞窗口值的计算方法为:
将瓶颈带宽公平分配给每个流,其公式为:
W = ϵB N , ϵ ∈ ( 0,1 ]
式中
B为出端口的缓冲池大小;
N为每个端口的数据流总数N;
W为计算出的数据流的拥塞窗口值。
5.权利要求1所述的基于交换机缓存分配的流量控制方法,其特征在于,所述步骤S3数据流的拥塞窗口值的计算方法为根据数据流的权重按比例设置拥塞窗口值。
6.权利要求1所述的基于交换机缓存分配的流量控制方法,其特征在于,所述步骤S5中当接收端对拥塞窗口有限制时,将数据包中携带的拥塞窗口值与接收端的限制值进行比较,取较小的值给反馈包的拥塞窗口值上。
7.权利要求1所述的基于交换机缓存分配的流量控制方法,其特征在于,所述步骤S5中当接收端对拥塞窗口无限制时,将数据包中携带的拥塞窗口值赋给反馈包的拥塞窗口值上。
8.一种基于交换机缓存分配的流量控制系统,其特征在于,包括:
发送模块,用于将数据包中携带的拥塞窗口的域初始化,收到数据包后,根据数据包包头中的拥塞窗口值确定发送窗口;
交换机模块,用于维护经过每个端口的流的数目,对于经过的数据包,比较包头中携带的拥塞窗口值大小以及计算出的拥塞窗口值,如果计算出的值比数据包包头中携带的小,则更新数据包包头中的值为W;
接收模块,用于在接收数据包后,将包头中携带的拥塞窗口值与接收窗口的拥塞窗口值进行比较,将较小值赋给数据包包头中的拥塞窗口值并反馈回发送模块。
CN201210392309.0A 2012-10-16 2012-10-16 基于交换机缓存分配的流量控制方法及系统 Active CN102946361B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210392309.0A CN102946361B (zh) 2012-10-16 2012-10-16 基于交换机缓存分配的流量控制方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210392309.0A CN102946361B (zh) 2012-10-16 2012-10-16 基于交换机缓存分配的流量控制方法及系统

Publications (2)

Publication Number Publication Date
CN102946361A CN102946361A (zh) 2013-02-27
CN102946361B true CN102946361B (zh) 2015-09-30

Family

ID=47729269

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210392309.0A Active CN102946361B (zh) 2012-10-16 2012-10-16 基于交换机缓存分配的流量控制方法及系统

Country Status (1)

Country Link
CN (1) CN102946361B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104734873B (zh) * 2013-12-20 2018-04-13 深圳市国微电子有限公司 一种交换系统及其交换设备中缓冲器的管理方法、系统
US20170230252A1 (en) * 2014-10-24 2017-08-10 ZTE CORPORATION (CHINA) ZTE Plaza Method and system for deep stats inspection (dsi) based smart analytics for network/service function chaining
CN104869077B (zh) * 2015-04-15 2018-06-15 清华大学 令牌传输控制方法及系统
CN104869113A (zh) * 2015-04-23 2015-08-26 南京大学 基于最小化完成时间的网络传输方法及系统
CN106302200B (zh) * 2015-05-14 2019-06-21 华为技术有限公司 一种处理网络拥塞的方法和交换机
CN105847200B (zh) * 2016-03-24 2019-02-15 中国人民解放军国防科学技术大学 基于超前迭代的迭代结构qr分解装置及分解方法
WO2017185353A1 (zh) * 2016-04-29 2017-11-02 华为技术有限公司 一种传输控制协议tcp报文的传输方法、设备及系统
CN108833293B (zh) * 2018-06-20 2021-01-26 北京邮电大学 一种基于软件定义网络sdn的数据中心拥塞控制方法及装置
CN114124826B (zh) * 2021-11-28 2023-09-29 天津大学 拥塞位置可感知的低时延数据中心网络传输系统及方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101969432A (zh) * 2010-09-27 2011-02-09 江苏科技大学 基于随机回退的tcp拥塞窗口的控制方法
US7916640B1 (en) * 2005-06-20 2011-03-29 Marvell International Ltd. Buffer overflow prevention for network devices

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9001663B2 (en) * 2010-02-26 2015-04-07 Microsoft Corporation Communication transport optimized for data center environment
US8873385B2 (en) * 2010-12-07 2014-10-28 Microsoft Corporation Incast congestion control in a network

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7916640B1 (en) * 2005-06-20 2011-03-29 Marvell International Ltd. Buffer overflow prevention for network devices
CN101969432A (zh) * 2010-09-27 2011-02-09 江苏科技大学 基于随机回退的tcp拥塞窗口的控制方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Haitao Wu 等.ICTCP: Incast Congestion Control for TCP in Data Center Networks.《Networking,IEEE/ACM Transactions》.2012, *
Safe and Effective Fine-grained TCP Retransmissions for Datacenter Communication;Vijay Vasudevan 等;《SIGCOMM’09》;20090817;全文 *

Also Published As

Publication number Publication date
CN102946361A (zh) 2013-02-27

Similar Documents

Publication Publication Date Title
CN102946361B (zh) 基于交换机缓存分配的流量控制方法及系统
CN106059951B (zh) 一种用于dcn中基于多级拥塞反馈的传输控制方法
EP3410641A1 (en) Network-traffic control method and network device thereof
US9054973B2 (en) Method and system for Ethernet congestion management
CN110662256B (zh) 多路径跨协议传输的数据包调度方法及系统
CN103457871B (zh) Dcn中基于延迟约束的拥塞避免阶段的增窗方法
US10298659B2 (en) Method and system for sending data
CN103647722B (zh) 一种基于信誉的链路拥塞控制方法
US8576850B2 (en) Band control apparatus, band control method, and storage medium
CN107078967A (zh) 调度器、发送器、接收器、网络节点及其方法
CN106533970A (zh) 面向云计算数据中心网络的差分流传输控制方法及装置
CN105025524B (zh) 一种多路径并行传输数据调度方法及传输控制协议
CN109412958A (zh) 数据中心的拥塞控制方法和装置
WO2008060757A3 (en) Large packet concatenation in satellite communication system
CN102811176B (zh) 一种数据流量控制方法和装置
CN108768880B (zh) 一种sdn环境下基于调节通告窗口的拥塞控制机制方法
CN101282305A (zh) 分布式系统中的带宽控制方法及业务板
Hirai et al. A proposal on cooperative transmission control middleware on a smartphone in a WLAN environment
CN112995048B (zh) 数据中心网络的阻塞控制与调度融合方法及终端设备
CN102333361A (zh) 无线传感器网络的媒体访问控制协议
CN115473855A (zh) 网络系统、数据传输方法
Wu et al. A hop-by-hop cross-layer congestion control scheme for wireless sensor networks
Tang et al. A MPTCP scheduler combined with congestion control for short flow delivery in signal transmission
CN105764091A (zh) 一种有效利用无线带宽的方法
CN102202344B (zh) 无线Mesh网中基于博弈论的跨层拥塞控制方法

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