Tcp
ss -o
的輸出中的 <expire_time>
和 <retrans>
是什麼意思?
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
重傳計數增加的條目。您還將看到在這種情況下應用了退避:每次重新傳輸數據包時,初始到期時間都會增加。