linux 上為traceroute
tracert 命令用
ip 生存時間
(ttl)
欄位和
icmp
錯誤訊息來確定從乙個主機到網路上其他主機的路由。
首先,tracert送出乙個ttl是1
的ip
資料報到目的地,當路徑上的第乙個路由器收到這個資料報時,它將
ttl減
1。此時,
ttl變為
0,所以該路由器會將此資料報丟掉,並送回乙個「
icmp time exceeded
」訊息(包括發
ip包的源位址,
ip包的所有內容及路由器的
ip位址),tracert 收到這個訊息後,便知道這個路由器存在於這個路徑上,接著tracert 再送出另乙個ttl是2
的資料報,發現第
2個路由器
...... tracert 每次將送出的資料報的ttl 加1
來發現另乙個路由器,這個重複的動作一直持續到某個資料報 抵達目的地。當資料報到達目的地後,該主機則不會送回
icmp time exceeded
訊息,一旦到達目的地,由於
tracert
通過udp
資料報向不常見埠
(30000以上)
傳送資料報,因此會收到「
icmp port unreachable
」訊息,故可判斷到達目的地。
tracert 有乙個固定的時間等待響應
(icmp ttl
到期訊息
)。如果這個時間過了,它將列印出一系列的
*號表明:在這個路徑上,這個裝置不能在給定的時間內發出
icmp ttl
到期訊息的響應。然後,
tracert
給ttl
記數器加
1,繼續進行。(注意:預設是最多30跳就結束 )
圖4-5-1 tracert命令
圖4-5-2 tracert
傳送的資料報
(ttl
遞增順序)
圖4-5-3 tracert
接收的資料報
關於Ping和Tracert命令原理詳解
本文只是總結了兩個常用的網路命令的實現原理和一點使用經驗說明。這些東西通常都分布在各種書籍或者文章中的,我勤快那麼一點點,總結一下,再加上我的一點理解和使用經驗,方便大家了解。這些也是很基礎的東西,沒什麼高深的。ping 這個應該大家都會用的吧,最主要的就是檢測目標主機是不是可連通。ping程式實際...
跟蹤路由 Tracert
tracert 跟蹤路由 是路由跟蹤實用程式,用於確定 ip 資料報訪問目標所採取的路徑。tracert 命令用 ip 生存時間 ttl 欄位和 icmp 錯誤訊息來確定從乙個主機到網路上其他主機的路由。tracert 工作原理 通過向目標傳送不同 ip 生存時間 ttl 值的 internet 控...
tracert 命令小結
前言 今天在閱讀 web效能權威指南 這本書的時候,發現 tracert 這個命令挺有意思的,在分析網路效能瓶頸的時候也能使用的到,在此就小記一筆以備後用。1 作用 tracert 是乙個簡單的網路診斷工具,可以列出分組經過的路由節點,以及它在ip 網路中每一跳的延遲。這裡的延遲是指 分組從資訊源傳...