混合网络中基于ECN机制的拥塞控制方法转让专利

申请号 : CN200710034962.9

文献号 : CN101056260B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王建新叶进

申请人 : 中南大学

摘要 :

本发明公开了一种混合网络中基于ECN机制的拥塞控制方法,包括以下步骤:截取路由器的最近一段ECN反馈信息,并依据其中拥塞标记的分布来计算拥塞概率,发送方通过拥塞概率的变化趋势进行拥塞预测,并根据预测结果调整拥塞控制机制。本发明通过拥塞概率值的变化规律来进行拥塞推断,即只有当拥塞概率值呈现增加的趋势时才推断为拥塞,从而避免了使用独立ECN反馈时,对网络状态判断的瞬时性和盲目性。拥塞预测的结果用于控制TCP丢包响应行为,可以较为精确地消除混合网络中非拥塞丢包对TCP拥塞控制的影响。

权利要求 :

1.一种混合网络中基于显示拥塞通告ECN机制的拥塞控制方法,包括以下步骤:当发送方收到一个ACK时,首先刷新ACK数组并计算最新的拥塞概率,如果该ACK是一个正常的数值,那么无论当前拥塞概率是何值,都与固有的TCP拥塞概率协议一样保持拥塞避免或慢启动;如果该ACK是一个重复ACK并且依据拥塞概率预测的结果为拥塞,那么发送方将进行速率调整并重发进入快恢复;如果该ACK是一个重复ACK并且依据拥塞概率预测的结果为非拥塞,那么发送方仅仅重发和进入快恢复,拥塞概率计算如下:CP=Σi=0m-1wi*Ack[i]->ecnecho上式中Ack是发送方采集的最近到达的ACK序列,Ack[i]->ecnecho是其中第i个ACK包中拥塞标记位CE位的取值,wi是ACK[i]的权值,m是发送方采集的ACK包数量;

并且拥塞概率值变化呈现增加的趋势时,发送方将当前网络推断为拥塞状态。

说明书 :

技术领域

本发明涉及一种混合网络中基于ECN机制的拥塞控制方法。

背景技术

与有线网络不同的是,无线网络具有较高的比特误码、复杂的信道衰落、突发的设备噪声,这些特点将导致频繁产生丢包,可是传统TCP把所有的丢包简单归结为网络拥塞而盲目采取控制策略,从而极大降低了TCP的性能。因此在有线/无线混合网络中TCP需要排除非拥塞丢包对原有的拥塞控制机制的影响。
有线/无线混合网络中主要是通过区分拥塞丢包和无线错误丢包来改进TCP性能的。丢包区分方法有基于往返时延的NCPLD、基于包的到达间隔的TCP-Biaz、基于ROTT的TCP-Spike、基于RTT变化的TCP-Bayes、基于头部校验和的TCP-HACK等等。已有的这些方法主要存在以下的问题:
(1)大多数区分方法采用端到端的测度,而在构成日益复杂的混合网络中它们具有较强的动态性,因此建立这些测度和网络状态之间的对应关系是有困难的。这将直接影响丢包区分的准确性和相应的TCP性能。TCP-Bayes方法充分重视了这一特点,建立了表明RTT和丢包性质之间动态关系的HMM模型,将区分准确率保持在了80%以上,但是获得此模型需要基于历史数据进行学习和训练,由此付出的代价将使得该方法在TCP控制中的应用受到极大的限制。
(2)目前对区分方法的评价采用丢包事件的准确性指标,而在混合网络中由于长时延特性对单个丢包事件的响应不具备实时性,也就是说,发送方所获得的区分信息其实是先前的某个时刻网络的状态。那么即使区分正确率达到100%,对于提高TCP性能也可能毫无帮助。TCP中如何有效利用丢包事件及其区分信息是很关键的。
作为目前混合网络中重要的TCP协议,TCP Westwood,Jersey都采用了丢包区分的方法。
TCP通过监测返回ACK速率来持续测量有效带宽,并用当前有效带宽估算拥塞窗口和慢启动门限值。该方法基于系统的测量结果采取不同的控制策略,实际上是把丢包识别的规则隐含全局控制里面。它的瓶颈在于ACK到达的时延和累积效应使得带宽估计的准确性受到影响。
TCP Jersey:TCP Jersey在Westwood的基础上借助于ECN机制增强了丢包区分的能力,当发生丢包时发送方检测ACK反馈,如果其中拥塞标记位(Congestion Explicit)置1,就将该丢包归为拥塞引起的,否则归为错误引起的。这就是Fei和Shiduan提出的Wireless_ECN方法,以下简称WECN。然而近年已有一些研究指出ECN机制的丢包区分能力是比较弱的,完全依赖于拥塞感知的精确程度。为此,有大量的工作从两个方面改进了基于ECN机制的丢包区分算法。
第一个方面的工作旨在提高ECN机制对拥塞的感知/标记的精度。
SpeeTCP通过优化AQM的各项参数(缓存大小、标记阈值、丢包概率等)来最小化拥塞丢包,但是这种参数优化由于是静态配置的,在多个流多瓶颈的网络中是难以保证拥塞丢包的最小化。
Multilevel ECN将标记概率区间细分为两级,并分别设计了相应的标记概率,该方法提高了ECN标记的准确性,但是也增加了路由器工作的复杂性,同时参数的设置变得更加敏感。
第二个方面的工作旨在减少ECN反馈的时延,确保TCP响应的实时性。如果ECN机制能够在各种流量发生模型中准确标记拥塞,那么应该如何对ECN的拥塞标记进行响应呢?
ACK Spoofing/Congestion Signal Cancellation方法允许路由器在反馈拥塞标记的过程中及时更新的网络状态,ACK Spoofing通过自行产生3个重复ACK提前向发送方通告拥塞,Congestion Signal Cancellation则事先缓存拥塞标记,等待下一时刻路由器确认网络状态再决定是否发送该标记,这两种技术都是为了让发送方在最短的时间内捕获最近的网络状态,但是由路由器完成这样的工作无疑加大了系统开销和实施难度。
可见,基于ECN机制的拥塞控制方法得到了广泛的关注,已有的优化方案使其显示出巨大的应用潜力。但是对于上述第二个方面的问题,即如何利用ECN的拥塞反馈来控制TCP行为,仍然需要寻找更加简洁有效的方案,也是提高目前混合网络中TCP协议性能的一个关键点。

发明内容

为了解决上述基于ECN机制的拥塞控制方法存在的技术问题,本发明提供了一种混合网络中基于ECN机制的拥塞控制方法。该方法能够将丢包事件和拥塞概率相结合进行速率调控,从而保障了链路错误增加的情况下TCP的健壮性。
本发明解决上述技术问题的技术方案包括以下步骤:截取路由器的最近一段ECN反馈信息,并依据其中拥塞标记的分布来计算拥塞概率,发送方通过拥塞概率的变化趋势进行拥塞预测,并根据预测结果调整拥塞控制机制。
上述的混合网络中基于ECN机制的拥塞控制方法中,所述拥塞概率计算如下:
CP=Σi=0m-1wi*Ack[i]->ecnecho
上式中Ack是发送方采集的最近到达的ACK序列,Ack[i]->ecnecho是其中第i个ACK包中CE位的取值,wi是ACK[i]的权值,m是发送方采集的ACK包数量。
上述的混合网络中基于ECN机制的拥塞控制方法,当拥塞概率值变化呈现增加的趋势时,发送方将当前网络推断为拥塞状态。
上述的混合网络中基于ECN机制的拥塞控制方法,仅当预测的结果为拥塞时TCP发送方才启动降速等相应的拥塞控制机制,否则只是重发丢失的数据包。
本发明的技术效果在于:本发明中发送方在收到每个ACK包时刷新ACK数组,并计算新的拥塞概率值,对于正常ACK完全按照固有的ECN机制进行控制,而对于重复ACK,根据拥塞概率值推断网络状态,只有当推断的结果为拥塞丢包时,才降低发送窗口大小。本发明方法通过拥塞概率值的变化规律来进行拥塞推断,即只有当拥塞概率值呈现增加的趋势时才推断为拥塞,从而避免了使用独立ECN反馈时,对网络状态判断的瞬时性和盲目性。由于本发明实施中只需要修改发送方代码,本发明方法能够应用于各种TCP协议,使之适应于有线/无线混合网络中异构链路的传输特性,以保证网络获得更高的吞吐量和链路利用率,同时保持和原有TCP协议之间的友好性,以及流与流之间的公平性。
下面结合附图对本发明作进一步的说明。

附图说明

图1为本发明的流程图。
图2本发明的TCP吞吐量模拟仿真环境。
图3为本发明应用于Westwood中的性能分析效果图,其中本发明命名为CPECN。图3(a)为不同标记方法的吞吐量比较;图3(b)为端到端丢包率比较;(c)发送窗口变化情况。
图4本发明的TCP协议友好性模拟仿真环境。

具体实施方式

参见图1,图1为本发明的流程图。过程如下:TCP启动后首先进入慢启动,当拥塞窗口超过慢启动阈值后就进入拥塞避免阶段。在拥塞避免阶段中,如果发生超时,那么就重新开始慢启动;如果收到新的ACK,就按正常的TCP进行拥塞避免;但如果收到重复的ACK,就需要进行拥塞预测。拥塞预测方法如下:截取路由器的最近一段ECN反馈信息,并依据其中拥塞标记的分布来计算拥塞概率,发送方通过拥塞概率的变化趋势进行拥塞预测,并根据预测结果调整拥塞控制机制。如果预测结果为拥塞,那么发送方将进行速率调整并重发进入快恢复;如果预测的结果为非拥塞,那么发送方仅仅重发和进入快恢复。
本发明中用“拥塞概率”来表明分析的结果。具体地,由TCP发送方采集最近一段ACK的反馈信息,采用EWMA(Exponentially Weighted MovingAverage)方法对拥塞概率进行预测,将该概率称为“拥塞可能性因子”,计算方法如下:
CP=Σi=0m-1wi*Ack[i]->ecnecho,式(1)
其中Ack[i]->ecnecho={0,1},m是发送方采集的ACK包数量,m越大,获取的ECN反馈越多,越有利于预测概率的准确性,但同时会影响拥塞控制和差错控制的实时性。沿袭Reno中连续3个重复ACK进入慢启动的做法,并且截取下一个ACK包来确定中间路由器的状态,因此实验中以4个ACK包为单位计算P拥塞概率,并结合前后2个单位进行概率分析,即m=8。按照EWMA方法,对最近的4个ACK包取较大的权值α,对之前的4个ACK取较小的权值β,令前4个ACK的全概率之和等于最近1个ACK的全概率,那么:即:α=0.2,β=0.05。
综上所述,采用本发明方法可以使得TCP连接不受短期可恢复的非拥塞丢包事件的影响,从而可以增强TCP对抗错误链路的能力。
利用NS2.28网络仿真平台,我们在TCP Westwood中实现了本发明方法,并对其性能进行了测试。NS网络模拟器是一种通用的多协议网络模拟软件,它是互联网上公开发布的(网址:http://www.isi.edu/nsnam/ns),目前已被网络研究者广泛使用。NS2.28是它的版本之一。
我们采用图2所示的拓扑结构测试本发明方法的性能。如图2所示,单个TCP流从R0发送到R3,R1至R2之间模拟经过多个路由器的长时延的Internet,最后一跳为含错误丢包的无线链路。具体地,用户接入端链路带宽为100M,无线链路带宽为10M,时延均为3ms,瓶颈带宽5M,时延40ms,瓶颈上的缓存大小设定为管道容量。在Westwood中我们同时添加了WECN方法作为比较。为了测试链路丢包情况下的TCP性能,模拟实验中我们引入了一个简单的错误丢包模型,并用链路丢包率作为该模型的参数。默认模拟过程持续100秒。所有协议流的分组大小均设为1Kbyte。
1、吞吐量的分析
图3(a)给出了在不同丢包率下WECN方法和本发明方法应用于TCPWestwood时吞吐量的比较,假设路由器上采取简单阈值标记方法,从图中可见,无论路由器上的阈值如何设置,应用本发明方法都能够获得比应用WECN方法更高的吞吐量。
为了进一步分析吞吐量提高的原因,图3(b)、图3(c)给出了标记阈值取队列大小的3/4时链路丢包率和TCP窗口的变化情况(这里丢包率均指错误模型中指定的链路丢包率,而端到端丢失率指TCP发送方统计的接收数据包和发送数据包之比),图3(b)表明Westwood的端到端丢包率随着链路丢包率的增加而增加的幅度最大,尤其在丢包率超过0.005后。应用WECN方法和本发明方法并没有加大端到端丢包率,说明本发明方法是以提高链路利用率来提高吞吐量的。
图3(c)比较了0~35ms期间的窗口变化情况(取Loss Rate为0.01),Westwood有多次进入慢启动,尤其在30ms附近Westwood的发送窗口出现了严重的抖动;应用WECN方法后,发送方在丢包并收到单个ECN反馈的拥塞标记后也进入了一次慢启动;应用本发明方法后,由于基于拥塞概率值变化趋势的预测结果为”False”,因此TCP没有在丢包时进入慢启动,同样在22ms附近本发明方法出现了与WECN方法不同的判断,总的来看,本发明方法的发送窗口更加平稳。
在图2所示网络中加载服从指数分布的ON/OFF流,其速率为5Mbps,在约100ms的RTT时间内有25ms处于“on”状态,其余时隙处于“off”状态。表1描述了UDP/TCP混合流测试的结果。
表1加载on/off流情况下TCP/UDP吞吐量比较
  丢包率   0.001   0.005   0.01   协议   TCP   UDP   TCP   UDP   TCP   UDP   Westwood   1694  936   1457  971   1346  970   Westwood with WECN   1437  1114   1393  1041   1359  1039   Westwood with本发明   1679  994   1618  1039   1482  1055
表1可见,Westwood在混合网络中具备较好的与UDP流共享带宽的能力,但是随着丢包率从0.001加大到0.01,TCP流的吞吐量降低了20%;应用WECN方法后在TCP与UDP流竞争信道时并没有体现更大的优越性;应用本发明方法后,TCP的总体吞吐量是最优的,而且随丢包率的加大,吞吐量只下降了11%。
2、公平性和友好性分析
公平性和友好性是TCP协议的重要性能,相同TCP的多个连接必须和谐共处并快速收敛到公平点,同时新的TCP协议应当能够与其他传统的TCP协议共存,而不会导致使用传统协议的TCP流被饿死。我们采用图6所示的拓扑对应用本发明方法时TCP的公平性和友好性测试。
公平性试验中采用10个相同的TCP流接入瓶颈链路,10个流的总带宽为1000Mbps,共享20Mbps的长时延瓶颈链路,详细描述见图4中的标注。表2的测试结果表明应用本发明后TCP Westwood在不同丢包率情况下的公平性均较好。
表210个相同TCP流公平性比较
  Loss Rate   Westwood   Westwood  with  WECN   Westwood  with  本发明   0   0.935   0.962   0.997   0.001   0.998   0.999   0.999   0.005   0.999   1.0   1.0   0.01   0.999   0.998   0.999
友好性实验中将10个TCP流分别分配给两类协议,一类采用应用本发明方法的Westwood协议,另一类采用原来的Westwood协议。表3给出了两类协议占用不同连接时,平均吞吐量的变化情况,从中可见,本发明方法在各种情况下都能够与Westwood友好共存。
表3本发明方法与Westwood友好性实验

从以上实验数据看来,应用本发明方法的Westwood协议这两个方面的性能比较理想,这是因为Westwood这种针对无线链路的TCP协议,本身已经克服了Reno等传统TCP协议的一些缺陷,首先,Westwood采用的调节SSTHRESH和CWND的方法,比Reno中直接将这2个值置1或减半的方式,能够更有效的控制TCP速率,减少链路差错所带来的影响;其次,应用WECN方法借助中间路由器的拥塞标记在发送端分离差错控制和拥塞控制,起到了一定的作用。而本发明方法在它们的基础上,对反馈的拥塞标记进行了更合理的利用,因此在自身的公平性和与Westwood的友好性方面表现更好。