TCP拥塞控制概述.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
TCP拥塞控制概述 陈元琰 编译 1.Internet中拥塞发生的原因与拥塞控制 在当今的信息时代,Internet对人们的工作、学习和娱乐发挥着巨大的作用,因而在过去的十几年中经历了爆炸式的增长,随之而来的是越来越严重的拥塞问题。一方面,拥塞发生的原因是需求大于供给,网络中有限的资源由多个用户共享使用,由于没有接纳控制算法,网络无法根据资源的情况限制用户的数量;缺乏中央控制,网络也无法控制用户使用资源的数量。总的来说,网络产生拥塞的根本原因在于端系统提供给网络的负载大于网络资源容量和处理能力,表现为数据报延时、丢弃概率增加、上层应用性能下降等。1984年,Nagle[1]首次报告了TCP连接中没必要的重传诱发的拥塞崩溃现象,之后拥塞控制就一直是学术界普遍关注的焦点问题。因此,拥塞控制研究成了一个迫切需要解决的问题,拥塞控制是确保Internet稳定性(stability)和鲁棒性(robustness)的关键因素,也成了当前网络研究的一个热点问题。 通常拥塞产生的直接原因有以下三点: (1) 存储空间不足。几个输入数据流共同需要同一个输出端口,在这个端口就会建立排队。如果没有足够的存储空间存储,数据包就会丢弃。对突发数据流更是如此。增加存储空间在某种程度上可以缓解这一矛盾,但如果路由器有无限存储量时,拥塞只会变得更坏,而不是更好,因为在网络里数据包经过长时间排队完成转发时,它们早已超时,源端认为它们已经被丢弃,而这些数据包还会继续向下一路由器转发,从而浪费网络资源,加重网络拥塞。 (2) 带宽容量不足。低速链路对高速数据流的输入也会产生拥塞。根据香农信息理论,任何信道带宽最大值即信道容量C=Blog2(1+S/N)(N为信道白噪声的平均功率,S为信源的平均功率,B为信道带宽)。所有信源发送的速率R必须小于或等于信道容量C。如果RC,则在理论上无差错传输就是不可能的,所以在网络低速链路处就会形成带宽瓶颈,当其满足不了通过它的所有源端带宽要求时,网络就会发生拥塞。 (3) 处理器处理能力弱、速度慢也能引起拥塞。如果路由器的CPU在执行排队缓存,更新路由表等功能时,处理速度跟不上高速链路,也会产生拥塞。同样,低速链路对高速CPU也会产生拥塞。 要避免拥塞的发生,对以上3点原因需综合考虑。例如,提高链路速率而不改变处理器,只会转移网络瓶颈,而不能避免拥塞。所以拥塞往往也是系统各部分不匹配的结果。拥塞一旦发生往往会形成一个不断加重的过程。如果路由器没有空余的缓存,它就必须丢弃新到的数据包。当数据包丢弃时,源端会超时,重传该包,由于没有得到确认,源端只能保留数据包,结果缓存会进一步消耗,加重拥塞。因此在下面的讨论中,一般假定CPU、内存和链路带宽三者之间已基本达到最佳配置,纯粹的三者之中的某一方面性能不足而引起的拥塞不在讨论范围之内,这方面问题应由该网段的管理者负责更新使之达到最佳配置。我们所讨论的拥塞主要是指用户总需求大于网络总供给而引起的。 拥塞控制就是端系统或者网络中间节点采取措施来避免拥塞的发生或者对已经发生的拥塞作出反应,从而减轻拥塞直到恢复正常状态。拥塞控制必须同时考虑端系统和网络中间节点,并把它们分别采取的策略联系起来,因为它们之间是有密切的关系。例如,假定一个路由器对某些数据报的处理时间特别长,那么这就可能使这些数据报中的TCP报文段要经过很长的时间才能到达终点,结果使发送端的重传计时器超时,引起发送端重传这些报文段并认为是网络发生了拥塞,但实际上网络并没有拥塞。 在Internet早期的很长一段时间内,拥塞控制主要是指作用于端系统上的基于窗口的TCP流量控制,而网络中间节点的作用很少。1988年Jacobson在那篇著名的论文[2]中指出了TCP在控制网络拥塞方面的不足,并提出了“慢启动”(slow start)和“拥塞避免”(congestion avoidance)算法,奠定了现在网络拥塞控制的基础。拥塞控制算法一般包含拥塞避免(congestion avoidance)和拥塞控制(congestion control)两种不同的机制[3]。拥塞控制是恢复机制,它用于把网络从拥塞状态中恢复出来;拥塞避免是预防机制,它的目标是避免网络进入拥塞状态,使网络运行在高吞吐量、低延迟的状态下。 但近来的研究表明:无论采用如何精妙的机制,端系统在流量管理中所能发挥的作用终究是有限的,扩展中间节点的功能应该是增强端到端拥塞控制的一种有效的手段。此外,中间节点上的队列管理也严重影响着 TCP 的性能,例如,不恰当的队列管理算法可能造成 TCP 连接的全局同步、队列长时间处于满状态、处理突发业务时存在公平性问题等[4]。因此对路由器缓冲区的队列管理策略以及可能发出的显式拥塞反馈信息成为网络层拥塞控制的主要方法。 2.拥塞控制算法概

文档评论(0)

gangshou + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档