基于TCP的拥塞控制算法研究综述

来源 :电脑知识与技术·学术交流 | 被引量 : 0次 | 上传用户:laijiren_ruby1
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:随着互联网规模的增长,互连网上的用户和应用都在快速的增长,拥塞已经成为一个十分重要的问题。近年来,在拥塞控制领域开展了大量的研究工作。此文介绍了基于TCP协议的拥塞控制算法的研究现状,分析了对算法改进的研究,并提出一些改进的建议。
  关键词:Internet;TCP;拥塞控制
  中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)22-619-02
  Based on TCP Congestion Control Algorithm Research Summary
  DIAN Shi-mei
  (Yunnan Medical College, Kunming 650031, China)
  Abstract: As the number of users and applications of Internet increases very quickly, congestion control become more and more important. A mass of research in the field of congestion control has been done recently. In this paper, the current research of congestion control algorithms based on the TCP protocols that implemented on Internet are summarized, and the improvement of algorithms are analyzed. Finally, the paper make some suggestions for future research.
  Key words: Internet; TCP; Congestion control
  1 引言
  随着互联网技术的迅猛发展,网络用户和信息传输量呈爆炸性增长,用户提供给网络的负载大于网络资源容量和处理能力的时候,网络将产生拥塞,表现为数据包时延增加、丢弃概率增大、上层应用系统性能下降等。
  目前,Internet上广泛使用的TCP/IP协议中,拥塞控制算法可以分为两个主要部分:在端系统上使用的源算法和在网络设备上使用的链路算法。其中,TCP拥塞控制算法实现于端到端的主机中。在各种TCP协议实现中一般都包含四种相互交织的拥塞控制算法:慢启动、拥塞避免、快速重传以及快速恢复。基于这四个阶段的算法,本文总结了一些改进的研究,并就值得改进的环节提出想法和建议。
  2 TCP拥塞控制算法
  1988年Van Jacobson指出了TCP在控制网络拥塞方面的不足,并提出了“慢启动”(slow start)算法、“拥塞避免”(congestion avoidance)算法[1]。1990年出现的TCP Reno版本增加了“快速重传”(fast retransmit)算法、“快速恢复”(fast recovery)算法,避免了网络拥塞不够严重时采用“慢启动”算法而造成过大地减小发送窗口尺寸的现象,这样TCP的拥塞控制就由这4个核心部分组成,最近几年又出现TCP 的改进版本如New Reno [2]、SACK[3]等。
  2.1 TCP拥塞控制的主要参数
  TCP拥塞控制是通过控制一些重要参数的改变实现的,主要的参数有:
  1)拥塞窗口(cwnd):是拥塞控制的关键参数,它描述源端在拥塞控制情况下一次最多能发送数据包的数量。
  2)通告窗口(awin):是接收端给源端预设的发送窗口大小,它只在TCP连接建立的初始阶段起作用。
  3)发送窗口(win):是源端每次实际发送数据的窗口大小。
  4)慢启动阈值(ssthresh):是拥塞控制中慢启动阶段和拥塞避免阶段的分界点。
  5)回路响应时间(RTT):一个TCP数据包从源端发送到接收端。源端收到接收端确认的时间间隔。
  6)超时重传计数器(RTO):描述数据包从发送到失效的时间间隔,是判断数据包丢失与否、网络是否拥塞的重要参数,通常设为2RTT或5RTT。
  7)快速重传阈值(tcp rexm tthresh):是能触发快速重传的源端收到重复确认包ACK的个数。当此个数超过tcp rexm tthresh时,网络就进入快速重传阶段。tcp rexm tthresh缺省值为3。
  2.2 TCP拥塞控制的四个阶段
  2.2.1 慢启动阶段
  慢启动的实质是通过逐渐增加发送量以找到合适的发送带宽的过程。旧的TCP在启动一个连接时会向网络中发送许多数据包,由于一些路由器必须对数据包排队,所以这样就有可能耗尽存储空间,从而导致TCP连接的吞吐量急剧下降。避免这种情况发生的算法就是慢启动。当建立新的TCP连接时,拥塞窗口(cwnd)初始化为一个数据包大小(一个数据包缺省为536或512bytes)。源端按cwnd大小发送数据,每收到一个ACK确认,cwnd就增加一个数据包发送量。cwnd的增长将随RTT呈指数级(exponential)增长:1个、2个、4个、8个、……。源端向网络中发送的数据量将急剧增加。
  2.2.2 拥塞避免
  当发现超时或收到3个相同ACK确认帧时,网络即发生拥塞。TCP这一假定是基于由传输引起的数据包损坏和丢失的概率很小(小于1%[1])。此时就进入拥塞避免阶段。慢启动阈值(ssthresh)被设置为当前cwnd的一半,如果是超时,cwnd还要被置1。如果此时cwnd>=ssthresh,TCP就重新进入慢启动过程;如果cwnd > ssthresh,TCP 就执行拥塞避免算法,cwnd在每次收到一个ACK时只增加1/cwnd个数据包(这里将数据包大小seg size假定为1),所以在拥塞避免算法中cwnd的增长不是指数的,而是线性的(linear)。
  2.2.3 快速重传和恢复阶段
  当数据包超时时,cwnd要被置为1,重新进入慢启动,这会导致过大地减小发送窗口尺寸,降低TCP 连接的吞吐量。所以快速重传和恢复就是在源端收到3个或3个以上重复ACK时,就断定数据包已经丢失,重传数据包,同时将ssthresh置为当前cwnd的一半,而不必等到RTO超时。
  3 TCP拥塞控制算法的改进研究
  3.1 慢启动的改进
  在TCP拥塞控制的4个过程中,慢启动是基础,在TCP连接开始时,必须首先执行慢启动,所以在改善慢启动阶段的性能以减小响应时间方面开展了很多研究工作[4]。慢启动算法通过逐渐增加的大小来探测可用的网络容量,然而有时也会浪费可用的网络容量,因为慢启动算法总是从cwnd=1开始,每收到一个ACK,cwnd增加1,对RTT时间长的网络,为使cwnd达到一个合适的值,需要花很长的时间。文献[5]提出了使用大初始窗口的改进建议, 建立连接后,设初始窗口IW=min(4*MSS,max(2*MSS,4380bytes)),其中,MSS(maximum segment site)指这一连接的最大报文长度,这样TCP发送端在刚开始就可以发送3个1460字节或4个512字节的分组,从而减少3个RTT时间和一个延迟ACK时间,但是同时它也会导致附加分组的丢失,降低网络性能,因此这种改进仍处于研究阶段,没有应用实施。
  3.2 基于速率的控制策略
  在TCP中使用的窗口控制策略本身机制存在一定的缺陷,如容易导致突发报文的出现;速率受到窗口大小的限制;一个窗口内多个报文的丢失不容易恢复等。针对这些问题,一些研究者提出了Rate-Based Pacing(RBP)的概念,将基于窗口的控制和基于速率的控制结合起来。
  3.3 ACK过滤(ACK Filter)
  该研究的主要目的是保持TCP的“自时钟”(Self Clocking)机制。TCP的“自时钟”机制有利于减轻突发报文对网络的冲击,而“ACK压缩”(ACK Compression)破坏了“自时钟”机制,因而网络中增加特殊的设备PEP(Performance Enhance Proxy)来确保ACK报文之间的间隔。
  3.4 减少不必要的重传时钟超时和快速重传
  在重传时钟超时和快速重传发生时,TCP都会减小拥塞窗口,从而降低传输的速率。RTT测量的准确性和“乱序报文”(Out-of-Order Packet)的出现都会影响TCP做出正确的判断。通过在应答报文中增加特殊的信息来解决这个问题。
  3.5 显式拥塞通知(Explicit Congestion Notification)
  当拥塞发生时,网关通过在报文中设定标志位通知端系统,而不等待发送方的时钟超时,这改变了原来TCP依赖报文丢失来判断拥塞发生的方法。
  3.6 “TCP友好”(TCP-Friendly)拥塞控制
  “TCP友好”定义为:长时间的吞吐量不超过相同条件下TCP连接的吞吐量。“TCP友好”拥塞控制属于基于速率的控制,速率的计算建立在TCP吞吐量模型的基础上。
  4 结束语
  网络拥塞问题的解决,将使互联网在多媒体和实时应用(如网络视频会议、远程监控等)中发挥更大的价值。本文对基于TCP拥塞控制算法的研究现状进行了总结,在介绍研究现状的同时,讨论了该领域的研究热点和发展方向。其中慢启动作为TCP拥塞控制过程的基础,其性能的提高对于拥塞问题的解决起着极其重要的作用。
  需要指出的是,这种在端系统进行的拥塞控制从感知拥塞到采取行动之间有着明显的时延,而且它无法了解资源的使用情况,目前主要是通过降低发向网络的流量来减小网络负载从而解决拥塞,这在一定程度上可以提高效率,但是很难保证公平性,要保证公平性以及进行有效的控制,最好能在对拥塞情况有足够信息的子网中,即在拥塞发生地进行相应的控制。
  参考文献:
  [1] Jacobson V.Congestion Avoidance and Control[J].IEEE/ACM Transaction Networking,1998,6(3):314-329.
  [2] Zhang H.Traffic control and QoS management in the Internet[J/OL].http://www.cs.cmu.edu/hzhang/.
  [3] Mathis M, Mahdavi J. TCP Selective Acknowledgment Options. RFC 2018, 1996.
  [4] Allman M, Floyd S, Partridge C. Increasing TCP’s Initial window RFC 2414[S].Internet Network Working Group,1998.
  [5] Jacobson V.Congestion avoidance and control[J].IEEE/ACM Transaction On Networking, 1998,6(3):314-329.
其他文献
摘要: 该文探讨了在Word中调用AutoCAD图形的几种方法以及具体的操作步骤,并对这些方法进行了分析比较,明确了各种方法的优缺点。利用这些方法,既可方便文字的录入,又可发挥AutoCAD的绘图优势,有效地实现图文混排的效果。  关键词: AutoCAD; 图形数据; 调用与处理  中图分类号:TP391文献标识码:B文章编号:1009-3044(2008)24-1291-02    The E
摘要:AVS标准是由2002年6月成立的“数字音视频编解码技术标准工作组”联合国内从事数字音视频编解码技术研发的科研机构和企业制定完成的,一套适应面十分广阔的技术标准。目前,视频解码器的实现的主要方法有:1)基于PC的软件实现;2)基于DSP的嵌入式系统实现;3)基于可编程逻辑器件的专用芯片实现。通用PC机非专用于视频处理,所以实现效率不高,而DSP虽然灵活性强,但是在性能以及性价比上不及FPGA
摘要:随着硬件技术的发展,移动设备的性能获得很大的提高。在移动设备上我们已经可以使用各种图像、音乐资源。目前在图片的使用上局限在几种格式,PNG自身的一些优点使其在移动设备上获得广泛的应用。移动设备应用程序的开发需要用到大量的图片资源,而这些对于程序员来讲是比较难于管理的。为图片资源开发一个可以方便读取的包文件结构,对图片进行打包,并提供相关方法接口,可以节约程序员的编码时间,同时可以方便对图片的
“文运同国运相牵,文脉同国脉相连”。习近平总书记指出,任何一个时代的文艺,只有同国家和民族紧紧维系、休戚与共,才能发出振聋发聩的声音。因时而兴,乘势而变,随时代而行,与时代同频共振是文艺的规律。离开火热的社会实践,在恢宏的时代主旋律之外茕茕孑立、喃喃自语,只能被时代淘汰。这要求广大文艺工作者把培育和弘扬社会主义核心价值观作为根本任务,坚定不移用中国人独特的思想、情感、审美去创作属于这个时代、又有鲜
古诗词作为国学经典的重要组成部分,其特殊的形式、承载的丰富内涵对培养学生的传统文化素养意义重大,在语文教学中也越来越受重视。然而,虽然古诗文的比重在教材中明显增加,教学效果却没有获得相应的提高。许多老师感到古诗词课难以上手,学生也往往提不起兴趣。原因是多方面的。比如,传统的课堂教学模式以传授固定知识为主,缺少互动,环节僵化,难免使学生产生畏难和厌倦情绪。哪怕再简短的古诗词,也有其特定的文化背景和内
在文学作品中回顾历史,在历史长河中感悟经典,文学作品是作家思想的集中反映,也是历史传承的重要载体。阅读英美文学作品不仅能够体会到文字的优美,感受到作品的独特特点,理解作者所傳递的情感,也能够在其中把握历史的变革。美国是一个现代文明高度发达的国家,尽管其历史并不长,但在文学领域也取得了丰硕的成果,留下了诸多颇具影响力的作品。梳理美国文学的发展历程,分析美国文学的特点,实质上也是从另一个角度去理解作者
摘要:当CDMA网络建设达到一定规模后,便进入一个“建设→测试→优化→建设……”的循环建设过程。只有通过不断优化网络,才能使网络资源达到最优的配置,最终在网络利用率上达到一个较高的客户满意度。网络优化是CDMA系统实际运营过程中一个必不可少的循环往复的工作。其目的就是对实际运行的无线网络进行数据采集、分析,找出影响网络质量的原因,通过各种优化方法,使网络达到最佳运行状态,网络资源获得最佳效益;同时
摘要:《边城》作为沈从文的代表作之一,被称为“现代文学史上最纯净的一个小说文本之一”。作者集中为读者展现了湘西独特的风土人情,通过主人公翠翠和傩送的爱情悲剧,为人们呈现出了不同于都市生活的乡村风景。本文旨在通过《边城》这一文本,从乡村生活与都市生活两个方面解读沈从文小说的内在结构,以此反观作者田园牧歌般笔触下隐藏的对都市生活的批判。  关键词:《边城》 乡土 都市 二元对立  纵观沈从文的大部分文
摘要:Linux是一门计算机专业基础课,具有较强的实践性。现在应用越来越广范,学会操作Linux操作系统是大学生的一项基本技能。文章阐述了Linux在高职的教学内容和教学方法,鼓励自学。  关键词:Linux;高职;教学;操作系统  中图分类号:G642文献标识码:A文章编号:1009-3044(2008)19-30096-01  The Teaching Study of Linux In Co