为什么名称服务器记录中使用域名而不是 IP 地址?

为什么名称服务器记录中使用域名而不是 IP 地址?

为什么在设置名称服务器记录时,为了确定域名属于哪个 IP 地址,您总是使用域名?

例如,

ns1.hostingcompany.com
ns2.hostingcompany.com

他们怎么能知道名称服务器所指的 IP 地址呢?

为什么不使用 IP 地址?那肯定更有效率吧?对于域名查找,必须进行以下操作:

  1. 查找名称服务器地址
  2. 将名称服务器地址解析为 IP 地址(例如,将 ns1.hostingcompany.com 解析为 xxx.xxx.xxx.xxx)

但是如果使用 IP 地址而不是主机名,是否可以跳过第二步?

答案1

出于同样的原因,您对 Google、Yahoo 或 Amazon 使用名称而不是 IP:这样,如果服务器的 IP 发生变化,他们只需要更新 DNS 记录,而您作为客户根本不需要执行任何操作。

如果你通过 IP 地址将 NS 记录指向托管公司的 DNS 服务器,如果这些地址发生变化,您必须更新您的 NS 记录以指向新地址。如果您通过 DNS 名称指向他们的 DNS 服务器,是的,您必须进行额外的查找,但您如果这些服务器的 IP 发生变化,我们就必须采取任何措施。

答案2

根据定义,他们需要。

如果名称服务器记录(如ns.example.com)与所请求的记录(如)位于同一域内(“同一区域”)www.example.com,则所谓的胶水记录用于避免循环引用,同时指定 DNS 服务器的域名它的 IP 地址。例如,区域文件可能包括:

[...]
example.com. NS ns ;ns.example.com 是 example.com 的名称服务器
[...]
example.com。10.0.0.1;“example.com”的 IP 地址
ns A 10.0.0.2 ;“ns.example.com”的 IP 地址
[...]

答案3

正如 ~quack 所说,此外大多数操作系统都会将结果保存在缓存中一段时间​​。第一次 DNS 查询将花费查找 IP 的少量时间,后续查询将使用缓存的结果。

相关内容