2008-10-17 37 views
15

這似乎很神奇。什麼是traceroute命令,以便將整個路徑映射到Internet上的某個其他節點?traceroute如何工作?

+0

[如何路由跟蹤工作?]( http://www.tek-tips.com/faqs.cfm?fid=381) – thijs 2008-10-17 08:39:23

回答

22

Traceroute傳輸具有小TTL(生存時間)值的數據包。 TTL是一個IP頭域,用於防止數據包進入無限循環。處理數據包的路由器從數據包的TTL中減去一個。數據包到期並在TTL達到零時丟棄。

當發生這種情況時,跟蹤路由將ICMP超時消息(RFC 792)發送回發送方。通過使用小TTL值,數據包將快速過期,因此,跟蹤路由會導致沿數據包路徑的所有路由器生成標識路由器的ICMP消息。

例如,TTL = 1應產生從所述第一路由器的消息,TTL = 2的路徑,生成從所述第二路由器的消息,等等...

+0

這是否意味着您可以通過指定ttl = 5 – webly 2009-10-20 12:55:01

26

traceroute將TTL(Time To LIve)字段設置爲1,併爲每一跳遞增。接收到該消息的路由器遞減該值,並且當它到達0時,它們回覆TTL達到零的消息。通過這個回覆,客戶知道誰在之間。迭代地執行此操作直到您的目的地和您得到(至少其中之一)路由