DNS – 互聯網電話簿
已發表: 2020-10-01
DNS代表域名系統,是使您能夠使用域名的技術。 域名是您想訪問網站時在瀏覽器中鍵入的內容。 這些都是域名的例子:
- google.com
- 白宮網站
- 維基百科
DNS非常複雜,所以讓我們分解一下。
一開始只有數字
互聯網的第一個版本源於將他們的網絡連接在一起的一堆大學。 他們很快意識到新網絡上的所有計算機都需要地址,這樣他們就可以互相交談。
他們提出的地址稱為IP地址。 IP 地址或 IP 是 0 到 255 之間的四個數字,由一個點分隔。 這是 Google 的 IP 之一。
216.58.205.46
每台連接到互聯網的計算機都有一台,而且它是獨一無二的。 這包括您正在閱讀本文的計算機。 您可以通過在 Google 上搜索“我的 IP 地址是什麼”來檢查這一點。
在早期網絡上的每台計算機都有一個唯一的數字地址之後,它們可以用來相互交談。 這對計算機來說很好,但對他們的人類操作員來說不是很好。
人們並不擅長記住數字。
如果人們擅長記住數字,那麼就不會有黃頁,你的手機也不會附帶聯繫人列表。
人們很擅長記住名字和單詞。 那麼,為什麼沒有辦法將易記的名字轉換成難記的數字呢?
第一個互聯網的發明者想出了一個解決方案。 解決方案是一個在線目錄,它允許將一個易於記憶的域名轉換為一個難以記憶的 IP 地址,該地址可由他們稱為域名系統或 DNS 的程序查詢。
DNS的層次
很容易將 DNS 視為單個目錄,其中包含所有域名的簡單列表以及它們轉換為的相應 IP 地址。
不幸的是,現實世界比這複雜得多,DNS 必須適應人們想到的將互聯網接入的每個用例。
第一個複雜因素是有很多不同的域名後綴,例如“.com”、“.uk”、“.info”等等。 每個不同的域名後綴都由不同的組織管理,世界上每個國家都有自己的域名後綴。 其中許多組織還允許第三方公司代表他們註冊域。
這個系統看起來一團糟,而且是一團糟。 幸運的是,DNS 的創建者對其進行了設計,使其能夠適應世界所能提供的盡可能多的複雜性。
他們的絕妙想法是讓 DNS 分層。 每個程序都知道如何進行任何 DNS 查找都有一個起始位置。 此查詢的結果不是答案,而是更多的 DNS 服務器。 新的 DNS 服務器將比以前的服務器更加專業。 根服務器迎合所有域,而下一個可能只知道例如.net域。 每個連續的查詢都會使瀏覽器更接近最終的 DNS 服務器,這些服務器舊有瀏覽器需要的實際信息。
如果我們想像您的瀏覽器試圖找出示例域的 IP 地址,例如作為您的瀏覽器和 DNS 服務器之間的對話的rocket.net ,那麼理解這是如何工作的會更容易:
Browser #> Hi root server, I've got this domain, onrocket.com , and I need to find its IP address.
root-servers.net #> I don't have the IP, but I do know who handles all the .com domains. Go ask them at gtld-servers.net .

Browser #> Hi .com servers, I need the IP for the onrocket.com domain.
gtld-servers.net #> I don't have the IP for you but I do know authoritative servers that have all that information. They're over at Cloudflare.
Browser #> Hey Cloudflare, I've got this domain, rocket.net , that I need the IP for.
Cloudflare DNS #> I can absolutely help you with that. The IP is 104.19.154.92 .
如您所見,該過程首先詢問根服務器,然後按照響應路徑響應最終名稱服務器,即權威名稱服務器。 這些是包含域的實際 DNS 信息的服務器。 DNS 的結構意味著系統可以容納任意數量的域結尾和任意數量的註冊域。
現在您已經了解了 DNS 的功能,讓我們來看看權威 DNS 服務器可以保存的一些 DNS 記錄類型。
DNS 記錄
到目前為止,我們只看了域名到IP地址的轉換記錄。 DNS 服務器還有其他類型的記錄。 以下是您可能遇到的最常見的 DNS 記錄類型的快速摘要。
一個記錄
A記錄是我們到目前為止在本文中使用的記錄類型。 這是將域名 (rocket.net) 或子域 (www.rocket.net) 直接映射到 IP 地址。
MX 記錄
MX 代表Mail e X change ,它們用於發送電子郵件。 當您的郵件客戶端需要找出向哪個電子郵件服務器發送電子郵件時,它會向 DNS 系統詢問電子郵件地址中域名的 MX 記錄。
電子郵件地址由以@分隔的兩部分組成,例如[email protected] 。 當您向[email protected]發送電子郵件時,您的電子郵件程序將向 DNS 系統詢問example.com的MX記錄。
MX 記錄指向A記錄,A 記錄又指向郵件服務器的 IP 地址。
CNAME 記錄
這些記錄更複雜,但可以認為是“複製其他域中的所有記錄”的快捷方式。 它們通常用於避免為所有做同樣事情的域複製大量信息。
TXT 記錄
這些記錄允許域名有一些與之關聯的非結構化文本。 這用於多種原因,但您最有可能遇到的原因是 SPF 記錄。
SPF 是一種電子郵件反垃圾郵件技術,它說,“只有這些郵件服務被授權從我的域名發送電子郵件”。 這可以阻止垃圾郵件發送者發送使用您的域名的垃圾郵件,並試圖假裝他們的垃圾郵件是合法的。
還有其他類型的記錄,但您在日常 DNS 管理中不太可能遇到它們。