本APNIC文摘原標題The multiple meanings of ’nameserver’ and ’DNS resolver’,由Julia Evans撰文。
本文作者最近在編撰以域名系統(Domain Name System,DNS)為主題的雜誌,所以比平常人更常思索DNS詞彙的意義。其中特別引起他注意分別是「域名伺服器」(nameserver)和「DNS解析器」(DNS resolver),這兩個詞在不同文脈下常有不同的意思。本文中,作者將試圖解釋這兩個詞可能代表的不同意涵,以及如何判斷文章中這些詞的意思。
域名伺服器的兩種意涵
域名伺服器有兩種類型,要判斷文章是在說哪一種,需要從文脈判斷。
意涵1:權威伺服器
更新域名的DNS紀錄時,這些紀錄會儲存在名為「權威伺服器」(authoritative nameserver)的伺服器中。提到特定一個域名時,域名伺服器指的就是權威伺服器。以下是幾個文句範例:
- 更改域名的域名伺服器,以連接你的域名和Wix。
- 幾乎所有域名都仰賴多個域名伺服器以強化穩定性;若單一域名伺服器失效或無法連線,還可以將DNS查詢送到其他伺服器。
- 遵循域名受理註冊機構網站中的指示,自行更新你的域名伺服器紀錄。
意涵2:遞迴伺服器,也稱為DNS解析器
這些伺服器會儲存DNS紀錄的快取。瀏覽器通常不會直接向權威伺服器傳送查詢,而是先詢問DNS解析器(也就是遞迴伺服器),由後者詢問權威伺服器並取得紀錄後,再快取儲存詢問結果。
在你瀏覽網際網路時,域名伺服器的意思就會是遞迴伺服器。以下是文句範例:
- 在某些裝置,如Windows 10中,要更改域名伺服器可能是需要無數點擊的痛苦過程。
- 你的DNS域名伺服器破壞了你的上網體驗嗎?此更新版本新增1.1.1.1、1.0.0.1和9.9.9.9域名伺服器。
- 更改你的網路設定,使用8.8.8.8 和8.8.4.4作為DNS伺服器。
作者本人偏好使用「DNS解析器」,主要是因為解析器的用法比遞迴伺服器更常見。
DNS解析器的意涵
DNS解析器可能是個函式庫,也可能是伺服器。雖然前文說解析器是伺服器,但某些時候解析器的確又是函式庫。
意涵1a:本地解析器(Stub resolver,函式庫版)
本地解析器(可能是函式庫也可能是伺服器)本人不會解析DNS域名,它只負責將DNS查詢送到真正的DNS伺服器。以下首先說明函式庫版本的本地解析器。
舉例而言,libc的getaddrinfo功能無法自行查詢DNS紀錄,它只會把查詢傳給在/etc/resolv.conf中找到的DNS解析器。至於如何分辨;如果它是電腦作業系統的一部分且/或是函式庫,那就是本地解析器。
以下是文句範例:
- 解析器是在C函式庫中一套用來存取DNS的常式。這些是用來解析網頁位址的DNS伺服器,你可以列出最多三個,解析器會逐一嘗試,找出可用的伺服器。
- 若指令成功,你會收到「成功清除DNS解析器快取」的訊息。
意涵1b:本地解析器(伺服器版)
本地解析器不一定一直都是函示庫。舉例而言, systemd-resolved和dnsmasq都是本地解析器,但他們是伺服器。你的路由可能就是跑dnsmasq。
這時候,本地解析器又稱為DNS轉寄站(forwarder)。判斷的方式:如果它是作業系統的一部分,或路由有在運行此功能,那大概就是本地解析器。
意涵2:遞迴伺服器(伺服器)
如上所述,遞迴伺服器知道怎麼找到域名的權威伺服器。如果它是unbound、bind、8.8.8.8、1.1.1.1,或由你的網路服務供應商(ISP)負責維運,那就是遞迴伺服器。
以下是文句範例:
- pfSense® 軟體中的DNS解析器使用unbound,一個具驗證功能的遞迴快取DNS解析器。
- 我們邀請你嘗試使用Google Public DNS作為你的主要或次要DNS解析器。
- 我在一家規模不小的行動通訊服務供應商工作,我們目前正在建置自己的DNS解析器。
最受歡迎的DNS伺服器詞彙
作者也稍微做了一個不是很科學的調查,計算最常見的DNS解析器Google查詢結果。以下是調查發現:
搜尋詞 | Google結果數 |
dns server | 8,000,000 |
nameserver | 4,200,000 |
dns resolver | 933,000 |
public DNS server | 204,000 |
root nameserver | 42,000 |
recursive resolver | 38,500 |
stub resolver | 26,100 |
authoritative nameserver | 17,000 |
dns resolution service | 9,450 |
TLD nameserver | 7,500 |
dns recursor | 5,300 |
recursive nameserver | 5,060 |
根據上述結果,簡單來說,當提到DNS伺服器的時候,最常意指的是域名伺服器和DNS解析器。其他如遞迴伺服器、權威伺服器、本地解析器相較之下都很少。
最後,作者表示,雖然整體而言這些詞的使用有些混亂,但他認為試圖解釋這些詞在不同脈絡的用法以釐清理解,還是比使用較不常見的同義詞彙好。
*台灣網路資訊中心(TWNIC)與亞太網路資訊中心(APNIC)合作,定期精選APNIC Blog文章翻譯摘要,提供中心部落格讀者了解目前亞太地區網路發展之最新趨勢。原文標題為The multiple meanings of ’nameserver’ and ’DNS resolver’。