此输出有任何合理的解释吗?我可以理解所有三个不同的结果,但一次运行 PING 就会出现这三个结果?我的路由器可能有问题吗?我没有互联网连接问题,只是连接到我网络上的其他机器。
C:\PING 192.168.1.37
正在 Ping 192.168.1.37,数据为 32 字节:来自 192.168.1.37 的回复:字节=32 时间<1ms TTL=128
请求超时。
请求超时。
来自 192.168.1.35 的回复:目标主机不可达。
下一次运行可能会显示任何其他组合。包括所有 4 次成功、所有 4 个主机无法访问或所有 4 次超时。似乎是随机行为。
答案1
Ping 的工作方式是发送一系列数据包。在本例中,ping 发送了三个数据包。第一个数据包收到了目标主机的回复。第二个数据包则完全没有回复。第三个数据包没有收到主机的回复,但收到了来自另一台主机的通知数据包,上面写着“我无法路由您的数据包,目标地址似乎在我的子网上,但我无法对其进行 ARP 处理”。发送通知的主机可能是您自己的主机。
因此,您与主机的连接不稳定。并非所有数据包都到达那里或并非所有数据包都返回,但有些数据包会成功。如果此主机位于您的 LAN 上,则可能是交换机故障、电缆故障或 NIC 故障。
答案2
“目标主机不可达”是当路由器认为它有一条发往本地网络的消息但找不到主机来认领该消息时生成的 ICMP 消息。
当第一个 ping 到达距离目的地最近的路由器时,该路由器开始在其本地网络上发送 ARP 请求数据包,询问 IP 地址与 ping 目的地匹配的主机的 MAC 地址。当路由器等待响应时,ping 会超时。只有当 ARP 超时时,路由器才会判定主机不可访问。
此时,它会缓存结果并开始向任何新出现的网络流量发回 ICMP 目标主机不可达消息。它会缓存 ARP 故障的具体时间取决于路由器。
答案3
由于您似乎正在使用 Windows,因此您应该检查微软官方文档ping
:
ping [/t] [/a] [/n <count>] ...
Parameters
...
/n <count> Specifies the number of echo Request messages be sent. The default is 4.
因此,您实际上是请求发送 4 个测试数据包。如果您看到不同数据包的结果不同,则说明您的网络不可靠。
一些其他操作系统(例如 Linux)可能会有这样ping
的实现:它会一直发送 ping 数据包,直到您按下 Ctrl+C。