DNS 解析 - 操作顺序

DNS 解析 - 操作顺序

在对 bgsu.edu 执行 nslookup 时运行网络捕获时,我注意到我的 DNS 服务器未查询 bgsu.edu 的 SOA 记录。以下是我在捕获中看到的操作顺序:

  1. 我的 DNS 服务器向 bgsu.edu 的其中一个根提示服务器发出 A 记录查询。

  2. 根提示服务器返回 gTLD 服务器的 NS 记录列表。

  3. 我的 DNS 服务器向 bgsu.edu 的其中一个 gTLD 服务器发出 A 记录查询。

  4. gTLD 服务器返回 bgsu.edu 的 NS 记录列表。

  5. 我的 DNS 服务器向步骤 4 中返回的 bgsu.edu 的名称服务器之一发出 A 记录查询。

  6. 相关域名的名称服务器返回 bgsu.edu 的 A 记录信息。

所以我的问题是:我的 DNS 服务器是否不需要先查询相关域的 SOA 记录?如果不是,那么 SOA 记录究竟是如何使用的?哪些名称服务器会查询 SOA 记录?gTLD 服务器会查询 SOA 记录吗?因此,我在捕获中看不到这一点?我的理解是 SOA 包含 NS 记录的列表,所以 SOA 不应该是第一个查询的记录吗?

答案1

NS 服务器不是 SOA 记录的一部分。SOA 记录和我引用的RFC 1035(3.3.13):

大多数字段仅与名称服务器维护操作有关。

SOA 记录中的字段包括:

MNAME 作为此区域数据的原始或主要来源的名称服务器。

RNAME A 指定负责该区域的人员的邮箱。

SERIAL 区域原始副本的无符号 32 位版本号。区域传输保留此值。此值会回绕,应使用序列空间算法进行比较。

REFRESH 区域需要刷新前的 32 位时间间隔。

重试 重试失败刷新之前应经过的 32 位时间间隔。

EXPIRE 一个 32 位时间值,指定区域不再具有权威性之前可以经过的时间间隔的上限。

MINIMUM 应与任何 RR 一起从此区域导出的无符号 32 位最小 TTL 字段。

除此以外,发生的事情是这样的:

  1. 您的 DNS 服务器没有缓存 bgsu.edu 的条目,并且不具有权威性,因此它需要询问根提示服务器去哪里寻找正确的 DNS 服务器
  2. gTLD 具有 GLUE 记录,它只是域名的名称服务器,这是您实际要查询您尝试连接的主机的服务器。
  3. 您获得 bgsu.edu 的名称服务器
  4. 您对感兴趣的主机执行 DNS 查询
  5. 您将获得最初寻找的 DNS 记录。

答案2

SOA记录仅用于:

  1. 辅助服务器检查序列号,看是否需要传输新副本(AXFR)或增量更改(IXFR
  2. 如果主服务器消失,辅助服务器决定何时停止为区域提供服务
  3. 告诉递归服务器缓存否定答案的时间(该MINIMUM字段不再意味着“最小 TTL”)。
  4. 动态更新客户端,找到主服务器

普通的递归解析器永远不会明确要求记录SOA,但更常见的情况是,它会随权威服务器的响应部分一起出现AUTHORITY。即便如此,它大多只用于上述第 3 点。

普通 DNS 客户端根本不需要 SOA。

答案3

SOA 记录用于传输(主服务器到从服务器/存根服务器)。主服务器有指向它的 SOA 记录。主
服务器还将有一个 NS 记录,表明它拥有该区域的权威副本。
从服务器也将有一个权威副本(并且通常有 NS 记录,因为这些记录是由更高级别的服务器在递归查询中返回的,但不一定)。

相关内容