ping網絡時ttl=232與 ttl=56 有什么區別及含意
我們在測試網絡ping是icmp報文的一種應用。用來測試網絡中各設備的連通性。在這幾天的實驗課上,網際電腦又用到了這個非常常用的命令,但是這次我發現了一些以前沒有太注意的地方,那就是我在Ping不同的地址時所返回的TTL值是不同的。
在這里我要說明的是不同的Rpely消息中的不同的TTL值的由來。TTL 是數據包為了防止數據包在網絡中無限制的循環,而設定的網絡數據包在網絡傳輸中最大的轉發次數。因為每轉發一次在路由器,就會轉向下一跳,所以,又通常稱為最大跳數。具體的含義是這樣的。我們本地機器會發出一個數據包,數據包經過一定數量的路由器傳送到目的主機,但是由于很多的原因,一些數據包不能正常傳送到目的主機,那如果不給這些數據包一個生存時間的話,這些數據包會一直在網絡上傳送,導致網絡開銷的增大。當數據包傳送到一個路由器之后,TTL就自動減1,如果減到0了還是沒有傳送到目的主機,那么就自動丟失。例如:你定義了數據包的TTL為64.那么在你的數據包被轉發了64次,也就是經過了63個中間路由器后,還沒有到達目的網絡,那么,你的電腦就會顯示Requet time out (請求超時)了。例如:你定義了數據包的TTL為64.那么在你的數據包被轉發了64次,也就是經過了63個中間路由器后,還沒有到達目的網絡,那么,你的電腦就會顯示Requet time out (請求超時)了。這就是TTL的意思了
在此補充一點,由于不同的操作系統所定義的TTL是不同的,一般有如下規則:默認情況下,Linux系統的TTL值為64或255,Windows NT/2000/XP系統的TTL值為128,Windows 98系統的TTL值為32,UNIX主機的TTL值為255。