Bar*_*ter 6 domain-name-system load-balancing nameserver
当某个域有主 NS 和多个辅助 NS 时,客户端会随机询问它们以减少负载,还是仅命中主 NS,仅在主 NS 出现故障时才进行辅助?
peh*_*hrs 11
我将重用这里的示例https://serverfault.com/questions/130608/when-is-a-secondary-nameserver-hit/130625#130625
基本上它取决于解析器的实现。一些解析器命中第一台服务器,其他解析器将从可用服务器中随机选择一个服务器。为了解决这个问题,大多数 DNS 服务器会随机化回复的顺序。
如果您询问 google.com,您会得到以下答案:
#dig NS google.com
;; QUESTION SECTION:
;google.com. IN NS
;; ANSWER SECTION:
google.com. 297286 IN NS ns3.google.com.
google.com. 297286 IN NS ns2.google.com.
google.com. 297286 IN NS ns4.google.com.
google.com. 297286 IN NS ns1.google.com.
;; ADDITIONAL SECTION:
ns1.google.com. 297067 IN A 216.239.32.10
ns2.google.com. 297074 IN A 216.239.34.10
ns3.google.com. 297074 IN A 216.239.36.10
ns4.google.com. 297067 IN A 216.239.38.10
Run Code Online (Sandbox Code Playgroud)
然后我们再做一次:
#dig NS google.com
;; QUESTION SECTION:
;google.com. IN NS
;; ANSWER SECTION:
google.com. 297249 IN NS ns3.google.com.
google.com. 297249 IN NS ns2.google.com.
google.com. 297249 IN NS ns1.google.com.
google.com. 297249 IN NS ns4.google.com.
;; ADDITIONAL SECTION:
ns1.google.com. 297030 IN A 216.239.32.10
ns2.google.com. 297037 IN A 216.239.34.10
ns3.google.com. 297037 IN A 216.239.36.10
ns4.google.com. 297030 IN A 216.239.38.10
Run Code Online (Sandbox Code Playgroud)
请注意他们如何更改回复中名称服务器的顺序以分散负载。