首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >TCP拥塞控制

TCP拥塞控制
EN

Server Fault用户
提问于 2018-01-22 21:19:15
回答 1查看 162关注 0票数 -3

“终点将拥堵视为增加延误;因此,它们将加剧拥堵,而不是缓解拥挤。”

  • 有人能给我解释一下这句话吗?

第二个问题:为什么快速恢复不能很好地从多重损失中恢复?

  • 以下是我对快速恢复的理解:在接收到三个重复的ACK时,TCP启动一个重传,然后执行快速恢复:拥塞窗口减半,并为每个重复的ACK增加一个段。因此,我认为这包括启动快速重传的三个重复ACK,这意味着cwnd_new = cwnd_old +3+1用于每一个新的重复ACK。出于某种原因(为什么?)当第一个非重复ACK到达接收端后,cwnd被设置为cwnd_old /2,然后执行拥塞避免。

感谢你的帮助!

EN

回答 1

Server Fault用户

回答已采纳

发布于 2018-01-22 23:50:18

一个人只能推测更多的上下文的确切含义,不管是谁对你说的,但我们开始了。

TCP (Reno)中的重传可以通过两种方式触发: RTO和DUPACK。RTO是重传超时-当发送者数据没有ACK时达到的状态。DUPACK -当发送者丢失数据包或被重新排序时发送的重复ack。

  • 对于您的第一个问题:我不知道TCP是如何使拥塞加剧的,除非这与RTO有关。当到达RTO时,TCP将在立即的时间范围内阻塞一个网络,因为它将重新发送未加标记的段。然而,RTO事件将拥塞窗口重置为一个段,然后开始慢启动阶段,这将缓解该重传后的拥塞。
  • 对于第二个问题:这是因为在TCP算法中,当遇到多个损失时,它通常会到达一个状态,其中唯一的恢复机制是重传超时。这是如何发生的,请看这段视频的例子:https://www.youtube.com/watch?v=M6pG9sEVTkg
  • For some reason (why?) after the first non-duplicate ACK arrives at the receiver, cwnd is set to cwnd_old / 2 and then Congestion Avoidance is performed.当接收到正常的ack时,拥塞避免就开始了,它将cwnd定义为cwnd_old / 2 ( cwnd_old是在延长超时时间或3xdupack时间时到达的cwnd_old)。这是一个方便的中途点。您不想从cwnd_old开始,因为它给您带来了问题,您也不想从1开始,因为它没有效率,所以启动@ cwnd_old / 2是非常合理的。
票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/893577

复制
相关文章

相似问题

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