一文看懂DNS及其工作原理
Labs 導讀
想象一下你的智能手機聯系人名單,就像是整個地球上的人的名字和聯系方式列表。每當你想要給某人打電話或發短信時,你只需要在聯系人名單中找到他們的名字,而不必記住他們的電話號碼或電子郵件地址。這就像是一個巨大的電話簿,讓你能夠輕松找到并與世界上的任何人進行交流。
類似地,互聯網上的每個設備都有一個獨特的標識號碼,稱為IP地址。當你在瀏覽器中鍵入網址訪問網站時,計算機需要知道該網址對應的IP地址,就像你需要知道某人的電話號碼才能聯系他一樣。DNS就像是互聯網上的巨大聯系人名單,它把易于記憶的域名(比如www.example.com)與對應的IP地址進行匹配,從而使你能夠輕松地訪問網站,發送電子郵件等。所以,盡管你可能不了解DNS的技術細節,但每天在互聯網上的各種活動中,你都在使用它來使得不同設備能夠互相溝通。
Part 01、DNS簡史
- ARPANET時代(1960s-1980s):早期的互聯網并沒有一個全球的域名系統,而是使用主機名(hostname)來識別網絡上的計算機。這些主機名存儲在一個稱為"hosts.txt"的文本文件中,該文件由網絡管理員手動維護。
- DNS的創建(1983):隨著互聯網的增長,需要一種更有效的方法來管理和查找主機名與IP地址之間的映射關系。1983年,Paul Mockapetris和Jon Postel開始開發DNS。他們發布了RFC882和RFC883,其中詳細說明了DNS的設計。
- DNS的層次結構(1980s-1990s):DNS被設計成一個層次結構系統,由多個域名服務器組成,每個服務器負責管理特定區域內的域名和IP地址映射。根域名服務器位于頂層,下面是頂級域名服務器(TLD),然后是權威域名服務器和緩存域名服務器。
- 商業化和增長(1990s-2000s):隨著互聯網的商業化,域名的注冊數量急劇增加,導致DNS系統面臨壓力。為了滿足需求,域名注冊機構和托管服務商開始提供域名注冊和管理服務。
- DNSSEC的引入(2000s):為了提高DNS安全性,DNSSEC(Domain Name System Security Extensions)被引入。它通過數字簽名機制確保域名解析的完整性和真實性,防止DNS劫持和緩存投毒等攻擊。
- 新頂級域名的推出(2010s):ICANN(互聯網名稱與數字地址分配機構)開始批準新的頂級域名,如".app"、".blog" 等,豐富了互聯網域名的多樣性。
- IPv6和DNS64/NAT64(2010s):隨著IPv6的推出,DNS也需要適應新的IP地址格式。DNS64/NAT64技術允許IPv6和IPv4之間的通信,使得IPv6網絡可以訪問IPv4網絡上的資源。
- 持續的發展(至今):DNS仍在不斷演進,以適應新的互聯網需求和安全挑戰。隨著云計算、物聯網等新興技術的發展,DNS在網絡生態中的作用變得越來越重要。
Part 02、DNS是如何工作的
DNS使用分層、分布式的結構來管理域名與IP地址的映射關系。它通過遞歸和迭代查詢過程,使得在互聯網上輕松地使用人類可讀的域名來訪問各種網絡資源。這個系統的設計使得整個互聯網能夠更高效地工作,同時也帶來了更好的靈活性和可擴展性,它的工作原理涉及多個層次的域名服務器以及查詢和響應的過程。
(一)域名服務器的分類
域名服務器可以根據其角色和層級劃分為以下四種不同類型:
(1)根域名服務器(Root Name Servers)
根域名服務器位于DNS層次結構的最高層,共有13個不同IP地址的根域名服務器分布在全球各地。它們保存了頂級域名服務器的信息,負責管理頂級域名(如.com、.org、.net等)的域名服務器的IP地址。當本地域名服務器收到查詢請求時,如果需要查詢頂級域名服務器的IP地址,它會向根域名服務器發起查詢,獲取相應的頂級域名服務器地址。
(2)頂級域名服務器(Top-Level Domain Servers)
頂級域名服務器負責管理特定頂級域(如.com、.org、.net等)下的域名和其子域的映射。例如,.com頂級域名服務器會存儲所有使用.com域名結尾的域名映射信息。當本地域名服務器向根域名服務器查詢后,如果需要查詢特定頂級域的IP地址,它會請求相應的頂級域名服務器,以獲取下一步的指引。
(3)權限域名服務器(Authoritative Name Servers)
權威域名服務器是每個特定域名的“官方”域名服務器,它們存儲著該域名與IP地址的映射信息。當本地域名服務器需要解析特定域名時,它會向該域名的權威域名服務器發送查詢請求。這些服務器能夠提供確切的映射信息,或者指示更低級別的域名服務器進行進一步的查詢。
(4)本地域名服務器(Local Name Servers)
本地域名服務器位于用戶的本地網絡中,通常由互聯網服務提供商(ISP)提供。當用戶發起域名查詢請求時,本地域名服務器首先被聯系。如果本地域名服務器已經緩存了相應的映射信息,它會直接返回結果。否則,它會根據查詢的域名層級結構,通過遞歸查詢或迭代查詢的方式,向根域名服務器、頂級域名服務器和權限域名服務器發起查詢,以獲取所需的映射信息。
(二)DNS域名解析過程
域名解析包含兩種查詢方式,分別是遞歸查詢和迭代查詢。
(1)遞歸查詢
客戶端將查詢請求發送給遞歸DNS服務器,服務器必須返回結果,不能簡單把請求轉發給其他服務器。如果遞歸服務器不能解析,它會向其他DNS服務器迭代查詢,直到獲取結果,然后再返回給客戶端。整個過程對客戶端透明,本地服務器負載重,但查詢快。
(2)迭代查詢
整個迭代查詢過程中,本地域名服務器逐級向上查詢,然后逐級向下查詢,直到獲得所需的IP地址。這種查詢模式確保了每一步查詢都是逐級完成的,保持了數據的一致性和正確性。同時,每個查詢環節都可以被緩存,以提高查詢效率,并減輕DNS服務器的負擔。
①本地域名服務器啟動查詢:當用戶在瀏覽器中輸入一個域名,本地域名服務器(通常由互聯網服務提供商提供)被觸發進行域名解析。
②本地域名服務器向根域名服務器發起查詢:本地域名服務器向一個根域名服務器發起查詢請求,該請求包含了所需解析的域名。
③根域名服務器的響應:根域名服務器不會直接提供所需的IP地址,而是回復給本地域名服務器一個指向頂級域名服務器的IP地址。這個頂級域名服務器與所查詢域名的頂級域相關聯,例如".com"、".org"等。
④本地域名服務器向頂級域名服務器發起查詢:本地域名服務器向得到的頂級域名服務器發起新的查詢請求,繼續請求所需的域名映射。
⑤頂級域名服務器的響應:頂級域名服務器回復給本地域名服務器一個指向權限域名服務器的IP地址。這個權限域名服務器是負責管理特定域名的官方服務器,可以提供確切的映射信息。
⑥本地域名服務器向權限域名服務器發起查詢:本地域名服務器向得到的權限域名服務器發起新的查詢請求,請求所需域名的IP地址。
⑦權限域名服務器的響應:權威域名服務器回復給本地域名服務器查詢所需域名的IP地址。
⑧本地域名服務器返回結果:本地域名服務器將獲取到的IP地址返回給用戶的計算機,使其可以建立與目標服務器的連接,從而實現對網站或資源的訪問。
Part 03、DNS安全
DNS作為互聯網的關鍵基礎設施,其安全性直接影響著整個網絡的穩定運行。然而DNS系統也面臨著各種威脅,主要包括:
- DDoS攻擊:通過流量水平拒絕服務攻擊耗盡DNS服務器資源
- 域名劫持:惡意綁定域名至攻擊者控制的IP地址
- DNS投毒/緩存污染:通過植入錯誤的DNS記錄進行網絡釣魚、傳播惡意軟件等
為增強DNS的安全性,業界采取了各種技術手段進行防護
- DNSSEC提供數字簽名,防止解析記錄被篡改
- Anycast和多域名服務器避免單點故障
- 遞歸DNS服務器過濾惡意查詢保護用戶
- DNS over HTTPS加密傳輸保障查詢隱私和安全性等
針對DNS面臨的安全威脅,我們為用戶提供了全方位的安全防護:
- 支持DNS over HTTPS傳輸加密,防竊聽
- 任播技術和多節點部署,保證服務高可用性
- 基于大數據分析的威脅情報,檢測和防御攻擊
- 智能解析和過濾機制,攔截惡意網站保護用戶
通過綜合應用各技術手段,中國移動安全DNS服務可有效抵御常見威脅,保障用戶的查詢安全和體驗。
Part 04、總結展望
DNS作為互聯網的數字電話簿,其發展歷史反映了互聯網技術和治理模式的演變,而它獨特的層次樹狀結構也使DNS成為一個高效可靠的核心服務。面向未來,DNS將面臨來自新興網絡的挑戰,其安全性和性能仍有改進空間。新技術如區塊鏈、人工智能等也可以應用到未來的DNS系統中,以增強其功能。隨著5G時代的到來,DNS將扮演更重要的角色,支撐超大規模的網絡連接。在多利益相關方的共同努力下,DNS必將不斷進化,繼續推動互聯網技術的發展。
??參考文獻
[1] 20 年前的網絡安全:大規模 DDoS 攻擊擊中互聯網的根源,2022年07月21日,https://www.wangan.com/p/7fy7f89367420767【訪問日期:2023年9月6日】.
[2] 關于DNS系統面臨危重安全漏洞風險緊急公告,2008年07月24日,https://www.datarecovery.com.tw/news/times/2010-10-31/277.html【訪問日期:2023年9月6日】.
[3] 盤點2021年全球十大系統崩潰事件,2022年01月13日,https://dbaplus.cn/news-152-4243-1.html【訪問日期:2023年9月6日】.
[4] 智安網絡|勒索病毒來勢洶洶,提前掌握“殺毒”自救方法,2023年05月17日,https://baijiahao.baidu.com/s?id=1766131804485461279【訪問日期:2023年9月6日】.