快轉到主要內容
  1. Core/

DNS 是什麼|從輸入網址到找到 IP 的完整流程

Idle Engineer
作者
Idle Engineer
AI Runs. I Nap. | 404 Career Not Found
目錄

TL;DR | 面試情境模擬
#

👴 面試官:DNS 是什麼?當你輸入 google.com,背後發生了什麼?

🧑‍💻 :DNS(Domain Name System)是網路的電話簿,負責把域名翻譯成 IP 位址。查詢有四層快取:瀏覽器快取 → OS 快取 → Router 快取 → ISP DNS Server。都沒有才去遞迴查詢,從根節點(Root NS)→ 頂層域(TLD NS)→ 你的域名伺服器,最後拿到 IP。


比喻:電話簿 + 問路
#

你知道要找「台北 101」,但不知道地址。你去問:

  1. 先翻自己的筆記本(瀏覽器快取)
  2. 問家人有沒有寫在白板上(OS 快取)
  3. 問社區管理員(Router)
  4. 打給電信公司問路(ISP DNS)
  5. 如果都不知道,ISP DNS 幫你問「全國總機」(Root NS)、「縣市總機」(TLD NS)、最後找到「該建築管理處」(Authoritative NS)

DNS 查詢流程
#

你的電腦
  ├── 1. 瀏覽器快取(幾毫秒)
  ├── 2. OS /etc/hosts + 本地快取
  ├── 3. Router DNS 快取
  └── 4. ISP Recursive Resolver(Recursive DNS)
           ├── 5. Root Name Server(.)
           │       → 「.com 去問 TLD Server」
           ├── 6. TLD Name Server(.com)
           │       → 「google.com 去問這個 IP」
           └── 7. Authoritative Name Server(google.com)
                   → 「142.250.80.46」← 答案

關鍵角色
#

角色 說明
Recursive Resolver 代你問完整個流程的中間人(通常是 ISP 或 8.8.8.8)
Root NS 全球只有 13 組,告訴你去哪找 .com / .tw 等 TLD
TLD NS 負責頂層域(.com / .org / .tw),告訴你去哪找具體域名
Authoritative NS 域名的最終答案在這裡,由域名擁有者設定

TTL 和快取
#

DNS 回應都附帶 TTL(Time-To-Live),告訴快取這個記錄可以存多久。

  • TTL 短(如 60 秒):改 IP 後很快生效,但每次都要重查,稍慢
  • TTL 長(如 86400 秒 = 1 天):快,但改 DNS 要等最多 1 天才全球生效

為什麼換主機商要等 DNS 傳播? 就是因為各地 Resolver 的快取還沒過期。


💡 面試官可能會追問
#

Q1:DNS 用 UDP 還是 TCP?
#

預設用 UDP Port 53,速度快、開銷小。但查詢結果超過 512 bytes 時會自動改用 TCP(例如 DNSSEC 或 Zone Transfer)。

Q2:什麼是 DNSSEC?
#

DNS 本身沒有加密,中間人可以偽造 DNS 回應,引導你到假網站(DNS Spoofing)。DNSSEC 透過數位簽章驗證 DNS 回應的真實性,但不加密內容。要加密 DNS 查詢本身要用 DoT(DNS over TLS)DoH(DNS over HTTPS)

Q3:8.8.8.8 是什麼?
#

Google 的公開 DNS Resolver,你可以在網路設定中手動指定,繞過 ISP 的 DNS(通常更快、隱私性更好)。Cloudflare 的是 1.1.1.1。