DDR / DNR
DDR(RFC 9462)从已有解析器发现同运营方的加密 DNS 服务;DNR(RFC 9463)通过 DHCP 或 IPv6 RA 告知客户端本网络支持的 DoH/DoT/DoQ 解析器,免去手动配置。
#type / concept
#status / growing
#tech / network
#protocol / dns
[!info] related notes
DDR / DNR
一句话定义
过去用户必须手动配置 DoH/DoT。DDR(Discovery of Designated Resolvers, RFC 9462) 让客户端从当前已用的解析器自动发现同一运营方的加密 DNS 服务;DNR(RFC 9463) 让网络通过 DHCP 或 IPv6 Router Advertisement 主动告知客户端「本网络推荐/支持哪个加密解析器」。
核心机制 / 工作原理
DDR
你已在用 192.0.2.1(某运营方明文 DNS)
↓ 查询 _dns.resolver.arpa 等机制
发现同运营方的 DoH: https://dns.example.com/dns-query
↓ 自动切换到加密 DNS
DNR
网络下发的配置里直接带:
encryption=doh uri=https://dns.example.com/dns-query
客户端(支持时)据此自动启用,无需用户手填。
最小例子 / 最小场景
公司 WiFi 通过 DNR 告诉笔记本「用这台 DoH」,员工连上即自动走加密 DNS;家庭路由通过 DDR 让设备发现运营商提供的 DoT。
边界与易混淆点
- 它们解决「如何发现并启用加密 DNS」,不解决「加密 DNS 本身去哪解析 DoH 域名」——那是 Bootstrap 问题(见 dns-bootstrap-problem)。
- DNR 依赖网络下发(DHCP/RA),若网络本身不可信,下发的解析器也需验证。
- 自动发现仍可能被不支持的客户端忽略,回退到明文——这正是「为什么有时没走加密」。
- DDR/DNR 常与 RESINFO 配合:发现解析器后还能拉取它的能力信息(见 dns-resolver-information-resinfo)。