【運維面試向】TCP三次握手和四次斷開

 TCP三次握手

SYN(同步序列編號),ACK(確認字符),seq(序列號)

1.客戶端向服務端發送請求,報文首部帶SYN=1標誌,同時選擇初始序列號seq=x,客戶端進入SYN-SENT;

2.服務端收到請求報文後,發出確認字符ACK=1,SYN=1,確認號是ack=x+1,同時爲自己初始序列號seq=y,服務端進入SYN-RCVD;

3.客戶端收到確認後,再給服務端給出確認,確認報文是ACK=1,ack=y+1,客戶端的序列號seq=x+1,客戶端進入ESTABLISHED狀態;

4.服務端收到確認後,也進入ESTABLISHED狀態。

TCP四次斷開

FIN(關閉連接)

1.客戶端發出連接釋放報文,報文首部帶FIN=1標誌,序列號爲seq=u,客戶端進入FIN-WAIT-1狀態;

2.服務端收到釋放報文發出確認報文,ACK=1,ack=u+1,生成自己的序列號seq=v,服務器進入CLOSE-WAIT狀態;

3.客戶端收到服務端確認報文後,客戶端進入FIN-WAIT-2狀態,等待服務端發出連接釋放報文;

4.服務端將最後數據發完後,向客戶端發送連接釋放報文,FIN=1,ack=u+1,有可能還有數據沒有傳完,設置序列號爲seq=w,進入LAST-ACK(最後確認)狀態;

5.客戶端收到連接釋放報文後,發出確認,ACK=1,ack=w+1,自己序列號seq=u+1,客戶端進入TIME-WAIT狀態;

6.服務端收到客戶端發出的確認報文後,立即進入CLOSED狀態。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章