我了解 NS 记录的作用,但我不明白的是客户端(例如我的计算机)首先如何获取 NS 记录?请帮我填补空白:
- 我想
abc.com
- 我问 ???对于区域文件
- 我得到包含 NS 记录的区域文件信息
abc.com
,即ns1.xyz.com
,ns2.xyz.com
等等 - 我向权威名称服务器
.com
(可以通过询问13个根服务器获得)获取IP地址ns1.xyz.com
- 请问
ns1.xyz.com
IPabc.com
是什么。它返回1.2.3.4
- 我跟...说话
1.2.3.4
在第 2 点中,我首先要查询谁来获取区域文件?我需要知道区域文件在哪里才能知道要问谁来获取 IP。但是如何找到区域文件?或者数百万区域文件中包含的信息存储在哪里?
如果您作为客户端运行,即 DNS 的使用者,您将不需要任何区域文件。通过 IXFR 或 AXFR 请求区域文件被认为是不良行为,除非您实际上正在为相关域提供 DNS。
您的解析器将使用根提示来查找
.com
(gTLD) 名称服务器。然后 gTLD 名称服务器查询数据库以查看哪个名称服务器对该域具有权威性。当用户注册域时,数据库由注册商更新,并由注册商维护 - 因此每次名称服务器(NS 记录)更改时,注册商负责将该更改推送到 gTLD 名称服务器。使用此信息,客户端然后向
xyz.com
名称服务器查询abc.com
.以非常简单的形式:
您的 DNS 客户端会在其 DNS 客户端缓存中查找答案。在没有找到答案时:
DNS 客户端向其 DNS 服务器询问答案。
客户端的 DNS 服务器在其 DNS 服务器缓存中查找答案。在没有找到它时:
客户端的 DNS 服务器(如果不使用转发器)向其中一个根提示服务器 (.) 询问答案。
根提示服务器通过 NS 回答负责相关 gTLD (.com) 的 gTLD 服务器。
客户端的 DNS 服务器向其中一个 gTLD 服务器查询相关域 (abc.com) 的 NS。
gTLD 服务器使用负责相关域 (abc.com) 的 DNS 服务器的 NS 进行回答。
客户端的 DNS 服务器向 NS (ns1.abc.com) 查询相关记录。
相关域的 NS 回答 DNS 客户端的 DNS 服务器。
客户端的 DNS 服务器将答案提供给您的 DNS 客户端。
附带说明一下,您的 DNS 客户端或它的 DNS 服务器都没有获取区域文件。