面試總結:TCP三次握手、四次揮手
阿新 • • 發佈:2019-01-09
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成功地斷開了連線~