它换来了什么
- 复用整个 HTTPS 生态:证书体系、连接复用、压缩、缓存、重定向都能直接用。
- 与普通网页流量混在同一条连接上,旁路设备很难「只拦 DNS」而不影响正常访问。
- 浏览器原生支持最成熟,终端用户配置成本最低。
PROTOCOLS
先看一张规格表把「是什么、谁定的、跑在哪个端口」对齐,再逐个说清它们的取舍。最后是 ODoH —— 它换了个思路解决问题。
端口、规范编号、标准化状态。这几项最容易在转述中走样。
| 名称 | 承载 | 默认端口 | 规范 | 状态 |
|---|---|---|---|---|
| 明文 DNS | UDP(大响应与区域传送走 TCP) | 53/udp、53/tcp | RFC 1035 | 标准 |
| DoT | DNS 直接跑在 TLS 上 | 853/tcp | RFC 7858 | 标准 |
| DoH | DNS 作为 HTTP 消息(通常 HTTP/2) | 443/tcp(HTTPS 默认端口) | RFC 8484 | 标准 |
| DoH3 | 同上,但换成 HTTP/3 | 443/udp | RFC 8484 + RFC 9114 | 标准 |
| DoQ | DNS 直接跑在 QUIC 上(不经 HTTP) | 853/udp(可协商改用 443) | RFC 9250 | 标准 |
| ODoH | DoH + 一个中继(代理看不到内容、解析器看不到 IP) | 同 DoH | RFC 9230 | 实验性 |
| DNSCrypt | 自定义加密,非 IETF 体系 | 自定义(常见 443、5443) | 社区规范(非 RFC) | 非标准 |
三处最常见的记错:
(1)DoH3 没有独立的 RFC —— 它就是 DoH 跑在 HTTP/3 上;
(2)DoQ 与 DoT 共用 853,区别是 DoQ 走 /udp;
(3)DoH 并不规定端口,443 只是 HTTPS 的默认端口,部署方可以自选。
上表是事实,这张是取舍。两者要一起看 —— 单看事实无法选型,单看取舍容易记错细节。
| 协议 | 主要优势 | 主要代价 | 典型适用场景 |
|---|---|---|---|
| DoT | 853 端口专用于 DoT,设备可明确识别,便于纳入统一策略与审计。 | 端口特征明显,容易被针对性阻断;首次连接多一次往返。 | 企业内网、可控出口环境、强调审计与变更管理。 |
| DoH | 复用 HTTPS 生态,与普通网页流量混合,旁路设备难以单独拦截。 | 网络管理方也失去可观测性;HTTP 层是额外开销。 | 终端用户、移动网络、需要高可达性的跨网络访问。 |
| DoH3 | 与 DoH 同等可达性,但底层是 QUIC:少一次握手往返,丢包不互相阻塞。 | UDP 443 在少数网络被整段封禁,需要回落机制。 | 移动网络、弱网或需要频繁新建连接的场景。 |
| DoQ | 不经 HTTP,结构最简;每查询一条独立流,并发能力优于 DoT。 | 支持矩阵仍在补齐;与 DoT 共用 853 但走 udp,防火墙易漏配。 | 对首次连接延迟敏感的弱网;递归到权威解析。 |
| ODoH | 引入中继,使任何一方都无法同时知道「你是谁」和「你在查什么」。 | 实验性规范;多一跳延迟;需信任中继与解析器不串通。 | 隐私要求高于延迟要求的场景。 |
| DNSCrypt | 除链路加密外带解析器身份认证,实现灵活。 | 非 IETF 规范,跨厂商一致性弱;自选端口反而成为特征。 | 已有 DNSCrypt 存量资产、需要平滑延续的环境。 |
注意「主要优势」与「主要代价」两列常常是同一件事的两面: DoH 的可达性正来自「与普通流量无法区分」,而这同时意味着治理方也看不清; DoT 的可治理性正来自端口专一,而这同时意味着它容易被单独阻断。 这一点在做取舍时比记住任何单条优缺点都重要。
选择协议后,逐层剥开看里面还剩什么 —— 每剥掉一层,链路上的观察者就多看到一点。
明文 DNS 没有任何外层 —— 中间任何一跳都能直接读到「你在查 example.com」,也能改写返回的地址。
把 DNS 查询包装成一个 HTTPS 请求。这是它全部的设计,也是它全部争议的来源。
DNS 直接跑在 TLS 上,中间不加 HTTP 这一层。
DoH 跑在 HTTP/3 上。不是新协议,是同一个协议换了传输层 —— 但收益不小。
DNS 直接跑在 QUIC 上,不经 HTTP。结构上最接近「把 DoT 的 TCP 换成 QUIC」。
udp 一个 tcp —— 防火墙规则容易只放行其一。比 DoT/DoH 更早的加密方案,不在 IETF 体系内,但在隐私社区有长期实践。
前面五个都在解决「链路上被看到」,ODoH 解决的是另一个问题:解析器本身看得到你的全部查询。
关键在于没有任何一方同时掌握「你是谁」和「你在查什么」。 代理看得到 IP 但没有解密密钥;解析器能解出查询,但发起方在它看来是中继。 代价是多一跳延迟,且需要你信任中继与解析器不串通。
这是 DoQ / DoH3 存在的真正理由。越少越好,但只在首次连接时才有差别。
数据来源:TLS 1.3 的 1-RTT 握手(RFC 8446)、QUIC 的 1-RTT/0-RTT(RFC 9000、RFC 9001), 以及针对 DoQ 与 DoH 往返次数的实测研究 (A. Custura 等,On Cross-Layer Interactions of QUIC, Encrypted DNS and HTTP/3,IEEE TNSM 2024)。
顺序很重要 —— 反过来做,往往会选到一个在目标网络里根本用不了的东西。
本页给结论,下面提供决策过程与可复用模板。
四步收窄流程、可复用的评分标准,以及两个结论相反的完整算例。