三次握手的过程如下:
客户端A 发送SYN(seq = x)报文给服务器B,然后进入SYN_SENT状态;
B收到SYN报文,回应一个SYN(seq = y) ACK (ACK = x + 1)报文,进入SYN_RCVD状态;
A收到SYN报文后,回应一个ACK(ACK = y + 1),进入ESTABLISHED状态;B收到ACK报文后,进入ESTABLISHED状态
三次握手后,A和B成功地建立了连接,可以开始传输数据了~
2、四次挥手
四次挥手的过程如下:
客户端A上的某个进程,主动关闭连接,发送FIN(seq = u)报文给B,然后进入FIN_WAIT_1状态;
B收到FIN报文,回应一个ACK (ACK = u + 1)报文,进入CLOSED_WAIT状态;A收到FIN报文,进入FIN_WAIT_2状态;
B向A发送FIN(seq = v)报文,进入LAST_ACK状态;
A收到FIN报文后,向B发送ACK(ACK = v + 1)报文,进入TIME_WAIT状态
四次挥手后,A和B成功地断开了连接~