Domain-Name-System

為什麼要在 DNS 中發送權威域名伺服器?

  • November 5, 2018

出於好奇,我正在檢查 Wireshark DNS 數據包。我可以看到有來自主機的 DNS 查詢,然後是來自 DNS 伺服器的 DNS 響應。一切都和預期的一樣。

但是,如果您進一步檢查查詢,您可以看到伺服器也發送了 NS(權威名稱伺服器)。我的問題是:為什麼?

作為主機,我只關心IP。這是DNS 的要點,將名稱解析為 IP 地址

為什麼,作為主持人,我需要 NS 資訊?

傳統上,名稱伺服器不會向查詢發送簡短響應,而是發送符合 RFC 1034 - 1035的完整響應,其中包括包含指向權威名稱伺服器的資源記錄的權限部分。

原因可能是由於 DNS 的分佈式和委託性質,當時在響應中包含“事實來源”似乎是個好主意。

**編輯:**順便說一句:發送權限部分符合 RFC,但並非對所有查詢響應都是強制性的。

在 BIND 中,可以使用minimal-responses yes | no;指令調整此行為,其中預設值是**no**,並且查詢響應的權限和附加部分將始終完全填充。

預設情況下,其他名稱伺服器 CloudFlare、AWS Route 53、Infoblocks 和可能其他名稱伺服器將始終發送如此少的響應。Google的公共解析器將在可用時返回一個授權部分,Cloudflare。


認為包含權威部分和實際查詢響應的傳統起源於現在已過時的RFC882第 15-16 頁的(偽)程式碼中

If the name server is not authoritative, the code copies 
the RRs for a closer name server into the response.  
The last section of the code copies all relevant RRs into the response.

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