tcp鏈結的幾種狀態

2021-08-31 19:21:26 字數 899 閱讀 5768

說明: 通常情況下:乙個正常的tcp連線,都會有三個階段:1、tcp三次握手;2、資料傳送;3、tcp四次揮手

裡面的幾個概念:

客戶端發起乙個和服務建立tcp鏈結的請求,這裡是syn(j)

服務端接受到客戶端的建立請求後,返回兩個資訊: syn(k) + ack(j+1)

客戶端在接受到服務端的ack資訊校驗成功後(j與j+1),返回乙個資訊:ack(k+1)

服務端這時接受到客戶端的ack資訊校驗成功後(k與k+1),不再返回資訊,後面進入資料通訊階段

客戶端/服務端 read/write資料報

客戶端發起關閉請求,傳送乙個資訊:fin(m)

服務端接受到資訊後,首先返回ack(m+1),表明自己已經收到訊息。

服務端在準備好關閉之前,最後傳送給客戶端乙個 fin(n)訊息,詢問客戶端是否準備好關閉了

客戶端接受到服務端傳送的訊息後,返回乙個確認資訊: ack(n+1)

最後,服務端和客戶端在雙方都得到確認時,各自關閉或者**對應的tcp鏈結。

syn_send

syn_received

established

fin_wait1

close_wait

fin_wait2

lask_ack

time_wait

主動關閉方在接收到被動關閉方的fin請求後,傳送成功給對方乙個ack後,將自己的狀態由fin_wait2修改為time_wait,而必須再等2倍的msl(maximum segment lifetime,msl是乙個資料報在internetwork中能存在的時間)時間之後雙方才能把狀態 都改為closed以關閉連線。目前rhel裡保持time_wait狀態的時間為60秒

keepalive策略可以有效的避免進行三次握手和四次關閉的動作

tcp鏈結的幾種狀態 tcpdump抓包

說明 通常情況下 乙個正常的tcp連線,都會有三個階段 1 tcp三次握手 2 資料傳送 3 tcp四次揮手 裡面的幾個概念 客戶端發起乙個和服務建立tcp鏈結的請求,這裡是syn j 服務端接受到客戶端的建立請求後,返回兩個資訊 syn k ack j 1 客戶端在接受到服務端的ack資訊校驗成功...

TCP常見的幾種狀態

tcp常見的幾種狀態 closed 初始狀態,表示沒有任何連線。listen server端的某個socket正在監聽來自遠方的tcp埠的連線請求。syn sent 傳送連線請求後等待確認資訊。當客戶端socket進行connect連線時,會首先傳送syn包,隨即進入syn sent狀態,然後等待s...

TCP狀態轉換

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