一、TCP三次握手
第一步:客户端向服务器发送【连接请求报文 (SYN=1)】
第二步:服务器收到【连接请求报文】后,如果同意建立连接,则会返回一个【确认报文 (SYN=1 ACK=1)】
第三步:客户端接收【确认报文】后向服务器【给出确认 (ACK=1)】,建立连接
二、TCP四次挥手
第一步:客户端向服务器发送【连接释放报文 (FIN=1)】,停止发送数据进入终止等待状态
发送连接释放报文的意思是:我传完数据了,我要断开连接,你快给我操作操作
第二步:服务器接收【连接释放报文】后返回【确认报文 (ACK=1)】,进入半关闭状态 (客户端到服务器的单向连接关闭)
返回确认报文的意思是:我知道你要释放连接了,但是我还有数据没传完,你得等我传完数据再说
第三步:服务器在发送完数据后,向客户端发送【连接释放报文】
发送连接释放报文的意思是:我的事情都弄完了,你要是同意,那我们断开连接吧
第四步:客户端再收到【连接释放报文】后返回【确认报文】,等待一段时间后关闭连接
返回确认报文的意思:收到收到,那我们下次再见
三、为什么建立连接是三次握手,释放连接是四次挥手
因为TCP连接是全双工的,即使客户端在发送【连接释放报文 (FIN=1)】后停止再向服务器发送数据,但如果服务器传输数据过来客户端还是得接收,当且仅当【CS双方】【都确定】【对方停止】传输数据 (FIN=1) 后才能关闭连接