第一次握手:建立连接时,由客户端发起,向服务端发送syn包,并进入SYN_SENT(请求连接)状态。
第二次握手:服务器收到syn包,发送自己的syn包给客户端,服务器进入SYN_RECV(连接)状态。
第三次握手:客户端收到服务器发来的包,向服务器发送确定包,进入ESTABLISHED(已建立)状态,服务器收到后也进入ESTABLISHED(已建立)状态,TCP连接成功,三次握手完成。
四次挥手是改进的三次握手
第一次挥手:客户端向服务端发送FIN请求,请求关闭数据传输。
第二次挥手:服务器端收到FIN后发送ACK(确定包)到客户端。
第三次挥手:服务器向客户端发FIN。
第四次挥手:客户端收到FIN后回放ACK给服务端,四次挥手结束。
注释: syn:同步序列编号