数据中心网络中基于通告窗口和多流协同的拥塞控制方法

文档序号:7806116阅读:465来源:国知局
数据中心网络中基于通告窗口和多流协同的拥塞控制方法
【专利摘要】本发明公开了一种数据中心网络中基于通告窗口和多流协同的拥塞控制方法,在TCP接收端根据往返延时比例和丢包状况协同调节TCP汇聚流的通告窗口,在保证各条TCP流吞吐率公平的同时实施了高效的拥塞控制。本发明的方法可以在多种延时、拓扑和通信模式下使用,同时保证较高的吞吐率和公平性,从而实现数据中心网络中高效的拥塞控制。
【专利说明】数据中心网络中基于通告窗口和多流协同的拥塞控制方法
【技术领域】
[0001]本发明涉及数据中心网络中(DCN, Data Center Network)基于通告窗口和多流协同的拥塞控制方法。
【背景技术】
[0002]数据中心近年来成为大规模信息存储、计算、交互的基础设施。越来越多的企业和个人把在线应用服务迁移到Amazon EC2等大型数据中心。但数据中心资源的碎片化和拓扑结构的异构性使得现有的传输控制协议TCP出现了新的问题。
[0003]在传统广域网环境下,TCP流彼此竞争,其吞吐率与往返延时成反比。即相同条件下,往返延时短的TCP流更具有侵略性,占据很多的带宽。然而,P.Prakash等指出了在数据中心网络(Data Center Network, DCN)中存在截然相反的吞吐率不公平现象:当多组数目不均的TCP流抵达交换机不同入口,并竞争同一个出口时,流数目较少的TCP流组,吞吐率明显处于弱势。此时,即使往返延时短的TCP流吞吐率也会偏低。这种现象也称为TCPOutcast ο
[0004]引发上述问题的原因主要有两个:交换机采用队尾丢弃策略;汇聚到交换机不同入端口的流数不同,并竞争同一个瓶颈出口。在数据中心网络的多根树拓扑和多对一通信模式中,这两个条件都容易满足。数据中心网络中,分布式文件存储、网络搜索、社交网络内容选取等应用都具有分散聚合的特征。当聚合操作可由任意一个节点执行时,会有大量数据流汇聚到接收端。
[0005]针对上述的吞吐率不公平问题,现有的解决方案在交换机使用RED或SFQ等公平队列调度算法,使各条TCP流丢包的概率相近;或让所有的TCP流经过等长路由均匀混合,使得交换机各个入口流数相近。这些方法在不同程度上缓解了不公平问题,但也有各自缺陷。例如RED算法无法做到真正公平;SFQ等调度算法部署成本过高,难以实际应用;而等长路由不必要地增加众多TCP流路由长度,传输开销过大。
[0006]缓解吞吐率不公平问题需要多流协同实施拥塞控制,目前在TCP发送端虽然有较完善的拥塞控制机制,但无法与其他发送端协调保证公平,而且大多只关注特定场景下的问题。此外,现有的队列管理算法虽然能实现一定程度的公平调度,但都有开销较大的缺点。接收端能获取所有TCP流的信息,并协同调节通告窗口实施拥塞控制。但接收端控制公平性的难度在于,既要实现公平共享带宽,又要充分利用可用带宽。一般而言,保持高吞吐率容易引发丢包,而交换机队尾丢弃策略会导致严重的不公平。因此,在算法设计中必须抑制丢包引起的发送窗口不公平增减,同时保证窗口不能过小,以免影响传输效率。

【发明内容】

[0007]本发明所要解决的技术问题是,针对现有技术不足,提供一种数据中心网络中基于通告窗口和多流协同的拥塞控制方法,解决吞吐率不公平的问题。
[0008]为解决上述技术问题,本发明所采用的技术方案是:一种数据中心网络中基于通告窗口和多流协同的拥塞控制方法,包括以下步骤:
[0009]I) TCP接收端在各TCP流建立连接时,初始化TCP流i的通告窗口大小awnd1、通告窗口门限值awndjoss1、往返延时RTTi以及各TCP流总丢包数sum_pktLoss,并统计总TCP流数η ;
[0010]2) TCP接收端根据网络状况更新TCP流i的往返延时采样值RTTi,计算汇聚TCP流的平均延时avg_RTT和总通告窗口大小sum_awnd ;
[0011]3) TCP接收端统计一个往返延时内汇聚TCP流的总丢包数sum_pktLoss,若sum_pktLoss为0,则进入步骤4);否则进入步骤5);
[0012]4) TCP接收端根据avg_RTT、TCP流i的RTTi和Bwndi计算通告窗口增幅,并更新sum_awnd,返回步骤3);
[0013]5) TCP 接收端根据 sum_pktLoss、avg_RTT、TCP 流 i 的 RTTi 和 awndi 计算通告窗口降幅,为防止降窗不公平,降窗之后用更新的sum_awnd再均分窗口,返回步骤3);
[0014]6)经过以上步骤调整后,TCP接收端将TCP流i的通告窗口大小通过ACK报文返回给发送端,发送端将根据TCP流i的通告窗口大小和自身计算的拥塞窗口控制发送速率。
[0015]TCP流i的通告窗口大小awndi初始化为2*MSS (MSS是TCP数据包大小基本单位),通告窗口门限值awnd_loSSi初始化为+ -,RTTi初始化为TCP流i连接握手时的往返延时,sum_pktLoss 初始化为 O。
[0016]avg_RTT的计算公式如下:
【权利要求】
1.一种数据中心网络中基于通告窗口和多流协同的拥塞控制方法,其特征在于,包括以下步骤: 1)TCP接收端在各TCP流建立连接时,初始化TCP流i的通告窗口大小awnd1、通告窗口门限值awndjoss1、往返延时RTTi以及各TCP流总丢包数sum_pktLoss,并统计总TCP流数η ; 2)TCP接收端根据网络状况更新TCP流i的往返延时采样值RTTi,计算汇聚TCP流的平均延时avg_RTT和总通告窗口大小sum_awnd ; 3)TCP接收端统计一个往返延时内汇聚TCP流的总丢包数sum_pktLoss,若sum_pktLoss为0,则进入步骤4);否则进入步骤5); 4)TCP接收端根据avg_RTT、TCP流i的RTTi和awndi计算通告窗口增幅,并更新sum_awnd,返回步骤3); 5)TCP接收端根据sum_pktLoss、avg_RTT、TCP流i的RTTi和awndi计算通告窗口降幅,为防止降窗不公平,降窗之后用更新的sum_awnd再均分窗口,返回步骤3); 6)经过以上步骤调整后,TCP接收端将TCP流i的通告窗口大小通过ACK报文返回给发送端,发送端将根据TCP流i的通告窗口大小和自身计算的拥塞窗口控制发送速率。
2.根据权利要求1所述的数据中心网络中基于通告窗口和多流协同的拥塞控制方法,其特征在于,TCP流i的通告窗口大小awndi初始化为2*MSS (MSS是TCP数据包大小基本单位),通告窗口门限值awnd_losSi初始化为+①,RTTi初始化为TCP流i连接握手时的往返延时,sum_pktLoss初始化为O。
3.根据权利要求2所述的数据中心网络中基于通告窗口和多流协同的拥塞控制方法,其特征在于,avg_RTT的计算公式如下:
4.根据权利要求3所述的数据中心网络中基于通告窗口和多流协同的拥塞控制方法,其特征在于,TCP流i统计一个往返延时内的丢包数PktLossi,并用来计算sum_pktLoss,计算公式如下:

5.根据权利要求4所述的数据中心网络中基于通告窗口和多流协同的拥塞控制方法,其特征在于,TCP流i增幅后的通告窗口大小的具体计算过程为:根据一个往返延时内接收的数据包数目估算TCP流i发送端的拥塞窗口 cwnd—esti,若存在某一条TCP流x满足cwnd—estx〈awndx_3*MSS,则所有TCP流不增窗,返回步骤3);否则将依据awndi和awnd—1ssi的大小关系确定窗口增幅方法,TCP流i增幅后的通告窗口大小awnd/具体计算公式如下:
6.根据权利要求5所述的数据中心网络中基于通告窗口和多流协同的拥塞控制方法,其特征在于,TCP流i降幅后的通告窗口大小的具体计算过程为:根据sum_pktLoss和RTTi与avg_RTT的比例降低awndi, TCP流i降幅后的通告窗口大小awnd^具体计算公式如下:
7.根据权利要求6所述的数据中心网络中基于通告窗口和多流协同的拥塞控制方法,其特征在于,TCP接收端按照上述步骤调整TCP流i的通告窗口后,通过ACK报文携带给发送端,发送端比较通告窗口与拥塞窗口的大小,取两者中的较小者作为发送窗口 SncLwndi,从而控制发送速率。
【文档编号】H04L12/801GK104009931SQ201410263429
【公开日】2014年8月27日 申请日期:2014年6月13日 优先权日:2014年6月13日
【发明者】王建新, 韩瑞, 黄家玮, 董苹苹, 盛羽 申请人:中南大学, 长沙讯亿达信息科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1