Leo*_*rdo 58 networking ping ttl tcp
当我们尝试 ping 不同网段中的服务器时,我们会收到消息“传输中的 TTL 过期”。当我们运行 tracert 时,4 个 ip 地址无限重复:
14 60 ms 59 ms 60 ms xxx.xxx.xxx.2
15 83 ms 81 ms 82 ms xxx.xxx.xxx.128
16 75 ms 80 ms 81 ms xxx.xxx.xxx.249
17 81 ms 78 ms 80 ms xxx.xxx.xxx.250
18 82 ms 80 ms 77 ms xxx.xxx.xxx.2
19 102 ms 101 ms 100 ms xxx.xxx.xxx.128
20 101 ms 100 ms 98 ms xxx.xxx.xxx.249
21 97 ms 98 ms 99 ms xxx.xxx.xxx.250
...
Run Code Online (Sandbox Code Playgroud)
排除此错误的基本步骤是什么?
Sau*_*iya 34
正如上面所有答案中所述,路由中存在导致 TTL 过期的循环。
检查IP地址重复的设备上的路由。在 Linux 上你可以使用
route -n
Run Code Online (Sandbox Code Playgroud)
以 root 用户身份查看当前路由表。在 Windows 上,您可以转到 cmd 并使用命令
route print
Run Code Online (Sandbox Code Playgroud)
查看当前路由表。在 cisco 可管理交换机上,您可以使用命令
show ip route
Run Code Online (Sandbox Code Playgroud)
在所有四个重复的 IP 上使用上述命令,您应该看到哪个路由表是错误的。理想情况下,所涉及的四个设备/主机之一应该将流量路由到您使用其他网关 ping 的目的地。
小智 19
您的网络配置中有一条循环路由,请检查相关设备上的路由表。
“传输中的TTL过期”与数据包的TTL值有关;它通过的每个路由器都将其降低 1,如果它达到 0,则数据包将返回给发送方。它可以防止无限循环,数据包永远在循环中传播。
rad*_*ius 15
IP 数据包有一个TTL标志。每次路由数据包时,此值减 1。当值变为 0 时,路由器丢弃数据包并发送 ICMP 消息Time-to-live exceeded intransit。
这样做是为了防止在网络上存在路由问题时无限路由数据包。这就是您的情况,您有一个路由循环,因此数据包永远不会到达目的地,并且最终被其中一个路由器丢弃,因为 TTL 达到 0。