6. Protocol Operation (协议操作)
6. Protocol Operation (协议操作)
DNS Push Notification 协议是面向会话的协议, 并利用 DNS Stateful Operations (DSO) [RFC8490]。
有关 DSO 消息格式的详细信息, 请参阅 DNS Stateful Operations 规范 [RFC8490]。这些细节在此不再重复。
DNS Push Notification 客户端和服务器必须支持 DSO。单个服务器可以在同一 TCP 端口上支持 DNS 查询、DNS Updates 和 DNS Push Notifications (使用 DSO)。
DNS Push Notification 交换从客户端使用第 6.1 节中描述的过程发现适当的服务器开始, 然后与其建立 TLS/TCP 连接。
在与服务器建立 TLS/TCP 连接后, 典型的 DNS Push Notification 客户端将立即发出 DSO Keepalive 操作以建立 DSO 会话, 并请求比 15 秒默认值更长的会话超时和/或 keepalive 间隔, 但这不是必需的。DNS Push Notification 客户端可以首先在会话上发出其他请求, 并且仅在确定有必要时才稍后发出 DSO Keepalive 操作。通过 TLS/TCP 连接向服务器发送 DSO Keepalive 操作或 Push Notification 订阅请求都会向服务器表明客户端对 DSO 的支持, 并用于建立 DSO 会话。
根据当前的活动订阅集, 服务器向客户端发送相关的异步 Push Notifications。请注意, 客户端必须准备好接收 (并静默忽略) 其先前已删除的订阅的 Push Notifications, 因为无法防止这种情况: Push Notification 从服务器飞往客户端的同时, 客户端取消该订阅的 UNSUBSCRIBE 消息同时从客户端飞往服务器。