正如标题所说。我试图ping
使用一堆我不确定是否存在的服务器。总共有10台服务器。其中两个得到了 ping,timed out
而其他八个得到了 ping could not find host
。2 个超时的 IP 显示在 ping 时也超时。我nslookup
对这些服务器进行了快速检查,但它们没有任何 DNS 条目。ping 失败时“找不到主机”和“超时”有什么区别?
Ping 计算机很像发送一封邮件。假设我想发送 ping 到google.com
. 我要做的第一件事就是弄清楚在哪里google.com
。对于邮件,您将使用电话簿 - 这会将姓名转换为邮件系统可以理解的地址。计算机使用所谓的 DNS(域名系统)服务器 - 与nslookup
查询特定名称时显示的内容相同。如果ping
在 DNS 中找不到给定的名称,则返回Could not find host
.
好的,所以我们有一个 IP 地址,现在怎么办?现在我们必须路由它。IP 地址很像街道名称——它给你一个特定的地方,但不会告诉你那条街道在哪里(嗯,你可以把这些信息保存在一个大表中,但它会很大,而且也大多没用。当您只向祖母发送邮件时,为什么还要跟踪每个国家/地区的每条道路的坐标?)。有其他信息可以解决此问题 - 邮政编码。您可能不知道街道在哪里,但您知道该邮政编码中的邮件系统会知道,并且由于邮政编码有些有序(请耐心等待),您知道如何将其发送到该邮政编码。对于计算机,这称为 MAC 地址。计算机总是知道它直接连接到哪些 MAC 地址,以及它们知道如何路由哪些 IP。当计算机或路由器需要发送数据包时,它会查找负责处理该 IP 的 MAC 地址,然后将数据包发送到该系统。如果没有系统负责该 IP,则返回No route to destination
. (想象一下,试图向 MOON 发送邮件。邮递员会很有趣地看着你,然后把它递回去。)
现在,如果邮件一路到达目标,他们仍然必须发送回复。通常,这既快捷又简单,您只需测量发送消息和收到回复之间的时间即可。但有时,回复会在邮件中丢失。或者也许奶奶睡着了,忘记检查她的邮件。无论哪种方式,您都不会收到回复,即使等了整整一周!最后你只能放弃。用电脑,这是Request timed out.
至于您对没有 DNS 条目的计算机的问题,大多数路由器将自己用作 DNS 缓存,如果计算机在请求 DHCP 租用时提交主机名,则为向它们请求 DHCP 租用的计算机添加虚假 DNS 条目。这就是为什么有时可以 ping 计算机的主机名的原因。Windows 系统还会跟踪 NetBIOS 名称(通常是连接在同一子网上并启用共享的 Windows 计算机的主机名),并会在请求时尝试将这些名称解析为 IP 地址。我不记得这是否适用于ping
,但它不适用于nslookup
,因为nslookup
它专门用于检查 DNS 条目,而不是 NetBIOS 条目。