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往返时延与拥塞控制的研究.doc

TCP往返时延与拥塞控制的研究   【摘 要】时延测量和拥塞控制对于网络的管理、协议开发与技术发展具有重要意义。本文列出了时延和拥塞控制的概念以及产生的相应机理,并提出了应对的算法。对于网络时延测算软件的设计,本文具有理论指导意义。   【关键词】TCP 往返时延 拥塞控制   一、概念简介   TCP协议实现了流量控制和拥塞控制功能,可以保证数据的有序可靠的到达目的端。因此,目前网络传输层中多数的应用均?用TCP协议进行。   往返时延(RTT)是研究TCP连接行为的重要测度,它是指从TCP发端发出报文到接收到通信对端立即返回的确认报文所经历的时长。   拥塞控制(congestion control)是防止过多的数据注入网络中,这样可以使网络的路由或链路不过载。对于通信端点来说,拥塞往往表现为通信时延的增加。   二、TCP往返时延   (一)概述   TCP相对于UDP来说是可靠传输,但代价也是存在的。TCP采用一种自适应的算法,它记录一个报文段发出的时间,以及收到相应确认的时间,这两个时间之差就是往返时延(RTT)。TCP保留了RTT的一个加权平均往返时间RTTs。时延的测量有挺多,以下给出两种。   (二)SYN-ACK方法   SYN-ACK方法,通过监测TCP三次握手建立连接的过程来估计RTT。用监测到的最后一个和第一个ACK之间的时间间隔来计算RTT。使用此方法的前提: SYN-ACK和ACK的传输没有被延迟;SYN-ACK在传输中没有丢包,ACK在到达监测点前没有丢包;SYN和ACK在传输的过程中时间抖动不大。SYN-ACK方法的不足之处在于:丢包可能导致RTT估计过长,超过3秒的RTT被认为是不准确的。有些操作系统会使用DelayACK方式工作,导致RTT估计错误。为了减少错误,,SYN-ACK方法使用HTTP请求和应答之间的时延作为RTT估计的上界。   (三)SPECTRAL ANALYSIS方法   SPECTRAL ANALYSIS方法基本思想是:(1)使用前256个分组的到达间隔生成RTT初始估计值。(2)使用滑动窗口估计来设置RTT估计的上界。(3)使用序列号/应答号之间的关系来寻找DATA-ACK-DATA关联,设置RTT估计的下界。(4)使用自相关函数和Lomb-Scargle周期图来估计RTT。   三、TCP拥塞控制   (一)概述   拥塞的直接原因主要有:(1)存储空间不足;(2)带宽容量不足;(3)处理能力较弱。为对传输层进行拥塞控制,因特网建议标准定义了四种算法。   (二)拥塞控制算法   1.慢启动   旧的TCP在启动一个连接时会向网络中发送许多数据包,由于一些路由器必须对数据包排队,所以这样就有可能耗尽存储空间,从而导致TCP连接的吞吐量(throughput)急剧下降。避免这种情况发生的算法就是慢启动。当建立新的TCP连接时,拥塞窗口(cwnd)初始化为一个数据包大小。源端按cwnd大小发送数据,每收到一个ACK确认,cwnd 就增加一个数据包发送量. 很显然,cwnd的增长将随RTT呈指数级(exponential)增长:1个、2个、4个等等。 源端向网络中发送的数据量将急剧增加。   2.拥塞避免   发送端的cwnd每经过一个往返时延RTT就增加一个最大报文段长度MSS的大小,而不是加倍,使得cwnd按线性规律缓慢增长,当出现一次超时时,令慢开始门限ssthresh等于当前cwnd的一半。可归纳如下:   当cwnd小于ssthresh时,使用慢开始算法。   当cwnd大于等于ssthresh时,改用拥塞避免算法。   3.快重传和快恢复   当数据包超时时,cwnd 要被置为1,重新进入慢启动,这会导致过大地减小发送窗口尺寸,降低TCP连接的吞吐量. 所以快速重传和恢复就是在源端收到3 个或3 个以上重复ACK 时,就断定数据包已经丢失,重传数据包,同时将ssthresh 置为当前cwnd 的一半,而不必等到RTO 超时。   总的来说,TCP 拥塞控制算法如下:   1.初始化: win = min( cwnd,awin)   cwnd = 1;   ssthresh = 65535bytes (缺省值);/   2.当新确认包ACK 到达时:If( cwnd ssthresh)   / Slow Start /   cwnd = cwnd + 1;   Eise   / Congestion Auoidance /   cwnd = cwnd + 1 / cwnd;   3.超时: ssthresh = max(2,min( cwnd / 2,awin));   cwnd

文档评论(0)

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

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

版权声明书
用户编号:5243141323000000

1亿VIP精品文档

相关文档