nslookup 权限

nslookup 权限

我正在使用 nslookup 并试图找出权威和非权威响应之间的区别。这两个响应似乎是一致的(如果您多次运行该命令,它们会给出相同的答案)。

正常 nslookup 调用

$ nslookup google.com
Server:         192.168.1.1
Address:        192.168.1.1#53

Non-authoritative answer:
Name:   google.com
Address: 72.14.213.104
Name:   google.com
Address: 72.14.213.105
Name:   google.com
Address: 72.14.213.106
Name:   google.com
Address: 72.14.213.147
Name:   google.com
Address: 72.14.213.99
Name:   google.com
Address: 72.14.213.103

Nslookup 使用 google 权威服务器

$ nslookup google.com ns1.google.com
Server:         ns1.google.com
Address:        216.239.32.10#53

Name:   google.com
Address: 74.125.225.19
Name:   google.com
Address: 74.125.225.20
Name:   google.com
Address: 74.125.225.16
Name:   google.com
Address: 74.125.225.17
Name:   google.com
Address: 74.125.225.18

知道为什么这些不同吗?这些应该给出不同的响应吗?

当我 ping google.com 时,它显示 72.14.213.104,并且 RTT 是 ping 74.125.225.19 的 RTT 的 1/3。

有人能解释一下吗?

答案1

Google 会尝试返回距离请求者最近的服务器的 IP 地址。在第一种情况下,您的名称服务器正在发出请求。在第二种情况下,您的 PC 正在发出请求。

权威与非权威的信息与此无关。

答案2

  1. 标记为“非权威”的回复只是名称服务器通知您,结果不是为您的请求唯一检索的,而是作为先前请求的一部分缓存的(为您或另一个客户端)。此外,由于您的第一个示例直接命中 192.168.1.1 而不是您的 ISP 的名称服务器,因此您的路由器可能还实现了另一层缓存。
  2. Google.com 由数百个不同数据中心的数千台服务器提供服务。他们的 DNS 服务器试图为您提供地理定位地址。无法保证它会是延迟最低、吞吐量最高或响应速度最快的服务器,只能是将这三者考虑在内的最佳猜测。此外,由于 ns1.google.com 并非设计为面向客户的 DNS 名称服务器(如您的 ISP 的 DNS 或Google 公共 DNS) 谁知道回复您的请求时使用的逻辑。

基本上,除非您的网络连接异常(高延迟/低吞吐量/高数据包丢失)或 ISP 的 DNS 响应非常慢,否则我建议您不要对 DNS 进行微观管理;这不值得付出努力。在这种情况下,ISP 的 DNS 服务器无论如何都会为您提供更好(最佳?)的结果。

答案3

权威答案应直接来自域的名称服务器之一。非权威答案可以来自任何有答案的服务器。除非配置最近发生更改,否则答案将保持不变。

请求可以指定它们需要权威答案。这些可能需要额外的查找,因为必须联系权威服务器。进行更改时,可能会从不同的权威服务器获得不同的答案。序列号最高的答案应该是最新的答案。(在极少数情况下,序列号被重置,情况并非如此。)

非权威性答案应由第一个联系的有答案的服务器回答。这是最快的响应。这些答案对于大多数用途来说已经足够了。

像 Google 这样的服务是一个特殊情况。它们使用特殊服务器,根据您的位置提供不同的答案。它们还可能进行负载平衡。这两种方式都会随着时间的推移产生不同的答案。缓存的(非权威)答案可能会更旧,并反映缓存结果时的首选服务器。

Google 会尝试将您引导至与您所在位置连接性最好的服务器。这些服务器的 RTT 应低于其他位置的其他 Google 服务器。

答案4

维基百科条目DNS 上的解释很好:

权威名称服务器是提供由原始来源(例如域管理员)或动态 DNS 方法配置的答案的名称服务器,与通过对另一个名称服务器的常规 DNS 查询获得的答案不同。

至于 ping 差异,这就像你说“当我从纽约去华盛顿特区时,它只花费去波特兰所需时间的十分之一”。这些地址完全不同,因此它们可能相距很远。

这适用于 IP 地址和地理地址。

相关内容