首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >接收ACK后如何在TCP中设置/重置重传定时器?

接收ACK后如何在TCP中设置/重置重传定时器?
EN

Network Engineering用户
提问于 2019-11-01 05:57:14
回答 2查看 616关注 0票数 0

在从福鲁赞的书读取TCP时,我遇到了以下情况:

我们可以为重传定时器定义以下规则:

  1. 当TCP在发送队列前面发送段时,它将启动定时器。
  2. 当计时器过期时,TCP在队列前面重新发送第一个段,并重新启动定时器。
  3. 当一个或多个段被累积确认时,从队列中清除一个或多个片段。
  4. 如果队列为空,TCP将停止计时器;否则,TCP将重新启动定时器。

我的疑问是,当我们为开始计时器的段接收ACK时,计时器会发生什么情况?它是否只是简单地重置任何段,将在未来发送?(请注意,正如第3点所述,我实际上是在询问清除段后计时器发生了什么情况。)

EN

回答 2

Network Engineering用户

回答已采纳

发布于 2019-11-01 08:17:43

当接收到ACK时,完成相应的分段。

当我们为开始计时器的段接收ACK时,计时器会发生什么情况?

我们为下一段的ACK重新启动计时器,这样我们就知道它何时过期了。计时器是对预期下一个ACK的周期的保守估计。

如果计时器过期,则段或ACK可能已丢失,并且段被重新传输。如果ACK及时到达,那么队列中的下一个段将移动到窗口中。它被发送,我们继续计时下一个ACK (这实际上是一个以前发送的段)。

票数 1
EN

Network Engineering用户

发布于 2021-08-15 14:18:59

这是Reno/Tahoe TCP。大多数系统现在使用立方体。但是算法是这样的。

  1. 新的流-设置3秒rtxtimer
  2. 发送syn,在100 of中获取SYN ( RTXtimer = .8_Rtxtimer + .2_100ms =2.4secs)--所以,大部分旧值--一些新的
  3. 获取Req到ack 100 to RTX定时器= .8_Rtxtimer +.2_100ms =1.9秒
  4. 10包后RTXtimer ~500 10
  5. 20包后RTXtimer ~140 20

6 .if损耗双.if定时器

非常缓慢地找出真正的RTT,这就是为什么他们想出了重复的ack(快速重传请求)。

票数 0
EN
页面原文内容由Network Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://networkengineering.stackexchange.com/questions/63294

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档