1. 程式人生 > >面試總結:TCP三次握手、四次揮手

面試總結:TCP三次握手、四次揮手

TCP三次握手、四次揮手

1、三次握手

這裡寫圖片描述

三次握手的過程如下:

  • 客戶端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成功地斷開了連線~

這裡寫圖片描述

這裡寫圖片描述