
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 值。