Ping IP 地址路由到错误目的地

Ping IP 地址路由到错误目的地

简单来说,有哪些可能的原因ping 192.168.1.18会被重定向到192.168.1.199(或者一些其他的随机IP地址192.168.1.x)?

--

以下是完整的故事。

我家里有一台网络打印机、一台 NAS 和三台计算机。网络设置如下: 网络图

有一天,其中一台电脑无法连接打印机。后来我发现从那台电脑 ping 的结果很奇怪:

C:\>ping 192.168.1.8

Pinging 192.168.1.8 with 32 bytes of data:
Reply from 192.168.1.8: bytes=32 time=4ms TTL=64
Reply from 192.168.1.8: bytes=32 time=2ms TTL=64
Reply from 192.168.1.8: bytes=32 time=2ms TTL=64
Reply from 192.168.1.8: bytes=32 time=2ms TTL=64

Ping statistics for 192.168.1.8:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 2ms, Maximum = 4ms, Average = 2ms

C:\>ping 192.168.1.18

Pinging 192.168.1.18 with 32 bytes of data:
Reply from 192.168.1.199: Destination host unreachable.   <------- why .199 instead of .18 ??
Reply from 192.168.1.199: Destination host unreachable.
Reply from 192.168.1.199: Destination host unreachable.
Reply from 192.168.1.199: Destination host unreachable.

Ping statistics for 192.168.1.18:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),  <---- and why received=4 but not lost?

C:\>

这个问题似乎与我连接到哪个无线 AP 无关。此外,我在家里的其他计算机上没有看到同样的问题。

--

这些信息应该不相关。我把它放在这里只是为了提供一些提示。

  • 路由器:华硕RT-AC88U + 华硕RT-AC68U
  • 打印机:HP Color LaserJet Pro
  • 操作系统:Windows 10(家里的其他电脑运行的是 Windows 10 和 11)

答案1

没有任何东西被“重定向”,您只是误解了 ping 命令的输出。

为什么是 .199 而不是 .18

这是第一个误解。它说的是Reply from 192.168.1.199。通俗地说:响应(“来自192.168.1.199”)要么来自执行 ping 的设备(如果没有路由器参与,例如,如果目标设备与执行 ping 的设备位于同一子网中,就会发生这种情况),要么来自“负责”目标 IP/子网的路由器(如果目标设备位于不同的子网中并且必须进行路由)。如果您仔细想想,它不可能是来自的回复,.18因为该设备无法访问,因此它无法给出回复。

为什么收到=4但没有丢失?

这是第二次误解,Reply from *.*.*.*: Destination host unreachable不算作lost而是received(毕竟它说的是“ Reply from...”)。输出Request timed out将算作lost

您可以通过 ping LAN 上的已连接设备并在 ping 过程中拔下目标设备来测试它。然后您将得到Request timed out。如果您清除 ARP 表(arp -d *在 Windows 中)并再次 ping 设备,您应该会收到消息Destination host unreachable。这是因为,再次用外行的话来说,在清除 ARP 表后,将不再有与 IP 地址关联的 MAC 地址,因此 ping“无法发送”。

是的,我同意这不是很直观,考虑到你的期望(也可能是大多数其他用户的期望),但如果你考虑到它的底层工作原理(ARP 解析、路由等),它或多或少是有意义的。

相关内容