当前位置: 首页 > 专利查询>中南大学专利>正文

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

技术编号:10359459 阅读:203 留言:0更新日期:2014-08-27 15:33
本发明专利技术公开了一种数据中心网络中基于通告窗口和多流协同的拥塞控制方法,在TCP接收端根据往返延时比例和丢包状况协同调节TCP汇聚流的通告窗口,在保证各条TCP流吞吐率公平的同时实施了高效的拥塞控制。本发明专利技术的方法可以在多种延时、拓扑和通信模式下使用,同时保证较高的吞吐率和公平性,从而实现数据中心网络中高效的拥塞控制。

【技术实现步骤摘要】
数据中心网络中基于通告窗口和多流协同的拥塞控制方法
本专利技术涉及数据中心网络中(DCN,DataCenterNetwork)基于通告窗口和多流协同的拥塞控制方法。
技术介绍
数据中心近年来成为大规模信息存储、计算、交互的基础设施。越来越多的企业和个人把在线应用服务迁移到AmazonEC2等大型数据中心。但数据中心资源的碎片化和拓扑结构的异构性使得现有的传输控制协议TCP出现了新的问题。在传统广域网环境下,TCP流彼此竞争,其吞吐率与往返延时成反比。即相同条件下,往返延时短的TCP流更具有侵略性,占据很多的带宽。然而,P.Prakash等指出了在数据中心网络(DataCenterNetwork,DCN)中存在截然相反的吞吐率不公平现象:当多组数目不均的TCP流抵达交换机不同入口,并竞争同一个出口时,流数目较少的TCP流组,吞吐率明显处于弱势。此时,即使往返延时短的TCP流吞吐率也会偏低。这种现象也称为TCPOutcast。引发上述问题的原因主要有两个:交换机采用队尾丢弃策略;汇聚到交换机不同入端口的流数不同,并竞争同一个瓶颈出口。在数据中心网络的多根树拓扑和多对一通信模式中,这两个条件都容易满足。数据中心网络中,分布式文件存储、网络搜索、社交网络内容选取等应用都具有分散聚合的特征。当聚合操作可由任意一个节点执行时,会有大量数据流汇聚到接收端。针对上述的吞吐率不公平问题,现有的解决方案在交换机使用RED或SFQ等公平队列调度算法,使各条TCP流丢包的概率相近;或让所有的TCP流经过等长路由均匀混合,使得交换机各个入口流数相近。这些方法在不同程度上缓解了不公平问题,但也有各自缺陷。例如RED算法无法做到真正公平;SFQ等调度算法部署成本过高,难以实际应用;而等长路由不必要地增加众多TCP流路由长度,传输开销过大。缓解吞吐率不公平问题需要多流协同实施拥塞控制,目前在TCP发送端虽然有较完善的拥塞控制机制,但无法与其他发送端协调保证公平,而且大多只关注特定场景下的问题。此外,现有的队列管理算法虽然能实现一定程度的公平调度,但都有开销较大的缺点。接收端能获取所有TCP流的信息,并协同调节通告窗口实施拥塞控制。但接收端控制公平性的难度在于,既要实现公平共享带宽,又要充分利用可用带宽。一般而言,保持高吞吐率容易引发丢包,而交换机队尾丢弃策略会导致严重的不公平。因此,在算法设计中必须抑制丢包引起的发送窗口不公平增减,同时保证窗口不能过小,以免影响传输效率。
技术实现思路
本专利技术所要解决的技术问题是,针对现有技术不足,提供一种数据中心网络中基于通告窗口和多流协同的拥塞控制方法,解决吞吐率不公平的问题。为解决上述技术问题,本专利技术所采用的技术方案是:一种数据中心网络中基于通告窗口和多流协同的拥塞控制方法,包括以下步骤:1)TCP接收端在各TCP流建立连接时,初始化TCP流i的通告窗口大小awndi、通告窗口门限值awnd_lossi、往返延时RTTi以及各TCP流总丢包数sum_pktLoss,并统计总TCP流数n;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的通告窗口大小和自身计算的拥塞窗口控制发送速率。TCP流i的通告窗口大小awndi初始化为2*MSS(MSS是TCP数据包大小基本单位),通告窗口门限值awnd_lossi初始化为+∞,RTTi初始化为TCP流i连接握手时的往返延时,sum_pktLoss初始化为0。avg_RTT的计算公式如下:其中,RTTi是TCP流i的往返延时采样值,当TCP流i没有丢包时,RTTi等于当前的往返延时;当TCP流i发生丢包时,RTTi不更新;sum_awnd每轮往返延时都更新,具体计算公式如下:TCP流i统计一个往返延时内的丢包数pktLossi,并用来计算sum_pktLoss,计算公式如下:TCP流i增幅后的通告窗口大小的具体计算过程为:根据一个往返延时内接收的数据包数目估算TCP流i发送端的拥塞窗口cwnd_esti,若存在某一条TCP流x满足cwnd_estx<awndx-3*MSS,则所有TCP流不增窗,返回步骤3);否则将依据awndi和awnd_lossi的大小关系确定窗口增幅方法,TCP流i增幅后的通告窗口大小awndi'具体计算公式如下:TCP流i降幅后的通告窗口大小的具体计算过程为:根据sum_pktLoss和RTTi与avg_RTT的比例降低awndi,TCP流i降幅后的通告窗口大小awndi*具体计算公式如下:降窗后,将TCP流i的通告窗口门限值awnd_lossi的值更新为为了保证各条流吞吐率公平,依据公式更新sum_awnd,再根据此时的sum_awnd、流数n、RTTi与avg_RTT的比例重新计算TCP流i降幅后的通告窗口大小awndi",得到均分窗口awndi",具体计算公式如下:TCP接收端按照上述步骤调整TCP流i的通告窗口后,通过ACK报文携带给发送端,发送端比较通告窗口与拥塞窗口的大小,取两者中的较小者作为发送窗口snd_wndi,从而控制发送速率。与现有技术相比,本专利技术所具有的有益效果为:初始化时,本专利技术的通告窗口较小,能有效限制发送端拥塞窗口的增长。没有丢包时,根据往返延时比例线性增加通告窗口,既增加了吞吐率,也保持了公平性,当通告窗口过大,容易引发丢包时,降低增窗速度,在高效利用带宽的同时尽量减少丢包。出现丢包后,说明交换机缓存已经用完,需要根据丢包总数sum_pktLoss和各条TCP流往返延时比例公平降窗。但由于各条TCP流调整周期不一,降窗可能不公平,仍需要根据窗口总和sum_awnd与往返延时比例再分配awnd。这样,通告窗口始终与往返延时成比例,既高效利用了带宽,又保证了公平性,做到了高效的拥塞控制,能有效缓解吞吐率不公平的问题。本专利技术的方法可以在多种延时、拓扑和通信模式下使用,同时保证较高的吞吐率和公平性,从而实现数据中心网络中高效的拥塞控制。附图说明图1为本专利技术的流程图;图2为数据中心网络吞吐率不公平场景示意图;图3为本专利技术和交换机配置SFQ、RED等算法以及TCP流经过默认配置的交换机时,对比的队列控制效果,其中本专利技术命名为OFCTCP;图4为本专利技术和交换机配置SFQ、RED等算法以及TCP流经过默认配置的交换机时,不同流集合的平均丢包数目,其中本专利技术命名为OFCTCP;图5为本专利技术的通告窗口及拥塞窗口控制效果;图6(a)为TCP流经过默认配置的交换机时本文档来自技高网
...
数据中心网络中基于通告窗口和多流协同的拥塞控制方法

【技术保护点】
一种数据中心网络中基于通告窗口和多流协同的拥塞控制方法,其特征在于,包括以下步骤:1)TCP接收端在各TCP流建立连接时,初始化TCP流i的通告窗口大小awndi、通告窗口门限值awnd_lossi、往返延时RTTi以及各TCP流总丢包数sum_pktLoss,并统计总TCP流数n;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的通告窗口大小和自身计算的拥塞窗口控制发送速率。...

【技术特征摘要】
1.一种数据中心网络中基于通告窗口和多流协同的拥塞控制方法,其特征在于,包括以下步骤:1)TCP接收端在各TCP流建立连接时,初始化TCP流i的通告窗口大小awndi、通告窗口门限值awnd_lossi、往返延时RTTi以及各TCP流总丢包数sum_pktLoss,并统计总TCP流数n;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计算通告窗口增幅;TCP流i增幅后的通告窗口大小的具体计算过程为:根据一个往返延时内接收的数据包数目估算TCP流i发送端的拥塞窗口cwnd_esti,若存在某一条TCP流x满足cwnd_estx<awndx-3*MSS,则所有TCP流不增窗,返回步骤3);MSS是TCP数据包大小基本单位;否则将依据awndi和awnd_lossi的大小关系确定窗口增幅方法,并更新sum_awnd,进入步骤6);TCP流i增幅后的通告窗口大小awndi'具体计算公式如下:5)TCP接收端根据sum_pktLoss、avg_RTT、TCP流i的RTTi和awndi计算通告窗口降幅,为防止降窗不公平,降窗之后用更新的sum_awnd再均分窗口,TCP流i降幅后的通告窗口大小awndi*具体计算公式如下:降窗后,将TCP流i的通告窗口门限值awnd_lossi的值更新为awndi*;为了保证各条流...

【专利技术属性】
技术研发人员:王建新韩瑞黄家玮董苹苹盛羽
申请(专利权)人:中南大学长沙讯亿达信息科技有限公司
类型:发明
国别省市:湖南;43

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1