先上转换图:
重点研究TIME_WAIT状态,根据UNIX网络编程中的思路,TIME_WAIT状态有两个存在的理由:
1、假设最终的ACK丢失,服务器将重新发送它的最后那个FIN,因此客户必须维护状态信息,以允许它重新发送最终那个ACK,要是客户端 不维护状态信息,它将响应一个RST分节,该分节将被服务器解释成一个错误,如果TCP打算执行所有必要的工作以彻底终止连接上两个方向的数据流,那么它必须正确处理连接终止序列4个分节中任何一个分节丢失的情况。为什么执行主动关闭的那一端是处于TIME_WAIT状态的那一端:因为可能不得不重传最终那个ACK的就是那一端。
原文地址:https://www.cnblogs.com/wanmeishenghuo/p/9281195.html
时间: 2024-10-20 08:41:58