跳到主要内容

3. 术语

DSO: DNS Stateful Operations.

connection: 双向字节流 (或消息流), 其中字节 (或消息) 会可靠且按序递送, 例如通过 DNS-over-TCP [RFC1035] [RFC7766] 或 DNS-over-TLS [RFC7858] 提供.

session: 在本文档上下文中, 未加限定的术语 "session" 指两个端点之间的持久网络连接, 该连接允许通过连接交换 DNS 消息, 并且连接任一端都可以向另一端发送消息. (该术语与 OSI "七层模型" 中的 "会话层" 无关.)

DSO Session: 两个端点之间建立的会话, 双方通过连接交换 DSO 消息来确认持久 DNS 状态. 这不同于先前 DNS-over-TCP 规范 [RFC7766] 中描述的 DNS-over-TCP 会话.

close gracefully: 正常的会话关闭, 其中客户端以优雅关闭方式关闭到服务器的 TCP 连接, 使得不会丢失数据, 例如使用 TCP FIN, 见第 5.3 节.

forcibly abort: 因致命错误导致的会话关闭, 其中 TCP 连接被单方面中止, 不考虑数据丢失, 例如使用 TCP RST, 见第 5.3 节.

server: 按通常 DNS 含义, 具有监听套接字并等待传入连接请求的软件.

client: 按通常 DNS 含义, 向服务器监听套接字发起连接的软件.

initiator: 在 DSO Session 期间发送 DSO 请求消息或 DSO 单向消息的软件. 客户端或服务器都可以是 initiator.

responder: 在 DSO Session 期间接收 DSO 请求消息或 DSO 单向消息的软件. 客户端或服务器都可以是 responder.

sender: 正在发送 DNS 消息, DSO 消息, DNS 响应或 DSO 响应的软件.

receiver: 正在接收 DNS 消息, DSO 消息, DNS 响应或 DSO 响应的软件.

service instance: 在特定主机上运行的服务器软件的具体实例 (第 9.1 节).

long-lived operation: DSO Session 上的未完成操作, 其中客户端或服务器作为 initiator, 已请求 responder 在有关该请求的新信息可用时发送这些信息.

early data: 包含第一轮数据的 TLS 1.3 握手, 用于开始 DSO Session (TLS 1.3 规范 [RFC8446] 第 2.3 节). TCP Fast Open [RFC7413] 仅在使用 TLS 时允许.

DNS message: 任意 DNS 消息, 包括 DNS 查询, 响应, 更新, DSO 消息等.

DNS request message: QR 位为 0 的任意 DNS 消息.

DNS response message: QR 位为 1 的任意 DNS 消息.

DSO message: DSO 请求消息, DSO 单向消息, 或对 DSO 请求消息的 DSO 响应. 如果 DSO 消息中的 QR 位为 1, 则它是 DSO 响应消息. 如果 DSO 消息中的 QR 位为 0, 则它是 DSO 请求消息或 DSO 单向消息, 具体由其 Primary TLV 的规范决定.

DSO response message: 对 DSO 请求消息的响应.

DSO request message: 需要响应的 DSO 消息.

DSO unidirectional message: 不需要响应且不能诱发响应的 DSO 消息.

Primary TLV: DSO 请求消息或 DSO 单向消息中的第一个 TLV. 它决定正在执行的操作性质.

Additional TLV: DSO 请求消息或 DSO 单向消息中跟随 Primary TLV 的任意 TLV.

Response Primary TLV: 在 DSO 响应中, DSO-TYPE 与对应 DSO 请求消息的 Primary TLV 相同的任意 TLV. 如果存在, 任意 Response Primary TLV MUST 出现在 DSO 响应消息的最前面, 位于任意 Response Additional TLV 之前.

Response Additional TLV: DSO 响应中跟随 (可选的) Response Primary TLV 的任意 TLV.

inactivity timer: 自最近一次发送或接收非 keepalive DNS 消息以来经过的时间 (见第 6.4 节).

keepalive timer: 自最近一次发送或接收 DNS 消息以来经过的时间 (见第 6.5 节).

session timeouts: inactivity timer 和 keepalive timer.

inactivity timeout: 在连接被优雅关闭之前, inactivity timer 可达到的最大值.

keepalive interval: 在客户端需要发送 keepalive 之前, keepalive timer 可达到的最大值 (见第 7.1 节).

resetting a timer: 将定时器值设置为零并重新启动该定时器.

clearing a timer: 将定时器值设置为零, 但不重新启动该定时器.