ArcLibrary

DNS(域名系统)

把人能记住的域名翻译成机器能用的 IP —— 互联网的电话簿。

DNS域名解析
核心 · Key Idea

一句话DNSwww.example.com 这种人类记得住的域名,翻译成 93.184.216.34 这种机器才能用的 IP 地址。访问任何域名前都先做 DNS 查询。

是什么#

DNS 是个全球分布式数据库,按层级组织:

. (根域)
└── com (顶级域 TLD)
    └── example.com (二级域)
        ├── www.example.com  → A 记录 → 93.184.216.34
        └── mail.example.com → A 记录 → 93.184.216.50

你电脑发起查询时,会逐级向上问,直到找到答案。

打个比方#

打个比方 · Analogy

DNS 像一层层的通讯录

  • 你先问公司前台「市场部李总怎么联系?」
  • 前台问总公司,总公司问省公司……
  • 最后给你一个具体电话号 —— 然后记住下次直接用(缓存)。

关键概念#

A 记录A Record
域名 → IPv4 地址。最常用。
AAAA 记录AAAA Record
域名 → IPv6 地址。
CNAMECanonical Name
域名 → 另一个域名的别名。CDN 常用。
MXMail Exchange
收邮件用的服务器域名。
TXTTXT Record
任意文本,常用于域名所有权验证 / SPF / DKIM。
TTLTime To Live
缓存秒数,决定记录改了多久全网生效。
递归查询Recursive
你只问一次,由解析器替你跑完整个流程。

怎么工作#

实践中绝大多数查询都命中本地解析器缓存,看不到完整流程。

实操要点#

  • dig www.example.com:最常用调试工具。Windows 用 nslookup
  • dig +trace:从根域开始走完整流程,看每一步。
  • 改 DNS 不立即生效:等 TTL 过期。改之前先把 TTL 调小(比如 60 秒)等几小时再改记录。
  • 常用公共 DNS:1.1.1.1(Cloudflare)、8.8.8.8(Google)、223.5.5.5(阿里)。
  • DoH / DoT:DNS over HTTPS / TLS,把 DNS 加密,避免运营商劫持和窥探。
  • DNS 污染:有些环境会返回错的 IP —— 用 DoH 或换上游 DNS 能绕过。

易混点#

域名
`example.com`
DNS 解析的对象。
URL
`https://example.com/path?x=1`
完整定位一个资源。

延伸阅读#