DNS 工作機制

想像一下,如果您想訪問互聯網必須要記住每個網站的IP(IPv4/IPv6)位址,那麼使用 Internet 將無比困難,因為我們是人,不是機器,很難記住那麼多的數據組合。 所以,功能變數名稱系統 (DNS) 於1983年創建,使人們能夠通過名稱輕鬆識別連接到Internet的所有電腦、服務和資源,可以理解為 DNS 是 Internet 的電話簿。 DNS 伺服器將您在瀏覽器中鍵入的功能變數名稱(例如 www.f5.com)轉換為IP位址 (104.219.105.148),從而使您的設備可以在 Internet 上找到您要查找的資源。

為什麼需要域名系統 (DNS)?

想像一下,如果您想訪問互聯網必須要記住每個網站的IP(IPv4/IPv6)位址,那麼使用 Internet 將無比困難,因為我們是人,不是機器,很難記住那麼多的數據組合。 所以,功能變數名稱系統 (DNS) 於1983年創建,使人們能夠通過名稱輕鬆識別連接到Internet的所有電腦、服務和資源,可以理解為 DNS 是Internet 的電話簿。 DNS 伺服器將您在瀏覽器中鍵入的功能變數名稱(例如 www.f5.com)轉換為IP位址 (104.219.105.148),從而使您的設備可以在 Internet 上找到您要查找的資源。

DNS 的工作原理

用戶在 Web 瀏覽器中鍵入網站的位址(例如 www.f5.com)。 瀏覽器不知道 www.f5.com 在哪裡,因此它向本地 DNS 伺服器 (LDNS) 發送請求,詢問它是否有 www.f5.com 的記錄。 如果 LDNS 沒有該特定網站的記錄,它將開始對 Internet 域進行遞歸搜索,以找出誰擁有 www.f5.com。

首先,LDNS 聯繫其中一個根 DNS 伺服器,根伺服器通過告訴 LDNS 聯繫 .com DNS 伺服器進行回應。然後 LDNS 詢問 .com DNS 伺服器是否有 www.f5.com 的記錄,.com DNS 伺服器確定 www.f5.com 並返回 f5.com 的名稱伺服器 (NS) 記錄。 看看下面的圖表:

接下來,LDNS 查詢 f5.com DNS 伺服器 NS 記錄。 該 f5.com DNS伺服器尋找名稱:www.f5.com。如果找到該名稱,它會向LDNS返回一個位址 (A) 記錄。 A 記錄包含名稱、IP 位址和存留時間(TTL)。 TTL(以秒為單位)告訴LDNS在再次詢問 f5.com DNS 伺服器之前要保持 A 記錄多長時間。

當 LDNS 收到 A 記錄時,它會在 TTL 中指定的時間內緩存 IP 位址。 現在LDNS擁有 www.f5.com 的A 記錄,它可以從自己的緩存中回答未來的請求,而不是再次完成整個遞歸搜索。 LDNS 將 www.f5.com 的IP位址返回給主機,本地瀏覽器在 TTL 指定的時間內將IP位址緩存在電腦上。 畢竟,如果它可以在本地保留資訊,就不需要繼續詢問LDNS。

然後瀏覽器使用IP位址開啟到 www.f5.com 的連接並發送GET /… 並且 Web 伺服器返回網頁回應。

簡單的示例來講述DNS工作機制,實際情況會存在一些更複雜的場景。

DNS 重要性

DNS作為互聯網的主要技術,DNS 也是網路基礎設施中最重要的元件之一。 除了交付內容和應用程式之外,DNS 還在分散式冗餘架構中確保架構的高可用性和使用者快速回應——因此擁有高可用、智慧、安全和可擴展的 DNS 基礎架構至關重要。 如果 DNS 故障,企業的業務可能將面臨重大損失。 同時,DNS 也是如今攻擊的主要目標。

強大的 DNS 基礎的重要性怎麼強調都不為過。 如果無法確保企業DNS的足夠健壯性,企業的寶貴客戶資源可能會大量流式。

DNS 在不斷增長,尤其是移動應用和物聯網設備。 除此之外,組織的各類應用程式以及這些應用程式的訪問流量都在爆髮式增大。

在過去五年中,.com 和 .net 位址的 DNS 查詢量增加了一倍多。 2016 年有超過 1000 萬個功能變數名稱被添加到互聯網中,隨著更多雲、行動和物聯網實施的部署,預計未來的增長速度會更快。

如果 DNS 是 Internet 的頂樑柱——回應所有的域名查詢並解析得到準確的IP,以便使用者可以找到自己喜歡的網站——同時,這也是網路中最脆弱的環節之一。 由於DNS其發揮著關鍵作用,所以DNS是一個高價值的攻擊物件。 DNS DDoS 攻擊可以將企業的 DNS 伺服器無法正常工作或劫持請求並將請求重定向到一些惡意網站。 為了防止這種情況,必須將分散式高性能、安全的 DNS 架構整合到網路中。

通常,DNS 伺服器和 DNS 雲服務每秒可以處理不同數量的請求,成本隨著每秒查詢次數的增加而增加。

為了解決 DNS 激增和 DNS DDoS 攻擊,企業往往會添加更多的 DNS 伺服器,在業務恢復正常時,這些新增的DNS伺服器資源可能無法彈性回收。 此外,傳統的 DNS 伺服器還需要頻繁的維護和漏洞修補。

在尋找 DNS 解決方案時,許多組織選擇 BIND(Berkeley Internet Naming Daemon)或基於BIND的產品。 BIND 安裝在全球大約 80% 的 DNS 伺服器上,是一個由 Internet Systems Consortium (ISC) 維護的開源專案。

儘管 BIND 很受歡迎,但主要是由於漏洞、補丁和升級,它每年需要多次進行大量維護。 雖然BIND可以免費下載,但需要額外大量的伺服器和操作系統投入。 此外,BIND 通常最大只能擴展到每秒 50,000 個回應 (RPS),高昂的成本和微弱的處理性能,使其容易受到合法和惡意 DNS 激增的影響。

作者:王亞軍 F5 解決方案顧問