若要关闭连接,应设置数据段报头中的 FIN(结束) 控制标志。为终止每个单向 TCP 会话,需采用包含 FIN 数据段和 ACK 数据段的二次握手。因此,若要终止 TCP 支持的整个会话过程,需要实施四次交换,以终止两个双向会话。注意:在本部分中,为了更容易理解,采用了客户端和服务器端进行说明。实际上,终止的过程可以在任意两台完成会话的主机之间展开。
TCP--会话的终止
原创
©著作权归作者所有:来自51CTO博客作者bbc12000的原创作品,请联系作者获取转载授权,否则将追究法律责任
1. 当客户端的数据流中没有其它要发送的数据时,它将发送带 FIN 标志设置的数据段;
2. 服务器发送 ACK 信息,确认收到从客户端发出的请求终止会话的 FIN 信息;
3. 服务器向客户端发送 FIN 信息,终止从服务器到客户端的会话;
4. 客户端发送 ACK 响应信息,确认收到从服务器发出的 FIN 信息。
当会话中的客户端没有其它要传输的数据时,它将在数据段报头中设置 FIN 标志。然后,会话中的服务器端将发送包含 ACK 标志设置的一般数据段信息,通过确认号确认已经收到所有数据。当所有数据段得到确认后,会话关闭。
另一方向的会话采用相同的方式关闭。接收方在数据段的报头中设置 FIN 标志,然后发送到发送方,表明没有其它需要发送的数据。返回的确认信息确定已接收所有数据,随即该方向的会话关闭。
也可以通过三次握手方式关闭连接。当客户端没有其它要传输的数据时,它将向服务器发送 FIN 信息。如果服务器也没有其它要传输的数据,它将发送同时包含 FIN 和 ACK 标志设置的响应信息,将两步并作一步。最后,客户端返回 ACK 信息。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
TCP关闭连接的方式tcp
-
TCP的状态(SYN FIN ACK PSH RST URG)
TCP的状态(SYN FIN ACK PSH RST URG)
TCP的状态(SYN FIN ACK P -
TCP的FIN_WAIT1状态理解|深入理解TCP
TCP状态细节的理解
FIN_WAIT1 -
13-TCP 协议(FIN_WAIT2)
个状态。因此,FIN_WAIT2 状态会非常容易见到。 图1 处于 FIN_WAIT2 状态 很不幸,主动关闭一方有可能永远处
FIN-WAIT2 tcp unp sed 数据