TCP拥塞控制研究硕士论文_第1页
TCP拥塞控制研究硕士论文_第2页
TCP拥塞控制研究硕士论文_第3页
TCP拥塞控制研究硕士论文_第4页
TCP拥塞控制研究硕士论文_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、TCP拥塞控制研究摘要:拥塞控制已成为确保Internet稳定性、鲁棒性的关键因素。由于TCP协议总是认为丢包是网络拥塞所造成的,使得其在高误码率的无线信道中性能下降较大。提出一种无线网络中TCP的拥塞控制算法。应用该算法,源节点能够在发生拥塞时迅速降低发送速率,以缓解拥塞;也能在无线信道丢包时,迅速重传,避免网络资源浪费。仿真结果表明,该算法能够较好地适应无线环境,使TCP的性能提高大约5一18。针对目前TCP拥塞控制机制中存在的实际问题,提出了一种新的拥塞控制机制,包括COS-Slow-Start和A-AIMD两种改进策略。NS2仿真实验结果表明,该机制能有效地减少分组的丢失、平缓突发流量

2、的冲击,并可增加带宽的有效利用率。关键词:TCP拥塞控制 慢启动 拥塞窗口 门限阈值 往返延迟时间 超时重传 NS2仿真 无线TCP 拥塞控制算法 吞吐量 丢包率TCP congestion control researchAbstract:The congestion control is a most important protocol which improves the internet S stability and robustness. A new congestion control algorithm for TCP in wireless network is propo

3、sed In this algorithm,the source can reduce its sending rate when congestion occurs, and quickly retransmit when packets drop due to wireless channe1Simulation results show that the algorithm works well in wireless environmentand the performance of TCP is improved by from 5 to 18The current standard

4、 TCP congestion control mechanism an d its actual problem are investigated A new variant congestion control scheme comprehends COSSlowStart and A-AIMD are presented。Finally,NS2 simulation results show that it can significantly reduce both packet losses and traffic burstiness,and increase the bandwid

5、th utilization ratio. TCP performs poorly in high bit error rate wireless channel because of the assumption that packets loss is always a sign of congestion Key words:TCP congestion control;slow-start;cwnd;ssthresh;round-trip time(RTT);retransmission timeout(RTO);NS2 simulation;WTCP;algorithm; Throu

6、ghput;Packets;drop;rat0 引言随着Internet迅速发展,网络在过去几十年里经历了爆炸式的增长。由于资源容量和处理能力有限,使得拥塞问题日益严重,拥塞现象已成为制约网络发展的瓶颈。1986年lO月,由于拥塞崩溃的发生,美国LBL到UC Berkeley的数据吞吐量从32 Kbps跌落到4O bps。为了保证Internet稳定发展,人们对拥塞控制展开了大量的研究,先后提出了多种算法。最初由VJacobson提出的TCP ahoe 采用了“慢启动”和“拥塞避免”机制。TCP Reno在此基础上增加了“快速重传”和“快速恢复”。TCP NewReno则是对Reno中“快速恢

7、复”算法的有效补充。TCP SAcK使用了“选择性重复”策略,通过动态应答反馈给发送端一份完整的信息来确定分组丢失,这也仅在一定程度上解决了多个分组的丢失问题。TCP Vegas虽然在分组丢失前对路由进行检测,测到即将发生的丢包就线性降低速率,从而限制窗口的指数增长,但仍无法避免一个窗口中多个分组的丢失,并在一定程度上降低了网络性能。随着通信网络技术的发展,无线通信和移动计算的需求在持续地增长,无线网络在未来因特网中无疑将扮演极为重要的角色。无线局域网、蓝牙、移动通信、Adhoc网络等无线网络技术极大地推动着无线和移动因特网技术的发展。但是无线网络呈现的特性使得传统传输控制协议TCP由于设计本

8、身的局限,无法良好地服务无线网络,改进传统的TCP以适应无线网络环境便成为国际上的一个研究热点。目前的TCP拥塞控制大多采用和式增加积式减少 Additive Increase Multiplicative Decrease(AIMD)算法,其主要优点是能快速地获得网络中的可用资源。而当网络拥塞程度加剧时,又能急剧降低数据发送速率,迅速减轻网络拥塞。但也正因为如此,致使其窗口速率波动较大,资源利用率不高(通常只有75左右)。针对上述现象,本文首先分析了现有的拥塞控制机制及出现的问题,然后提出了一种新的拥塞控制机制(包括COSSlowStart和AAIMD两种改进策略)。最后通过网络仿真软件NS

9、2对新策略进行了仿真。实验结果表明它能有效地改善网络性能。传统TCP把所有的分组丢失简单归因于网络拥塞策略的盲目性,严重恶化了无线环境中TCP的性能。无线链路的特性主要表现在很高的链路误码率、有限的带宽、较大的时延和时延抖动、终端的移动性、能源消耗约束等方面。要实现理想的控制策略,一方面在可能的前提下要尽量减少误码丢包、避免重传;另一方面要能区分无线误码造成的数据丢失和网络拥塞造成的数据丢失,采取不同的控制策略。目前,关于无线TCP拥塞控制算法的成果有很多,如文献13。它们虽然提高TCP的性能,但大多引入了接收方、基站或者数据链路层的反馈,增加了实现的复杂度。本文提出的TCP拥塞控制算法较为简

10、单,由于是在TCP Reno上作的改进,故称之为Modified Reno(简称MReno)。NS一2仿真表明:MReno能够较好地适应无线环境,提高TCP的性能。1 现有的拥塞控制机制据统计,由于本地缓存溢出Internet网关会丢弃约10的数据包,而互联网中95 以上的数据流量是通过TCP传送的0 。为了保证Internet的稳定性,TCP拥塞控制采用了较保守的AIMD算法,它可分以下4个步骤(如图1所示 ,其中MSS为最大分组长度): 当拥塞窗口(cwnd)小于门限阈值(ssthresh)时,采用慢启动机制来获得网络可用带宽。收到每个应答包后,cwnd=cwnd+1; 当cwnd大于ss

11、thresh时,进入拥塞避免状态,并尽可能地重新探测网络可用带宽。收到每个应答包后,cwnd=cwnd+lcwnd; 当收到三组重复应答返回报文ACK时,采用快速重传机制重发ACK指示的数据包,并利用快速恢复机制对cwnd和ssthmsh重新赋值,避免进入慢启动阶段,ssthresh=cwnd2; 当重传定时器retransmission timeout(RTO) 超时时,不得不再次进入慢启动阶段。这种基于窗口的端到端拥塞控制机制对temet上大批量文件传输等尽量做好型服务具有较好的适应性,但在现代网络高带宽低延迟的环境下,它已被证明是极其低效的。一个典型的例子脚:有一条72 Gbps的链路,

12、设I 是100 ms,TCP数据包大小是1500byte,TCP流的发送窗口峰值可达80000。当一次分组丢失后,发送窗口减半,那么发送端需要40 000个I 时间来恢复到它丢失前的发送速率,约需要近70分钟时间。这意味着链路将在相当长的一段时间得不到充分利用。速率增长过慢减少过快是AIMD的主要问题。针对以上问题,研究人员尝试性地提出了一些新的TCP改进算法,典型的有Scalable-TCP,HighSpeed-TCPFAST-TCPt6等,但各具优势。2 新的拥塞控制机制有统计表明,“慢启动”对短生命期连接较重要,而“拥塞避免”对长生命期连接更重要。为了有效地提高短生命期连接的传送效率并改

13、善长生命期连接的启动和丢包重发过程,本文分别从慢启动和AIMD两个方面对原有的拥塞控制机制进行改进。21 COS-Slow-Start首先,我们提出一种基于余弦函数的新的慢启动策略:COS-Slow-Start。定义拥塞窗口cwnd从1个分组开始,以余弦函数的增长方式来逐步执行慢启动过程(如图2所示)。为了便于分析,我们以ssthresh2为界,把慢启动分成前后两个半程,并假设慢启动阶段所有分组在往返延迟时间I内都正确返回应答报(ACK),所有RTT均相等。由图2可以看出,由于原TCP慢启动拥塞窗口cwnd从1开始以2的指数幂增长方式来探测网络可用带宽。cwndJ达门限阏值ssthresh将耗

14、费多个往返延迟时间RTT,使得发送窗口远小于路径带宽延迟乘积,这样短生命期连接的可用带宽利用率较低。同时,由于拥塞窗口按指数增长,后半程(cwnd>ssthresh2)递增太快,这在一定程度上增加了丢包风险。而瞬间发送过多的分组,往往导致瓶颈链路阻塞严重,引发多个分组丢弃。接着超时重传的拥塞退避机制可能导致网络的全局同步,引起整个网络的流量负载和排队延迟的抖动,使得TCP性能大幅下降。 而采用了新的慢启动算法COS-Slow-Start后,前半程(cwnd<=ssthresh2)增大发送分组量,以较快地获得网络可用带宽,提高了网络的利用率。后半程逐步减小窗口增长速度,平滑从慢启动阶

15、段过渡到拥塞避免阶段,从而达到既减少了慢启动阶段前期所经历的时间,又降低了后期突发流量对网络的冲击,有效地改善了网络的稳定性,提高了带宽的利用率。用数学表达式描述如下:式中:cwnd拥塞窗口,ssthresb 门限阈值,r 往返延迟时间I 的数目。因为cwnd是基于分组发送的,只是按字节计数而已,而每个点的余弦函数值并非整数,所以我们引入取整符号来修饰cwnd值。为了避免慢启动阶段初期cwnd开的过大,引起不必要的分组丢失重传,前半程cwnd向下取整。同时,为了平滑稳定地进入拥塞避免阶段,不致于引起过多的流量颠簸,后半程cwnd向上取整。而由于cos(re2)=0即cwnd上升曲线最高点斜率为

16、0,此时拥塞窗口将不再增长。为了更好地与原标准TCP拥塞避免阶段衔接,特规定: 当ssthreshcwnd>tr时,采用上述所提出的改进后的慢启动算法,见上文表达式); 当ssthresh-cwnda时(如图2所示),则采用标准的TCP拥塞避免算法,cwnd=cwnd+1/cwnd.a为调节因子。理论上d取值越小,cwnd上升曲线由慢启动过渡到拥塞避免阶段越平稳。但仃过小会使得cwnd上升曲线在慢启动阶段末端过于平缓(因cwnd曲线斜率为0),反而影响到向拥塞避免阶段的平稳过渡。经实验我们取a=2。22 A-AMID 根据文献】引入一种可调参数的AIMD(a,b)算法A-AIMD,当a、

17、b取不同值时可得到不同的拥塞控制机制。显然若取较小的加性因子am乘性因子b时,可大幅度降低窗口发送速率的波动,充分利用网络资源(如a=15,b=18时,资源利用率可达9375)。然而较小的a、b却难以快速获得网络可用资源,且当拥塞程度加剧时,与原TCP相比,窗口的发送速率下降较慢,不能迅速缓解拥塞。基于上述原因,我们把整个AIMD分成暂时态S1和稳定态S2,设:条件1 当窗口速率的波动w >时,系统转至暂时态S1;条件2 当窗口速率的波动w时,系统转至稳定态S2。Aw为窗口发送速率的波动量,6为状态迁移门限因子。由图3可知, 整个拥塞控制机制有3种工作状态: 基于COSSlowStart

18、的慢启动态S0,基于AIMD(al,b1)的暂时态S1和基于AIMD(a2,b2)的稳定态S2。a1b1以及a2,b2的选取满足条件:口=3b(26)且(al>a2,bl>b2),以确保资源的公平竞争。也就是当系统处于暂时态S1时,调用基于A1MD(al,b1)的拥塞控制机制; 而当系统处于稳定态S2时 则调用基于AIMD(a2,b2)的拥塞控制机制。系统状态迁移可用上述条件1和2来判断。A-AIMD的具体实现过程如下:(1)建立连接或重传定时器RTO超时,系统处于慢启动态S0,采用新的慢起动策略:COS-Slow-Start。直到拥塞窗口cwnd达到门限阈值ssthresh,之后

19、转至(2)。(2)调用AIMD(a1。b1)算法,系统处于暂时态S1,同时检测此状态下窗口的平均发送速率W。直到窗口平均速率的波动量Awd,于等于门限因子 ,之后转至(3)。(3)调用AIMD(a2,b2)算法,系统处于稳定态S2,同时检测此状态下窗口的平均发送速率W。直到窗口平均速率的波动量Aw大于门限因子 ,若为重传定时器RTO超时则转至(1),否则转至(2)。3 仿真与验证为了验证新策略的有效性,我们采用了UCBerkely大学LNBL研究小组开发的网络模拟器NS228作为仿真工具,在Linux 903操作系统下,对图4的拓扑结构进行场景模拟。其中S1至Sn为发送端,D1至Dn为接收端,

20、它们分别到路由器R1、R2的链路带宽均设为10M,延迟为2 ms。瓶颈链路出现在R1与R2之间,带宽设为15 M,传送延迟为50 ms,ssthresh取接近于网络实际带宽的近似值。为简化分析,我们设路由器缓存为20个分组大小,发送端以每个分组1K大小,连续发送1M FTP单向数据流。我们采用增加COS-Slow-Start后的A-AIMD算法与原算法进行比较,路由队列管理采用FIFO和DropTail策略,进行了多组实验。随着发送端联入链路的连接数逐渐上升,新算法的分组丢失数较少,并增长缓慢(如图5所示),优于原算法。由于在新算法中,慢启动阶段的后半程(cwnd>ssthresh2)曲

21、线上升较为缓慢,同时稳定态选取了较小的加性因子a和乘性因子b,大幅度降低了窗口发送速率的波动,使突发流量平缓地进入网络,从而避免了不必要的超时重传,使得有效传送时间(发送时间与传输时间之和)和分组丢失数都优于原算法,而且又充分利用网络资源。为了进一步比较改进前后的两种拥塞控制机制对队列瞬间长度的影响,我们采用了RED队列管理算法进行对比实验,发现新算法的路由瞬间队列长度小于原算法(如图6所示),可见新的拥塞控制机制还有利于改善路由器的队列管理性能。给出的公式:对于TCP数据流,有: W平均发送窗口,P 平均丢包率。由于新策略增大了慢启动发送窗口,调节了AIMD(a,b)的参数值,使得分组丢失率

22、明显降低。 同时,当N个同等TCP连接共享一条瓶颈链路时(如图4中路由器R1、R2之间),设该路由缓存允许的最大排队数为K,瓶颈带宽延迟积为L。如果连接符合公平性原则,那么所有窗口之和应满足N·w=K+L代入上式可得4 一种关于解决无线TCP拥塞控制算法描述与Reno相同,MReno主要包括慢启动、拥塞避免、快速重传和快速恢复等阶段。不同之处在于超时后的处理。超时可能是由信道特性所致,此时网络并没有发生拥塞。若采用Reno的策略将发送窗口,即cwnd置1并进行慢启动,势必会大幅降低TCP的性能。但若以原窗口继续发送,又无法解决网络一旦发生拥塞的情况。两者必然存在一个最优的折中点MRe

23、no的核心思想是:超时后,MReno将cwnd和慢启动门限值(ssthresh)减半,进行拥塞避免,即cwnd =cwnd +lcwnd。若再次发生超时,再将cwnd减半。该算法兼顾了两种超时的情况,符合TCP的加法增加、乘法减小(即AIMD)原理。MReno算法描述如下:· 收到ACK时如果cwnd < ssthresh=cwnd cwnd+ 1:否则cwnd=cwnd+1cwnd;· 定时器超时后ssthresh = ssthresh2;cwnd = cwnd 2;进入拥塞避免;· 收到3个重复的ACK时ssthresh = cwnd 2;发送丢失的分组

24、;cwnd = ssthresh + 3:进入拥塞避免;· 收到新的ACKcwnd = ssthresh:5 假设与算法模型5.1 模型假设首先,假定发送一个窗口数目的数据包所需的时间远小于往返时间RTT。其次,cwnd不受接收端通告窗口的限制。令 W表示当前发送窗口的值。称发送W个数据包并经过一个RTT为一轮。假设各轮发送所丢失的数据相互独立。5.2 M-Reno吞吐量计算Reno收到3个重复ACK分组(即事件TD)后的行为作了分析,这里我们只需计算新的超时处理机制带来的吞吐量变化即可。记T0为定时器超时后发送端的等待时间。经过一次超时后,发送端等待 ,然后重传未确认的分组。当连续

25、第二次发生超时后,发送端的等待时间变为2*T0 。在丢失的分组重传成功之前,该参数将一直加倍,直至其上限64*T0。令事件TO表示超时,事件TD表示收到3个重复的ACK。记为两个相邻超时事件的时间间隔,为一个超时事件所经历的时间。定义,表示在Si 期间所发送的数据包。那么,Si ,Mi即为一组独立同分布的随即变量序列。我们有 。B表示长期稳态条件下TCP的发送速率,即吞吐量,单位为包秒。用表示在一个中的第j个快速恢复阶段。定义为该阶段发送数据包的数目,为该阶段的时间长度,为该阶段内发送的轮次数,为该阶段截止时拥塞窗1:3的大小。另外,定义Ri为中发送的数据包个数。于是有:对上面二式取均值,得

26、假定是独立同分布的随机变量序列,与Yi和Ai均独立。那么, 下面我们来推导En的表达式。注意到在中,两个连续的超时过程中有n 个TDP。在这些TDP中,前n一1个都是以TD结尾,最后一个则是以TO结尾。于是我们定义Q为一个TDP以TO结尾的概率。显然有,Q=1En。于是由图1,P表示发生超时的概率,则: 对于较小的P,可以对式(2)(3)作如下近似:其中,b为一个ACK所确认的数据报的个数。最后,我们令1P= 1从而, 6. 仿真与性能比较6.1仿真的基本设定ns-2仿真采用网络拓扑如图2所示。其中,链路1和链路2均为带宽为1M,延迟为10ms的DropTail型的双向链路。链路3为带宽为15

27、M,延迟为10ms的SFQ型双向链路。为了模拟无线信道的特性,在链路3还加入了丢包模型,并在仿真中根据不同的丢包率进行了性能分析。62 拥塞窗口的分析与比较图3是丢包率为001时,Reno和M-Reno的cwnd的变化图,其中实线表示Reno的拥塞窗口变化曲线,虚线表示M-Reno的拥塞窗13变化曲线。在第2秒到第4秒之间,Reno由于超时经历了两个慢启动过程,而M-Reno则根据新的超时处理机制,将cwnd减半进行拥塞避免。图3表明,上述两次超时并非网络拥塞所致,因为M-Reno的cwnd并未继续减半,而是线形增加。63 吞吐量的分析比较如图4一图6所示,随着丢包率的增大,与Reno相比,M

28、-Reno对吞吐量的提升也愈加明显。其中实线表示Reno的吞吐量变化曲线,虚线表示MReno的吞吐量变化曲线。显然丢包率越大,拥塞造成超时的概率就越小,Reno的超时处理策略造成TCP性能下降就越大 另外,通过与相应参数下cwnd变化图的比较可知M-Reno在Reno超时进行慢启动处的吞吐量性能提升最大。吞吐量统计结果如表1所示,单位为包秒。7 结语统计显示,Interact中95的数据流使用了TCPIP协议。本文分析了目前基于窗口的TCP拥塞控制机制对网络性能的影响,提出了一种新的慢启动策略COSSlow-Start,并引入了可调节参数值的AIMD(a,b)策略,以期进一步改法性能,提高资源利用率。最后,仿真结果表明该策略能有效地降低拥塞发生的可能性,减少分组的丢失,实现高效稳定的拥塞控制过程。由于超时重传的减少,间接地提高了链路带宽的有效利用率,并一定程度上提高了路由器的队列管理

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论