三次握手四次挥手过程详解
三次握手:
1.客户端发送syn=1连接报文起始号为x,进入同步已发送状态。
2.服务器发送确认报文syn=1,ack=1,起始号为y,确认号为x+1,进入同步已接收状态
3.客户端发送确认报文syn=1,起始号为x+1,确认号为y+1;进入同步已连接状态。
四次挥手:由于TCP连接是全双工的,因此每个方向都必须单独进行关闭。这原则是当一方完成它的数据发送任务后就能发送一个FIN来终止这个方向的连接。收到一个 FIN只意味着这一方向上没有数据流动,一个TCP连接在收到一个FIN后仍能发送数据。首先进行关闭的一方将执行主动关闭,而另一方执行被动关闭。
过程如下:
1.客户端发送fin报文(fin=1),序列号为u,进入fin-wait1状态
2.服务器发送ack确认报文(ack=1),序列号为v,确认号为u+1;进入closewait状态
3.数据传输完毕后,服务器发送fin报文(fin=1,ack=1),序列号为w,确认号为u+1,进入lastack状态
4.客户端发送ack确认报文,序列号为U+1,确认号为w+1,进入timewait状态,等待2msl,进入closed状态