DNS 是什麼呀?

更新 發佈閱讀 7 分鐘

DNS 是什麼

DNS = Domain Name System(網域名稱系統)

在系統/伺服器之間進行通訊時,用來把網域名稱IP 位址做對應(名稱解析),並用來指示要連到哪一台目標主機的系統。

IP 位址: 123.45.678.9

網域名稱: aaa.com

※ IP 位址由數字構成,人類不易辨識,因此才有網域名稱的設計。

使用 DNS 查詢的流程

  1. PC 向 DNS 快取伺服器(DNS Cache Server)以網域名稱發出查詢
  2. DNS 快取伺服器向 DNS 根伺服器(DNS Root Server)詢問管理資訊(該網域名稱對應的 IP 位址在哪裡?)
  3. DNS 根伺服器回覆 DNS 快取伺服器:提供「有管理資訊的 DNS 伺服器」的位置
  4. DNS 快取伺服器再向「有管理資訊的 DNS 伺服器」查詢該網域名稱對應的 IP 位址
  5. 有管理資訊的 DNS 伺服器回覆 DNS 快取伺服器:IP 位址
  6. DNS 快取伺服器回覆 PC:IP 位址
  7. PC 使用該 IP 位址存取網站,瀏覽器就會顯示網頁

※ DNS 伺服器會把伺服器分散到世界各地,並透過快取(使用 DNS 快取伺服器)來應付大量存取。

DNS 快取伺服器(Full Service Resolver)

一台會暫時保存「網域名稱對應 IP 位址」的伺服器。

  • 若過去查詢過 → 回覆先前快取的 IP 位址
  • 若沒查詢過,或已超過有效期限(TTL 到期)→ 向 DNS 根伺服器查詢

DNS 快取伺服器的角色:

  • 縮短 DNS 查詢處理時間
  • 降低 Root DNS Server 的負載

※ 快取(Cache)=暫時保存資料的功能

※ TTL(Time To Live)=DNS 快取伺服器所保存資訊的有效期限

Root DNS Server(最上層的名稱伺服器)

DNS 快取伺服器最一開始會去查詢的伺服器。

全世界共有 13 台(13 組根伺服器系統)。


Name Server(權威 DNS 伺服器/DNS 內容伺服器)

泛指擁有「把網域名稱與 IP 位址對應起來的名冊(Zone File:區域檔)」的伺服器群。

  • Root DNS Server 也是 Name Server 的一種

DNS Record(Zone File:區域檔)

存在於權威 DNS 伺服器中。

內容包含:與網域名稱關聯的 IP 位址、以及該如何處理對該網域的請求等「網域相關資訊」。Record 由文字檔(DNS Syntax)構成。

例:

  • TTL 記錄:DNS 伺服器更新該記錄的頻率
  • DNS Syntax:用來指示 DNS 伺服器要做什麼的字串(可視為命令格式)

Record 類型與內容

類型內容

A

主機的 IP 位址(IPv4)

AAAA

主機的 IP 位址(IPv6)

SOA

Zone(網域)資訊

NS

網域的 DNS 伺服器名稱

CNAME

主機名稱的別名(Alias)

PTR

IP 位址對應的主機名稱(反向查詢)

MX

網域的郵件伺服器名稱

HINFO

主機的附加資訊(硬體/軟體(OS)資訊)

WKS

主機上正在提供的服務資訊(Well Known Services)

TXT

主機的文字資訊


A Record

表示主機的 IP 位址(IPv4)的記錄。

欄位設定值(例)說明Namewww.aaa.com.網域名稱TTL300在快取伺服器上的記錄有效期限TypeA記錄類型Value123.456.789.123IP 位址(IPv4),可設定多個


SOA Record

在 DNS 的父/子伺服器關係中,只有子(權威)端會持有,用來表示該網域 Zone 的起點(權威來源)的記錄。


欄位設定值(例)說明Name@為「@」時表示 Zone 名稱本身TTL300在快取伺服器上的記錄有效期限TypeSOA記錄類型Valueaaa.com. email.aaa.com. 1 7200 900 1209600 86400<MNAME + RNAME + SERIAL + REFRESH + RETRY + EXPIRE + MINIMUM>

各欄位意義:

  • MNAME:持有基準資料的 Name Server 名稱
  • RNAME:此網域管理者的 Email(其中 @. 取代)
  • SERIAL:Zone 檔版本號
  • REFRESH:刷新 Zone 資訊的時間間隔
  • RETRY:刷新失敗時的重試間隔
  • EXPIRE:刷新持續失敗時,次要 Name Server 上資料的有效時間
  • MINIMUM:Negative Cache(不存在的網域資訊)的保存時間

NS Record

表示網域的 DNS 伺服器名稱的記錄。


父/子 DNS 伺服器雙方都會持有,用來表示「權限委派(Delegation)」的狀態。

【例】子 DNS 伺服器:aaa.com(持有 A Record / IP 的伺服器)

欄位設定值(例)說明Name@為「@」時表示 Zone 名稱本身TTL300在快取伺服器上的記錄有效期限TypeNS記錄類型Valuewww.aaa.com.權限委派的 Name Server(子 DNS 伺服器本身)

【例】父 DNS 伺服器:com(沒有 A Record,將權限委派給子伺服器)

欄位設定值(例)說明Nameaaa子 DNS 伺服器名稱(末尾不加「.」,省略後面的「.com.」)TTL300在快取伺服器上的記錄有效期限TypeNS記錄類型Valuewww.aaa.com.權限委派的 Name Server(子 DNS 伺服器)


CNAME Record

表示主機名稱的別名(Alias)的記錄(Canonical NAME)。

可以把特定主機名稱「轉到」另一個網域。

以下例子表示:

http://www.aaa.com 的存取轉到 http://www.bbb.com


【例】DNS 伺服器:aaa.com

欄位設定值(例)說明Namewww主機名稱(末尾不加「.」,省略後面的「.aaa.com.」)TTL300在快取伺服器上的記錄有效期限TypeCNAME記錄類型Valuewww.bbb.com轉送目的地網域

留言
avatar-img
留言分享你的想法!
avatar-img
Kiki的沙龍
5會員
67內容數
心繫正體中文的科學家,立志使用正體中文撰寫文章。 此沙龍預計涵蓋各項資訊科技知識分享與學習心得
Kiki的沙龍的其他內容
2025/12/10
想幫認識的工程師朋友準備一台順手的 Mac 第一次入手 Mac 的你 做 Web 開發的工程師(或準備踏進來的人) 這篇用的環境 macOS Sequoia MacBook M4 Pro (14-inch)
2025/12/10
想幫認識的工程師朋友準備一台順手的 Mac 第一次入手 Mac 的你 做 Web 開發的工程師(或準備踏進來的人) 這篇用的環境 macOS Sequoia MacBook M4 Pro (14-inch)
2025/12/09
我喜歡玩 ARC Raiders,所以就開始想說:「欸~如果我也自己做一隻 ARC(機械生物)來養,應該很酷吧?」結果一路追追追,就入坑了 Artificial Life(人工生命),整個停不下來(…)。
Thumbnail
2025/12/09
我喜歡玩 ARC Raiders,所以就開始想說:「欸~如果我也自己做一隻 ARC(機械生物)來養,應該很酷吧?」結果一路追追追,就入坑了 Artificial Life(人工生命),整個停不下來(…)。
Thumbnail
2025/12/08
剛開始來美國的時候,我其實完全沒有想到「成功」這兩個字。那時候的我,只是個在實驗室裡跟程式碼、儀器、咖啡和平行世界打架的小女生,偶爾穿梭在世界各地的會議之間,最大的願望是──今天的實驗拜託一次就成功,拜託不要又 debug 到半夜。
2025/12/08
剛開始來美國的時候,我其實完全沒有想到「成功」這兩個字。那時候的我,只是個在實驗室裡跟程式碼、儀器、咖啡和平行世界打架的小女生,偶爾穿梭在世界各地的會議之間,最大的願望是──今天的實驗拜託一次就成功,拜託不要又 debug 到半夜。
看更多