Ping TTL 更改

Ping TTL 更改

Windows 等實用程式ping.exe可以選擇更改 Echo Request 訊息的 IP 標頭中的預設 TTL 值。 TTL 顯示資料包的最大跳數限制。我知道每個路由器都會降低 TTL 值,它是為了「清除」網路中的循環資料包而設計的。但改變 TTL 有什麼意義呢?為什麼不將其設定為最大值 255?我怎麼知道什麼值比較好?我聽說 TTL 與以下概念有某種聯繫域區域和它的尺寸。有人可以解釋一下嗎?謝謝。

答案1

TTL 是一個相當通用的術語,意思是「生存時間」。它用於許多需要有限壽命的情況。

正如您正確提到的,在 ping 中,它用於設定資料包可以傳輸的最大跳數。在 DNS 中,它用作條目從快取中過期之前的時間長度。

你問為什麼不一直設定為255?嗯,在 99% 的情況下,使用 ping 就沒有問題。您可能需要在其中幾個(好吧,我突然想到的一個)中指定確切的躍點數。

想像一下,如果您的網路在A 點和B 點之間有多個路由。個躍點。

將 ping 設定為僅允許 6 個躍點,您可以準確地確定有多少資料包經過 R1 和有多少資料包經過 R2。

答案2

據我所知,ping 中的 TTL 基本上是為了在一定時間後消除資料包,然後它就無法在網路上循環。您也可以使用此值來查看發送回顯請求的車站的票價,因為每個路由器在發送回顯請求之前都會降低票價。但! ,當回顯請求封包到達目標站(因此它仍然活著)時,會產生一個「回顯答案」資料包,並且該答案還包含一個TTL,該TTL 根據「目標站規則」重置回最大值。我猜Linux/BSD站將其設定為64,Windows 128 cisco或solaris裝置將其設定為255,然後將其發送回目標位址。

這就是為什麼您可以在 ping 報告中看到不同的 TTL 值。

相關內容