DNSparsing – 操作顺序

在为bgsu.edu执行nslookup时运行networking捕获时,我注意到我的DNS服务器没有查询bgsu.edu的SOAlogging。 以下是我在捕捉中看到的操作顺序:

  1. 我的DNS服务器向bgsu.edu的一个根提示服务器发出Alogging查询。

  2. 根提示服务器返回gTLD服务器的NSlogging列表。

  3. 我的DNS服务器向bgsu.edu的一个gTLD服务器发出Alogging查询。

  4. 通用顶级域名服务器返回bgsu.edu的NSlogging列表。

  5. 我的DNS服务器向bgsu.edu的第4步中返回的其中一个名称服务器发出Alogging查询。

  6. 有问题的域的名称服务器返回bgsu.edu的Alogging信息。

所以我的问题是:我的DNS服务器不需要先查询有关域的SOAlogging? 如果不是,那么SOAlogging究竟是如何使用的呢? 哪些名称服务器查询SOAlogging? gTLD服务器是否查询SOAlogging,因此,我没有在我的捕获中看到这一点? 我的理解是,SOA拥有NSlogging的列表,所以SOA不应该成为查询的第一个logging?

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

这些字段中的大多数仅适用于名称服务器维护操作。

SOAlogging中的字段是:

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

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

SERIAL区域原始副本的无符号32位版本号。 区域传输保留这个值。 这个值包装,应该使用序列空间algorithm进行比较。

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

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

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

MINIMUM最小的32位无符号TTL字段,应该从该区域的任何RR导出。

所以,就这样,发生了什么事情是这样的:

  1. 你的dns服务器没有bgsu.edu的caching条目,也没有权威性,所以它需要询问根提示服务器去哪里寻找正确的dns服务器
  2. gTLD具有GLUElogging,这些logging只是域的名称服务器,这是您要实际查询您尝试连接到的主机的服务器。
  3. 你得到bgsu.edu的名字服务器
  4. 你为你感兴趣的主机做一个DNS查询
  5. 你得到你最初寻找的DNSlogging。

SOAlogging在传输过程中使用(主从站/存根)。 主人有指向它的SOAlogging。
主人也会有一个NSlogging,表明它有一个该区域的authortative副本。
从属服务器也将有一个权威的副本(通常有NSlogging,因为那些由recursion查询中的更高级别的服务器返回,但不一定)。

SOAlogging仅用于:

  1. 辅助服务器检查序列号,看他们是否需要传送新的副本( AXFR )或增量更改( IXFR
  2. 辅助服务器决定何时停止服务区域,如果主要消失
  3. 告诉recursion服务器多久caching负面答案( MINIMUM字段,这并不意味着“ MINIMUM TTL了@。
  4. dynamic更新客户端,以查找主服务器

一个正常的recursionparsing器永远不会明确地要求SOAlogging,但更多的时候是来自授权服务器响应的AUTHORITY部分。 即使如此,这大多只用于上述#3。

一个正常的DNS客户端根本不需要SOA。