为什么等待2MSL,从TIME_WAIT到CLOSE?

 在Client发送出最后的ACK回复,但该ACK可能丢失。Server如果没有收到ACK,将不断重复发送FIN片段。所以Client不能立即关闭,它必须确认Server接收到了该ACK。Client会在发送出ACK之后进入到TIME_WAIT状态。Client会设置一个计时器,等待2MSL的时间。如果在该时间内再次收到FIN,那么Client会重发ACK并再次等待2MSL。所谓的2MSL是两倍的MSL(Maximum Segment Lifetime)。MSL指一个片段在网络中最大的存活时间,2MSL就是一个发送和一个回复所需的最大时间。如果直到2MSL,Client都没有再次收到FIN,那么Client推断ACK已经被成功接收,则结束TCP连接。

相关文章:

  • 2021-07-13
  • 2022-12-23
  • 2021-07-31
  • 2022-12-23
  • 2021-10-28
  • 2022-12-23
  • 2021-12-20
  • 2021-04-05
猜你喜欢
  • 2022-02-21
  • 2021-05-17
  • 2022-02-15
  • 2021-09-25
  • 2021-05-26
  • 2021-08-01
  • 2022-12-23
相关资源
相似解决方案