技術(shù)頻道導(dǎo)航
HTML/CSS
.NET技術(shù)
IIS技術(shù)
PHP技術(shù)
Js/JQuery
Photoshop
Fireworks
服務(wù)器技術(shù)
操作系統(tǒng)
網(wǎng)站運營

贊助商

分類目錄

贊助商

最新文章

搜索

Ping TTL 的值越小越好?不對!

作者:admin    時間:2017-6-15 9:48:52    瀏覽:

我們在使用Ping命令的時候,通常關(guān)注的是“時間”這個值,忽略“TTL”這個值。但是細心的人會發(fā)現(xiàn),TTL的值不是每次Ping都一樣,也不是Ping每個域名都一樣,這是什么原因呢?“TTL”又是什么意思呢?可能不少人認為,“TTL”的值越小越好,就像“時間”這個值一樣。我以前也是這么認為,只籠統(tǒng)知道“TTL”是“生存時間”(Time To Live)的意思,認為這個值越小越好。事實上是怎樣的呢?本文將為你解開疑惑。

“TTL”是生存時間(Time To Live)的意思

首先我們了解一下“TTL”的意思,“TTL”是 Time To Live 的縮寫,該字段指定IP包被路由器丟棄之前允許通過的最大網(wǎng)段數(shù)量。這樣說可能比較抽象。下面我們看一下Ping命令的數(shù)據(jù),如圖:

Ping百度服務(wù)器

Ping百度服務(wù)器

上圖,我ping了百度的服務(wù)器(windows下默認ping 4次)。

字節(jié)代表數(shù)據(jù)包的大小,時間顧名思義就是返回時間,“TTL”的意思就是數(shù)據(jù)包的生存時間,當然你得到的這個就是剩余的生存時間。TTL用來計算數(shù)據(jù)包在路由器的消耗時間,因為現(xiàn)在絕大多數(shù)路由器的消耗時間都小于1s,而時間小于1s就當1s計算,所以數(shù)據(jù)包沒經(jīng)過一個路由器節(jié)點TTL都減一。

那么TTL的值一開始是什么呢?不同的操作系統(tǒng)默認下TTL是不同的。默認情況下,Linux系統(tǒng)的TTL值為64或255,Windows NT/2000/XP系統(tǒng)的TTL值為128,Windows 98系統(tǒng)的TTL值為32,UNIX主機的TTL值為255。

上圖看到Ping百度服務(wù)器返回的數(shù)據(jù)包的TTL值為56(一般都是找2^n且離返回值最近的那個值),那么途中則經(jīng)過了64-56=9個路由器。

再比如,我Ping自己的ip,結(jié)果如下圖:

Ping本地計算器

Ping本地計算器

可以看到我得到的時候TTL為128,那么途中則經(jīng)過了128-128=0個路由器,也就是我自己給自己發(fā)送數(shù)據(jù)包不需要經(jīng)過任何路由器,所以TTL值為128,即是說我的數(shù)據(jù)包生存時間為128。

Ping TTL 越小越好?不對!

通過上述例子的分析,說“TTL”的值越小越好顯然是不對的,相反,應(yīng)該說是“TTL”的值越大越好才對,因為“TTL”的值越大,說明發(fā)送數(shù)據(jù)包經(jīng)過路由器越少,而經(jīng)過路由器越少,說明越快到達目的地,速度當然也就越快。

路由器是什么?從 Tracert 命令了解

上面提到發(fā)送數(shù)據(jù)包要經(jīng)過多少個路由器,那么路由器是什么意思?這就不得不說到 Tracert 命令了。

Tracert的寫法如下:

tracert [目標]

意思是得到你的主機到目標主機經(jīng)過路由器的ip。

如圖:

 tracert百度服務(wù)器

tracert百度服務(wù)器

在這里我們可以看到達到目標我們經(jīng)過了9個路由器(不算終點),跟上面Ping百度服務(wù)器返回的“TTL”值(56)是相關(guān)的,64-56=9。

注意一下有的值為“請求超時” ,原因是有的路由器是禁止Ping的(所以不會返回信息)。

標簽: 主機  
x
  • 站長推薦
/* 左側(cè)顯示文章內(nèi)容目錄 */