TCP三次握手、四次挥手

参考:
1、百度百科
2、​​​http://www.jellythink.com/archives/705​

1、三次握手

面试总结:TCP三次握手、四次挥手_三次握手

三次握手的过程如下:

  • 客户端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成功地断开了连接~

面试总结:TCP三次握手、四次挥手_客户端_02