3.3.8 TCP连接关闭过程

TCP连接的关闭采用了改进的三次握手方式。由于TCP连接是全双工的,因此可以将两个不同方向数据流看作两个独立的传输通道。

当一个应用程序通知TCP数据发送完毕时,TCP将关闭该方向的传输通道(半个连接)。这通过在发送报文中将FIN置位来实现。接收方的TCP软件队FIN报文端进行确认,并通知本地的应用程序:对方通信已经结束。

一旦某个方向的连接关闭,TCP将拒绝该方向上的数据传输。但是,相反方向的数据仍然可以发送,直到发送方关闭连接。当两个方向的连接都关闭以后,该TCP连接才会真正被释放。

TCP连接释放过程如下图所示: