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