2020-06-26 16:17:28
三次握手是TCP连接建立过程中的关键步骤,四次挥手是TCP连接断开过程中的关键步骤。
三次握手的具体流程如下:1. Client端发起连接请求:Client端发送SYN报文,其序号seq=x,并进入SYNSENT状态。2. Server端回复确认:Server端接收到请求后,回复SYN+ACK报文,其序号seq=y,确认号ack=x+1,并进入SYNRCVD状态。3. Client端确认连接:Client端收到ACK报文后,发送ACK报文,其序号seq=x+1,确认号ack=y+1,连接建立完成,双方进入ESTABLISHED状态。
四次挥手的具体流程如下:1. Client端请求关闭连接:Client端发送FIN报文,请求关闭连接,并进入FINWAIT1状态。2. Server端确认关闭请求:Server端收到FIN报文后,回复ACK报文,确认号ack=u+1,并进入CLOSEWAIT状态,表示半关闭状态。3. Client端等待Server端关闭:Client端收到ACK报文后,进入FINWAIT2状态,等待Server端的FIN报文。4. Server端发送关闭确认:Server端完成数据传输后,发送FIN报文,确认号ack仍为u+1,并进入LASTACK状态。5. Client端确认Server端关闭:Client端收到FIN报文后,回复ACK报文,确认号ack=w+1,并进入TIMEWAIT状态。此时,Client端等待2MSL时间,以确保Server端确实已关闭连接。6. Server端关闭连接:Server端收到ACK报文后,关闭连接,进入CLOSED状态。Client端等待2MSL时间后,也进入CLOSED状态,连接完全关闭。
总结: 三次握手确保了TCP连接的可靠建立。 四次挥手确保了TCP连接的可靠关闭,避免了数据丢失和错误。