跳數含義(TTL測量)

跳數含義(TTL測量)

當我使用 ping 命令時,我得到下一個結果(Windows):

C:\>ping example.microsoft.com
Pinging example.microsoft.com [192.168.239.132] with 32 bytes of data:
Reply from 192.168.239.132: bytes=32 time=101ms TTL=124
...

在此類實用程式的文檔中,TTL 的測量單位為啤酒花。根據ICMP規範RFC 792:

生存時間。 居住時間;由於該欄位在處理資料封包的每台機器上都會遞減,因此該欄位中的值應至少與該資料封包將遍歷的網關數量一樣大。

因此,每個主機將 TTL 至少減少 1第二。沒有說關於啤酒花。那為什麼要使用啤酒花呢?為什麼不使用,說多發性硬化症,如果主機處理資料封包太快?為什麼規範沒有說明啤酒花

答案1

TTL 旨在在存在路由迴路時永遠停止資料包生存(並消耗資源)。

最初,路由器可能需要超過一秒的時間來處理一個資料包。

當路由器變得更快並且開始在一秒鐘內處理資料包時,將 TTL 減少為零對它們來說是愚蠢的,因為那樣就不會停止循環。

因此,它會將 TTL 減少一秒鐘。

此更改記錄在RFC 1716第 5.3.1 節。

IP 標頭的生存時間 (TTL) 欄位定義為限制資料封包生命週期的計時器。它是一個8位元字段,單位是秒。每個處理資料包的路由器(或其他模組)必須將 TTL 至少減少一,即使經過的時間遠小於一秒鐘。由於這種情況很常見,因此 TTL 實際上是對資料封包可以透過 Internet 傳播多遠的跳數限制。

當路由器轉送封包時,它必須將 TTL 至少減少 1。如果它持有一個資料包超過一秒,它可能會每秒將 TTL 減一。

也可以看看:

維基百科 - 生存時間:

TTL 欄位由資料封包的傳送者設置,並由到達其目的地的路由上的每個主機減少。

Maxi-pedia - 存活時間 (TTL)

封包經過的每個路由器都需要從 TTL 欄位中至少減去一個計數。

相關內容