第一次握手:客户端将标志位SYN设置为1,并且随机产生一个值seq=x,并且将该数据包发送给服务器,此刻客户端进入等待状态,等待服务器的确认
第二次握手:服务器接收到数据包之后,标志位是SYN=1,可以知道客户端请求连接,服务端如果同意创建连接,此刻SYN ACK都设置为1,并且ack=x+1,随机产生一个值seq=y,传递给客户端
第三次握手:客户端接收到确认之后,检查ack是否是x+1,ACK是否是1,如果都是正确的,会将标志位ACK设置为1,确认号ack设置为y+1,发送给服务端
第一次挥手:客户端发送标识位FIN,用来关闭客户端到服务端的连接
第二次挥手:服务器接收到客户端发送的FIN之后,先发送ACK,ack,seq给客户端
第三次挥手:服务器发送FIN给客户端,用来关闭服务器和客户端的数据传送
第四次挥手:客户端接收到FIN之后,发送ACK,ack给服务端
注意:TCP链接是全双工的 ,全双工同时可以在2个方向上传输数据