虛線為伺服器狀態轉換
實現為客戶端狀態轉換
正常tcp連線中客戶端與服務端狀態轉換
伺服器端狀態
1. listen 服務啟動後處於監聽狀態
2. syn_recv 收到乙個連線請求,尚未確認
3. established 連線建立,正常資料傳輸狀態
4. close_wait (被動關閉)收到對方關閉請求,已經關閉
5. last_ack (被動關閉) 等待最後乙個關閉確認,並等待所有分組死掉
6. closed 關閉狀態,沒有連線活動或正在進行
客戶端狀態
1. syn_sent 已經發出連線請求,等待確認
2.established 連線建立,正常資料傳輸
3.fin_wait 1 (主動關閉)已經傳送關閉請求,等待確認
4.fin_wait 2 (主動關閉)收到對方關閉確認,等待對方關閉請求
5.time_wait 完成雙向關閉,等待所有分組死掉(msl)。可靠的終止連線,持續2×msl.
syn ack fin
需要知道的命令
netstat -ntpl 檢視埠使用情況
netcat 網路工具中的瑞士軍刀
對TCP狀態轉換的理解
listen 這個也是非常容易理解的乙個狀態,表示伺服器端的某個socket處於監聽狀態,可以接受連線了。syn rcvd 這個狀態表示接收到了syn報文,在正常情況下,這個狀態是伺服器端的socket在建立tcp連線時的三次握手會話過程中的乙個中間狀態,很短暫,基本上用netstat你是很難看到這...
TCP狀態轉換
tcp建立連線協議 三次握手 客戶端傳送乙個帶syn標誌的tcp報文到伺服器。這是三次握手過程中的報文1。伺服器端回應客戶端的,這是三次握手中的第2個報文,這個報文同時帶ack標誌和syn標誌。因此它表示對剛才客戶端syn報文的回應 同時又標誌syn給客戶端,詢問客戶端是否準備好進行資料通訊。客戶必...
TCP狀態轉換
tcp建立連線協議 三次握手 客戶端傳送乙個帶syn標誌的tcp報文到伺服器。這是三次握手過程中的報文1。伺服器端回應客戶端的,這是三次握手中的第2個報文,這個報文同時帶ack標誌和syn標誌。因此它表示對剛才客戶端syn報文的回應 同時又標誌syn給客戶端,詢問客戶端是否準備好進行資料通訊。客戶必...