什麼是 DNS(域名系統)及其工作原理?
已發表: 2020-12-09DNS的解釋是什麼?
DNS,全稱域名系統,在客戶端發起請求查詢時,被用作將域名轉換為各自IP地址的媒介。 DNS 存儲在網絡上註冊的所有域名及其 IP 地址的數據庫。
它可以被認為是互聯網上各種網站的考勤登記冊。 在 DNS 的情況下,它維護著所有網站域名及其 IP(互聯網協議)地址的數據庫,這些網站在世界各地都可以運行。
DNS 的歷史
DNS 的起源可以追溯到 ARPANET 時代,當時只有幾台計算機可以獲取數據庫中的條目。 斯坦福研究院維護了一個 HOSTS.TXT 文件,該文件構成了所有機器的數據,並被所有主機複製以保持更新。
1983 年,信息科學研究所的 Jon Postel 要求 Paul Mockapetris 在加州大學歐文分校設計 DNS 的第一個實施。然後,在 1984 年,BIND(伯克利互聯網名稱域)由四名學生 Douglas Terry 創建, Mark Painter、David Riggle 和 Songnian Zhou,用於 Unix 機器。
在 1985 年 Kevin Dunlap 進行了一些修改後,它後來被移植到 Windows 機器上,並且仍然是地球上使用最廣泛的 DNS。
DNS如何工作? – 一個簡單的 DNS 示例
為了了解 DNS 的基本工作原理,讓我用一個酒店的例子來指導你。 讓我們假設您需要在某家酒店拜訪您的朋友。 現在,你會怎麼做? 您將到達酒店前台並向接待員詢問您朋友的房間號。
為此,您需要將您朋友的姓名告訴接待員,接待員會在她的數據庫中檢查相同的信息並告訴您您朋友的房間號。 她還會打電話給你的朋友,確認他是否有空。
現在,嘗試將示例與 DNS 的工作聯繫起來。 在這種情況下,您是向 DNS 服務器發送請求的客戶端,接待員,您朋友的名字是域名,他的房間號是他的 IP 地址。
接待員將在她的計算機上輸入您朋友的姓名,該計算機包含所有客人的數據庫,稱為域名空間。 如果你的朋友住在酒店,她會告訴你房間號,否則不會。
在 DNS 的工作中也會發生類似的事情:當您在瀏覽器中鍵入網站名稱時,瀏覽器會向 DNS 服務器發送請求。 如果網站域名已在 DNS 的數據庫中註冊,它將以您嘗試訪問的網站的 IP 地址進行響應,例如 117.234.214.14。
了解域名和 IP 地址
現在,如果您要問什麼是域? 它用於識別互聯網上的各種網站和服務。 取域名,www.google.com。 IP 地址的命名約定從右到左移動,反之亦然。 在谷歌的域名中,首先DNS會檢查com ,com代表商業域名,是頂級域名。
進一步,Google 是 com 的子域,隨後www是 Google 域的子域。 點 (.) 用於將域與其子域分開。 完整的域名只能包含 253 個字符。
現在,如果有人想知道針對 IP 地址註冊的域名,他們將使用網站的 IP 地址請求 DNS 服務器。 假設發送的 IP 地址是 31.13.79.246,DNS 會先查 31,然後是 13,然後是 79,最後是 246,得出這個 IP 地址屬於 www.fb.com。
DNS 類似於樹的層次結構,而不是生物的。 計算機數據結構中有不同的樹,其中地址 31 屬於樹的頂部位置,是層次結構中的主域,地址 13、79、246 是連續的子域。
數字 246 是指託管網站 www.fb.com 的服務器計算機。 所有這些域和子域的東西並不像你想像的那麼複雜,但如果你是這個概念的新手,需要一些時間才能正確理解。
另請閱讀:什麼是 HTTP/2 及其工作原理
DNS的演進
在早期,主文件由一個主服務器維護,該主文件隨著每個新網站的進入而手動更新,然後其他服務器複製它。 但是,隨著時間的推移,網站數量激增,手動維護域名數據庫變得很困難。 因此,人們感受到了對自動化系統的需求,然後將自動更新全球數據庫的能力引入了新一代 DNS。
如果您向域名註冊商註冊您的網站名稱,您的網站大約需要 24 小時才能出現在世界各地的 DNS 數據庫中。
引入了主從服務器關係,其中主服務器維護數據庫,從服務器只需複制數據庫即可保持更新。 為了促進對 DNS 數據庫的動態更新,引入了 NOTIFY 和 IXFR 機制。
在 NOTIFY 中,當主服務器更新數據庫時,它會向從服務器發送有關更新的通知,然後從服務器複製數據庫。 IXFR(增量區域傳輸)消除了每次創建單個條目時復制整個數據庫的需要; 它允許從服務器僅在其數據庫中添加更新的條目,從而減少工作量並使動態更新過程更快。
解析 IP 地址
它是指將域名轉換為其相應 IP 地址的過程。 DNS 解析器是客戶端 PC,即酒店示例中的您,它將查詢發送到 DNS 服務器,即接待員。 解決方法有兩種:
遞歸:現在,繼續酒店 DNS 示例,假設酒店在城市中有多個分店,而接待員無法找到您朋友的房間號。 然後她會通過聯繫那裡的接待員來檢查您的朋友是否一直住在另一家分店。
因此,如果 DNS 服務器無法找到與查詢中發送的域名相關聯的任何 IP,它將要求其他連接的服務器解析所請求域的 IP 地址。 它將從這些服務器收集信息並使用適當的 IP 地址回复您。
迭代:假設您還想知道朋友房間所在的樓層,為此,您將再次詢問接待員。 同樣,如果 DNS 解析器需要有關域的更多信息,它會針對同一 DNS 服務器發起新查詢。
DNS緩存
DNS 服務器以緩存的形式臨時存儲請求查詢,以減少任何其他 DNS 解析器請求相同查詢時的響應時間。 緩存信息保持有效的時間,稱為 TTL(生存時間),由管理員為緩存中存儲的每個查詢記錄設置。
DNS 應用程序
DNS 的第一個也是最重要的應用是 nslookup,其中 DNS 服務器回複查詢中請求的域名的 IP 地址。 DNS 被 Microsoft Exchange Server 和 IBM Domino 等不同的郵件傳輸代理 (MTA) 使用,以更有效地傳遞電子郵件。
DNS 還可以幫助識別 Internet 上列入黑名單的 IP 地址並阻止用戶訪問它們。 這有助於保護用戶免受垃圾郵件和潛在的黑客攻擊。
每個域名及其 IP 地址的數據保存在多台 DNS 服務器上,以便在一台服務器上出現任何問題時輕鬆檢索數據。
DNS 漏洞
緩存中毒:也稱為 DNS 欺騙,是惡意人員使用的技術。 他們更改 DNS 服務器的解析器緩存中的數據,將錯誤的 IP 地址提供給 DNS 解析器,可能會將用戶轉移到黑客的機器上。
DNS 響應未加密,因此存在潛在攻擊的可能性。 但是,域名系統安全擴展 (DNSSEC) 用於呈現加密簽名的 DNS 響應。
由於用戶屏幕上某些字符的視覺相似性,可以計劃網絡釣魚攻擊,例如字母 l 和 1 在某些屏幕上顯示相同,從而通過顯示與原始網站相同的外觀將用戶重定向到不同的 IP 地址.
如何找到我的 DNS?
在您的機器上找到 DNS 服務器地址是一項非常簡單的任務。 如果您運行的是 Windows PC,請轉到“設置”>“網絡和 Internet”。 在這裡,單擊連接的屬性並向下滾動以找到 DNS 服務器。
使用自定義 DNS
如果那個酒店接待員很慢,而且很多人同時詢問房間號怎麼辦? 那麼她將無法快速為您提供正確的房間號。 因此,您可以要求接待處的其他人處理您的問題。 同樣,當我們連接到互聯網時,我們通常使用我們的 ISP 提供的 DNS 服務器。
但是,如果默認 DNS 服務器沒有響應,或者無法在給定時刻處理大量查詢,該怎麼辦? 此類實例只會降低您的瀏覽體驗。 不過別擔心,還有其他出路。 您可以將系統配置為使用不同的 DNS 服務器來解析 IP 地址。
另請閱讀: 5 個最佳 DNS 服務器 – 免費公共 DNS 以實現快速連接
一些流行的 DNS 服務器:
谷歌的公共 DNS:這家搜索巨頭已經建立了一些嚴肅的高級 DNS 服務器,能夠在任何特定時刻處理數百萬個請求。 它們完全免費使用,就像谷歌的其他服務一樣。 您可以將計算機配置為使用以下 DNS 地址:
8.8.8.8和8.8.4.4
OpenDNS:這是一家私人公司,免費提供安全可靠的 DNS 服務器。 只需在您的機器上配置以下地址:
208.67.222.222和208.67.220.220
不知道如何在您的機器上配置DNS的讀者,請參考以下鏈接:
推薦:如何使用 DNS Hack 獲得更快的 Internet 速度
清盤
自從 DNS 出現以來,它一直是一個最重要的話題,它作為一種系統化的方式來維護全球數百萬個網站和服務器的龐大數據庫。 如果沒有 DNS,它會引發所有域名和 IP 地址的大量混亂,並且從所有域名的隨意集合中找到 google.com 需要很長時間。
DNS 簡化了 IP 解析的過程,而且說真的,如果沒有 DNS,我知道你會為了記住所有這些 IP 地址而燒毀你的大腦迴路。 讓我問你,你還記得我上面提到的 Facebook 的 IP 地址嗎? 現在不要向上滾動,即使我不記得它,因為 DNS 可以為我們記住它。 我們只需要對 DNS 在過去三年中所做的崇高工作表示感謝,它變得更快、更智能、更可靠。
觀看有關 DNS 的視頻:
進一步閱讀:DDoS 攻擊如何運作?
所以現在您已經了解了什麼是 DNS 及其用途。 在評論中留下您的想法,並嘗試使用文章中的鏈接配置 DNS 服務器。
如果您喜歡這個簡單的解釋器,請查看我們的短字節部分。 我們將復雜的技術主題分解為簡短、易於理解的文章。