DNS 的工作原理

已發表: 2016-12-15

計算機使用稱為 IP 的尋址方案通過 Internet 進行通信。 IP 地址是一串唯一的數字,以句號分隔。 然而,人類在記住長串數字方面往往很糟糕。 因此,為了使訪問計算機更容易,需要一個電話簿。 將計算機名稱映射到 IP 地址的電話簿; 這樣人類和軟件就可以輕鬆地連接到其他一些計算機資源。

在 DNS 之前,Internet 被稱為 ARPANET,連接的計算機很少; 因此,只需要一個 HOSTS.TXT 文件來維護它們的 IP 地址到名稱的映射。

地址是手動管理的,對映射的更改需要致電 SRI 的網絡信息中心(以前稱為斯坦福研究所)。

在 80 年代的某個時候,手動管理所有這些映射變得很麻煩,因此需要一個解決方案。 域名系統就是那個解決方案。

什麼是 DNS,它解決了什麼問題。

開發域名系統是為了解決必須維護大量計算機名稱的迫切需要。 它由稱為“名稱服務器”的服務器分層網絡和通信協議實現。 它也是自然分佈的,這使其在發生故障時具有彈性。 名稱服務器存儲有關域名記錄的信息,並響應來自其他服務器或客戶端的查詢。 我們將在本文後面深入研究什麼是域名記錄。 但首先,讓我們了解一下 DNS 世界中的一些關鍵概念:

根名稱服務器及其層次結構

我們之前提到過,DNS 是一個分層系統。 此層次結構由三個不同級別的名稱服務器組成。 根域名服務器、頂級域 (TLD) 和權威的 DNS 服務器用於其他一切。 整個 Internet 有 13 台根服務器。 這些不是物理的,因為它們的分佈式特性可以跨越多台機器。 但是,它們確實提供了有關哪些名稱服務器負責頂級域(.com、.net 等)的權威答案。 與負責這些 TLD 下所有內容的名稱服務器相比,這些根服務器包含最新和最準確的指針。

使用 Pressidium 託管您的網站

60 天退款保證

查看我們的計劃

頂級域名服務器

這些是負責域最後一部分的名稱服務器。 管理大多數頂級域的實體稱為互聯網名稱與數字地址分配機構 (ICANN)。 TLD 有多種類型,最常見的是國家代碼(.uk、.nl、.us 等)。 還有一些非常熟悉的,如.com、.net、.gov、.edu,它們被稱為通用。

權威域名服務器

這些是負責特定域(即 pressidium.com)的名稱服務器。 它們包含他們的域記錄並被稱為權威,不僅因為它們擁有有關域的最新和最準確的信息,而且還因為域所有者已指定它們。

領域

域只是標識一組 Internet 資源(計算機、網絡等)的標籤。 它被個人和組織用來在互聯網上建立他們的身份。

註冊商

域名註冊商是管理域的商業實體。 他們被頂級域註冊機構授權執行此功能。 他們可以購買各種頂級類型的域名。 該域將與您的個人數據相關聯,從而證明所有權。

名稱服務器記錄

正如我們之前提到的,域是定義一組 Internet 資源的標籤。 名稱服務器包含有關這些信息,響應來自其他服務器或客戶端的查詢。 這些資源被組織和表示為結構化文本,在所謂的域名記錄中。

記錄有多種類型,但最常用的有以下幾種:

  • A(地址)
  • CNAME(規範名稱)
  • MX(郵件交換)

A 記錄可能是最基本和最廣泛使用的記錄,它是將名稱映射到 IP 地址的記錄。 例如以下記錄:

website.com. IN A 23.9.62.14

將域website.com映射到 IP 地址23.9.62.14

另一種常見的做法是讓多個 A 記錄的 IP 映射到同一個名稱。 這提供了一種基本但有效的負載平衡形式,因為每次向域名服務器查詢該域時,它都會返回不同的 IP 地址。

CNAME 記錄用於將一個名稱別名為另一個 A 記錄。 這通常在您需要多個子域(www、ftp、mail)指向同一個域(同一服務器可以是 web/ftp/email 服務器)時使用。 例如:

ftp IN CNAME website.com.

將為website.com創建一個ftp別名,這樣當有人通過 ftp 訪問 ftp.website.com 時,他們將被重定向到 website.com。

Τ這裡是 DNS 和電子郵件之間的特殊關係。 雖然 ftp 和 web 等服務實際上可以在沒有 DNS 的情況下運行(如果你能記住 IP 地址的話),但另一方面,電子郵件卻不能。 電子郵件絕對需要 DNS 才能正常運行。 MX 記錄用於定義將處理該域的所有傳入電子郵件的 A 記錄。 例如,如果您希望 mail.website.com 處理所有發往 website.com 的郵件,請輸入以下內容:

website.com. MX 10 mail.website.com
website.com. MX 20 mail-backup.website.com

這裡還有一些額外的事情:

MX 字符串旁邊的數字對應於優先級。 第一條記錄定義mail.website.com的優先級為 10 ,而第二條記錄的優先級為20 這確保瞭如果由於某種原因 mail.website.com 變得不可用,那麼優先級為 20 的第二個條目將接管。

名稱解析

當您使用計算機名稱連接到某個地方,任何地方會發生以下事情(讓我們以 www.pressidium.com 為例):

partiii-dns-in
  1. 您的瀏覽器或客戶端軟件使用一個名為 DNS 解析器的軟件模塊,它會查找您配置的 DNS 服務器(這通常是您的 ISP 為您設置的)
  2. 然後,您的 ISP 的名稱服務器檢查它是否知道答案,如果不知道,則調用根名稱服務器詢問誰負責 .com(因為域是 pressidium.com)
  3. 然後,根域名服務器以 .com 的 TLD 域名服務器列表進行響應。
  4. 您的 ISP 名稱服務器聯繫 TLD 名稱服務器並詢問他們是否知道哪個名稱服務器是 pressidium.com 的權威名稱服務器。
  5. 最後,您的 ISP NS 聯繫該域的權威名稱服務器,並詢問“www.pressidium.com”的 A 記錄

這一系列調用稱為遞歸,通常涉及一些服務器端緩存,因此您的 ISP 名稱服務器可能不會遇到所有麻煩。

下一步是什麼?

前面我們描述了 DNS 和電子郵件的特殊關係。 結束我們的互聯網核心技術系列的最後一部分,我們將看看電子郵件。 電子郵件有著悠久的歷史; 它經歷了很多變化,並在多項競爭技術中倖存下來。 即使是現在,在我們普遍存在的“永遠在線”社交互聯網文化中,電子郵件對於業務和溝通來說仍然是必不可少的。