National Central University
Uedu Main Site
Explore Uedu
Student Console
Register as Member/Login
Research Informed Consent Center
Survey Center
Educational Big Data Challenge
Claim or create a course
Try an AI Scenario Task
Support & Messages
Uptime Data

UeduGPTs

--

Jupyters

3

Local AI

--

Uedu Code

--

中央大學 AQI 80 24°C PM2.5 21
AI Reply Desktop Notifications

Show a desktop notification when the AI TA finishes replying

Chat Message Notifications

Notify me when classmates post messages in the forum

Sound notification

Play an alert sound whenever there is a new notification

Unit 31

網域名稱與 DNS

網址怎麼找到伺服器、網域怎麼註冊
Interaction 25 minute(s)

Learning Objectives

  • 說明為什麼需要網域名稱,以及網域名稱由右往左的階層(根、頂級網域、第二層…)
  • 說出 .tw、.edu.tw 由誰管理,以及「委派」的意思
  • 描述遞迴解析器從根伺服器一路問到權威伺服器的過程
  • 解釋快取與 TTL:為什麼第二次查詢比較快、改了 IP 為什麼不會立刻生效
  • 分辨 A、AAAA、CNAME、MX、NS 等常見記錄類型
  • 說明網域註冊的流程:註冊人、受理註冊機構、註冊管理機構

網址打錯一個字,為什麼就找不到網站

在瀏覽器打 www.exmaple.com(少打對一個字母),常會看到「找不到伺服器的 IP 位址」。這句話透露了一件事: 瀏覽器要連上網站,先得把名稱換成 IP 位址;名稱打錯,這一步就失敗了,根本還沒開始跟網站說話。

網路上的電腦靠 IP 位址找到彼此,例如 192.0.2.10 或 IPv6 的 2001:db8::10。數字對電腦很方便,對人卻很難記; 而且網站換了機房、換了 IP,總不能叫所有使用者都改記新的數字。所以我們用名稱,再由一套系統把名稱翻譯成位址: 這套系統就是 DNS(Domain Name System,網域名稱系統)。

比喻 DNS 裡對應的東西
通訊錄裡的「名字」 網域名稱,例如 www.example.edu.tw
名字旁邊的「電話號碼」 IP 位址,例如 192.0.2.10
查通訊錄 名稱解析(name resolution)

早期 ARPANET 的主機不多,由一個中心單位維護一份對照表檔案(HOSTS.TXT),大家定期下載。主機越來越多,一份檔案、一個單位顧不過來, 1983 年 Paul Mockapetris 發表 RFC 882 與 RFC 883,提出分散式、分層管理的網域名稱系統;1987 年由 RFC 1034、RFC 1035 取代,沿用到今天。

這一課要回答:網域名稱怎麼分層、名稱解析一步一步怎麼進行、快取為什麼讓網路變快也讓「改設定」變慢,以及一個網域是怎麼註冊出來的。

這一課用到的網域(example.com、example.edu.tw…)與 IP(192.0.2.x、198.51.100.x、203.0.113.x、2001:db8::)都是保留給教學與文件用的,不是真的網站。

網域名稱的階層:從右往左讀

網域名稱用句點分成好幾段,從右往左一層一層變細:

www . example . edu . tw .
 │       │       │    │  └─ 根(root):寫網址時通常省略最後這個點
 │       │       │    └──── 頂級網域(TLD):tw,代表臺灣
 │       │       └───────── 第二層:edu,教育單位
 │       └───────────────── 第三層:example,某一所學校
 └───────────────────────── 主機名稱:www,這所學校的網站
層級 例子 說明
根 . 整棵樹的起點,由全世界 13 組根伺服器(名稱 a~m.root-servers.net)提供
頂級網域(TLD) .com、.org、.tw、.jp 分成通用頂級網域(.com、.org…)與國家/地區代碼頂級網域(.tw、.jp…)
第二層以下 edu.tw、example.com 由上一層「委派」給某個單位管理
主機名稱 www、mail、lib 網域擁有者自己決定

委派(delegation)是 DNS 分散管理的關鍵:每一層只記得「下一層歸誰管」,不記得更下面的細節。 根伺服器知道 .tw 的伺服器在哪裡,但不知道 www.example.edu.tw 的 IP;.tw 的伺服器知道 edu.tw 歸誰管;一路往下, 最後由學校自己的權威伺服器(authoritative name server)回答 www 的位址。

臺灣的例子:

  • .tw 與中文的 .台灣 由財團法人台灣網路資訊中心(TWNIC)負責註冊管理。
  • .tw 底下有類別型網域:com.tw(公司)、org.tw(組織)、edu.tw(教育單位)、gov.tw(政府機關)等。
  • edu.tw 由教育部管理;學校取得 某校.edu.tw 之後,再由學校的計算機中心分配 系所.某校.edu.tw 這類下一層名稱。

名稱的寫法也有規則:每一段只能用英文字母、數字與連字號(-),不能以連字號開頭或結尾,每一段最多 63 個字元; 大小寫視為相同,WWW.Example.COM 和 www.example.com 是同一個名稱。

名稱解析:解析器一站一站問

你的電腦自己不會從根伺服器問起。它把問題丟給一台遞迴解析器(recursive resolver),通常是學校、公司或電信業者提供的 DNS 伺服器, 由它替你跑完全程,最後只把答案交回來:

  1. 你的電腦問解析器:「www.example.edu.tw 的 IP 是什麼?」
  2. 解析器問根伺服器 → 回答是轉介:「.tw 歸 .tw 的伺服器管,去問它」
  3. 解析器問 .tw 伺服器 → 轉介:「去問 edu.tw 的伺服器」
  4. 解析器問 edu.tw 伺服器 → 轉介:「去問 example.edu.tw 的伺服器」
  5. 解析器問 example.edu.tw 的權威伺服器 → 答案:192.0.2.10
  6. 解析器把 192.0.2.10 交回你的電腦
  • 你的電腦對解析器發出的是遞迴查詢:「請給我最後的答案」。
  • 解析器對各層伺服器發出的是反覆查詢(iterative):每一站只回答它知道的部分,常常是一句「我不知道,但你可以去問誰」(轉介,referral)。
  • 解析器一開始就知道根伺服器的位址(內建的 root hints),所以總是有起點。
  • 13 組根伺服器是 13 個名稱,不是 13 台機器;每一組都用任播(anycast)在世界各地放了很多台,讓查詢就近得到回答。
  • DNS 查詢通常用 UDP 的 53 號埠,一來一回的封包很小。

接下來在模擬器裡實際查一次,再查第二次,比較兩次有什麼不同。

互動練習:一站一站找到 IP

上方輸入要查的名稱,按「查詢」;勾選「一步一步看」可以自己按「下一步」。中間三欄是你的電腦、遞迴解析器與被詢問的伺服器,下方的表格記下每一次問答,最下面是解析器的快取。依任務操作:先查 www.example.edu.tw,看解析器從根伺服器一路問到權威伺服器;再查一次同一個名稱,數數看這次對外問了幾台;接著查 shop.example.com.tw,注意解析器從哪一站開始問(快取記得什麼);最後用「時間快轉」讓 www.example.edu.tw 的 TTL(300 秒)過期,再查一次,看這次要問誰。

快取與 TTL:快的代價是「改了不會立刻生效」

剛才第二次查詢沒有對外問任何伺服器,因為解析器把答案放進了快取(cache)。每一筆答案都帶著一個 TTL(Time To Live,存活時間,單位是秒), 由權威伺服器決定:TTL 300 表示「這個答案可以記 5 分鐘」,時間一到就要重新問。

快取不只一層:

誰在快取 例子
瀏覽器 最近開過的網站,瀏覽器自己會先記一下
作業系統 Windows、macOS、手機都有 DNS 快取
遞迴解析器 全校、全公司的人共用;別人查過的名稱,你查就直接命中

快取也記得「轉介」:知道 .tw 伺服器在哪裡之後,查其他 .tw 名稱就不必再問根伺服器。所以根伺服器實際收到的查詢,比全世界上網的次數少得多。

快取帶來一個常見的現象:網站搬家換了新 IP,有些人馬上連到新主機,有些人還連到舊主機。這是因為各地的快取還記著舊答案,要等 TTL 過期才會重問; 常聽到的「DNS 生效要等一段時間」,其實就是在等快取過期。網站管理者在搬家前,通常會先把 TTL 調短。

查不到的答案也會快取(否定快取):解析器查到「這個名稱不存在」,也會記一段時間,避免一直重問。

想一想:解析與快取

1.

遞迴解析器的快取是空的,要查 www.example.edu.tw,它依序問哪些伺服器?

2.

www.example.edu.tw 的 A 記錄 TTL 是 300 秒。解析器查到後,第 2 分鐘你的同學又查同一個名稱,會怎樣?

3.

公司把網站搬到新的 IP,有些員工連到新主機、有些還連到舊主機。最可能的原因是?

第 1 次作答

DNS 記錄類型:不只是名稱對 IP

權威伺服器裡存的是一筆一筆的資源記錄(resource record),每一筆有名稱、TTL、類型與內容。常見的類型:

類型 內容 例子
A IPv4 位址 example.com A 198.51.100.7
AAAA IPv6 位址 example.com AAAA 2001:db8::7
CNAME 別名:這個名稱其實是另一個名稱 www.example.com CNAME example.com
MX 這個網域的郵件要送到哪台主機(數字是優先順序,小的先試) example.com MX 10 mail.example.com
NS 這個網域由哪些名稱伺服器負責(委派就是靠 NS 記錄) example.com NS ns1.example.com
TXT 一段文字,常用來證明「這個網域是我的」或設定寄信驗證 example.com TXT "v=spf1 …"

一個網域的記錄寫在一起就是區域檔(zone file),概念上長這樣:

example.com.        3600  IN  A      198.51.100.7
example.com.        3600  IN  AAAA   2001:db8::7
www.example.com.    3600  IN  CNAME  example.com.
example.com.        3600  IN  MX     10 mail.example.com.
mail.example.com.   3600  IN  A      198.51.100.25

注意 MX 的內容是名稱不是 IP:寄信的伺服器要先查 MX 得到 mail.example.com,再查它的 A 記錄才拿到 IP。 CNAME 也一樣,解析器拿到別名之後要接著查真正的名稱;如果真正的名稱也歸同一台權威伺服器管,它會在同一個回答裡一併附上。

在 Windows 的命令提示字元可以用 nslookup 名稱 查真實的網域;macOS 與 Linux 也可以用 dig 名稱。

互動練習:查不同類型的記錄

這次輸入框旁邊多了記錄類型選單(A、AAAA、CNAME、MX)。依任務操作:查 example.com 的 AAAA;查 www.example.com 的 A,看解析器拿到 CNAME 之後怎麼繼續;查 example.com 的 MX,再回答下方的問題:寄到 [email protected] 的信會送到哪一台主機;最後查一個不存在的名稱(例如 nosuch.example.com),看權威伺服器怎麼回答。下方黑底的區塊是查詢結果,格式和 dig 指令的答案區相似。

網域怎麼註冊:誰負責什麼

想要一個自己的網域,例如 mystudio.com.tw,流程裡有三個角色:

角色 英文 做什麼
註冊人 registrant 你:想要使用這個名稱的人或單位
受理註冊機構 registrar 對外受理申請的公司,幫你查名稱、送件、收費、處理續約
註冊管理機構 registry 管理整個頂級網域的單位,維護「哪個名稱屬於誰、委派給哪些名稱伺服器」;.tw 是 TWNIC

流程的概念:

  1. 你向受理註冊機構查詢 mystudio.com.tw 有沒有人用。網域名稱先申請先使用,同一個名稱全世界只有一個。
  2. 填寫註冊人資料、同意服務條款、付費;註冊有使用期限,到期要續約,沒續約名稱就會被釋出。
  3. 受理註冊機構把申請送到註冊管理機構;註冊管理機構在 .tw 的區域資料加上委派:mystudio.com.tw 的 NS 是你指定的名稱伺服器。
  4. 你在那台名稱伺服器(自己架的,或主機商提供的)建立 www、mail 等記錄。

從這一刻起,全世界的解析器問到 .tw 伺服器時,都會被轉介到你的名稱伺服器。

有些網域不是誰都能註冊:edu.tw 只給教育單位,學校要經由教育部申請;gov.tw 只給政府機關。 註冊人的聯絡資料可以用 WHOIS 或 RDAP 查詢服務查到一部分,個人資料通常會被遮蔽。

互動練習:註冊一個網域,讓解析器找得到它

上方的框是註冊表單:輸入名稱、選字尾(.com.tw 或 .tw),可以先按「查詢能否註冊」,再按「送出註冊」。依任務操作:先查 example 加 .com.tw 能不能註冊(已經有人用了);換一個沒人用的名稱完成註冊,讀一讀出現的四個步驟;接著用下方的解析器查詢 www.你的網域(註冊後會出現在快速選擇的按鈕裡),看 .tw 伺服器把解析器轉介到哪裡;最後回答問題:是誰把你的網域加進 .tw 的區域資料。如果註冊前就查過你的網域,快取會記得「不存在」,可以用時間快轉或清空快取。

想一想:記錄類型與註冊

1.

學校要讓 www.example.edu.tw 也能用 IPv6 連線,應該在 DNS 加上哪一種記錄?

2.

查 www.example.com 的 A 記錄,權威伺服器回答「www.example.com 是 example.com 的 CNAME」。解析器接下來會做什麼?

3.

某個 .com.tw 網域到期沒有續約,也沒有人再註冊它。過一陣子之後,大家查這個名稱會得到什麼?

第 1 次作答

重點整理

  • DNS 把好記的網域名稱翻譯成 IP 位址;1983 年 Mockapetris 的 RFC 882、883 提出,1987 年由 RFC 1034、1035 取代。
  • 網域名稱從右往左分層:根 → 頂級網域(.tw、.com)→ 第二層(edu.tw)→ …;每一層把下一層委派給別的伺服器管。
  • .tw 與 .台灣 由 TWNIC 負責註冊管理,edu.tw 由教育部管理。
  • 你的電腦把問題交給遞迴解析器,解析器從根伺服器開始,一路依轉介問到權威伺服器取得答案。
  • 答案會依 TTL 快取:第二次查詢更快,但改了 IP 要等快取過期才全面生效;查不到的結果也會被快取。
  • 常見記錄:A(IPv4)、AAAA(IPv6)、CNAME(別名)、MX(郵件主機)、NS(委派)、TXT(文字)。
  • 註冊網域:註冊人透過受理註冊機構申請,註冊管理機構在頂級網域的區域加上委派;先申請先使用,到期要續約。

下一課:拿到 IP 之後,瀏覽器和網站伺服器怎麼對話?我們來看全球資訊網與 HTTP:網址的結構、請求與回應、狀態碼、Cookie 與 HTTPS。

想動手架網站、設定自己的網域,可以接著上雲端軌。

這一課完成了!
Next lesson:全球資訊網與 HTTP
你目前沒有登入,學習進度只存在這個瀏覽器。 Login 後,進度會跟著帳號,換電腦也看得到。