TTL已过期,但没有数据包丢失

时间:2018-05-01 12:49:39

标签: windows ping ttl

我正在使用ping命令,我注意到尽管更改了 -i 参数的值(并因此收到有关TTL过期的消息),但没有丢包。

有人可以向我解释为什么会这样吗?

Result of ping command

2 个答案:

答案 0 :(得分:0)

每次IP数据包通过路由器(第3层接口)时,TTL都会减少。

如果TTL变为0,则路由器丢弃该数据包并发送ICMP错误,指示TTL在传输过期。

根据我的经验,此症状经常表示路由循环。

如果你跟踪到同一个地址,它将显示通过网络的路径,我怀疑它会显示有一个路由循环(你将在tracert结果中多次看到同一对地址)。

答案 1 :(得分:0)

我看到您的问题,即您在 ping google 时收到 TTL Expired in Transit。

我假设您将 TTL 值减少到非常低的值,正如您提到的使用 -i 参数。

例如,如果我用较低的 ping TTL 参数(ping 8.8.8.8 -i 3)ping Google DNS 地址 8.8.8.8,它肯定会以 TTL Expired in Transit 结束。

ping 数据包将在第三跳处过期。这将导致命令提示符上的 TTL Expired in Transit 消息。

然而,有趣的事实是 ping 统计数据。命令提示符将显示 0 包丢失。

因为根据网络情况,没有丢包。它们只是在到达目的地之前过期。

命令提示符在每一跳都收到正确的确认,直到数据包过期。

参考:https://www.corenetworkz.com/2011/05/ttl-expired-in-transit-reason-and.html