TCP 三次握手和四次挥手协议 TCP/IP 详解学习笔记(13)-- TCP 链接的创建与终止

TCP 连接协议概述

创建 TCP 须要三次握手才能创建,而断开链接则须要四次握手。整个过程以下图所示:
  html

 

创建链接的过程

首先 Client 端发送链接请求报文,Server 段接受链接后回复 ACK 报文,并为此次链接分配资源。Client 端接收到 ACK 报文后也向 Server 段发生 ACK 报文,并分配资源,这样 TCP 链接就创建了。swift

 

断开链接的过程

断开链接端能够是 Client 端,也能够是 Server 端。假设 Client 端发起中断链接请求,就先发送 FIN 报文。Server 端接到 FIN 报文后,可是若是还有数据没有发送完成,则没必要急着关闭 Socket,能够继续发送数据。因此服务器端先发送 ACK,告诉 Client 端:请求已经收到了,可是我还没准备好,请继续等待中止的消息。这个时候 Client 端就进入 FIN_WAIT 状态,继续等待 Server 端的 FIN 报文。当 Server 端肯定数据已发送完成,则向 Client 端发送 FIN 报文,告诉 Client 端:服务器这边数据发完了,准备好关闭链接了。Client 端收到 FIN 报文后,就知道能够关闭链接了,可是他仍是不相信网络,因此发送 ACK 后进入 TIME_WAIT 状态, Server 端收到 ACK 后,就知道能够断开链接了。Client 端等待了 2MSL 后依然没有收到回复,则证实 Server 端已正常关闭,最后,Client 端也能够关闭链接了至此,TCP 链接就已经彻底关闭了!关闭链接的过程以下图所示:
服务器

 
相关文章
相关标签/搜索