跳到主要内容

路由跟踪(Traceroute/Tracert):它的作用及如何运行命令?

什么是路由跟踪?

路由跟踪是一种网络诊断工具,用于追踪信息包从源头到目的地在IP网络中的传输路径。它通过发送一系列Internet控制消息协议(ICMP)回显请求(Windows系统中)或用户数据报协议(UDP)数据包(类Unix系统中)到目标,每个请求的生存时间(TTL)逐步递增来实现。TTL机制确保数据包不会因路由环路或错误而无限循环。当路由器转发每个数据包时,TTL值减一。当数据包的TTL在到达目的地前变为零时,路由器会丢弃该数据包,并向发送方发送ICMP“TTL过期”消息。

通过检查这些“TTL过期”消息,路由跟踪能够识别数据包在到达目的地途中经过的路由器。此过程让用户了解数据包在网络中的传输路径,识别任何故障点或延迟。工具在发送TTL足够高以到达目的地的数据包后完成路径追踪,目的地响应ICMP回显应答,表示成功到达。此方法提供了网络性能的宝贵洞察,有助于诊断连接问题并定位数据包传输过程中的故障位置。


  • 路由跟踪的作用是什么?
  • 路由跟踪的用途是什么?
  • 如何运行路由跟踪命令
  • 其他路由跟踪命令
  • 如何解读路由跟踪结果
  • Ping与路由跟踪的区别是什么?
  • 使用路由跟踪进行故障排除
  • 总结

路由跟踪的作用是什么?

路由跟踪,也称为tracert,在Windows系统中通常通过发送ICMP回显请求数据包工作,而在类Unix系统中则通过向目标机器的可访问UDP(用户数据报协议)端口发送数据包实现。路由跟踪从TTL为1的数据包开始发送,随后逐步递增TTL值。

数据包传输到第一个路由器,完成第一次跳跃,路由器将TTL从1减至0。当数据包到达路由器时,会检查其TTL值。如果TTL为零,路由器会丢弃数据包,并使用ICMP(互联网控制消息协议)“TTL过期”通知包通知原始主机。此过程确定第一个网络跳点及到达该跳点所用时间。路由跟踪重复此过程,逐步增加TTL,直到找到到远程主机的路径。一旦到达远程主机,远程主机会发送ICMP端口不可达消息,表示跟踪过程完成。

注意: 响应时间可能会有较大波动,因为数据包跨越了较长距离。有时延迟增加是由于网络拥堵引起的。

路由跟踪的用途是什么?

路由跟踪是一个有用的工具,帮助我们了解数据如何从一台计算机传输到另一台计算机,比如从你的电脑到你想访问的网站。想象你通过邮寄发送一封信;路由跟踪会显示信件在到达最终目的地之前经过的每个邮局(或“跳点”)。这些信息很有价值,因为它帮助识别网站加载缓慢或互联网复杂连接网络中出现问题的位置。

通过显示数据传输路径,路由跟踪可以准确定位连接强弱和故障或延迟发生的具体位置。这对网络管理员和IT专业人员尤为重要,他们需要确保数据在互联网上高效传输。他们使用路由跟踪诊断网络问题,优化数据路由以避免拥堵路径,并确保网络基础设施的速度和可靠性得到提升。简而言之,路由跟踪提供了互联网高速公路的地图,帮助专家维护和改善我们的在线体验。

如何运行路由跟踪命令

Windows环境

你可以在DOS或命令提示符下访问路由跟踪。需要先建立互联网连接。

  1. 在Windows 2000或XP环境下,点击开始,然后选择运行。在对话框中输入cmd,然后点击确定
  • 在较新的Windows版本中,进入开始屏幕或菜单,输入cmd启动命令提示符。
    命令提示符
  1. 在命令行窗口中,输入 tracert 主机名,其中主机名可以是域名、计算机名或IP地址。
    示例:
tracert example.com

命令提示符下的路由跟踪示例 3. 按回车

Mac OS X环境

  1. 打开终端
  2. 在终端窗口中,输入 traceroute 主机名,其中主机名可以是域名、计算机名或IP地址。
  3. 回车。路由跟踪结果会显示在终端窗口中。
    Mac OS X环境下的路由跟踪示例

Linux/UNIX环境

  1. 启动命令行界面(具体操作取决于操作系统发行版)。
  2. 在命令行窗口中,输入 traceroute 主机名,其中主机名可以是域名、计算机名或IP地址。
    示例:
traceroute example.com
  1. 回车

其他路由跟踪命令

以下额外命令适用于除Novell操作系统外的所有环境:

  1. 打开你的应用程序文件夹。
  2. 进入实用工具,双击打开终端应用。
  3. 在终端窗口中输入 traceroute example.com
    注意: 将example.com替换为你要跟踪的域名。
  4. 回车

或者:

  1. 启动命令行界面(根据操作系统发行版不同而异)。
  2. 在命令行窗口中输入 traceroute 主机名,其中主机名可以是域名、计算机名或IP地址。
    示例:
traceroute example.com
  1. 回车

命令说明

  • 要停止路由跟踪,输入 Ctrl-C
  • 要将路由跟踪结果输出到本地驱动器上的文本文件,命令后添加 > textname.txt
  • 例如:
tracert www.example.com > tracert.txt

这样会将结果保存到主硬盘上的tracert.txt文件中。

  • 要将多个路由跟踪结果追加到同一个文本文件,命令后添加 >> tracert.txt
  • 例如:
tracert www.example.com >> tracert.txt

这样会将结果追加保存到主硬盘上的同一个tracert.txt文件中。

如何解读路由跟踪结果

每一条记录或网络跳点表示数据包经过的一个位置。如果出现超时,可能表示该点存在问题或数据包路由错误,导致无法到达目标。

以下是路由跟踪或tracert结果示例。
第一列显示跳数。
网络跳点
接下来的三列显示到达每个跳点所用时间,用于测量延迟。
路由跟踪时间
最后一列显示每个跳点的IP地址或域名。
IP地址

星号表示未收到响应。请注意,有些路由器不会发送TTL过期的ICMP消息。

Ping与路由跟踪的区别是什么?

Ping和路由跟踪都是用于诊断网络健康和性能的工具,但它们的用途和提供的信息不同。

Ping 就像是计算机之间发送的数字“问候”。它测量从你的计算机到特定目标(如网站或另一台计算机)并返回所需的时间,这个时间称为延迟,通常以毫秒为单位。如果Ping值高,说明存在延迟,可能导致在线游戏或视频会议卡顿。Ping是检查互联网中特定设备是否可达及其响应速度的基本方法。

路由跟踪 则告诉你数据到达目的地所经过的路径,显示沿途的每个跳点。每个跳点代表一个路由器或交换机,帮助引导数据穿越互联网。路由跟踪测量到达每个跳点的时间,有助于识别网络中延迟发生的位置。这对于定位从你的计算机到目的地的网络路径中的问题非常有用。

总结来说,Ping 提供了你与目标之间往返时间的快速测量,而路由跟踪 则提供了数据传输路径的详细地图,包括可能发生延迟的位置。两者结合是诊断网络性能问题的宝贵工具。

使用路由跟踪进行故障排除

使用路由跟踪排查网络问题涉及理解数据包如何通过互联网传输以及识别可能发生延迟的位置。以下是影响跳点时间的关键因素及高延迟重要性的洞察:

影响跳点时间的因素

  • 网络拥堵。就像高速公路上的交通堵塞,当太多数据包试图使用同一路径时,会导致延迟。高流量会减慢跳点之间的数据传输速度。
  • 距离。数据包必须在你的计算机和目标服务器之间传输的物理距离会影响跳点时间。距离越远,时间越长。通过高效的网络路由可以缓解这一问题。
  • 路由器处理时间。路由跟踪中的每个跳点代表一个路由器或交换机,它们负责将数据包转发到下一个目的地。这些设备处理和转发数据包的速度会因硬件性能和当前负载不同而有所差异,从而影响跳点时间。
  • 网络硬件和基础设施。路径上的电缆质量(如光纤与铜缆)、路由器和交换机的性能都会影响传输速度。更现代和高容量的基础设施通常具有更低的延迟。
  • 数据包路由和策略。有时由于路由策略、安全措施或ISP间的对等协议,数据包选择的路径并非最直接。这可能导致跳点时间增加,因为数据包绕远路到达目的地。

何时高延迟才重要?

高延迟或延时会影响用户体验和应用性能,尤其在以下场景:

  • 实时应用。视频会议、在线游戏和直播需要及时的数据传输以保证流畅运行。高延迟会导致延时、缓冲和不同步,影响使用体验。
  • 交互式服务。网页浏览、即时通讯和在线交易等需要快速响应的服务,在高延迟情况下会变得缓慢且令人沮丧。
  • VoIP通话。基于互联网的语音通话(VoIP)在高延迟时可能出现明显的延时、回声或中断,导致通话质量下降。

总结

路由跟踪是一种工具,用于识别数据在跨越网络节点时必须经过的路由跳点。它还帮助你识别响应时间的延迟。如果数据无法到达目的地,路由跟踪或tracert可以用来确定故障点。