
当您采用互联网时,您发送的每个数据包,从聊天消息到短片或照片,都必须经过交换机和服务器才能到达目的地。可是要是某天突然这些东西都无法正常发送时怎么办?不幸的是,不含什么比当您无法再连接到网站时更能提醒您这种配置的了。 原因可能在您这边、网站那边,或是介于两者之间。 找出情况所在的最佳方法是采用 traceroute 命令。什么是 traceroute?traceroute 是一种跟踪数据包通过互联网时所采取的路线的方法。 每个现代打理环境都可追踪路线。当您启动 traceroute 时,您可告诉它您想要跟踪路由到哪个网站或服务器。 通常,这是您尝试访问的网站 URL,但要是您愿意,也可为其带有 IP 地址。
一旦您启动 traceroute,它就会向您设定的目的地发送数据包。 然后它会记录数据包的行程并将信息发送回您的PC,然后PC会向您显示它们的去向。要是您想查找网络故障,这挺省事。 要是服务器或交换器出现故障,traceroute 将遇到情况并报告某些东西无法正常工作。 然后,您可采用此信息更好地诊断出了什么情况。traceroute 由如何工作?traceroute 是诊断网络故障的便捷方法。 然而,traceroute 的发明完全归功于采用数据包的“生存时间”变量的巧妙利用。什么是数据包的“生存时间”?理想情况下,当计算机将数据包从一个地方发送到另一个地方时,它可毫无情况地到达那里。 它会采用最快的路线从 A 点到 B 点,并且不会被卡住或阻碍。不幸的是,网络可能是一件很挑剔的事情。 要是工程师在配置服务器时犯了故障,则数据包可能会在服务器之间无限循环地发送。 要是这种情况发生得太频繁,网络就会塞满永远不停地循环的数据包。数据包背后的聪明人想出了一个处理方案来处理该情况,称为“生存时间”或“TTL”。 每个数据包在发送到未知世界早先,都会被赋予一个大于 0 的 TTL 值。 要是该值达到 0,则数据包被视为“死亡”并被销毁。当数据包在旅途中被发送时,它将在多种的服务器上多次停留。 每次到达服务器时,它都会将其 TTL 值减去一。 通常,此 TTL 值配置为一个数字,使数据包在到达 0 早先有足够的时间到达目的地。可是,要是数据包确实进入循环,则 TTL 最终将递减,直到数据包过期。当数据包过期时,它结束的服务器会向本地发送所谓的“ICMP 超时”消息。 这本质上是一个通知,表明数据包已过早终止,并告诉玩家数据包在何处过期,以辅助进行故障排除。数据包的生存时间如何让 traceroute 发挥作用此 ICMP 超时消息是使 traceroute 正常工作的关键。 起始,traceroute 发出一个 TTL 配置为 1 的数据包。这意味着它离开您的 PC,到达第一台服务器,从其 TTL 中减去 1,注意到它的 TTL 为 0,然后过期。然后,当时处理数据包的服务器将 ICMP 超时消息及其位置发送回您的 PC。 然后,您的PC会记录服务器的位置,作为完成目标的第一步。然后,它发送一个 TTL 配置为 2、3 等的数据包,直到数据包到达目的地。 每个数据包都会在通道的下一步过期,沿途的每个服务器都会报告过期的数据包,为您的 PC 带有所需的信息,以了解数据包的去向。traceroute 有何用途?在差不多层面上,traceroute 可让您了解数据包如何在网络中移动。 无论您是网络工程师,仔细检查悉数东西是否按预期流动,或是您只是对访问百度时数据包的传输方式感兴趣,traceroute 都是您的最佳挑选。然而,它对于注意到环境中的故障也很有用。 要是 traceroute 尝试联系无响应的服务器,它会注意到它发送的数据包有一段时间不含触发回复。 一旦经过了足够的时间,traceroute 就会声明“请求超时”,这意味着回复未能在指定的时间内到达。当然,超时请求并不总是意味着服务器已关闭。 有时服务器不中意 traceroute 请求并在它们通过时阻止它们。 可是,要是您相对确定链上的任何服务器都不应阻止 traceroute,那么这是诊断在您尝试连接时无法响应的网站或服务器的好方法。traceroute 和 Ping 有什么区别?技术熟练的读者会注意到 traceroute 听起来与另一个省事的网络工具 Ping 挺相似。 然而,虽然这两个特性确实有一点重叠,但人们采用它们的原因多种。正如上面所介绍的,traceroute 可辅助您确定数据包离开 PC 后的去向。 同时,Ping 会告诉您您的 PC 是否可到达特定服务器,与到达那里得多长时间。因此,要是您想查看网络链的每个部分,traceroute 就是您的最佳挑选。 同时,要是您只想查看服务器是否响应,您可对其进行 Ping。 当然,您也可采用 traceroute 来做到这一点,但您必须等待一段时间才能最终到达您的服务器,然后才能获得您正在寻找的答案。如何执行 traceroute正如我们早先所说,悉数核心打理环境都可执行 traceroute。 就像启动命令终端并输入 traceroute 命令一样轻松。对于 macOS,您只需启动终端并输入“traceroute”,然后输入目标的 URL 或 IP 地址。 Linux 上也是一样,但您可能得先装好 traceroute,然后才能跑它。在 Windows 打理环境上,其工作方式一致,只不过该函数称为“tracert”。采用 traceroute 跟踪您的数据包要是您想查看数据包离开 PC 后的去向,traceroute 就是您的最佳挑选。 无论您是想诊断网络情况,还是只是想看看数据包的去向,都可轻松配置并观察数据流向。