TCP的CLOSING狀態發生條件

2021-10-02 05:51:02 字數 509 閱讀 9907

當主動關閉方傳送了fin後(主動方狀態fin_tait_1)到達被動關閉方。被動關閉方接受fin並傳送了確認ack(被動方變為close_wait),之後傳送了被動方自己的fin;

情況1:此時主動方先收到ack,進入fin_wait_2,然後收到fin並傳送確認碼ack,主動關閉方進入time_wait

情況2:此時主動方先收到被動關閉方的fin然後傳送該fin的接收確認碼ack到被動關閉方(主動方狀態變為closing,可能是由於傳輸過程**現異常,ack資料被阻塞延時),然後收到被動方傳送給主動方的ack確認碼,主動方進入time_wait。

備註:每次2個socket之間進行通訊,每次通訊都必須經過2個環節。a:主動方傳送資料到被動方,b:被動方傳送確認收到的資訊ack到傳送方,如果主動方沒有收到該ack,那麼主動方會重新傳送。一般主動方請求傳送後,ack碼會與要傳輸的資料內容一起傳輸給傳送請求端。

TCP狀態轉換

tcp建立連線協議 三次握手 客戶端傳送乙個帶syn標誌的tcp報文到伺服器。這是三次握手過程中的報文1。伺服器端回應客戶端的,這是三次握手中的第2個報文,這個報文同時帶ack標誌和syn標誌。因此它表示對剛才客戶端syn報文的回應 同時又標誌syn給客戶端,詢問客戶端是否準備好進行資料通訊。客戶必...

tcp狀態說明

tcp連線狀態詳解 listen 偵聽來自遠方的tcp埠的連線請求 syn sent 再傳送連線請求後等待匹配的連線請求 syn received 再收到和傳送乙個連線請求後等待對方對連線請求的確認 established 代表乙個開啟的連線 fin wait 1 等待遠端tcp連線中斷請求,或先前...

tcp狀態遷移

圖1 tcp狀態變遷圖 咋一看這圖,讓人頭大。下面會詳細分析圖中的所有狀態,這些狀態跟tcp三次握手與四次揮手有著非常密切的聯絡,關於這個可以參看前面拙文。closed 表示初始狀態。對服務端和c客戶端雙方都一樣。listen 表示監聽狀態。服務端呼叫了listen函式,可以開始accept連線了。...