DNS 手册域名系统参考

2026-10 更新新增连接测速,加密总览加入 ECH

域名系统,
从报文到加密传输

一条查询怎样走完全程,报文里每个字段是什么意思,DoT、DoH、DoQ 各自解决了什么、又留下了什么,DNSSEC 的信任链怎样建立,出问题时先看哪里。每一节都写明依据的 RFC 编号,方便回到原文核对。

开始阅读
19篇专题
70+篇引用的 RFC
5个在线小工具
2023年起持续修订

按主题浏览#

各页可以单独看。拿不准从哪里开始,就从“基础”读起。

基础

名字空间与委派、递归与缓存、每种记录的写法,以及报文里的每一个比特。

传输与加密

DoT、DoH、DoQ 的握手、端口与取舍,ECH 能遮住什么,在各平台上怎样打开。

安全与隐私

DNSSEC 的签名与信任链,查询名最小化、ECS 与填充,缓存投毒和放大攻击的防护。

实践

dig 与 kdig 的常用写法、扩展错误码对照、权威区的上线与迁移清单。

在线小工具

都在浏览器里运行:逐步演示一次解析,粘贴十六进制报文逐字段拆开,构造 DoH 请求,换算 TTL,或测一测到本站的链路。

参考

术语的中英对照,以及按主题归类、注明状态与更新关系的 RFC 清单。

从哪里读起#

有些概念会反复出现。按你手头的问题选一条路线:

速查:传输方式与端口#

方式传输层默认端口规范
传统 DNSUDP,必要时 TCP53RFC 1035,RFC 7766(TCP 要求)
DNS over TLS(DoT)TLS over TCP853RFC 7858,RFC 8310
DNS over HTTPS(DoH)HTTP/2 或 HTTP/3443RFC 8484
DNS over QUIC(DoQ)QUIC853/UDPRFC 9250
DNS over DTLSDTLS over UDP853/UDPRFC 8094(实验性,几乎没有部署)
多播 DNS(mDNS)UDP 多播5353RFC 6762

速查:常被问到的几个数字#

项目数值出处与说明
单个标签长度≤ 63 个八位组RFC 1035 §2.3.4。长度字段的高两位另作他用,所以最多 63。
完整名字长度≤ 255 个八位组按线上编码计算,含每个标签的长度字节和末尾的根标签。
不带 EDNS 的 UDP 报文≤ 512 字节RFC 1035。超出时置 TC 位,客户端改用 TCP。
推荐的 EDNS 缓冲区1232 字节2020 年 DNS Flag Day 的建议:IPv6 最小 MTU 1280 减去 IPv6 与 UDP 头部 48 字节,尽量避免分片。
TTL 的取值0 – 2³¹−1 秒字段是 32 位,但 RFC 2181 §8 规定最高位置位的值按 0 处理。
根服务器13 个名字,12 家运营方a 到 m.root-servers.net,Verisign 运营其中两个;每个名字背后是大量任播实例,见根区页。

最近修订#

  • 新增“连接测速”一页:经一条 WebSocket 连接测量到本站的往返时延与上下行速率,用来把解析慢和链路慢分开看。
  • 根区页更新根区 KSK 轮换的时间安排,并补上根服务器实例的最新数量。
  • DoQ 页补充错误码与 0-RTT 的限制;加密总览加入 ECH(RFC 9849)。
  • 排错页加入扩展错误码(EDE)对照表和 TTL 换算工具。
  • 新增“系统与浏览器配置”一页,整理 Windows、Android、Apple 平台与 Linux 的设置位置。
  • 报文格式页加入可以直接粘贴报文的解析工具。

本站的写法约定#

  • 示例域名使用 example.com、example.net 一类保留名称(RFC 2606、RFC 6761),示例地址使用文档专用段 192.0.2.0/24、198.51.100.0/24、203.0.113.0/24(RFC 5737)与 2001:db8::/32(RFC 3849)。需要演示真实网络行为时,才会用到公共解析器的真实地址。
  • 命令按 BIND 9.18 之后的 dig 和 Knot DNS 的 kdig 语法书写,旧版本可能缺少 +tls、+https 等选项。
  • “必须”“应当”这类词照搬 RFC 的 MUST、SHOULD 时,会在旁边注明;其余地方是普通的中文叙述。
  • 各页顶部有最后修订日期。协议还在演进,凡是写着“目前”的地方,都请以原文和运营方的最新公告为准。