TCP的超时与重传详细解析_第1页
TCP的超时与重传详细解析_第2页
TCP的超时与重传详细解析_第3页
TCP的超时与重传详细解析_第4页
TCP的超时与重传详细解析_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

1、第二十一章 tcp的超时与重传科来安徽办 王超目录l引言l超时重传的实例l往返时间rtt与超时重传时间rtolrtt的测量l拥塞避免算法引言dataackdatadataackdata正常情况:正常情况:数据顺利到达对端,对端顺利响应ack异常情况异常情况1:数据包中途丢失异常情况异常情况2:数据包顺利到达但ack报文中途丢失异常情况异常情况3:数据包顺利到达对端,但终端异常未响应ack或被终端丢弃确认从另一端收到的数据 t c p通过在发通过在发送时设置一个定送时设置一个定时器来解决这种时器来解决这种问题,如果当定问题,如果当定时器溢出时还没时器溢出时还没有收到确认,它有收到确认,它就重传该

2、数据就重传该数据当出现这些异当出现这些异常情况时如何常情况时如何处理?处理?data超时重传超时重传重置定时器重置定时器超时重传的实例在在dos命令行命令行下,下,telnet一个一个不存在的不存在的ip地址地址同时开启科来抓同时开启科来抓包包通过对数据包的通过对数据包的分析我们可以看分析我们可以看到整个重传的过到整个重传的过程程rtt与rtortt:round trip time rto:retransmission time out往返时间:指发送端从发送tcp包开始到接收到它的立即响应所耗费的传输时间超时重传时间:指发送端发送数据后、重传数据前等待接受方收到该数据报文的ack的时间dat

3、a-1ack-1data-2t1t2t3rtt=t3-t1data-1data-1t1t2rto=t2-t1未收到ack,重传data报文重传多义性问题与karn算法当一个超时和重传发生时,在重传数据的确认最后到达之前,不能更新rtt估计器,因为我们并不知道 ack对应哪次传输(也许第一次传输被延迟而并没有被丢弃,也有可能第一次传输的ack被延迟)。 重传多义性:重传多义性:假定一个分组被发送,当超时发生时,rto进行指数退避,分组以更长的rto进行重传,然后收到一个确认。那么这个a c k是针对第一个分组的还是针对第二个分组呢?这就是所谓的重传多义性问题。t1t2t3data-1ack-1d

4、ata-1data-1data-1ack-1ack-1超时重传超时重传karn算法:算法:rtt的测量任何时候对每个连接仅测量一次rtt值。在发送一个报文段时,如果给定连接的定时器已经被使用,则该报文段不被计时。 data-1ack-1data-2t1t2t3rtt1=t2-t1data-3t4t5ack-2rtt2=t5-t3t6rtt1rtt2data-4t7data-5data-6ack-3ack-4t8t9t10rtt3rtt3=t10-t6rtt与rto之间的关系r r+ ( 1- )m 这里的是一个推荐值为0.9 的平滑因子。每次进行新测量的时候,这个被平滑的rtt将得到更新。每个

5、新估计的90来自前一个估计,而10%则取自新的测量。 err = m-aa a + g errd d+ h( | err |-d)rto = a + 4d 这里的a是被平滑的rtt(均值的估计器)而d则是被平滑的均值偏差。err是刚得到的测量结果与当前的rtt估计器之差。a和d均被用于计算下一个重传时间(rto)。增量g起平均作用,取为1/8(0.125)。偏差的增益是h,取值为0.25。当rtt变化时,较大的偏差增益将使rto快速上升。 srtt:平滑往返时间:平滑往返时间rto:拥塞避免算法拥塞避免算法和慢启动算法需要对每个连接维持两个变量:一个拥塞窗口cwnd和一个慢启动门限ssthre

6、sh 。这样得到的算法的工作过程如下:1) 对一个给定的连接,初始化cwnd为1个报文段,ssthresh为65535个字节。2) tcp输出例程的输出不能超过cwnd和接收方通告窗口的大小。拥塞避免是发送方使用的流量控制,而通告窗口则是接收方进行的流量控制。前者是发送方感受到的网络拥塞的估计,而后者则与接收方在该连接上的可用缓存大小有关。3) 当拥塞发生时(超时或收到重复确认),ssthresh被设置为当前窗口大小的一半( cwnd 和接收方通告窗口大小的最小值,但最少为 2个报文段)。此外,如果是超时引起了拥塞,则cwnd被设置为1个报文段(这就是慢启动)。4) 当新的数据被对方确认时,就增加cwnd ,但增加的方法依赖于我们是否正在进行慢启动或拥塞避免。如果cwnd小于或等于ssthresh ,则正在进行慢启动,否则正在进行拥塞避免。慢启动一直持续到我们回到当拥塞发生时所处位置的半时候才停止(因为我们记录了在步骤 2中给我们制造麻烦的窗口大小的一半),然后转为执行拥塞避免。 慢启动算法初始设置cwnd为1个报文段,此后每收到一个确认就加1。这会使窗口按指数方式增长;拥塞避免算法要求每次收到一个确认时将 cwnd增加1/cwnd。与慢启动的指数增加比起来,这是一种加性增

温馨提示

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

评论

0/150

提交评论