什麼是traceroute

依序查出通往目的地之路徑上各路由器的指令。把IP標頭的TTL依1、2、3…增加送出封包,根據TTL變為0的路由器所送回的ICMP逾時訊息,顯示各路由器的位址與往返時間。在Windows中名稱為 tracert。不送回ICMP的路由器會顯示為「*」,但光憑這點不一定代表通訊故障。

日文名稱: traceroute

「traceroute」出現在2領域的3道練習題中(網路設計與維運, 電腦網路基礎等)。

這個名詞所屬的領域: 網路設計與維運

練習traceroute的題目

在traceroute中,為了讓從來源數來第4台路由器送回ICMP的逾時(Time Exceeded)訊息而送出的封包,其IP標頭的TTL值是下列何者?

  1. A3
  2. B4
  3. C5
查看答案與解析

正確答案:B. 4

路由器每轉送一次封包就把TTL減1,變為0的封包會被丟棄,並向來源送回ICMP的逾時訊息。以TTL 4送出時,經過第1台變成3、第2台變成2、第3台變成1,到第4台變成0,因此由第4台路由器送回訊息。traceroute會把TTL依1、2、3…逐一增加送出封包,根據送回之訊息的來源位址與時間,依序顯示路徑上的路由器與延遲。封包到達目的地時,會由目的地的回應(ICMP的回應答覆,或表示無法到達目的地連接埠的訊息)得知已經結束。

從某終端對Web伺服器 198.51.100.80 執行traceroute,第1~5行依序顯示 192.168.1.1、10.0.0.1、「* * *」(無回應)、203.0.113.1、198.51.100.80,Web伺服器也能正常使用。對第3行的解讀,下列何者最適當?

  1. A第3台路由器有轉送封包,但被設定為TTL變為0時不送回ICMP訊息,或限制了送回的數量
  2. B封包在第3台路由器被丟棄,實際上並沒有到達第4台之後
  3. C只有經過第3台路由器的區間封包會被加密,因此讀不出路由器的位址而顯示 *
查看答案與解析

正確答案:A. 第3台路由器有轉送封包,但被設定為TTL變為0時不送回ICMP訊息,或限制了送回的數量

第4台之後的路由器與目的地都有回應,因此封包經過第3台路由器被轉送到更遠處。第3台顯示 * 的原因,可以推想是該路由器被設定為不送回逾時的ICMP訊息,或為了降低路由器的負載而限制送回ICMP的頻率。traceroute的每一行只表示該位置的路由器送回的訊息,因此即使途中有 *,也不一定代表通訊有問題。反之,若從某一行之後全部都是 *,則封包可能在那附近無法送達。

解析中的「traceroute」

出現「traceroute」的題目(3題)

  1. 在traceroute中,為了讓從來源數來第4台路由器送回ICMP的逾時(Time Exceeded)訊息而送出的封包,其IP標頭的TTL值是下列何者?
  2. 從某終端對Web伺服器 198.51.100.80 執行traceroute,第1~5行依序顯示 192.168.1.1、10.0.0.1、「* * *」(無回應)、203.0.113.1、198.51.100.80,Web伺服器也能正常使用。對第3行的解讀,下列何者最適當?
  3. IPv4標頭中TTL(Time To Live,存活時間)的功能,下列何者正確?

相關名詞

路由器 ICMP(網際網路控制訊息協定) 封包 IP(網際網路協定) IPv4 IPv6 生成樹協定(STP) 存取控制清單(ACL) 最長前綴匹配 路由彙總

前往名詞解釋列表