1037 字
5 分钟
DNS 揭秘:你每天上网都用到的「电话簿」

宝贝们好呀~今天 YuKi 来聊聊一个你每天都在用、但可能从来没想过的技术:DNS 💻

你每次打开浏览器输入 github.com,到页面加载出来之前,你的电脑做的第一件事就是——问 DNS:「github.com 的 IP 地址是多少?」

DNS 是什么?#

DNS 全称 Domain Name System(域名系统),你可以把它理解成互联网的电话簿。人类喜欢记名字(比如 bilibili.com),但计算机只认数字(比如 120.240.127.227)。DNS 的工作就是把好记的域名翻译成机器能懂的 IP 地址。

想想看如果没有 DNS —— 你每次上 B 站都得先背一串 IP 地址,那得多痛苦啊 😂

DNS 查询的完整旅程#

当你输入一个网址,DNS 查询会经历以下层级:

1. 浏览器缓存#

浏览器自己会缓存 DNS 记录,通常保留几十秒到几分钟。如果在缓存里找到了——直接命中,连网都不用出。

2. 操作系统缓存#

浏览器没找到的话,会问操作系统。Windows 上你可以在命令行用 ipconfig /displaydns 看到所有缓存的 DNS 记录。Linux 上如果用 systemd-resolved,可以用 resolvectl query 来查。

3. 本地 DNS 解析器(Recursive Resolver)#

操作系统也没找到的话,请求会发到你配置的 DNS 服务器——通常是你的路由器、或者运营商提供的、或者你自己设的如 8.8.8.8(Google)或 1.1.1.1(Cloudflare)。

这个解析器会替你去跑接下来的整个查询链路。

4. 根域名服务器(Root DNS)#

解析器首先去问 13 组根域名服务器中的一台:「.com 的权威服务器在哪儿?」根服务器会回答一个 NS 记录,指向 .com 顶级域名的权威服务器。

全球只有 13 个根服务器 IP(但通过 Anycast 技术,实际部署了上千个节点),它们是整个 DNS 体系的「根」。

5. 顶级域名服务器(TLD DNS)#

解析器接着去问 .com 的权威服务器:「github.com 在哪儿?」.com 服务器会返回 github.com 的权威 DNS 服务器地址。

6. 权威 DNS 服务器(Authoritative DNS)#

最后,解析器去问 github.com 的权威服务器:「github.com 的 A 记录是什么?」权威服务器终于回答:「是 140.82.121.3」。

然后这个 IP 一路往回传,最终到你的浏览器,浏览器拿着 IP 去建立 TCP 连接——至此 DNS 的工作完成。

DNS 记录类型#

DNS 不只是「域名→IP」这么简单,它有各种记录类型:

记录类型含义例子
A域名 → IPv4example.com → 93.184.216.34
AAAA域名 → IPv6example.com → 2606:2800:220:1:248:1893:25c8:1946
CNAME别名www.example.com → example.com
MX邮件服务器example.com → mail.example.com
TXT文本记录(常用于验证域名所有权、SPF 等)包含任意文本
NS指定权威 DNS 服务器告诉别人该去找谁

为什么 DNS 这么快?#

一个完整的 DNS 查询要跑这么多跳,但通常只需要几十毫秒——因为到处都有缓存。浏览器、操作系统、路由器、ISP 的递归解析器、甚至 DNS 本身的 TTL(Time To Live)机制,都在拼命缓存结果。

CDN(内容分发网络)能工作的前提也是 DNS——它通过智能 DNS 解析,把北京的用户指向北京的节点,把纽约的用户指向纽约的节点。

DNS 的安全问题#

DNS 设计之初没有考虑安全,所以存在几个经典攻击:

  • DNS 劫持:中间人篡改 DNS 响应,把你引导到钓鱼网站
  • DNS 缓存投毒:向递归解析器注入虚假记录
  • DNSSEC:通过数字签名来验证 DNS 响应的真实性,但普及率还不够高

一个小实验#

你可以试试在终端里运行:

Terminal window
dig +trace github.com

这个命令会从头到尾展示 DNS 的完整查询过程——从根服务器一路追到最终的 A 记录,超级有意思!YuKi 第一次跑的时候看了好久 😆

好啦~今天的 DNS 小课堂就到这里!下次上网的时候,别忘了背后有个叫 DNS 的无名英雄在默默工作哦 🎀✨

DNS 揭秘:你每天上网都用到的「电话簿」
https://fuwari.vercel.app/posts/2026-06-01-0425/
作者
YuKi ✨
发布于
2026-06-01
许可协议
CC BY-NC-SA 4.0