三次握手相關的幾個資料

2021-06-19 17:26:16 字數 1477 閱讀 3168

檢視網路的連線狀態常用的檔案是/proc/net/snmp及/proc/net/netstat檔案,當你開啟這兩個檔案時,你會出現格式比較亂,因為它裡面包含的資料比較多,我們一般用以下兩個命令來檢視相應的網路狀態,其命令為:

netstat -s和nstat -az

這兩個檔案中包含的資訊較多,這裡只簡單的寫出了幾個與三次握手相關的幾個引數,並簡單地分析了它的含義:

tcpattemptfails

:(連線嘗試失敗數) 1.

試圖和乙個不存在的套介面建立連線時,連線失敗,而tcp

attemptfails

同時會加1

2. 被動連線(

syn_

send)等待第三次握手的

ack應答訊號超時或者為其它的錯誤應答時,連線將會失敗,且同時

tcpattemptfails

的值將加1。

microsoftinternetexplorer402documentnotspecified7.8normal0

tcpextlistendrops(監聽佇列連線丟棄數)

和tcplistenoverflows

(監聽佇列連線溢位數):

1. 首先是檢視現有的連線數是否大於設定的

backlog,如果大於就丟棄,並相應的引數值加

1。其中

backlog

是由程式和系統引數

net.core.somaxconn

共同設定,當

backlog

的值大於系統設定的

net.core.somaxconn

時則取net.core.somaxconn

的值,否則取程式設定的

backlog

值。這種出錯的方式也被記錄在

tcplistenoverflows

中(其只記錄了連線個數不足而產

生溢位錯誤的次數!)。

2. 接收到連線的應答訊號時,但它的源位址和目標不同,或者為空時,這個連線將被丟棄。而

tcplistendrops

值也會加1。

3. 當連線沒有問題時,系統將會分配必要的資源,而此時沒有足夠的資源時則會錯,此時的連線也會被丟棄,同時

tcplistendrops

值也會加1。

4. 最後在新建繫結埠的時候如果出現資源的不足時

tcplistendrops

值也會加1。

syncookiesfailed:

當net.ipv4.tcp_syncookies = 1

開啟時,

syncookiesfailed是通過

tcp_v4_hnd_req

呼叫子函式

cookie_v4_check做一系列的合法性校驗

,主要工作是在半連線佇列中看是否存在當前的socket

連線,如果

不存在則說明這個

是錯誤的應答,其值加

1。其它的資料含義可以參考:

tcp的三次握手 傳輸層 TCP 三次握手

使用tcp協議進行通訊的雙方必須先建立連線,然後才能開始傳輸資料。為了確保連線雙方可靠性,在雙方建立連線時,tcp協議採用了三次握手策略。如圖 客戶端傳送帶有syn標誌的連線請求報文段,然後進入syn send狀態,等待服務端的確認。服務端接收到客戶端的syn報文段後,需要傳送ack資訊對這個syn...

TCP的三次握手

tcp的三次握手分類 網路分析 第一步 請求方向服務方傳送syn,表示想發起一次tcp連線。我們假定這次的序列號是某個數值x 初始的ack號為0 trust target syn seq x ack 0 第二步 服務方產生syn,ack響應,並向請求方傳送ack,ack的值為x 1,表示資料成功接收...

TCP的三次握手

tcp被稱為可靠的資料傳輸協議,主要是通過許多機制來實現的,其中最重要的就是三次握手的功能。如何利用tcp的報頭來確認這個資料報已經被對方接受,並進一步與對方主機實現連線呢?看下圖 我們把上述過程分為a.b.c.d四個階段來說明 a 資料報發起 當客戶端想要對伺服器端發起連線時,就必須要送出乙個要求...