首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >速读原著-TCP/IP(超时与重传的简单例子)

速读原著-TCP/IP(超时与重传的简单例子)

作者头像
cwl_java
发布2020-03-13 11:56:05
5020
发布2020-03-13 11:56:05
举报
文章被收录于专栏:cwl_Javacwl_Java

第21章 TCP的超时与重传

21.2 超时与重传的简单例子

首先观察T C P所使用的重传机制,我们将建立一个连接,发送一些分组来证明一切正常,然后拔掉电缆,发送更多的数据,再观察 T C P的行为。

在这里插入图片描述
在这里插入图片描述

图2 1 - 1表示的是t c p d u m p的输出结果(已经去掉了b s d i设置的服务类型信息)。

在这里插入图片描述
在这里插入图片描述

第1、2和3行表示正常的T C P连接建立的过程,第4行是“hello, world”(1 2个字符加上回车和换行)的传输过程,第 5行是其确认。接着我们从 s v r 4拔掉了以太网电缆,第 6行表示“and hi”将被发送。第 7 ~ 1 8行是这个报文段的 1 2次重传过程,而第 1 9行则是发送方的 T C P最终放弃并发送一个复位信号的过程。

现在检查连续重传之间不同的时间差,它们取整后分别为 1、3、6、1 2、2 4、4 8和多个6 4秒。在本章的后面,我们将看到当第一次发送后所设置的超时时间实际上为 1 . 5秒(它在首次发送后的1 . 0 1 3 6秒而不是精确的1 . 5秒后,发生的原因我们已在图 1 8 - 7中进行了解释),此后该时间在每次重传时增加1倍并直至6 4秒。

这个倍乘关系被称为“指数退避 (exponential backoff )”。可以将该例子与 6 . 5节中的T F T P例子比较,在那里每次重传总是在前一次的 5秒后发生。首次分组传输(第6行,2 4 . 4 8 0秒)与复位信号传输(第 1 9行,5 6 6 . 4 8 8秒)之间的时间差约为9分钟,该时间在目前的T C P实现中是不可变的。

对于大多数实现而言,这个总时间是不可调整的。Solaris 2.2允许管理者改变这个时间(E . 4节中的t c p _ i p _ a b o r t _ i n t e r v a l变量),且其默认值为2分钟,而不是最常用的9分钟。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-03-11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 第21章 TCP的超时与重传
    • 21.2 超时与重传的简单例子
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档