网络
- 分类
- 网络协议
- 难度
- 未设置
- 来源数
- 1
- 更新时间
- 2026/03/29 15:48
答案
如果最后的ACK丢失,服务端没有收到,超时后就会重发FIN数据包,而此时如果客户端连接已经关闭,就会导致服务器不断重发,因此,客户端必须等待2MSL的时间,如果此时收到FIN数据包,就再重发ACK数据包。
相关题目(5)
元信息
审核状态: active
关联来源: 1
来源面经题(0)
这道题目前没有手动沉淀的面经题来源。
来源(1)
Java八股(四大件).md
knowledge_noteQuestion 26: 为什么第四次挥手后客户端要等待2MSL
Source answer: 如果最后的ACK丢失,服务端没有收到,超时后就会重发FIN数据包,而此时如果客户端连接已经关闭,就会导致服务器不断重发,因此,客户端必须等待2MSL的时间,如果此时收到FIN数据包,就再重发ACK数据包。
Reviewed answer: 为了保证最后ACK丢失时还能重传,并等待网络中的旧报文自然消失,避免影响后续连接。