TCP狀態轉換圖解(包含非4次揮手的情況)

在這裏插入圖片描述
這是常規路線,相對比較簡單。

在這裏插入圖片描述

  • 【虛線】爲服務器的TCP狀態轉換路線,虛線上的內容爲服務器進程主動執行操作後的狀態切換。

  • 【粗實線】爲客戶端的TCP狀態轉換路線,虛線上的內容爲客戶端進程主動執行操作後的狀態切換。

  • 【細實線】爲被動觸發的狀態切換,或者理解爲接收到非正常信號時的狀態反應路線。

從這張圖我們可以看出了,如果在FIN_WAIT_1同時收到ACK和FIN會跳過FIN_WAIT_2這個狀態,也就是說TCP協議不一定會有4次揮手。還有一種是同時發起關閉的情況,雖然也是4次揮手,但卻是同時揮手的。

在這裏插入圖片描述
如果已經建立鏈接的雙方同時發起FIN(即由Established轉爲Fin_wait_1狀態),那麼雙方都會在Fin_wait_1接收到來自對方的Fin信號(而非正常流程的Ack型號)。則會在收到Fin後雙發各自轉爲Closing狀態,即同時關閉狀態,併發送給對方來自Closing狀態的Ack信號後進入Time_wait狀態等待2MSL。

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