Ping 用于表明两台主机之间的连通性。Traceroute (tracert) 实用程序则可以用于观察这些主机之间的路径。Trace 会生成路径沿途成功到达的每一跳的列表。

 
此列表可以为我们提供重要的验证和故障排除信息。如果数据到达目的主机,Trace 就会列出路径中每台路由器上的接口。
 
如果数据无法到达沿途的某一跳,则会提供对 Trace 做出响应的最后一台路由器的地址。这样就指出了存在问题或安全限制的位置。
 
往返时间 (RTT)
 
Traceroute 可提供路径沿途每一跳的往返时间 (RTT) 并指示是否某一跳未响应。往返时间 (RTT) 是数据包到达远程主机以及从该主机返回响应所花费的时间。星号 (*) 用于表示丢失的数据包。
 
此信息可用于确定路径中存在问题的路由器。如果特定的某一跳响应时间长或数据丢失数量高,这表示该路由器的资源或其连接可能压力过大。
 
生存时间 (TTL)
 
Traceroute 使用第 3 层报头中生存时间 (TTL) 字段的功能和 ICMP 超时消息。TTL 字段用于限制数据包可以经过的跳数。数据包每经过一台路由器,TTL 字段便会减 1。当 TTL 变为零时,路由器将不再转发该数据包而将其丢弃。
 
除丢弃数据包外,该路由器通常还会以发送主机为目的主机发送一个 ICMP 超时消息。此 ICMP 消息包含做出响应的路由器的 IP 地址。
 
从 traceroute 发送的第一个消息系列的 TTL 字段值为一。此 TTL 会导致数据包在第一台路由器处超时。然后,此路由器用 ICMP 消息做出响应。现在,Traceroute 知道了第一跳的地址。
 
随后,Traceroute 逐渐增加每个消息系列的 TTL 字段值(2、3、4...)。这可为 Trace 提供数据包在该路径沿途再次超时所经过的每一跳的地址。TTL 字段的值将不断增加,直至到达目的主机或增至预定义的最大值。
 
到达最终目的主机后,该主机将不再以 ICMP 超时消息做出应答,而会代之以 ICMP 端口无法到达消息或 ICMP 应答消息。