DNS 加密协议对比:DoT、DoH、DoQ

名词速览

  • Plain DNS:明文 DNS,默认使用 UDP/53,必要时用 TCP/53(如响应被截断、区域传送等)。
  • DoT:DNS over TLS,使用 TLS 之上的 TCP,默认端口 853(RFC 7858/8310)。
  • DoH:DNS over HTTPS,基于 HTTPS(HTTP/2 或 HTTP/3),默认端口 443(RFC 8484)。
  • DoQ:DNS over QUIC,基于 QUIC + TLS 1.3,默认端口 UDP/853(RFC 9250,IANA 已分配在 853/udp)。

分层关系(简化 TCP/IP 模型)

  • 应用层:HTTP、HTTPS、DNS(DoH 属于 HTTPS 应用层封装)
  • 安全层:TLS(为 TCP 或 QUIC 提供加密)
  • 传输层:TCP、UDP、QUIC
  • 网络层:IP
  • 链路层:以太网等
  • 物理层:双绞线/光纤/无线等

要点

  • Plain DNS 工作在 UDP/TCP 之上,不加密。
  • DoT = TCP + TLS + DNS(专用端口 853)。
  • DoH = TCP/QUIC + TLS + HTTP(S) + DNS(走 443,与普通 HTTPS 共端口)。
  • DoQ = QUIC + TLS 1.3 + DNS(专用端口 UDP/853)。

物理层 链路层 网络层 传输层 安全层 应用层 双绞线/光纤/无线 Ethernet IP TCP UDP QUIC TLS HTTP HTTPS DNS DoH DNS over HTTPS

基础知识与勘误

  • Plain DNS 默认走 UDP/53,遇到响应截断(TC 位)或需要可靠传输时会改用 TCP/53。
  • DoT 在 TCP 之上建立 TLS 隧道传输 DNS 报文,默认端口 853;可以复用长连接以降低握手开销。
  • DoH 把 DNS 作为 HTTPS 的一种资源(application/dns-message),通常使用 HTTP/2 或 HTTP/3,端口 443,易与普通 HTTPS 混同。
  • DoQ 直接使用 QUIC(基于 UDP)承载 DNS,具备低时延与避免队头阻塞的优势,但当前生态覆盖仍在增长中。
  • "QUIC 就一定比 TCP 快 X%"这类笼统结论并不准确;实际表现与网络状况(丢包、抖动、RTT)、连接是否可复用、实现细节和服务端部署有关。
  • DoH 并非"把 DNS 放进 HTTP 就一定更慢/更快",性能取决于连接复用、网络质量与实现;很多情况下 DoH/3 与 DoT 体验相近甚至更好。
  • DoT 可以使用 SNI 验证证书主机名;DoH 则依赖 HTTPS 的常规证书校验与主机名匹配。
  • 加密 DNS 只能防止链路上的窃听与篡改,不等于"完全匿名"。解析器仍可能记录查询;请选可信提供商并查看隐私政策。

DNS 家族 加密的 DNS 传输基座 Plain DNS UDP/TCP + DNS TCP UDP QUIC DoT TCP + TLS + DNS DoH HTTP/2,3 + TLS + DNS DoQ QUIC + TLS 1.3 + DNS

对比总览

协议 传输层 加密 封装 默认端口 典型特点
Plain DNS UDP/TCP DNS 原生 53 简单高效,明文可见,易被篡改/审计
DoT TCP TLS 1.2/1.3 DNS 853 专用端口,易被端口封锁,系统级支持较好
DoH TCP/QUIC TLS 1.2/1.3 HTTP/2-3 + DNS 443 与 HTTPS 共端口,穿透性强,浏览器优先支持
DoQ QUIC TLS 1.3 DNS 853/UDP 低时延、避免队头阻塞,生态在发展

性能与时延

  • 连接复用:DoT/DoH/DoQ 均可复用长连接以降低握手成本;DoH/2、DoH/3 和 DoQ 还能在单连接内多路复用请求。
  • 队头阻塞:TCP 存在应用层"队头阻塞"问题;HTTP/2 在 TCP 上通过多路复用缓解但仍受 TCP 的丢包影响,QUIC(DoH/3、DoQ)在传输层避免了队头阻塞,对高丢包/移动网络更友好。
  • 首包时延:首连时 DoT 需要 TCP+TLS 握手;DoH/2 类似;DoH/3/DoQ 基于 QUIC,重连和迁移更快。长期负载下差异更多取决于实现与网络条件。
  • 可达性:DoH 使用 443 端口,最不易被简单端口封锁;DoT 使用 853,常被一刀切阻断;DoQ 使用 853/UDP,现阶段也可能被阻断或未放行。

客户端与系统支持

  • 浏览器:Chromium 家族与 Firefox 默认内置 DoH(可自动升级到支持 DoH 的解析器或使用内置名单提供商)。
  • Windows:Windows 11 原生支持 DoH。
  • Android:Android 9+ 提供"私有 DNS"(系统级 DoT)。系统级 DoH 的覆盖取决于版本/厂商。
  • Apple 平台:iOS 14+/macOS 11+ 通过描述文件或 NetworkExtension 支持 DoT 与 DoH。

部署与选型建议

  • 常规/受限网络(如公共 Wi‑Fi、需要穿透简单封锁):优先 DoH(端口 443),可启用 HTTP/3。
  • 系统级统一出口(路由器、网关、Android 私有 DNS):优先 DoT(853),若网络允许可加配 DoH 作为回退。
  • 高丢包/移动网络:优先具备 QUIC 的 DoH/3 或 DoQ(取决于解析器与客户端支持)。
  • 企业/合规场景:按策略选择(DoH 可与现有 HTTPS 基础设施融合;DoT 便于与 DNS 控制面分离)。

小结

  • 首选 DoH(443,穿透性强),若可用则启用 HTTP/3。
  • 如果需要系统级统一:优先 DoT(853)+ 持久连接,必要时回退 DoH(443)。
  • 若你的解析器与客户端均支持:尝试 DoQ(移动网络体验常更佳)。

参考标准

  • RFC 7858, RFC 8310(DNS over TLS)
  • RFC 8484(DNS over HTTPS)
  • RFC 9250(DNS over QUIC)

DNS 服务推荐

相关推荐
一叶知秋yyds1 小时前
openwrt 系统下通过命令行设置允许wan口进行Luci页面的访问
网络·openwrt·luci 开启wan 口访问
网络安全-海哥2 小时前
Web安全深度实战:从漏洞挖掘到安全防护
网络·web安全·网络安全·网络攻击·转行
我叫汪枫2 小时前
《HTTP 实战:常用调试工具与抓包技巧》
网络·网络协议·http
googleccsdn3 小时前
ENSP Pro Lab笔记:配置STP/RSTP/MSTP(4)
网络·笔记·网络协议
eeeasen3 小时前
FnOS(0.9.32版本) --usb无线网卡(RTL8xxxu)调试
网络
专家大圣4 小时前
5分钟启动标准化安卓环境:Docker-Android让模拟器配置不再踩坑
android·网络·docker·容器·内网穿透
国科安芯5 小时前
基于ASM1042通信接口芯片的两轮车充电机性能优化研究
服务器·网络·人工智能·单片机·嵌入式硬件·性能优化
普普通通的南瓜5 小时前
金融交易防护:国密 SSL 证书在网银与移动支付中的核心作用
网络·网络协议·安全·arcgis·gitlab·ssl·源代码管理
广然5 小时前
跨厂商(华为 & H3C)防火墙 IPSec 隧道部署
服务器·网络·华为