根名称服务器的 IP 地址可以更改吗?

use*_*501 2 domain-name-system

这是一个关于 DNS 根域名服务器的问题。

为了解析 DNS 查询,要为流程的第一阶段获取名称服务器,必须咨询根名称服务器。

有13个,这些服务器的IP地址可以在http://www.internic.net/zones/named.root查看

我的理解是,当新设备连接到互联网时,它(可能)使用 ISP 提供的名称服务器。(我其实不知道这些设备的IP地址是怎么得到的。想必是ISP提供的路由器/硬件中的一些软件吧?)

然后 ISP 知道根名称服务器的 IP 地址。

问题是如果这些 IP 地址发生变化会发生什么?这可能吗?

看看http://www.internic.net/zones/named.root,IP地址似乎有些随意。

据推测,它们是静态的,由 ICANN 决定。根域名服务器的 IP 地址可以更改吗?如果是这样,会发生什么?

Pat*_*zek 8

是的,它可以改变,它发生在过去,例如参见https://h.root-servers.org/renumber.html

H-Root 将于 2015 年 12 月 1 日更改其地址

这是预先通知,对 DNS 根区域和 .ARPA TLD 列出的授权之一的 IP 地址进行了计划更改。更改是由美国陆军研究实验室管理的 H.ROOT-SERVERS.NET。

此权限的新 IPv4 地址是 198.97.190.53。

该机构的新 IPv6 地址为 2001:500:1::53。

它实际上“最近”发生了多次:

  • d 根域名服务器在 2013 年 1 月更改了其 IP 地址
  • h 根域名服务器于 2015 年 12 月完成
  • j 2002年
  • l 2007年

除此之外,过去还添加了 IPv6 地址。

(要全面了解:过去至少有一次重新编号事件确实引起了一些轰动,因为现在已弃用的 IP 地址块的所有者继续侦听即将到来的查询并因此收集数据)。

更一般地说,您可能需要查看https://www.icann.org/en/system/files/files/rssac-023-04nov16-en.pdf,其中提供了根名称服务器历史的完整详细信息,并在号码、名称和 IP 地址。

这不是问题,因为:

  • 变化很少而且很少,冷却时间长
  • 有 13 个名称服务器(在逻辑级别,物理上更多),因此有很多冗余,即使其中一个消失或 IP 地址更改,其他的也已充分配置以承受额外的流量(DNS 负载平衡在它的核心,而不是故障转移,因此“平均而言”,每个名称服务器同时工作并接收大致相同的流量)
  • 即使用户继续使用旧的、通常停用的地址,他们也不会再收到回复,因此软件会自动切换到另一个 IP 地址(另一个根服务器)。这是一种标准的 DNS 弹性机制,由于递归域名服务器通常存储有关服务器如何响应或不响应的统计信息,它们会慢慢收敛到“最快”的,因此丢弃任何不再工作的旧 IP 地址
  • 软件发布时带有提供此数据的“提示”文件,因此,除了从未更新的内容外,他们将获得新信息。
  • 但还要注意,好的软件具有内在的软件更新,这称为 DNS 启动:即使该软件部署了一个根域名服务器列表,它的第一个任务,称为“启动”,是联系一个这样的根域名服务器并获取根名称服务器的当前列表(名称 + IP),因此用新的当前动态列表替换本地硬编码列表。有关该启动的完整说明,请参阅RFC 8109

至于:

我的理解是,当新设备连接到互联网时,它(可能)使用 ISP 提供的名称服务器。(我其实不知道这些设备的IP地址是怎么得到的。想必是ISP提供的路由器/硬件中的一些软件吧?)

配置是硬编码的,或者在启动时使用 DHCP 获取设置。

但请注意,这变得越来越不正确,因为它被覆盖了。使用 DoH(基于 HTTPS 的 DNS)或 DoT 但以较小的方式,现在这为每个应用程序(例如:浏览器)决定查询哪个递归名称服务器开辟了道路,而不管操作系统的配置如何。事实上,浏览器开始了这一趋势。

对于:

看看http://www.internic.net/zones/named.root ip 地址似乎有点武断。

您需要记住/知道 DNS 系统已有 40 年的历史。它进化了。公司/组织最初的任务是成为仁慈的根域名服务器运营商,每个公司都使用其 IP 块。如果它是今天从头开始创建的,我确信会为它保留一些块,因为它是为相关操作所做的(参见 RFC 7434 和 7435 示例)。

但除此之外,没有 IP 地址是特殊的。每个都以相同的方式工作,或者可以以相同的方式工作(根名称服务器正在使用任播)。


ber*_*sch 1

根服务器上 IANA 页面的引用:

\n
\n

管理 DNS 递归解析器的操作员通常需要\n配置 \xe2\x80\x9croot 提示文件\xe2\x80\x9d。该文件包含根服务器的名称和 IP 地址,因此该软件可以引导 DNS 解析过程。对于许多软件来说,此列表是内置于软件中的

\n
\n

(我的重点)

\n

因此,如果根服务器的 IP 地址发生变化,世界各地的软件也必须发生变化。对我来说,这足以证明这些地址永远不会改变。编辑:下面的评论和最佳答案表明该声明不正确,并且根名称服务器的地址偶尔会发生变化。

\n

编辑:第一个 IP 地址硬连线到RFC1400中。来自 RFC:

\n
\n

转换后,host.txt 文件将仅可从\nnic.ddn.mil 获取,并且hosts.txt 将仅包含MILNET 主机。1993 年4 月
1 日,新的根 DNS 服务器将投入使用。它将在 ns.internic.net ( 198.41.0.4 ) 上提供。

\n
\n

这表明只要该 RFC 有效,该地址就不会改变,但理论上其他根服务器的地址可能会改变。我猜想 DNS 软件应该设计为能够更新来自 ns.internic.net 的根提示文件。

\n

  • “对我来说,这足以证明这些地址永远不会改变。” 这是不真实的。 (2认同)
  • 此外,RFC1400 仅供参考,因此在 IETF 方面没有典型的“标准”标记。它已经完全过时了,并且与当今 DNS 的工作方式没有任何关系。 (2认同)
  • “我认为 DNS 软件的设计应该能够更新来自 ns.internic.net 的根提示文件。” 它正在做比这更好的事情。请参阅我的答案或其他地方有关“启动”的解释。 (2认同)