三次握手
1.客户端发送syn包到服务器,并进入syn_sent状态,等待服务器确认,syn为同步序列编号
1608517738:760654 /192.168.31.25->/202.116.192.6 protocol(6) priority(0) hop(64) offset(0) ident(13570) TCP 58456 > 443 seq(1901244149) win(8192) S
2.服务器收到客户端的syn包,确认客户的syn(ack=j+1),同时自己也发送一个syn包(seq = k),即syn+ack包,此时服务器进入syn_recv状态
如下所示的ack加粗的部分为第一步客户端发送的seq +1;
同时服务器自己也发了一个syn包,即seq(104636887)
1608517738:762296 /202.116.192.6->/192.168.31.25 protocol(6) priority(0) hop(56) offset(0) ident(0) TCP 443 > 58456 seq(104636887) win(29200) ack 1901244150 S
3.客户端收到服务器的syn+ack包,向服务器发送确认包,此包发送完毕,服务端和客户端进入连接成功状态,完成三次握手。
下面加粗的ack即为第二步服务器发来的seq+1
1608517738:762332 /192.168.31.25->/202.116.192.6 protocol(6) priority(0) hop(64) offset(0) ident(13571) TCP 58456 > 443 seq(1901244150) win(16425) ack 104636888
四次挥手
(1)TCP客户端发送一个FIN,用来关闭客户到服务器的数据传送;
(2)服务器收到FIN,返回ack(k+1)确认;
(3)服务器关闭连接,发送一个FIN给客户端
(4)客户端收到FIN后发ACK报文确认