怎麼用ping命令取得TTL值,TTL值是做什麼用的? 匿名使用者 1級 2013-12-17 回答

簡單來說,TTL全程Time to Live,意思就是生存週期。

首先要說明ping命令是使用的網路層協議ICMP,所以TTL指的是一個網路層的網路資料包(package)的生存週期,這句話不懂的先回去複習OSI7層協議去。

第一個問題,為什麼要有生存週期這個概念。

很顯然,一個package從一臺機器到另一臺機器中間需要經過很長的路徑,顯然這個路徑不是單一的,是很複雜的,並且很可能存在環路。如果一個數據包在傳輸過程中進入了環路,如果不終止它的話,它會一直迴圈下去,如果很多個數據包都這樣迴圈的話,那對於網路來說這就是災難了。所以需要在包中設定這樣一個值,包在每經過一個節點,將這個值減1,反覆這樣操作,最終可能造成2個結果:包在這個值還為正數的時候到達了目的地,或者是在經過一定數量的節點後,這個值減為了0。前者代表完成了一次正常的傳輸,後者代表包可能選擇了一條非常長的路徑甚至是進入了環路,這顯然不是我們期望的,所以在這個值為0的時候,網路裝置將不會再傳遞這個包而是直接將他拋棄,併發送一個通知給包的源地址,說這個包已死。

其實TTL值這個東西本身並代表不了什麼,對於使用者來說,關心的問題應該是包是否到達了目的地而不是經過了幾個節點後到達。但是TTL值還是可以得到有意思的資訊的。

每個作業系統對TTL值得定義都不同,這個值甚至可以透過修改某些系統的網路引數來修改,例如Win2000預設為128,透過登錄檔也可以修改。而Linux大多定義為64。不過一般來說,很少有人會去修改自己機器的這個值的,這就給了我們機會可以透過ping的回顯TTL來大體判斷一臺機器是什麼作業系統。

怎麼用ping命令取得TTL值,TTL值是做什麼用的? 匿名使用者 1級 2013-12-17 回答

簡單來說,TTL全程Time to Live,意思就是生存週期。 ping命令是使用的網路層協議ICMP,所以TTL指的是一個網路層的網路資料包(package)的生存週期,這句話不懂的先回去複習OSI7層協議去。

1。 很顯然,一個package從一臺機器到另一臺機器中間需要經過很長的路徑,顯然這個路徑不是單一的,是很複雜的,並且很可能存在環路。如果一個數據包在傳輸過程中進入了環路,如果不終止它的話,它會一直迴圈下去,如果很多個數據包都這樣迴圈的話,那對於網路來說這就是災難了。所以需要在包中設定這樣一個值,包在每經過一個節點,將這個值減1,反覆這樣操作,最終可能造成2個結果:包在這個值還為正數的時候到達了目的地,或者是在經過一定數量的節點後,這個值減為了0。

2。 前者代表完成了一次正常的傳輸,後者代表包可能選擇了一條非常長的路徑甚至是進入了環路,這顯然不是我們期望的,所以在這個值為0的時候,網路裝置將不會再傳遞這個包而是直接將他拋棄,併發送一個通知給包的源地址,說這個包已死。

3。 其實TTL值這個東西本身並代表不了什麼,對於使用者來說,關心的問題應該是包是否到達了目的地而不是經過了幾個節點後到達。但是TTL值還是可以得到有意思的資訊的。

4。 每個作業系統對TTL值得定義都不同,這個值甚至可以透過修改某些系統的網路引數來修改,例如Win2000預設為128,透過登錄檔也可以修改。而Linux大多定義為64。不過一般來說,很少有人會去修改自己機器的這個值的,這就給了我們機會可以透過ping的回顯TTL來大體判斷一臺機器是什麼作業系統。

怎麼用ping命令取得TTL值,TTL值是做什麼用的? 匿名使用者 1級 2013-12-17 回答

TTL:生存時間

指定資料報被路由器丟棄之前允許透過的網段數量。

TTL 是由傳送主機設定的,以防止資料包不斷在 IP 網際網路絡上永不終止地迴圈。轉發 IP 資料包時,要求路由器至少將 TTL 減小 1。

TTL 欄位值可以幫助我們識別作業系統型別(不完全準確,因為 TTL 是可以修改的)。

LINUX 64

WIN2K/NT 128

WINDOWS 系列 32

UNIX 系列 255

怎麼用ping命令取得TTL值,TTL值是做什麼用的? 何所冬暖,何所夏涼 1級 2013-12-17 回答

ttl是生存時間的意思,在這裡意味著資料包可以經過的網路裝置的臺數,115意味著,這個資料包在穿過115臺裝置後將被丟棄!

怎麼用ping命令取得TTL值,TTL值是做什麼用的? 匿名使用者 1級 2013-12-17 回答

ping IP地址