文章目录
4.3设置TIME_WAIT状态的目的
TIME_WAIT状态是TCP中最容易被人误解的特性之一。因为很多的标准文档都没有对该状态做一个详细的说明和解释。设置TIME_WAIT状态的原因主要有以下两个:
- 用来实现全双工的连接关闭;
- 它使过时的重复报文段作废;
下面我们对这两个原因做详细的说明。
4.3.1 实现TCP全双工连接的关闭
下图(图4-4)给出了一般情况下关闭连接时的报文交互流程,也就是我们常说的四次挥手过程;同时也给出了两端连接的状态变迁和服务器端测得的RTT值。
服务器端和客户端都可以是断开连接的发起端,这里我们使用的是客户端作为发起端。
- 关于是由服务器端发起还是客户端发起是很有讲究的,因为首先发起FIN报文(断开连接)的一端会进入