我想知道客户端和本地dns服务器之间的延迟。因此,我向根dns服务器(.)发送了一个查询就像这样:
res_nquery(&res, ".", ns_c_in, ns_t_a, answer, sizeof(answer));但是如果我将ns_t_a改为ns_t_ns,查询会变得更快。为什么会发生这种情况?
使用ns_t_a时的响应:

使用ns_t_ns时的响应:

发布于 2019-03-20 22:22:14
递归解析器需要缓存./IN/NS记录集,通常在解析器启动时执行此操作。这被称为priming,并在以下RFC中介绍:
根名称服务器集也永远不会从缓存中过期(在典型实现中)。
在常规操作过程中不会查询./IN/A,因此需要先填充缓存。此资源记录集最终也将过期。
如果两个资源记录集都在缓存中,则典型的解析器响应时间将相同。
https://stackoverflow.com/questions/55262724
复制相似问题