Tracert 工作原理 通过向目标发送不同 IP 生存时间 (TTL) 值的“Internet 控制消息协议 (ICMP)”回 应数据包,Tracert 诊断程序确定到目标所采取的路由tracert怎么用。要求路径上的每个路由器在 转发数据包之前至少将数据包上的 TTL 递减 1。数据包上的 TTL 减为 0 时,路由器 应该将“ICMP 已超时”的消息发回源系统。 Tracert 先发送 TTL 为 1 的回应数据包,并在随后的每次发送过程将 TTL 递增 1, 直到目标响应或 TTL 达到最大值,从而确定路由。通过检查中间路由器发回的“ICM P 已超时”的消息确定路由。某些路由器不经询问直接丢弃 TTL 过期的数据包,这在 Tracert 实用程序中看不到。 Tracert 命令按顺序打印出返回“ICMP 已超时”消息的路径中的近端路由器接口列表 。如果使用 -d 选项,则 Tracert 实用程序不在每个 IP 地址上查询 DNS。 在下例中,数据包必须通过两个路由器(10.0.0.1 和 192.168.0.1)才能到达主机 172.16.0.99。主机的默认网关是 10.0.0.1,192.168.0.0 网络上的路由器的 IP 地 址是 192.168.0.1。 C:\\\\>tracert 172.16.0.99 -d Tracing route to 172.16.0.99 over a maximum of 30 hops 1 2s 3s 2s 10,0.0,1 2 75 ms 83 ms 88 ms 192.168.0.1 3 73 ms 79 ms 93 ms 172.16.0.99 Trace complete. 用 tracert 解决问题 可以使用 tracert 命令确定数据包在网络上的停止位置。下例中,默认网关确定 19 2.168.10.99 主机没有有效路径。这可能是路由器配置的问题,或者是 192.168.10. 0 网络不存在(错误的 IP 地址)。 C:\\\\>tracert 192.168.10.99 Tracing route to 192.168.10.99 over a maximum of 30 hops 1 10.0.0.1 reports:Destination net unreachable. Trace complete. Tracert 实用程序对于解决大网络问题非常有用,此时可以采取几条路径到达同一个 点。 Tracert 命令行选项 Tracert 命令支持多种选项,如下表所示。 tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout] target_name 选项 描述 -d 指定不将 IP 地址解析到主机名称。 -h maximum_hops 指定跃点数以跟踪到称为 target_name 的主机的路由。 -j host-list 指定 Tracert 实用程序数据包所采用路径中的路由器接口列表。 -w timeout 等待 timeout 为每次回复所指定的毫秒数。 target_name 目标主机的名称或 IP 地址。 详细信息,请参阅使用 tracert 命令跟踪路径。 使用 pathping 测试路由器 pathping 命令是一个路由跟踪工具,它将 ping 和 tracert 命令的功能和这两个工 具所不提供的其他信息结合起来。pathping 命令在一段时间内将数据包发送到到达最 终目标的路径上的每个路由器,然后基于数据包的计算机结果从每个跃点返回。由于 命令显示数据包在任何给定路由器或链接上丢失的程度,因此可以很容易地确定可能 导致网络问题的路由器或链接。某些选项是可用的,如下表所示。 选项 名称 功能 -n Hostnames 不将地址解析成主机名。 -h Maximum hops 搜索目标的最大跃点数。 -g Host-list 沿着路由列表释放源路由。 -p Period 在 ping 之间等待的毫秒数。 -q Num_queries 每个跃点的查询数。 -w Time-out 为每次回复所等待的毫秒数。 -T Layer 2 tag 将第 2 层优先级标记(例如,对于 IEEE 802.1p)连接到数据包并 将它发送到路径中的每个网络设备。这有助于标识没有正确配置第 2 层优先级的网络 设备。-T 开关用于测试服务质量 (QoS) 连通性。 -R RSVP test Che检查以确定路径中的每个路由器是否支持“资源保留协议 (RSVP)” ,此协议允许主机为数据流保留一定量的带宽。 -R 开关用于测试服务质量 (QoS) 连 通性。 默认的跃点数是 30,并且超时前的默认等待时间是 3 秒。默认时间是 250 毫秒,并 且沿着路径对每个路由器进行查询的次数是 100。 以下是典型的 pathping 报告。跃点列表后所编辑的统计信息表明在每个独立路由器 上数据包丢失的情况。 D:\\\\>pathping -n msw Tracing route to msw [7.54.1.196] over a maximum of 30 hops: 0 172.16.87.35 1 172.16.87.218 2 192.68.52.1 3 192.68.80.1 4 7.54.247.14 5 7.54.1.196 Computing statistics for 125 seconds... Source to Here This Node/Link Hop RTT Lost/Sent = Pct Lost/Sent = Pct Address 0 172.16.87.35 0/ 100 = 0% │ 1 41ms 0/ 100 = 0% 0/ 100 = 0% 172.16.87.218 13/ 100 = 13% │ 2 22ms 16/ 100 = 16% 3/ 100 = 3% 192.68.52.1 0/ 100 = 0% │ 3 24ms 13/ 100 = 13% 0/ 100 = 0% 192.68.80.1 0/ 100 = 0% │ 4 21ms 14/ 100 = 14% 1/ 100 = 1% 10.54.247.14 0/ 100 = 0% │ 5 24ms 13/ 100 = 13% 0/ 100 = 0% 10.54.1.196 Trace complete. 当运行 pathping 时,在测试问题时首先查看路由的结果。此路径与 tracert 命令所 显示的路径相同。然后 pathping 命令对下一个 125 毫秒显示忙消息(此时间根据跃 点计数变化)。在此期间,pathping 从以前列出的所有路由器和它们之间的链接之间 收集信息。在此期间结束时,它显示测试结果。 最右边的两栏 This Node/Link Lost/Sent=Pct 和 Address 包含的信息最有用。172 .16.87.218(跃点 1)和 192.68.52.1(跃点 2)丢失 13% 的数据包。 所有其他链 接工作正常。在跃点 2 和 4 中的路由器也丢失寻址到它们的数据包(如 This Node /Link 栏中所示),但是该丢失不会影响转发的路径。 对链接显示的丢失率(在最右边的栏中标记为 │)表明沿路径转发丢失的数据包。该 丢失表明链接阻塞。对路由器显示的丢失率(通过最右边栏中的 IP 地址显示)表明 这些路由器的 CPU 可能超负荷运行。这些阻塞的路由器可能也是端对端问题的一个因 素,尤其是在软件路由器转发数据包时。