一种基于ECN机制的TCP友好速率控制方法技术

技术编号:9145839 阅读:228 留言:0更新日期:2013-09-12 07:03
一种基于ECN机制的TCP友好速率控制方法:首先在交换机上进行ECN标记,接收方计算丢包率和ECN标记率,通过ACK返回给发送方,并查看收到的数据包是否设置了ECN标记,如果是,则在它所发送的ACK中设置ECN-echo位,否则,返回没有设置ECN-echo位的ACK;发送方动态调整发送速率,即发送方维护一个虚拟发送窗口win,并根据接收方返回的信息计算网络的往返时延R和发送方的期望发送速率Expect_rate,然后根据Expect_rate和当前发送速率Rate_的大小的比较来动态调整虚拟发送窗口win,最后根据win计算新的发送速率。

【技术实现步骤摘要】
一种基于ECN机制的TCP友好速率控制方法
本专利技术涉及一种基于ECN(ExplicitCongestionNotification,显式拥塞通知)机制的TCP友好速率控制方法,属于计算机网络和通信

技术介绍
数据中心网络中广泛使用的TCP拥塞控制算法将网络中的丢包作为拥塞信号,当丢包发生时,算法会减小发送窗口,进而降低连接的数据包发送速度,从而避免网络发生拥塞。在现有的TCP拥塞控制方法中,与本申请最为接近的技术方案为DCTCP方案。该方案在交换机上进行ECN控制,发送方根据收到标记ECN的ACK占上一窗口发送数据包总数的比例来调整发送窗口。DCTCP的一个重要缺陷是数据包的发送是基于窗口的,窗口为整数,最小为1。然而,通过实验表明,即使将发送窗口恒定设置为1,随着发送方数目的增加,网络还是会发生incast现象的。TCP友好的速率控制算法(TCPFriendlyRateControl)简称为TFRC,其目的是控制非TCP的连接的数据包发送速度,使其数据包发送速度接近TCP连接,以保证当受TFRC控制的数据连接和TCP连接共同竞争一段网络瓶颈时,他们可以公平的分享数据连接。但传统的TFRC算法使用网络中的丢包作为拥塞信号,当丢包发生时TFRC算法会降低连接的数据包发送速度,从而避免网络发生拥塞。而丢包的发生说明此时的网络拥塞已经非常严重,因而该方法不能提早进行控制,防止拥塞的发生。所以并不适用于数据中心网络中。DCTCP数据包的发送是基于窗口的,窗口为整数,最小为1。然而,通过实验表明,即使将发送窗口恒定设置为1,随着发送方数目的增加,网络还是会发生incast现象的。Icast现象在数据中心网络中很普遍,它是指多个发送方同时通过同一条瓶颈链路向同一个接收方发送数据包,发送方不能发送下一个请求数据块,除非所有发送方都完成了当前数据块的发送,进而导致网络吞吐量的严重下降。TFRC使用网络中的丢包作为拥塞信号,而丢包的发生说明此时的网络拥塞已经非常严重,因而不能提早进行控制,防止拥塞的发生,不适用于数据中心网络中。
技术实现思路
本专利技术的技术解决问题:克服现有技术的不足,提供一种基于ECN机制的TCP友好速率控制方法,用于避免数据中心网络中incast现象的发生。本专利技术技术解决方案:一种基于ECN机制的TCP友好速率控制方法,实现步骤如下:首先在交换机上进行ECN标记,接收方计算丢包率和ECN标记率,通过ACK返回给发送方,并查看收到的数据包是否设置了ECN标记,如果是,则在它所发送的ACK中设置ECN-echo位,否则,返回没有设置ECN-echo位的ACK;发送方动态调整发送速率,即发送方维护一个虚拟发送窗口win,并根据接收方返回的信息计算网络的往返时延R和发送方的期望发送速率Expect_rate,然后根据Expect_rate和当前发送速率Rate_的大小的比较来动态调整虚拟发送窗口win,最后根据win计算新的发送速率。所述在交换机上进行ECN标记的具体方法为:当交换机收到数据包时,首先判断当前缓冲区的队列长度,如果超过某一个门限值,则为该数据包设置ECN标记位;否则,不设置。所述发送方包括RTT计算模块、ECN控制模块、期望发送速率计算模块和发送速率控制模块;发送方维护一个虚拟的发送窗口win,当发送端收到ACK后,首先由RTT计算模块计算当前网络的往返时延R,由ECN控制模块查看该ACK是否设置了ECN-echo位,如果是,则设置ecn_flag表示需要根据ECN计算期望发送速率,并计算它收到的带有ECN-echo标记的ACK占上一发送窗口所发送数据包总数的比例α;然后,期望发送速率计算模块根据RTT计算模块和ECN控制模块的输出信息计算期望发送速率Expect_rate,并将结果传给发送速率控制模块;最后,由发送速率控制模块计算实际的发送速率。所述期望发送速率计算公式如下:其中,R是网络的往返时延RTT,p是丢包率,g是ECN标记率,α是发送方收到的带有ECN-echo标记的ACK占上一发送窗口所发送数据包总数的比例。本专利技术与现有技术相比优点在于:本专利技术与现有拥塞控制方法的区别是本专利技术可以根据交换机缓冲区队列长度提前对发送速率进行调整,防止网络拥塞的发生。而且,本专利技术中数据包的发送是基于速率的,同时为了能与其他网络连接公平竞争网络带宽,本专利技术为每个连接维护一个虚拟发送窗口,根据期望发送速率与当前发送速率的比较来调整虚拟发送窗口的大小,进而调整发送速率。由于数据包的发送是基于速率的,因而,不存在发送窗口最小值的限制,进一步避免的incast现象的发生。附图说明图1为本专利技术的实现流程图;图2为本专利技术中发送端结构示意图;图3为本专利技术中发送端控制过程流程图;图4为本专利技术与其它几种拥塞控制方法在incast场景下的性能比较。具体实施方式如图1所示,本专利技术实现步骤如下:步骤一:交换机上进行ECN标记当交换机收到数据包时,首先判断当前缓冲区的队列长度,如果超过某一个门限值,则为该数据包设置ECN标记位。否则,不设置。步骤二:接收方设置ECN-echo接收方收到的数据包后,计算丢包率p和ECN标记率g,通过ACK返回给发送方,并查看收到的数据包是否设置了ECN标记,如果是,则在它所发送的ACK中设置ECN-echo位,否则,返回没有设置ECN-echo位的ACK。步骤三:发送方动态调整发送速率如图2所示,发送方主要包括RTT计算模块、ECN控制模块、期望发送速率计算模块和发送速率控制模块。具体控制过程如图3所示。发送方维护一个虚拟的发送窗口win。当发送端收到ACK后,首先由RTT计算模块计算当前网络的往返时延R,由ECN控制模块查看该ACK是否设置了ECN-echo位,如果是,则设置ecn_flag表示需要根据ECN计算期望发送速率,并计算它收到的带有ECN-echo标记的ACK占上一发送窗口所发送数据包总数的比例α。然后,期望发送速率计算模块根据RTT计算模块和ECN控制模块的输出信息计算期望发送速率Expect_rate,并将结果传给发送速率控制模块。传统TFRC的发送速率计算公式为:该公式并没有考虑ECN标记的情况。本专利技术提出当发送方收到的ACK不带有ECN标记时,按照公式(1)计算期望发送速率,否则,计算公式如下:综上,本专利技术的期望发送速率计算公式为:其中,R是网络的往返时延RTT,p是丢包率,g是ECN标记率,α是发送方收到的带有ECN-echo标记的ACK占上一发送窗口所发送数据包总数的比例。期望发送速率的计算具体过程如下:如果ecn_flag=true,则根据公式(2)计算期望发送速率。否则,根据公式(1)计算期望发送速率。最后,由发送速率控制模块计算实际的发送速率Rate_。具体过程如下:如果Expect_rate>Rate_,则设置虚拟发送窗口win=win+1,Rate_=win×size_/R。否则,设置虚拟发送窗口Rate_=win×size_/R。其中,R是网络的往返时延RTT,size_是数据包的载荷长度。如图4所示,在incast场景下,将本专利技术与DCTCP和Reno以及发送窗口恒定为1的TCP进行比较。x轴表示发送方的数目,y轴表示吞吐量(单位本文档来自技高网
...
一种基于ECN机制的TCP友好速率控制方法

【技术保护点】
一种基于ECN机制的TCP友好速率控制方法,其特征在于实现步骤如下:首先在交换机上进行ECN标记,接收方计算丢包率和ECN标记率,通过ACK返回给发送方,并查看收到的数据包是否设置了ECN标记,如果是,则在它所发送的ACK中设置ECN?echo位,否则,返回没有设置ECN?echo位的ACK;发送方动态调整发送速率,即发送方维护一个虚拟发送窗口win,并根据接收方返回的信息计算网络的往返时延R和发送方的期望发送速率Expect_rate,然后根据Expect_rate和当前发送速率Rate_的大小的比较来动态调整虚拟发送窗口win,最后根据win计算新的发送速率。

【技术特征摘要】
1.一种基于ECN机制的TCP友好速率控制方法,其特征在于实现步骤如下:首先在交换机上进行ECN标记,接收方计算丢包率和ECN标记率,通过ACK返回给发送方,并查看收到的数据包是否设置了ECN标记,如果是,则在它所发送的ACK中设置ECN-echo位,否则,返回没有设置ECN-echo位的ACK;发送方动态调整发送速率,即发送方维护一个虚拟发送窗口win,并根据接收方返回的信息计算网络的往返时延R和发送方的期望发送速率Expect_rate,然后根据Expect_rate和当前发送速率Rate_的大小的比较来动态调整虚拟发送窗口win,最后根据win计算新的发送速率;其中,当发送方收到的ACK不带有ECN标记时,按照公式(1)计算期望发送速率,否则,按照公式(2)计算期望发送速率:其中,R是网络的往返时延RTT,p是丢包率,g是ECN标记率,α是发送方收到的带有ECN-echo标记的ACK占上一发送窗口所发送数据包总数的比例。2.根据权利要求1所述的基...

【专利技术属性】
技术研发人员:王静远蒋云晶李超欧阳元新熊璋
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:

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

1