如果我 ping whateversite.com,我 ping 的是什么主机?

如果我 ping whateversite.com,我 ping 的是什么主机?

我对 DNS 一直抱有疑问,请原谅这个问题太基础了。

如果我 pingwww.whateversite.com,我正在 ping whateversite.com 域中的 www 主机,对吗?

如果我 ping whateversite.com,我 ping 的是什么主机?它是名称服务器还是什么?我注意到当我 ping 它们时,它们通常会给出不同的 IP 地址。

任何澄清均不胜感激。

答案1

如果我 pingwww.whateversite.com,我正在 ping whateversite.com 域中的 www 主机,对吗?

这是一种简化,但是确实足够接近了。

如果我 ping whateversite.com,我 ping 的是什么主机?

您的两个示例之间没有区别。第一个句点的左侧是主机标签,其余部分是域,就像您的第一个示例一样。

whateversite因此,您正在 ping域中的主机com

如果您 p​​ing ,则您正在 ping根域中的com主机(通常写为或)。请注意,根域的所有者通常不允许主机条目,尤其是与 TLD 同名的条目,但这纯粹是政治决定——DNS 协议中没有任何技术可以阻止它。com.@

事实上,汤加王国有to他们曾经将其租给 URI 缩短服务。

但事实证明,访问 https://to/ 有点困难,因为你的浏览器会试图“提供帮助”,并认为你可能想https://www.to/或者https://to.com/或者https://www.to.com/。但这也不是 DNS 系统的技术限制,而是现代网络浏览器的用户界面问题。

它是名称服务器还是什么?

它将按照该服务器的所有者所配置的那样。

我注意到当我 ping 它们时它们通常会提供不同的 IP 地址。

当然,它们是不同的主机,所以它们可以有不同的 IP 地址。

答案2

您可以说您正在 ping 名为“whateversite.com”的主机。

“主机”和“域”之间有一点重叠。任何域名在任何级别如果它具有任何“地址”记录(通常是 IPv4/IPv6 的 A/AAAA 记录),则算作“主机”,它不一定必须是子域。

(但根据另一种定义,并非所有子域名都一定代表“主机”——它们可以代表服务或者它们实际上可以是一个“子域”,而实际主机位于更深的一层。同样,DNS 不会在那里强加一个严格的结构。)

所以第二种情况有效完全一样第一个是“whateversite.com”上的 A 记录,它指向某台机器。在简单情况下,它可能与“www”子域指向的机器是同一台,但它们也可能不同。

(例如,一个可能指向主负载均衡器,而另一个可能指向仅将 HTTP 访问者重定向到“www”的较小系统。)

答案3

首先要澄清的是,在 DNS 术语中,“主持人“地址(例如 A 或 AAAA 记录)可以引用单个服务器(并且传统上大多数时候都是如此),但并不一定必须如此。

当您 ping 某个地址时,它会通过 A 或 AAAA 记录解析为 IP 地址。请注意,还有许多其他 DNS 记录类型与 ping 甚至不相关。例如,名称服务器是通过 NS 记录进行处理,因此就您的问题而言,它们与 A 记录之间没有直接联系。

其次,主机地址可以处于任何级别,因此www.domain.com和都domain.com可以拥有自己的主机地址。由于它们是单独配置的,因此它们可以相同,也可以不同。例如,您可以使用mydomain.com注意,根域通常用 @ 表示):

www A   1.1.1.1
@   A   1.1.1.1

因此和都www.mydomain.com可以mydomain.com指向同一个 IP 地址。但你也可以有:

www A   1.1.1.1
@   A   2.2.2.2

现在它们指向不同的 IP 地址,而这些 IP 地址可能指向完全不同的目的地。

第三,您可以为同一个名称设置多个“主机”地址,因此即使不进入 CDN,您也无法始终将尝试 ping 的特定地址与单个服务器关联起来。例如:

www A   1.1.1.1
www A   1.1.1.2
www A   1.1.1.3

在这种情况下,当你 ping 时,www.mydomain.comping 命令会“随机”转到其中一个 IP。你可以通过运行nslookup并查询特定记录来看到这一点,然后会给出如下输出:

Name:   www.mydomain.com
Addresses:  1.1.1.1
        1.1.1.2
        1.1.1.3

最后,请记住,单个公共 IP 地址并不等同于另一端的单个服务器/机器/设备。他们可能像其他人提到的那样使用 CDN,或者他们可能只是使用防火墙,通过单个公共 IP 将请求平衡到其后面的多个服务器。

因此,实际上,当您 ping 某个地址时,您唯一可以确定的是,它当前在您的机器上解析为一个特定的 IP 地址。这是否是它解析的唯一地址,或者它是另一端的一个或多个设备,无法仅通过 Ping 来确定。

相关内容