三次握手:
第一次握手:客户端向服务端发送SYN包(***syn=x),并进入SYN_SEND状态,等待服务器确认;
第二次握手:服务端接收到客户端SYN包之后,确认客户端的SYN(ack=x+1),并且发送服务端的SYN包(syn=y)给客户端,服务端进入SYN_RECV状态;
第三次握手:客户端接收到服务端的SYN+ACK包之后,确认收到服务端的SYN(ack=y+1)包,发送ACK包给服务端,发送完毕后进入established状态,三次握手建立完成。
四次断开:
第一次断开:客户端发送FIN包,请求服务端断开TCP会话连接并且关闭本客户端发送数据,但依然可以接受对方的数据;
第二次断开:服务端收到客户端的FIN包后,向客户端发送ACK包***为(X+1);
第三次断开:服务端再次向客户端发送一个新的FIN包和一个***Y,并且关闭向客户端发送数据;
第四次断开:客户端收到服务端FIN包后,发送给服务端ACK包,***为Y+1,四次断开完成。