ping 失败时“无法找到主机”和“超时”有什么区别?

ping 失败时“无法找到主机”和“超时”有什么区别?

正如标题所述。我尝试了ping一组我不确定是否存在的服务器。总共有 10 台服务器。其中两台 ping 成功,timed out而其他八台 ping 成功could not find host。2 个超时的服务器显示一个 IP,该 IP 在 ping 时也会超时。我快速nslookup检查了这些服务器,发现它们没有任何 DNS 条目。ping 失败时“找不到主机”和“超时”有什么区别?

答案1

对计算机执行 ping 操作很像发送邮件。假设我想向 发送 ping 操作google.com。我要做的第一件事就是弄清楚 在哪里google.com。对于邮件,您可以使用电话簿 - 这会将名称转换为邮件系统可以理解的地址。计算机使用所谓的 DNS(域名系统)服务器 - 这与nslookup查询特定名称时显示的内容相同。如果ping在 DNS 中找不到给定名称,则它会返回Could not find host

好了,我们有了 IP 地址,现在该做什么呢?现在我们必须路由它。IP 地址很像街道名称 - 它为您提供一个具体的位置,但不会告诉您在哪里那条街是(好吧,你可以把这些信息保存在一个大表中,但它会巨大的,而且大多无用。当你只给你的祖母发邮件时,为什么要跟踪每个国家每条道路的坐标?)。还有一个其他信息可以解决这个问题 - 邮政编码。你可能不知道街道在哪里,但你知道该邮政编码的邮件系统会知道,而且因为邮政编码有点有序(请耐心听我说),你知道如何将它送到该邮政编码。对于计算机,这称为 MAC 地址。计算机始终知道它直接连接到哪些 MAC 地址,以及它们知道如何路由哪些 IP。当计算机或路由器需要发送数据包时,它会查找哪个 MAC 地址负责处理该 IP,然后将数据包发送到该系统。如果没有系统负责该 IP,它将返回No route to destination。(想象一下试图向月球发送邮件。邮递员只会用奇怪的眼神看着你并将它交还。)

现在,如果邮件到达目标,他们仍然必须发送回复。通常,这既快速又简单,您只需测量发送消息和收到回复之间的时间即可。但有时,回复会在邮件中丢失。或者奶奶睡着了,忘记查看她的邮件。无论哪种情况,即使等了整整一周,您也不会收到回复!最终,您只能放弃。对于计算机来说,这是Request timed out.


至于您关于没有 DNS 条目的计算机的问题,大多数路由器将自身用作 DNS 缓存,如果计算机在请求 DHCP 租约时提交了主机名,则路由器会为向其请求 DHCP 租约的计算机添加虚假的 DNS 条目。这就是为什么有时可以 ping 计算机的主机名的原因。Windows 系统还会跟踪 NetBIOS 名称(通常是连接到同一子网并启用了共享的 Windows 计算机的主机名),并会尝试将这些名称解析为 IP 地址(如果请求)。我不记得这是否适用于ping,但它不适用于nslookup,因为nslookup它专门用于检查 DNS 条目,而不是 NetBIOS 条目。

答案2

嗯,这与 OSI 模型有一点关系,与网络模式也有一点关系。

Ping 超时通常意味着有什么东西阻碍了 ping 操作。

未找到设备字面意思是 Ping 能够出去寻找设备,但无法找到它。

Ping 在第一层运行。如果打开网卡并对其进行 ping,则会找到它。这就是您所能做的一切,它会验证设备是否物理存在。如果找不到设备,则表示它所查找的位置没有 NIC。

如果超时,可能是防火墙之类的东西阻止了它。Ping 无法完成,所以可能存在问题,但 Ping 无法判断。

答案3

Timed out表示知道另一台机器的 IP 地址,通常是通过 DNS 找到的,但您发送的 ping 请求没有得到任何响应。这通常是因为另一台机器配置为不响应 ping,或者因为它有防火墙阻止了 ICMP ping 消息。

Could not find host意味着无法通过 DNS 找到另一台机器的 IP 地址,因此无法尝试发送 ping。

相关内容