【发布时间】:2014-12-15 07:18:51
【问题描述】:
我正在学习 DNS,我正在尝试了解非递归解析器/服务器如何响应空响应。
我对DNS的理解基本是这样的:
如果服务器返回一个非权威响应,它通常会提供一个名称服务器列表(NSCOUNT),您可以查阅该列表以找到权威响应。
但是,如果 DNS 服务器什么也没返回,会发生什么?如 - 只是带有ANCOUNT = 0、NSCOUNT = 0 和ARCOUNT = 0 的响应标头?
例如,如果我查询 Google 的免费 DNS 服务器 (8.8.8.8),并要求它解析“google.com”,并且未设置递归位,我得到的响应是:
+---------------------------------------------------------------------------+
| 25550 | QR: 1 | OP: 00 | AA: 0 | TC: 0 | RD: 0 | RA: 1 | Z: 0 | RCODE: 00 |
+---------------------------------------------------------------------------+
| QDCOUNT: 1, ANCOUNT: 0, NSCOUNT: 0, ARCOUNT: 0 |
+---------------------------------------------------------------------------+
所以基本上,除了我的原始查询之外,它什么也没给我返回,它告诉我递归是可用的。
在这种情况下,查询应该如何进行(假设我们不只是使用要求服务器使用递归)。这里是联系顶级服务器之一的唯一途径吗?或者,换一种说法,为什么 Google 的 DNS 服务器没有返回我可以咨询的域名服务器列表(为什么是 NSCOUNT 0?)?
【问题讨论】:
标签: dns