DNS 與命名

根名稱伺服器(root name server)

如果 DNS 名稱空間是一棵樹,根名稱伺服器就是站在最頂端的櫃台接待員。它們自己並不知道 www.example.com 的位址——但它們很清楚該把你轉到下一個哪張桌子。向根伺服器問任何以 .com 結尾的名稱,它的回答等於是:.com 不放在我這裡,但 .com 伺服器有,這是聯絡它們的方法。它們是每次全新查詢都能退而求其次倚靠的「眾所周知的起點」。

具體來說,根伺服器是「根區域(root zone)」的授權名稱伺服器。根區域非常小:它主要只列出每個頂級網域由哪些名稱伺服器負責。所以向根伺服器查詢 www.example.com,得到的是一個轉介(referral)——.com 名稱伺服器的位址——而不是最終答案。根伺服器有 13 個身分,標示為 A 到 M,但這不代表全世界只有 13 台實體機器:每個身分都由散布全球的數百台實體伺服器提供服務,靠的是一招叫任播(anycast)的技巧,許多機器共用同一個 IP 位址,網路只是把你導向最近的那一台。

為什麼重要:根伺服器是整個階層的錨點,也是「如何把單一邏輯服務做到極度穩健又快速」的著名範例。因為根資料很小又極少變動,它被到處快取,所以實務上解析器幾乎從不需要去打擾真正的根伺服器——但根伺服器仍必須堅如磐石,因為一個快取空空的全新解析器是從這裡起步的。一個常見誤解是根伺服器看得到大多數網際網路流量;多虧快取,它們只看到那一小撮在下層每個快取都落空的查詢。

一個快取空空的解析器想找 en.wikipedia.org。它問一台根伺服器,根伺服器回給它 .org 名稱伺服器的名稱與位址。解析器還沒得到最終答案——它只是被指引往樹下走了一個分枝。

根伺服器從不給最終位址——只告訴你下一個該問的櫃台。

13 個根伺服器字母是對「身分數量」的限制(很久以前為了讓回應能塞進單一小型 UDP 封包而選定),不是對機器數量的限制。任播代表每個字母其實是一支分散全球的伺服器艦隊。

又稱
root serverthe root根伺服器根名稱伺服器