Domain-Name-System

NS 記錄雞和蛋:NS 在它所服務的域中

  • July 8, 2016

我與 BIND 打交道多年,這一直困擾著我。

$ dig google.com ns

;; QUESTION SECTION:
;google.com.            IN  NS

;; ANSWER SECTION:
google.com.     87046   IN  NS  ns3.google.com.
etc...

;; ADDITIONAL SECTION:
ns1.google.com.     87274   IN  A   216.239.32.10
etc.

我知道,至少在概念上,根伺服器處理 .,並將 .com.、.gov. 等任何正確的伺服器移交給正確的伺服器(儘管實際上這都記憶體了幾個級別),但在某些時候,有人已經要知道向216.239.32.10的伺服器詢問whatever.google.com的A記錄。但是解析器首先是如何解決這個問題的,因為您需要知道 NS 的 A 才能做到這一點?(就此而言,既然我們知道它是網際網路 NS 而不是混沌之類的東西,為什麼您必須使用名稱而不是地址來記錄 NS?)

我的域名伺服器總是有一些上游的人可以找到的名字(例如,我在 foo.com 上為 bar.com 託管 DNS,而我的上游處理 foo.com),但我從來沒有完全理解像Google這樣的人是如何克服以 google.com 為名託管 google.com 的 DNS 的先有雞還是先有蛋的問題。

我認為您正在努力解決的概念是膠水記錄


從上面連結的文章中:

例如,如果 example.org 的權威名稱伺服器是 ns1.example.org,則嘗試解析 www.example.org 的電腦首先解析 ns1.example.org。由於 ns1 包含在 example.org 中,因此需要先解析 example.org,這會呈現循環依賴關係。為了打破依賴關係,頂級域 org 的名稱伺服器包含膠水以及 example.org 的委託。粘合記錄是為 ns1.example.org 提供 IP 地址的地址記錄。解析器使用這些 IP 地址中的一個或多個來查詢域的權威伺服器之一,從而完成 DNS 查詢。

引用自:https://serverfault.com/questions/566546