全球 EDNS (DNS 擴充機制) 檢查器
EDNS (Extension Mechanisms for DNS),正式定義於 RFC 6891,並非傳統的區域檔紀錄。相反地,它是對核心 DNS 協定本身的一種結構性修改。當 DNS 最初在 1980 年代建構時,該協定規定,任何透過無狀態 (stateless) 使用者資料報協定 (UDP) 執行的查詢都必須嚴格限制在 512 位元組的最大 Payload 內。幾十年來,這個限制對於傳輸基本 IP 位址來說已經足夠。然而,隨著網際網路的發展,這個硬性上限成了巨大的架構瓶頸。
克服 512 位元組的 UDP 障礙
現代基礎架構需求的引入——特別是 128 位元的 IPv6 位址和由 DNSSEC 產生的大型加密簽章——導致 DNS 回應經常超過 1,500 位元組。如果沒有 EDNS,試圖透過 UDP 回傳大型 Payload 的權威伺服器將被迫截斷 (truncate) 封包,在標頭中設定 "TC" (Truncated) 位元,並強制用戶端透過較慢、有狀態的 (stateful) TCP 連線完全重新啟動查詢。這種 TCP 備援 (fallback) 過程會為應用程式解析帶來嚴重的、複合的延遲,並給名稱伺服器資源帶來壓力。EDNS 透過在 DNS 標頭中注入一個「OPT 偽紀錄」來解決這個問題。
OPT 偽紀錄與緩衝區協商 (Buffer Negotiation)
OPT 紀錄並不存在於靜態區域檔中。它是在活動交易 (transaction) 期間動態產生的。當符合 EDNS 標準的解析器查詢伺服器時,它會附加此 OPT 紀錄以宣告其最大可接受的 UDP Payload 大小(通常為 1232 或 4096 位元組)。如果權威伺服器支援 EDNS,它會利用這個協商好的緩衝區大小,在一次閃電般快速的 UDP 交易中傳輸龐大的 DNSSEC Payload,完全繞過了緩慢的 TCP 備援。
診斷網路黑洞與防火牆丟包
使用 EDNS 合規性檢查器是進階網路除錯的強制性步驟。許多舊版的企業防火牆、過時的入侵偵測系統 (IDS) 和設定不佳的家用路由器,仍然會積極丟棄大於 512 位元組的傳入 UDP 封包,將它們解釋為緩衝區溢位攻擊或 UDP 洪水攻擊。當發生這種情況時,用戶端會經歷嚴重的 DNS 逾時,導致網站間歇性無法使用。此外,EDNS 引入了進階的路由遙測技術,例如 EDNS 用戶端子網路 (ECS),這允許遞迴解析器將使用者 IP 位址的片段傳遞給權威伺服器,使 CDN 能夠以極高的精確度將流量路由到最近的地理資料中心。