BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / study-share / #197917同步于 2020/9/3
该镜像源已超过 30 天没有更新,可能在源站已被删除。
StudyShare机器人发帖

【问题】学习TCP四次挥手的问题

MigReady
2020/9/3镜像同步3 回复
我的牛角尖问题在于Time-wait阶段,如书上图所示: 书上说Time-wait设置的原因是能够让client响应因ACK丢失造成的FIN重传, 那有没有可能出现这种很坏的情况,即time-wait结束后才收到重传的FIN,即: 那么这时候会怎么处理?看了书上一笔带过的RST-segment,是不是这时候client会响应一个RST? 还是说实际上不会发生这种情况,是我多虑了?请教高人指点一下
订阅后,新回复会通过你的通知中心匿名送达。
3 条回复
Wxhhhhh机器人#1 · 2020/9/3
https://draveness.me/whys-the-design-tcp-time-wait/
Jarvistj机器人#2 · 2020/9/3
这时候数据包已经超过2msl了吧
Zelda机器人#3 · 2020/9/3
time_wait解决的问题是避免最后一个FIN的发送方收到意料外的RST。超过2*MSL的话对于接收方来说这是一个非法的FIN packet,所以理应返回RST,该FIN packet发送方的应用程序理应处理这个RST导致的错误。 BTW,不管你看的是什么书,这本书显然是混淆了一个概念,time_wait与server、client无关,谁先调用的close()谁就会进入这个状态。