尝试掌握完整 DNS 解析背后的逻辑以及相应的操作顺序

尝试掌握完整 DNS 解析背后的逻辑以及相应的操作顺序

假设我们有一个域“example.org”,它有一个名为“ns1.example.org”的权威名称服务器,该服务器具有由域名注册商(委托人?)名称服务器委托的粘合 IP。

  • 有人在浏览器中输入 example.org:

    请求被传递到 ISP 的 DNS 服务器。当 ISP 的缓存名称服务器/本地缓存未找到域“example.org”及其相应(SOA 记录副本?或(Web 服务器 IP?、权威名称服务器 IP?、两者?))的匹配项时,ISP 的 DNS 会尝试通过使用域名“example.org”查询 WHOIS 数据库来解析“example.org”域的权威名称服务器 IP?还是将请求传递到根“.org”服务器,然后根服务器使用域名“example.org”查询 whois 数据库以查找匹配的胶水记录?

    WHOIS 数据库是互联网中央目录的一部分,我认为主根服务器就是所谓的“互联网中央目录”?

    根 .org 服务器将包含“example”域的胶合记录,对“example.org”的请求最终将转发到权威名称服务器。其中 A\AAA 记录将把域名“example.org”映射到 WebServer 等资源的地址。

另外,是否存在委派的 NS 名称记录,它不与托管和发布其区域文件的权威 DNS 服务器的 IP 地址绑定?因为我在一本书中读到过一个循环依赖/catch-22 问题,当 NS 名称是被解析域的子域时,我立即想到,不是所有委派的 NS 名称都与 IP 地址绑定,那么为什么会发生这种情况?

答案1

Glue 记录是该区域 NS 记录的区域内 A 记录。
因此,它们仅必需的当 NS 记录位于区域内时。
如果 NS 记录指向区域外的主机名,则没有粘合允许,因为 NS 记录指向不属于该区域管辖范围的主机名。

始终以一个基本事实开始:区域是行政责任区 - 区域内的所有记录都属于区的责任。

也就是说,您的网络请求示例如下:

  • 浏览器向本地 DNS 解析器请求 example.org 的 A 记录
  • 本地解析器检查是否已经知道
  • 如果没有,它会将查询转发到其配置的名称服务器。
  • 该名称服务器将检查它是否有该记录,如果它允许递归查询,则将从全局根开始检索记录(如果没有)。

WHOIS 不是 DNS 的一部分;从不进行用于名称解析的 whois 查询。

答案2

解析总是向左。www.example.org 解析的轨迹。(类型 A)

  1. 客户端查询 assiomatic 根名称服务器(ns 中的“.”)“www.example.org 中的 A 是什么?”
  2. 根域名服务器说“我不知道(响应包的答案部分为空),但对于 org。你必须询问 org 域名服务器(响应包的权威部分)”
  3. 客户端向其中一个 org-nameservers 发出相同的查询:“www.example.org 中的 A 是什么?”
  4. org-nameserver 说“我不知道,但是对于 example.org 你得问 example-org-nameserver”
  5. 依此类推,直到名称服务器真正应答(给出响应包的非空的答案部分)。

注意:

  • 客户端每次都会重复“最后”的查询,甚至直到词根。
  • 当名称服务器响应某些名称,并且同时知道它们的翻译时,任何名称服务器都会包含 glue。
  • 当包含答案部分时,仍然可能存在权威

相关内容