TCP協議三次握手和四次揮手過程

參考資料:https://blog.csdn.net/qq_38950316/article/details/81087809

1.建立TCP連接

三次握手過程

(1)客戶端A發送SYN(seq=a)報文給服務器B,並進入SYN_SENT狀態,等待服務器確認;

(2)服務器B收到SYN報文,迴應一個SYNACK(seq=b,ack=a+1)報文給客戶端A,其中ACK爲對(1)的迴應,SYN爲請求回覆,並進入SYN_RCVD狀態;

(3)客戶端A收到SYNACK報文後,回覆B一個ACK(ack=b+1),並進入ESTABLISHED狀態;B收到A的ACK報文後,也進入ESTABLISHED狀態。

三次握手後,A和B之間成功建立連接,可以開始傳輸數據。

2.斷開TCP連接

四次揮手過程

(1)客戶端A上某個進程主動關閉連接,發送FIN(seq=a)報文給服務器B,並進入FIN-WAIT-1狀態;

(2)B收到FIN報文,迴應一個ACK報文,進入CLOSED-WAIT狀態;A收到報文即進入FIN-WAIT-2狀態,等待服務器發送最後報文;TCP服務器通知高層的應用進程,此時A沒有要發送的數據,但如果B發送數據,A仍要接收;

(3)服務器B想客戶端A發送最後數據FIN(seq=b)報文,並進入LAST-ACK狀態,等待A的確認;

(4)A向B發送ACK(b+1)報文,進入TIME-WAIT狀態,等待2MSL時間後撤銷相應的TCP才能進入CLOSED狀態;B接收到A的報文,即進入CLOSED狀態。

四次揮手後,A和B成功地斷開連接。

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