1. Introduction (简介)
域名系统 (Domain Name System, DNS) 的概念在 "Domain names - concepts and facilities" [RFC1034] 中规定. DNS 查询和响应通过 UDP 和 TCP 的传输在 "Domain names - implementation and specification" [RFC1035] 中规定.
本文档介绍了 DNS 协议在 QUIC 传输 [RFC9000] [RFC9001] 上的映射. DNS over QUIC 在此称为 DoQ, 与 "DNS Terminology" [DNS-TERMS] 保持一致.
DoQ 映射的目标是:
-
提供与 DoT [RFC7858] 相同的 DNS 隐私保护. 这包括客户端通过身份验证域名对服务器进行身份验证的选项, 如 "Usage Profiles for DNS over TLS and DNS over DTLS" [RFC8310] 中所规定.
-
与经典的 DNS over UDP 相比, 为 DNS 服务器提供改进的源地址验证级别.
-
提供一种传输方式, 不会对其可以发送的 DNS 响应大小施加路径 MTU 限制.
为了实现这些目标, 并支持正在进行的 DNS 加密工作, 本文档的范围包括:
-
"stub to recursive resolver" 场景 (在本文档中也称为 "stub to recursive" 场景)
-
"recursive resolver to authoritative nameserver" 场景 (在本文档中也称为 "recursive to authoritative" 场景), 以及
-
"nameserver to nameserver" 场景 (主要用于区域传输 (XFR) [RFC1995] [RFC5936])
换句话说, 本文档将 QUIC 指定为 DNS 的通用传输协议.
本文档的具体非目标是:
-
不尝试规避中间盒对 DoQ 流量的潜在阻断.
-
不尝试支持服务器发起的事务, 这些事务仅用于 DNS Stateful Operations (DSO) [RFC8490].
指定应用程序通过 QUIC 传输需要指定应用程序的消息如何映射到 QUIC 流, 以及应用程序通常如何使用 QUIC. 这在 "Hypertext Transfer Protocol Version 3 (HTTP/3)" [HTTP/3] 中针对 HTTP 完成. 本文档的目的是定义 DNS 消息通过 QUIC 传输的方式.
DNS over HTTPS (DoH) [RFC8484] 可以与 HTTP/3 一起使用以获得 QUIC 的一些好处. 然而, 对于 DoQ 的轻量级直接映射可以被视为更适合递归到权威和区域传输场景, 这些场景很少涉及中间方. 在这些场景中, HTTP 的额外开销不会被例如 HTTP 代理和缓存行为的好处所抵消.
在本文档中, 第 3 节介绍了指导所提议设计的推理. 第 4 节规定了 DoQ 的实际映射. 第 5 节提供了关于 DoQ 实现、使用和部署的指南.