Tcp

ss -o 的輸出中的 <expire_time><retrans> 是什麼意思?

  • February 7, 2019

ss -o以下列格式顯示 TCP 計時器:

timer:(<timer_name>,<expire_time>,<retrans>)

是什麼<expire_time>意思<retrans>

我發現<expire_time>倒計時到零,然後再次從某個數字重新開始計數。它的起始值因 TCP 套接字而異。

<retrans>所有 TCP 套接字似乎總是為零。

expire_time是距離計時器到期的剩餘時間。Linux 核心中的 TCP 棧支持許多定時器,它們都有一個過期時間。

retrans是已經發生的重傳次數。TCP 實現 重新傳輸他們認為已經失去的數據包;他們計算這些重傳,以便知道何時放棄。你不應該經常看到這個;強制它的一種方法是嘗試在未立即拒絕的埠上打開連接,例如(基於您之前的一個問題中的範例):

curl http://www.google.com:9000

如果你執行它,你會看到curl在那裡坐了一會兒,並且ss -o會顯示一個SYN-SENT重傳計數增加的條目。您還將看到在這種情況下應用了退避:每次重新傳輸數據包時,初始到期時間都會增加。

引用自:https://unix.stackexchange.com/questions/499289