众所周知,谷歌拥有不止一个 IP 地址。如果我们使用网站https://toolbox.googleapps.com/apps/dig/#A/google.com@8.8.8.8会产生多个 google 的 IP 地址。
如果我运行以下命令,那么情况会有所不同:
gyan@localhost:~/codes/java/net$ dig google.com
; <<>> DiG 9.10.3-P4-Ubuntu <<>> google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 11777
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4000
;; QUESTION SECTION:
;google.com. IN A
;; ANSWER SECTION:
google.com. 269 IN A 216.58.220.46
;; Query time: 0 msec
;; SERVER: 10.100.171.1#53(10.100.171.1)
;; WHEN: Fri Nov 04 16:18:07 IST 2016
;; MSG SIZE rcvd: 55
gyan@localhost:~/codes/java/net$
只返回一个IP地址,与上述网站返回的不一样。这个 IP 地址也会不时变化。
但是,如果我为 amazon.com 运行 dig 命令:
gyan@localhost:~/codes/java/net$ dig amazon.com
; <<>> DiG 9.10.3-P4-Ubuntu <<>> amazon.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 55090
;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4000
;; QUESTION SECTION:
;amazon.com. IN A
;; ANSWER SECTION:
amazon.com. 34 IN A 54.239.26.128
amazon.com. 34 IN A 54.239.17.7
amazon.com. 34 IN A 54.239.25.192
amazon.com. 34 IN A 54.239.25.208
amazon.com. 34 IN A 54.239.25.200
amazon.com. 34 IN A 54.239.17.6
;; Query time: 74 msec
;; SERVER: 127.0.1.1#53(127.0.1.1)
;; WHEN: Fri Nov 04 16:23:17 IST 2016
;; MSG SIZE rcvd: 135
gyan@localhost:~/codes/java/net$
amazon.com 的这 6 个 IP 地址永远不会改变。网站 https://toolbox.googleapps.com/apps/dig/#A/amazon.com@8.8.8.8也返回相同的 6 个 IP 地址。
我的疑问是 google.com 的 DNS 查找与 amazon.com 有何不同?为什么 google 只产生一条记录,而不是像 amazon 这样的多条记录?