TCP連線狀態流程

2021-06-21 09:47:26 字數 1100 閱讀 3307

closed:初始化狀態、客戶端或服務端從time_wait經過2t i m e wa i t時間轉換為closed;

syn_send:客戶端執行connect操作後,首先傳送synj同步序號,然後進入syn_send狀態。收到服務端的發來的ackj+1和同步序號synk後,向服務端傳送ackk+1確認後,進入established狀態。

syn_rcvd:服務端收到客戶端發來的synj後,進入syn_rcvd,然後向客戶端傳送ackj+1對synj進行確認,並傳送服務端的同步序號synk。等待直到收到客戶端發來的ackk+1確認後進入estableshed狀態。

established:表示客戶端和服務端已建立連線。

fin_wait_1:主動關閉端要求關閉連線,並傳送finj後進入fin_wait_1。

fin_wait_2:主動關閉端收到被動關閉端發來的對finj的確認ackj+1後進入fin_wait_2後進入fin_wait_2。

time_wait:主動關閉端接收到被動關閉端傳送的ackj+1和fink+1後,向被動關閉端傳送ackk+1後,進入time_wait。

close_wait:被動關閉在接收到finj後,傳送ackj+1確認,隨後進入close_wait。

last_ack:半關閉的傳送端在接收到應用程式的檔案結束符後,將呼叫close操作關閉連線,隨後傳送fink,等待對fink的確認ackk+1,進入last_wait。

closing:當應用層發出關閉命令時,兩端均從estableshed變為fin_wait_1。這將導致雙方各傳送乙個fin,兩個fin經過網路傳送後分別到達另一端。收到fin後,狀態由fin_wait_1變遷到closing,並傳送最後的ack。當收到最後的a c k時,狀態變化為time_wait。

TCP連線狀態描述

狀 態 說 明 closed 不存在tcp連線 listen 乙個應用層協議已經發布了乙個被動開啟,並且有意接收 tcp連線試圖 syn sent 乙個應用層協議已經傳送了乙個主動開啟,並且傳送了乙個 syn段 syn rcvd 乙個syn 段被接收,並且乙個 syn ack 被傳送 establi...

查詢TCP連線狀態

include iphlpapi.h include include winsock2.h include pragma comment lib,iphlpapi.lib pragma comment lib,ws2 32.lib static char tcpstate 32 int ismytc...

tcp連線狀態描述

狀 態 說 明 closed 不存在tcp連線 listen 乙個應用層協議已經發布了乙個被動開啟,並且有意接收tcp連線試圖 syn sent 乙個應用層協議已經傳送了乙個主動開啟,並且傳送了乙個syn段 syn rcvd 乙個syn段被接收,並且乙個syn ack被傳送 established ...