← [ BACK_TO_NOTES ]

DNS 不只是电话簿

DNS 同时是分层命名系统、分布式数据库、授权委派体系、查询—响应协议与服务发现/流量调度控制平面;它只决定「连接谁、如何连接」,不负责传输网页。

#concept #growing #network #dns

[!info] related notes

DNS 不只是电话簿

一句话定义

DNS(Domain Name System)不是简单的「域名 → IP 地址」对照表,而是一套全球分层的命名系统 + 分布式数据库 + 授权委派体系 + 查询—响应协议 + 服务调度控制平面。

核心机制 / 工作原理

「电话簿」比喻只覆盖了最表面的一层。准确地说,DNS 至少同时承担五种角色:

  1. 分层命名系统:用树状名字空间给互联网资源命名(见 dns-name-space)。
  2. 分布式数据库:数据分散保存在各权威服务器,而非集中存储。
  3. 授权与委派体系:根 → 顶级域 → 注册域逐级把管理权委派下去(见 domain-vs-zone)。
  4. 查询—响应协议:客户端与解析器之间、解析器各层之间按固定报文格式交互。
  5. 控制平面:CDN 调度、流量工程、安全策略、服务发现都通过 DNS 记录表达。

因此,DNS 能表达的远不止 IP:

域名 → IP 地址          (A / AAAA)
域名 → 邮件服务器        (MX)
域名 → 其他域名          (CNAME / NS)
域名 → 服务端口          (SRV)
域名 → TLS/HTTP 参数     (HTTPS / SVCB)
域名 → DNSSEC 公钥与签名  (DNSKEY / DS / RRSIG)
域名 → ECH 配置          (HTTPS / SVCB)

基础架构仍建立在 RFC 1034 / RFC 1035(1987),但今天叠加了缓存、EDNS、DNSSEC、Anycast、DoH/DoT/DoQ、SVCB、ECH、浏览器内置解析器、VPN 与代理等许多层;权威术语由 RFC 9499 统一整理。

最关键的心智模型

DNS 只负责帮助客户端确定「连接谁、如何连接」;DNS 本身不负责传输网页。

访问一个网站的完整流程,DNS 只是其中一段:

输入 https://anyrouter.top
   ↓ 应用判断要查哪些记录
浏览器/系统缓存/hosts
   ↓
Stub Resolver → 递归解析器 → 根/TLD/权威
   ↓
获得 A/AAAA/HTTPS/CNAME 等
   ↓
浏览器选择目标 IP
   ↓
建立 TCP/QUIC → TLS 握手(发 SNI) → 发送 HTTP

DNS 查询在「获得记录」这一步就结束了,后续 TCP、QUIC、TLS、HTTP 都属于其他协议层。

最小例子 / 最小场景

以 https://anyrouter.top 为例:DNS 决定浏览器去连 155.102.x.x 还是某个 CDN 边缘,并可能通过 HTTPS 记录提示「用 HTTP/3、尝试 ECH」。但网页内容是否返回、TLS 是否成功,取决于后续的 TCP/TLS/HTTP 层。

边界与易混淆点

  • DNS 成功 ≠ 网站一定能打开:拿到 IP 后连接/TLS/HTTP 仍可能失败。
  • DNS 返回错误 IP → TLS 就可能失败:目标地址错了,握手自然对不上证书。
  • TLS 失败 ≠ DNS 协议失败:TLS 是另一层,证书或 SNI 问题不归 DNS 管。
  • 使用代理 ≠ DNS 自动走代理:代理通常只改变「连接从哪发出」,不一定改变「最先解析到哪个 IP」(见 proxy-and-dns-separation)。
  • 不要因为「我挂了代理」就假设 DNS 也跟着代理出口走了——这是 most common 排障误区。
创建于 2026/7/31 更新于 2026/7/31
Digital Biome
Access

键盘导航

j / k / ↑ / ↓
选择对象
Enter / o
打开选择
/ 或 Ctrl+K
全站搜索
i / f / 1–4
筛选当前列表
g → h / l / p / t / a
首页 / 笔记 / 项目 / 工具 / About
r → 1–9
打开所选对象的关联
u
返回上一页
Esc
关闭浮层 / 取消命令;输入框内清空文本