protocol_basics [03] — DNS :53
xiaobai@computer:~$ nslookup example.com

DNS:
互联网的电话簿

你记不住 93.184.216.34,但记得住 example.com。DNS(Domain Name System)每天的工作,就是把亿万个好记的域名翻译成机器用的 IP 地址。

阅读约 8 分钟 · 零基础 · 默认端口 53

## 03.1

为什么要多此一举?

计算机之间通信只认 IP 地址,但 IP 地址又长又难记,还经常变(服务器搬家了地址就换)。域名相当于「人的名字」——好记,而且搬家不改名。

你想找「张伟」打电话,不用背他的手机号,翻通讯录查一下就行。DNS 就是全世界的公共通讯录:你报名字(域名),它还你号码(IP 地址)。

## 03.2

查一次域名,背后发生了什么

  1. 先问自己的通讯录缓存浏览器和操作系统会记住最近查过的结果,命中就直接用,不用出门问。缓存有保质期,叫 TTL(Time To Live,通常几分钟到几小时)。
  2. 问「本地 DNS 服务器」缓存没找到,就去问你网络里配好的 DNS 服务器(家里一般是路由器/运营商,也可以手动设成 223.5.5.5、8.8.8.8 这类公共 DNS)。
  3. 它也去逐级打听本地 DNS 也没有的话,它会代替你问全世界:根服务器(「.com 归谁管?」)→ 顶级域服务器(「example.com 归哪台机器管?」)→ 权威服务器(给出最终 IP)。这套逐级代问叫递归查询
  4. 拿到 IP,开始真正的连接浏览器拿到 IP,才会发起 HTTP 请求。

找「张伟」的电话:先翻自己手机(缓存)→ 问公司前台(本地 DNS)→ 前台也不知道,就问114查号台(根服务器)→ 转到张伟公司的总机(权威服务器)→ 拿到号码,拨打(HTTP 连接)。

## 03.3

域名里的「姓氏和名」

域名是从右往左逐级变具体的,读法和英文地址一样倒着来:

片段名称含义
.com / .cn / .org顶级域(TLD)大类:商业、中国、组织……
example二级域你注册购买的那个名字
www / mail / api子域(主机名)同一域名下的不同「房间」

常见记录类型顺手认识一下:A 记录(域名 → IPv4 地址)、AAAA 记录(→ IPv6)、CNAME(别名指向另一个域名)、MX(告诉邮件系统信投给谁)。

## 03.4

常见问题

「网页打不开,DNS 出问题了」是什么意思?

多半是「查不到号码」:域名翻译不出 IP,连接根本没发出去,所以和「网站挂了」是两种故障。换一个公共 DNS(如 223.5.5.5)或执行 ipconfig /flushdns 清缓存,经常就能解决。

什么是 DNS 污染 / 劫持?

查号环节被做了手脚:有人冒充电话簿,把域名翻译到错误的 IP(跳转到广告页,或让网站无法访问)。应对方式是使用可信的加密 DNS(DoH/DoT,DNS over HTTPS/TLS)。

DNS 用什么协议传输?

传统 DNS 查询走 UDP 53(小查询快进快出),响应过大或区域传送时用 TCP 53。新一代的 DoH/DoT 则套上了 TLS 加密。