用于基于传输速率梯度的网络拥塞控制的方法和装置制造方法及图纸

技术编号:14759462 阅读:83 留言:0更新日期:2017-03-03 07:41
本发明专利技术涉及用于网络的确认通信的拥塞控制。基于飞行尺寸和传输速率这二者的趋势检测拥塞,以根据检测结果来调整拥塞窗口。比如,所述拥塞检测能够区分具有不公平竞争或没有不公平竞争的拥塞。另外,测量的传输速率或其趋势经滤波以补偿时间变化。本发明专利技术可以在端节点或代理节点内实现。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及网络通信领域,而且尤其涉及用于网络通信中的拥塞控制的方法和装置。
技术介绍
拥塞控制在网络节点或链路的可用传输容量低于其需要转发的数据速率的任何时候,数据通信网络中都会出现拥塞状况(congestionsituation)。比如,图1A示出了数据传输节点110通过通信网络140向数据接收节点120发送数据流150,其中,所述通信网络包括互相连接的网络节点141、142和143和其他可能的网络节点的集合。在这种情况下,数据流150由网络节点141和142转发。图1A进一步示出了另一个数据传输节点111通过相同的网络140向数据接收节点121发送数据流151。然而,在这种情况下,数据流151由网络节点141和143转发。如果数据流150和151的总发送速率大于网络节点141的转发容量(数据流在所述节点中占用相同的空间(coincide)),则网络节点141将变得拥塞,而且数据流150和151都将经历拥塞状况。如果网络节点(如141)具有一些输入缓存容量,则拥塞状况就会引发其缓存容量被持续使用,直到被最终填满。一旦被填满,如果拥塞状况持续存在,则部分数据流150和151将被丢弃,因此,从数据接收节点120和121的角度来看会丢失部分数据流。使用拥塞控制机制来避免、缓解和处理拥塞状况。拥塞控制机制可以是任何层(一般是链路层、网络层、传递层或应用层)的功能部分并且可以位于端节点(如110或111)或中间节点(如141、142或143)。作为现今最广泛使用的通信协议之一,传输控制协议(TCP)使用复杂的拥塞控制机制。在TCP的发展过程中,拥塞控制领域出现了很多先进的技术。因此,下面将要说明TCP中的拥塞控制机制。然而,很多来自TCP的技术发展后来都被其他协议所采纳,如流控制传输协议(SCTP)。标准TCP协议拥塞控制传输控制协议(TCP)在数据通信网络中被广泛使用。TCP由J.Postel在“IETFRFC793:Transmissioncontrolprotocol,”中(1981年)进行了详细说明并且其全部内容结合于此作为参考,其中,该TCP提供了两个端点之间的可靠数据传输。在关于TCP技术的文献中,端点通常指“主机”。术语“可靠数据传输”指的是这样一个事实:TCP提供能够进行确认数据传输的自动重传请求(ARQ)机制。具体地,如图1B所示,数据传输节点110通过网络140传输数据段101(TCP数据报(datagram)的有效载荷),其中,数据接收节点120校验该数据段的正确到达。随后,数据接收节点120通过网络140将确认102发回数据传输节点110,其中,该确认肯定地确认数据的正确接收。根据所述反馈102或缺少该反馈,数据传输节点110可以重传所述数据。也可以在TCP段中传输该确认,并且该确认可以是累积的,也就是说,TCP段的确认隐含所有的先前连续TCP段的确认。数据包可能会丢失,这意味着其在预定的时间窗口(也就是,时间段)内没有到达数据接收节点。另外,数据包会经历一些传输错误,在所述数据接收节点处通过标准方式检测所述错误,所述标准方式包括如循环冗余校验(CRC)等的错误检测/纠正码。可以由网络内增加的载荷和/或信道条件的恶化引起延迟或传输错误。由TCP提供的确认机制能够通过重传的方式恢复数据包的丢失和破坏的数据。然而,如果网络经历高载荷,则很多用户重复的重传会导致这种状况的进一步恶化并且网络会变得拥塞。为了避免所述状况和为了处理拥塞,TCP提供了可以在数据传输节点110和/数据接收节点120上实施的一些拥塞控制机制和策略。下文中,将使用标准TCP术语,如上面提到的RFC793中并且在IETFRFC5681\TCPCongestionControl,\(2009年9月)中使用所述术语,具体地:主机(Host):网络节点,其为TCP通信的端点。术语“主机”也将被用于应用本专利技术的其它协议,以表示从那些协议角度来看是通信端点的所述网络节点。连接(Connection):建立在两个主机之间的双向数据流,通过所述双向数据流本身的建立、流控制和拥塞控制机制被单独识别,而与其它数据流无关。拥塞窗口(CongestionWindow,cwnd):拥塞窗口表示TCP主机发送超过最新确认的序列数量的连续数据的最大量,可以通过所述发送主机进行局部计算,而不考虑所述接收主机所通告的窗口。接收窗口(ReceiveWindow,rwnd):接收窗口是由接收器在其发回的确认消息中通告给发射器的窗口尺寸。所述窗口尺寸指定接收器准备接受的超过最新确认的序列数量的连续数据的最大量。这是TCP实施流控制所使用的机制,也就是说,防止快速发射器无法适应慢速接收器。发送窗口(SendWindow):发送窗口是cwnd和rwnd中的最小值。标准TCP拥塞控制是基于发射器的机制,因此其着重于设定合适的cwnd值和着重于假定cwnd决定发送窗口。慢启动(SlowStart):满启动是TCP拥塞控制状态。在慢启动状态下,TCP拥塞控制算法以指数的方式增加cwnd,其中,每当接收到确认,所述cwnd就增加大约一段尺寸。在使用增加cwnd的方式时,TCP连接中的TCP发送主机被认为处于慢启动。拥塞避免(Congestionavoidance):拥塞避免是TCP拥塞控制状态。在所述拥塞避免状态下,所述TCP拥塞控制算法以比慢启动更慢的方式增加所述cwnd。在标准Reno/NewRenoTCP中,所述cwnd以1/cwnd个字节(cwnd的倒数)增长以用于每个确认字节,也就是说,cwnd将在确认段之后,以一段的尺寸增长,其中,所述段的尺寸总计为cwnd个字节。不同的TCP变型具有不同的拥塞避免算法。在使用增加cwnd的方式时,TCP连接中的TCP发送主机被认为处于拥塞避免状态。慢启动阈值(SlowStartthresh,ss阈值):慢启动阈值限定慢启动状态和拥塞避免状态之间的转换:其是拥塞窗口值低于慢启动使用的值并超过拥塞窗口根据拥塞避免所增加的值。飞行尺寸(Flightsize):飞行尺寸为由所述发射器传输并且未被确认的数据的量(通常以字节进行测量)。缓存过满(Buffer-bloat):缓存过满为通过连接过度使用传输途径中缓存的术语,所述连接使用比用来克服传输途径中内部延迟和带宽调整缓存的窗口更大的拥塞窗口。上面所述的TCP术语也可以用于其他协议中,所述协议可以使用与用于TCP拥塞控制的那些概念类似的概念。TCP标准,如上面提到的IETFRFC5681、IETFRFC6582\TheNewRenomodificationtoTCP'sfastrecoveryalgorithm,\(2012年)、IETFRFC2018:\TCPselectiveacknowledgmentoptions\(1996年10月)、和IETFRFC6675:\AConservativeLossRecoveryAlgorithmBasedonSelectiveAcknowledgment(SACK)forTCP\(2012年)(其全部内容结合于此作为参考),所述标准包括拥塞控制算法,用于确定主机的最合适数据发送速率;和数据恢复机制,以允许有效重传本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/62/201580021233.html" title="用于基于传输速率梯度的网络拥塞控制的方法和装置原文来自X技术">用于基于传输速率梯度的网络拥塞控制的方法和装置</a>

【技术保护点】
一种用于数据通信协议中的拥塞控制的方法,所述数据通信协议采用确认通信,在所述确认通信中传输节点将数据传输至接收节点而且所述接收节点确认接收到所述数据,其中,拥塞窗口指定由所述传输节点在接收到所有或部分所述数据的肯定确认之前传输的未确认数据的最大量,所述方法通过所述传输节点执行并包括:测量飞行尺寸(310),其中所述飞行尺寸指示由所述传输节点发送的但尚未被所述接收节点确认的数据量;测量传输速率(320),其中所述传输速率对应于与所述飞行尺寸相同的时刻;确定所述飞行尺寸的趋势(350);确定所述传输速率的趋势(360),其中,由传输速率梯度计算推导出所述趋势,其中,所述传输速率测量值和所述传输速率梯度计算的其中之一或这两者都被滤波以减少其临时变化;根据确定的所述传输速率的趋势和所述飞行尺寸的趋势检测是否存在拥塞(370);在肯定检测到所述拥塞时,修改所述拥塞窗口(390);并在考虑到所述拥塞窗口尺寸的同时传输数据(270)。

【技术特征摘要】
【国外来华专利技术】2014.04.23 EP 14382146.01.一种用于数据通信协议中的拥塞控制的方法,所述数据通信协议采用确认通信,在所述确认通信中传输节点将数据传输至接收节点而且所述接收节点确认接收到所述数据,其中,拥塞窗口指定由所述传输节点在接收到所有或部分所述数据的肯定确认之前传输的未确认数据的最大量,所述方法通过所述传输节点执行并包括:测量飞行尺寸(310),其中所述飞行尺寸指示由所述传输节点发送的但尚未被所述接收节点确认的数据量;测量传输速率(320),其中所述传输速率对应于与所述飞行尺寸相同的时刻;确定所述飞行尺寸的趋势(350);确定所述传输速率的趋势(360),其中,由传输速率梯度计算推导出所述趋势,其中,所述传输速率测量值和所述传输速率梯度计算的其中之一或这两者都被滤波以减少其临时变化;根据确定的所述传输速率的趋势和所述飞行尺寸的趋势检测是否存在拥塞(370);在肯定检测到所述拥塞时,修改所述拥塞窗口(390);并在考虑到所述拥塞窗口尺寸的同时传输数据(270)。2.根据权利要求1所述的方法,其中,检测是否存在拥塞的步骤包括检测是否存在具有不公平竞争的拥塞;以及在所述飞行尺寸的趋势是增加或是基本稳定并且所述传输速率的趋势在降低时,会肯定检测到所述具有不公平竞争的拥塞,反之,则结果相反。3.根据权利要求1或2所述的方法,其中,检测是否存在拥塞的步骤包括检测是否存在没有不公平竞争的拥塞;以及在所述飞行尺寸的趋势增加并且所述传输速率的趋势基本上稳定时,会肯定检测到所述没有不公平竞争的拥塞,反之,则结果相反。4.根据权利要求1所述的方法,其中,检测是否存在拥塞的步骤包括检测是否存在具有不公平竞争的拥塞和没有不公平竞争的拥塞中的任一个,在所述飞行尺寸的趋势是增加或基本稳定并且所述传输速率的趋势是降低时,会肯定检测到所述具有不公平竞争的拥塞,反之,则结果相反,以及在所述飞行尺寸的趋势是增加并且所述传输速率的趋势基本稳定时,会肯定检测到所述没有不公平竞争的拥塞,反之,则结果相反。5.根据权利要求2或4所述的方法,其中,修改所述拥塞窗口的步骤包括在肯定检测到所述具有不公平竞争的拥塞时,增加所述拥塞窗口尺寸。6.根据权利要求3或4所述的方法,其中,修改所述拥塞窗口的步骤包括在肯定检测到所述没有不公平竞争的拥塞时,减少所述拥塞窗口尺寸。7.根据权利要求2或4所述的方法,其中,修改所述拥塞窗口的步骤包括在肯定检测到所述具有不公平竞争的拥塞时,将当前拥塞控制状态改变为新的拥塞控制状态,其中,所述当前拥塞控制状态和所述新的拥塞控制状态分别指定当前的规则和新的规则,其以在拥塞和数据丢失都未被检测到时,用于在接收到数据确认时增加所述拥塞窗口尺寸,以及所述新的规则指定以比所述当前规则更快的速率增加所述拥塞窗口尺寸。8.根据权利要求3或4所述的方法,其中,修改所述拥塞窗口的步骤包括在肯定检测到所述没有不公平竞争的拥塞时,将当前拥塞控制状态改变为新的拥塞控制状态,其中,所述当前拥塞控制状态和新的拥塞控制状态分别指定当前的规则和新的规则,以在拥塞和数据丢失都未被检测到时,用于在接收到数据确认时增加所述拥塞窗口尺寸,以及所述新的规则指定以比所述当前规则更慢的速率增加所述拥塞窗口尺寸。9.根据权利要求8所述的方法,其中,所述通信协议为TCP,如果所述当前拥塞控制状态为TCP慢启动,则在肯定检测到所述没有不公平竞争的拥塞时,执行从当前拥塞控制状态向新的拥塞控制状态的改变的操作,否则不执行此操作,以及所述新的拥塞控制状态为TCP拥塞避免。10.根据权利要求6所述的方法,其中,所述通信协议为TCP,以及如果所述传输节点处于TCP拥塞避免拥塞控制状态,则在肯定检测到所述没有不公平竞争的拥塞时,执行减少所述拥塞窗口尺寸的操作,否则不执行此操作。11.根据权利要求7所述的方法,其中,在确定所述飞行尺寸的趋势和所述传输速率的趋势的步骤中,在时间周期内确定所述飞行尺寸的趋势和所述传输速率的趋势,所述时间周期开始于从之前的拥塞控制状态到当前拥塞控制状态的最近的改变之前的并接近于此的时刻,其中,所述之前的拥塞控制状态和所述当前的拥塞控制状态分别指定之前的的规则和当前的规则,以在拥塞和数据丢失都未被检测到的时候,用于在接收到数据确认时增加所述拥塞窗口尺寸,而且所述之前的拥塞控制状态指定以所述当前拥塞控制状态更快的速率增加所述拥塞窗口尺寸。12.根据权利要求5所述的方法,其中,在确定所述飞行尺寸的趋势的步骤中,在时间周期内确定所述飞行尺寸的趋势,所述时间周期开始于由于检测到的拥塞而产生的所述拥塞窗口尺寸的最近减少之后并最接近于此的时刻,以及在确定所述传输速率的趋势的步骤中,在时间周期内确定所述传输速率的趋势,所述时间周期开始于由于检测到的拥塞而产生的所述拥塞窗口尺寸的所述最近减少之前并接近于此的时刻。13.根据权利要求12或5所述的方法,其中,所述通信协议为TCP,以及如果所述传输节点处于TCP拥塞避免拥塞控制状态,则在肯定检测到所述具有不公平竞争的拥塞时,执行增加所述拥塞窗口尺寸的操作,否则不执行此操作。14.根据权利要求7或11所述的方法,其中,所述通信协议为TCP,如果所述当前拥塞控制状态为TCP拥塞避免,则在肯定检测到所述具有不公平竞争的拥塞时,执行从当前拥塞控制状态向新的拥塞控制状态改变的操作,否则不执行此操作,以及所述新的拥塞控制状态为TCP慢启动。15.一种用于在传输节点中控制数据通信协议中拥塞的装置,所述数据通信协议采用确认通信,在所述确认通信中传输节点将数据传输至接收节点而且所述接收节点确认接收到所述数据,其中,拥塞窗口指定所述传输节点在接收到所有或部分所述数据的肯定确认之前传输的未确认数据的最大量,所述装...

【专利技术属性】
技术研发人员:约瑟·洛佩斯·塞拉诺路易斯·皮内罗·布兰卡吉列尔莫·洛佩斯·塞拉诺
申请(专利权)人:贝匡特有限公司
类型:发明
国别省市:西班牙;ES

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

1