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使用谷歌的权威服务器

 $ 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是RTT的1/3,用于ping 74.125.225.19。

任何人都可以解释吗?

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

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

  1. 标有“Non-authoritative”的回复只是名称服务器,让您知道结果不是针对您的请求唯一检索的,而是作为先前请求(针对您或其他客户端)的一部分进行caching的。 另外,由于你的第一个例子直接访问192.168.1.1,而不是你的ISP的名字服务器,你的路由器也可能正在实现另一层caching。
  2. 成千上万的服务器在数百个不同的数据中心提供Google.com服务。 他们的DNS服务器正试图为您提供一个地理定位地址。 无法保证服务器的延迟最低,吞吐量最高,或者主机能够以最快的速度响应,只是将所有三者考虑在内的最佳猜测。 另外,由于ns1.google.com并不是面向客户的DNS名称服务器(例如您的ISP的DNS或Google公共DNS ),因此在回复您的请求时,他们知道这个逻辑正在使用。

基本上,除非你有奇怪的networking连接(高延迟/低吞吐量/高数据包丢失)或DNS响应缓慢从你的ISP,我build议你不要微pipe理DNS; 这是不值得的努力。 在这种情况下,ISP的DNS服务器无论如何都为您提供了更好的(最好的)结果。

一个权威的答案应该直接来自域名服务器。 非权威的答案可以来自任何有答案的服务器。 除非最近的configuration已经改变,答案将是一样的。

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

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

像Google这样的服务是一个特例。 他们使用特殊的服务器,根据您的位置提供不同的答案。 他们也可能做负载平衡。 这两者都会随着时间的推移而产生不同的答案。 caching(非权威性)答案可能会比较老,并反映结果被caching时的首选服务器。

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

维基百科的 DNS 条目解释得非常好:

权威名称服务器是一个名称服务器,它提供的答案是由原始源(例如域pipe理员或dynamicDNS方法)configuration的,与通过对另一个名称服务器的常规DNS查询获得的答案形成对比。

关于这个差异,就好像你在说“当我从纽约去华盛顿特区的时候,到波特兰只需要十分之一的时间”。 地址不是相同的,所以它们可以彼此远离。

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