關於PING命令TTL值的理解

2022-06-06 09:03:11 字數 1515 閱讀 3276

關於ttl值

ttl值是生存時間(time to live)的縮寫,ip包被路由器丟棄之前允許通過的最大網段數量。雖然意思是生存時間,但看這個解釋是不是有點讓人摸不清頭腦?

好那麼我們可以看看ip資料報,這個ttl值到底是指什麼?結果我幹了一件事就是ping了www.baidu.com的網域名稱,我們來看看這個載圖1。

(1)關於作業系統設定的ttl預設值

要想知道ttl原來的值是多少還是比較簡單的,我目前知道兩個辦法。

第一種就是ping一下同乙個區域網的某台主機,不要經過三層路由器的pc主機,然後看看這個ttl值,就可以清楚的知道這個系統預設設定的ttl值。可以看到截圖ttl值是64,截圖2。

第二種就是在window作業系統的登錄檔中,可以查到這個預設值。

ttl值的登錄檔位置 hkey_local_machine\system\currentcontrolset\services\tcpip\parameters ,其中有個defaultttl的dword值,其資料就是預設的ttl值。可以看到載圖ttl值是16進製制的40,十進位制就是64這就是系統預設的ttl值。那就已經回答了第乙個問題ttl的原來的系統預設值的問題,當然這個系統的預設值是可以修改的,可以修改成多少,等下我們後面再說,截圖3。

(2)訪問某**我們經過了多少路由器**

要回答這個問題,我們開動一下腦子,我又使用tracert命令追蹤到達www.baidu.com的路由,我們看看截圖4,追蹤的結果是20跳,基實從截圖1數到截圖3也可以得出43至64,這兩個值間的距離是20。

(3)ttl值可以設定的範圍是什麼呢?

要回答這個問題,其實我們光看作業系統的設定值是不準確的,我們應該了解的是ip資料報,ttl值可以設成的值,那麼我們抓乙個icmp資料報觀察下?從資料報可以看到ttl值占用的長度是1個位元組,也就是8bit,那這個值最大可以設定為255,也就是255跳,而win7系統的預設設定是64跳。

(4)比較值得意考的問題

就是在都會網路或區域網內,這個ttl值可能會被相關的路由器設成最大值,這是我在測試中發現的,但是到了廣域網ttl值都遵循作業系統的預設值來計算路由器的跳數值了,這是為什麼,大家自己思考一下。收工!

詳解ping命令TTL

ttl time to live 生存時間,是指定資料報被路由器丟棄之前允許通過的網段數量,也就是說這個ping的資料報能在網路上存在多少時間。當我們對網路上的主機進行ping操作的時候,我們本地機器會發出乙個資料報,資料報經過一定數量的路由器傳送到目的主機,但是由於很多的原因,一些資料報不能正常傳...

ping命令TTL的意思

生存時間 time to live 指定 資料報被 路由器丟棄之前允許通過的網段數量。它是ip 中文全稱 網路協議 協議包中的乙個值,它告訴 網路,資料報在網路中的時間是否太長而應被丟棄。中文名生存時間 外文名time to live 外語縮寫 ttl 寓 意 網域名稱解析在dns伺服器中存留時間 ...

PING命令結果中的TTL是什麼?

ttl time to live 生存時間值 該欄位指定ip包被路由器丟棄之前允許通過的最大網段數量 ttl的作用 每經過乙個路由器,ttl值減1,當ttl值減到0時,路由器就會將這個包丟棄,這樣就可以防止包在網路上無休止的傳播傳送 假設現在有三颱電腦,分別是windows linux和unix,其...