tcpip協議的11種狀態

2021-07-26 11:26:56 字數 770 閱讀 2183

傳智掃地僧課程學習筆記。

很多操作,是在應用底層操作的,

為什麼三次握手,

因此全雙工通訊,兩端都要確認。

學socket程式設計,關鍵是理解tcp/ip內部的狀態機理,

學指標使用,關鍵是理解記憶體布局使用,

執行主動關閉的那一端,進入time_wait狀態,

之前伺服器關閉後,再次啟動,提示埠占用,

是因為仍然處於time_wait狀態,

為什麼要主動關閉close兩次,

來做個實驗先,

比如主動關閉伺服器,則伺服器會進入fin_wait_2,

而客戶端進入close_wait狀態,

再次強調,全雙工,即我們看來的一次互相通訊,在核心建立中維護著兩條鏈結,

那為什麼,客戶端,沒有close掉呢?在我們的**中,阻塞在了接收鍵盤輸入的地方,

你沒有搞清楚這裡,

後面就會出錯,

為什麼傳送不了資訊,

為什麼程序越啟動越多,

因為全部卡在了半通訊狀態,

time_wait 時間是多長2msl (2倍的最大生命期時間)

原因:(ack y+1)如果傳送失敗可以重發。

伺服器端處於closed狀態,不等於客戶端也處於closed狀態,

這也同時在解釋,為什麼讓先關閉的處於time_wait狀態,

確保雙方都真的進入closed狀態,

TCP IP協議11種狀態

1.l syn sent 這個狀態與syn rcvd 狀態相呼應,當客戶端socket執行connect 進行連線時,它首先傳送syn報文,然後隨即進入到syn sent 狀態,並等待服務端的傳送三次握手中的第2個報文。syn sent 狀態表示客戶端已傳送syn報文。2.l listen 表示伺服...

10深刻理解TCP IP的11種協議狀態

在呼叫listen int socked,int backlog 函式的時候,做了2件事情 1 將主動套接字轉換為被動套接字。tcp狀態轉換圖從closed狀態轉換為listen狀態 2 backlog規定了核心應該為相應的套接字排隊的最大連線個數。核心為這個監聽套接字維護兩個佇列 兩個佇列之和不能...

TCP連線的11種狀態變遷

tcp連線的11種狀態變遷 1 先上圖 2 全部11種狀態 2.1 客戶端獨有的 1 syn sent 2 fin wait1 3 fin wait2 4 closing 5 time wait 2.2 伺服器獨有的 1 listen 2 syn rcvd 3 close wait 4 last a...