ping响应:"Request timed out." 和 "Destination Host unreachable" 的区别

181
当我对一个 IP 地址进行 ping 测试时,如果返回 请求超时目标主机不可达 命令时,有什么区别?
5个回答

182

目标主机不可达

这个错误信息可以表明存在以下两种问题之一:本地系统没有到期望目的地的路线,或者远程路由器报告说它没有到目的地的路线。

如果错误信息只是"目标主机不可达",那么本地系统没有到目的地的路线,要发送的数据包从未被放入发送队列。

如果错误信息是"来自 < IP地址 > 的回复: 目标主机不可达",则路由问题在远程路由器上发生,"< IP地址 >" 字段指示该路由器的地址。

请求超时

这个错误信息表示在默认的1秒内未收到任何回显应答消息。造成这个问题的原因很多,最常见的包括网络拥塞、ARP请求失败、数据包过滤、路由错误或静默丢弃。

更多信息请参考: http://technet.microsoft.com/en-us/library/cc940095.aspx


33
那么,如何解决这个问题?如果收到的消息是“回复来自< IP地址 >:目标主机不可达”,那么路由问题发生在远程路由器上,其地址由“< IP地址 >”字段指示。 - Komengem
2
如果你得到了两种回复的混合,这是什么意思? - user2924019
16
当你从本地机器ping其他主机时,如果返回"Reply From < IP地址 >: Destination Host Unreachable"的错误信息,表示目标主机不可达。其中< IP地址 >是指本地机器的IP地址,而非网关或路由器等设备的IP地址。 - sanderd17
4
感谢@sanderd17,以防其他人也遇到同样的问题,我自己解决了:我的Linux服务器配置了一个使用静态IP的以太网接口(在WiFi正常工作后曾经拔掉过电缆),并且还有一个实际连接的无线接口。由于有了静态IP,即使以太网电缆已被拔掉,Linux服务器仍然认为以太网接口处于启用状态,并且(我想)试图在以太网接口上回复我的无线ping......或者类似的事情。无论如何,禁用以太网接口就解决了这个问题! - Matt
6
要检查本地主机是否没有到远程主机的路由,请 ping 远程客户端 ping <remote-host-ip>,然后检查本地主机上的 ARP 条目 arp 是否已解析。如果远程主机 IP 的状态为 incomplete,则意味着 ping ICMP 数据包从未离开本地主机,本地主机不知道向哪里发送数据包。 - brokenfoot
显示剩余5条评论

45

请求超时意味着本地主机未从目标主机收到响应,但是它能够到达目标主机。 目标主机不可达意味着请求的主机没有有效的路由。


6
据我理解,“请求超时”意味着ICMP数据包从一个主机到达另一个主机,但是回复无法到达请求主机。可能存在更多的数据包丢失或某些物理问题。“目标主机不可达”意味着两个主机之间没有定义适当的路由。

3
正如khaos所说,目的地不可达也可能意味着某些东西阻止了从或到您目的地的路径。例如过滤恶意IP地址的ACL。

1
简单来说,“请求超时”意味着没有响应,而“目标不可达”可能意味着指定的地址不存在,即您输入了错误的IP地址。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接