![BIND 结果有效性](https://linux22.com/image/574230/BIND%20%E7%BB%93%E6%9E%9C%E6%9C%89%E6%95%88%E6%80%A7.png)
我设置了一个本地名称服务器(OS-X 上的 BIND),很高兴“dig”响应时间非常短(从第二个查询开始)。但是,如果我等待一小段时间(5 秒),响应时间又会增加 - 请求再次被转发到远程服务器(OpenDNS)。我猜 TTL 很短,但我在 dig 响应中没有看到 TTL 值。在哪里可以找到它?对于大多数 Web 服务器来说,它是否可能很短?这是否会抵消拥有本地服务器的任何优势?
我的 DSL 调制解调器(华为)肯定忽略了 TTL,因为即使在请求之间等待了几分钟,它的响应(使用 dig @192.168.1.1 等)也只有几毫秒,而我的本地服务器转发请求时则需要几百毫秒。这种调制解调器常见吗?还是只有中国调制解调器才有这种情况?我最初对使用本地服务器感兴趣是出于对更快浏览速度的渴望和对中国产品的怀疑。我对后者有疑虑吗?
更新
这些问题是基于 TTL 非常短这一错误前提提出的。现在我知道了 TTL 在 dig 输出中显示的位置,我可以看出它不够短,不足以成为本地服务器重新请求上游服务器的原因。任何关于此原因的想法都会受到欢迎。另外,很明显调制解调器没有忽略 TTL。不过我仍然不相信它……
答案1
该dig
实用程序默认显示 TTL 值。以下是示例输出:
khaled@khaled-pc:~$ dig www.google.com
; <<>> DiG 9.7.1-P2 <<>> www.google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 1350
;; flags: qr rd ra; QUERY: 1, ANSWER: 7, AUTHORITY: 4, ADDITIONAL: 4
;; QUESTION SECTION:
;www.google.com. IN A
;; ANSWER SECTION:
www.google.com. 64131 IN CNAME www.l.google.com.
www.l.google.com. 109 IN A 209.85.147.147
www.l.google.com. 109 IN A 209.85.147.99
www.l.google.com. 109 IN A 209.85.147.103
www.l.google.com. 109 IN A 209.85.147.104
www.l.google.com. 109 IN A 209.85.147.105
www.l.google.com. 109 IN A 209.85.147.106
;; AUTHORITY SECTION:
google.com. 32366 IN NS ns4.google.com.
google.com. 32366 IN NS ns3.google.com.
google.com. 32366 IN NS ns1.google.com.
google.com. 32366 IN NS ns2.google.com.
;; ADDITIONAL SECTION:
ns1.google.com. 236936 IN A 216.239.32.10
ns2.google.com. 236936 IN A 216.239.34.10
ns3.google.com. 236936 IN A 216.239.36.10
ns4.google.com. 236936 IN A 216.239.38.10
您可以使用选项+ttlid
来包含 TTL 值或不包含它们。TTL 值是每行+nottlid
前面的值。IN
答案2
服务器的 TTL 较短是不正常的。有些人使用这些较短的 TTL 作为故障转移技术,但现在大多数人已经转向了不同的方向。
您会在该部分之前找到 TTL IN A
:
15:05:35 root@oxygen:~> dig example.com
; <<>> DiG 9.5.1-P1 <<>> example.com
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 15248
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2
;; QUESTION SECTION:
;example.com. IN A
;; ANSWER SECTION:
example.com. 172800 IN A 192.0.43.10
;; AUTHORITY SECTION:
example.com. 172800 IN NS b.iana-servers.net.
example.com. 172800 IN NS a.iana-servers.net.
;; ADDITIONAL SECTION:
a.iana-servers.net. 265 IN A 199.43.132.53
b.iana-servers.net. 265 IN A 199.43.133.53
;; Query time: 115 msec
;; SERVER: 84.91.3.120#53(84.91.3.120)
;; WHEN: Mon Jan 30 15:05:41 2012
;; MSG SIZE rcvd: 125
答案3
大多数 DSL 路由器/调制解调器不支持缓存DNS 答复,它们只是将查询直接代理到 ISP 解析器。
因此,您所看到的延迟只是到您的 ISP 的往返时间。