DNS 協議細節決定了解析效能、可靠性與擴展性。本文深入解析 DNS 传輸協議選擇、委派查詢鏈路、快取機制(含否定快取)、EDNS0 擴展與 BIND 9 實作特性,為進階網路工程師提供協議層面的參考依據。
| 場景 | 協議 | 埠號 | 說明 |
|---|---|---|---|
| 標準查詢/回應 | UDP | 53 | 低延遲、無連線建立開銷 |
| 回應 > 512 位元組 | TCP | 53 | 傳統 DNS 封包上限,超過需改用 TCP |
| 區域傳送 (AXFR/IXFR) | TCP | 53 | 資料量大、需可靠傳輸 |
BIND 9 預設支援 EDNS0,可協商更大 UDP 封包(如 4096 位元組),減少 TCP 回退機率。
所有授權伺服器皆內建根伺服器提示檔,知曉 13 組根伺服器 IP。
marco.comp.fudan.edu 查詢 cs.military.china.com1. 本地 NS (ns.comp.fudan.edu) 無快取 → 查詢根伺服器 2. 根 → 回應 .com TLD 伺服器 3. 本地 NS → 查詢 .com TLD → 回應 china.com 授權伺服器 4. 本地 NS → 查詢 china.com → 回應 military.china.com 授權伺服器 5. 本地 NS → 查詢 military.china.com(授權)→ 回應 cs A 記錄 6. 本地 NS 快取 .com、china.com、military.china.com NS 列表與 cs 答案
依答案 TTL 快存,TTL 到期前直接回應,不再向上查詢。
快存以下否定答案,減少重複查詢負載:
BIND 8.2 為可選功能,BIND 9 強制啟用。
授權伺服器與解析器雙向支援 EDNS0,預設宣告 4096 位元組 UDP 緩衝區。
掌握 DNS 協議層面的传輸選擇、委派鏈路、快取策略(含否定快取)與 EDNS0 擴展,能有效進行效能調校、排查解析異常、評估 DNSSEC/DoH 部署影響。建議搭配 dig +dnssec、tcpdump -n port 53 實地觀察封包行為,深化理解。