TCP连接传输三个阶段:连接建立、数据传输、连接释放。

TCP连接的建立采用了客户/服务器方式,主动发起连接建立的应用进程叫做客户,而被动等待连接建立的应用进程叫做服务器。

参与一条TCP连接的两个进程中的任何一个都能终止连接,连接结束后,主机中的**“资源(缓存和变量)”**将会被释放。

客户端发送连接释放报文段,停止发送数据,主动关闭TCP连接;FIN = 1,seq = u。
服务器返回一个确认报文段,客户到服务器这个方向的连接就被释放了,处于半关闭状态;ACK = 1,seq = v,ack = u + 1。
服务器端发完数据,就发出连接释放报文段,主动关闭TCP连接;FIN = 1,ACK = 1,seq = w,ack = u + 1。
客服端返回一个确认报文段,等到时间计时器设置的2MSL(最长报文段寿命)后,连接关闭;ACK = 1,seq = u +1,ack = w + 1饿。