| Internet-Draft | Poisonlicious | August 2026 |
| Bortzmeyer, et al. | Expires 25 February 2027 | [Page] |
Networks of cooperating and mutually trusting DNS resolvers could benefit from cache sharing, where one resolver would distribute the result of a resolution to other resolvers. This document standardizes a protocol to do so.¶
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.¶
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.¶
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."¶
This Internet-Draft will expire on 25 February 2027.¶
Copyright (c) 2026 IETF Trust and the persons identified as the document authors. All rights reserved.¶
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License.¶
When an organisation operates a big network of DNS resolvers [RFC1034] [RFC1035], for instance for an important public resolver (Section 6 of [RFC9499]), it may be a performance improvement to distribute the result of the resolution process between the resolvers. The same applies to resolvers operated by distinct organisations which have agreed to cooperate. This document standardizes how to do so, using unicast messages to a set of pre-configured peers.¶
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.¶
When completing a successful DNS resolution, the resolver transmits a DNS message (with the Q/R bit set, since it is a response) to the pre-configured peers. No acknowledgment is sent or expected. To save work, the resolver MAY send the data only if the TTL is higher than some predefined value.¶
TSIG [RFC8945] is mandatory to implement but optional to use, following Section 7 of [RFC3365]. Implementations MUST support it, so that peers always have one authentication mechanism in common. Whether a given network of resolvers enables it is outside of the scope of this document.¶
The resolver MUST send only data that it is sure of (for instance by DNSSEC validation or because it came with the AA bit from the queried server). All the resolvers of the network MUST agree on the same policy for this assessment. When they are not under the same administration, this policy MUST be agreed explicitly before deployment, since it cannot be inferred from a shared administrative practice.¶
Negative answers ([RFC9499], section 3) MUST NOT be transmitted to peers.¶
A message of this protocol is a response signed like a query. Since there is no request MAC (Section 4.3.1 of [RFC8945]), the MAC MUST be computed over the digest components listed for a request in Section 5.1 of [RFC8945]. This distinguishes it from an ordinary DNS response. The TSIG key SHOULD nevertheless be specific to this protocol. Peers that do not use TSIG need another discriminator, for instance a dedicated port.¶
This message MUST be a new message (not the message received by the resolver from the authoritative name servers) with data composed from data already obtained and validated by the originating resolver. It MUST contain an Answer section and MAY contain other sections. (So, the Question section is not mandatory.)¶
The EDNS section MUST be a new one, created to fit the needs of successful transmission to the peer.¶
Each peer then MAY store the data in its cache. The peer is not supposed to do DNSSEC validation (there is not always all the necessary data in the message). After all, the goal is to save work for the peers, so Section 5.4.1 of [RFC2181] does not apply here. (Remember all peers trust each other, and have a consistent policy. The data is as trustworthy as if you validated it yourself.) A resolver which cannot rely on its peers applying the agreed policy MUST NOT accept their data. The receiver MAY cache only what is in the Answer section.¶
None. [RFC-Editor: you may delete this section]¶
[RFC-Editor: please delete this section, and the reference to RFC 7942, before publication.]¶
This section records the status of known implementations of the protocol defined by this specification at the time of posting of this Internet-Draft, and is based on a proposal described in [RFC7942]. The description of implementations in this section is intended to assist the IETF in its decision processes in progressing drafts to RFCs. Please note that the listing of any individual implementation here does not imply endorsement by the IETF. Furthermore, no effort has been spent to verify the information presented here that was supplied by IETF contributors. This is not intended as, and must not be construed to be, a catalog of available implementations or their features. Readers are advised to note that other implementations may exist.¶
According to [RFC7942], "this will allow reviewers and working groups to assign due consideration to documents that have the benefit of running code, which may serve as evidence of valuable experimentation and feedback that have made the implemented protocols more mature. It is up to the individual working groups to use this information as they see fit".¶
The integrity and authenticity of the cached data is of course critical. DNSSEC would help but it is not yet universally deployed and, moreover, the peer resolvers should not have to redo the validation. So, trust between the peer resolvers is expected because it is the only way for the receiver to be sure of the data. Having all of the peers under the same administration is the simplest way to obtain this trust, but it is not the only one.¶
The channel between peers also needs protection, preferably with cryptography. ACL and other network techniques are of course useful.¶
Sharing one TSIG key across the whole network lets any peer impersonate any other (Section 10 of [RFC8945]). Using a distinct key per pair of peers is more important when the peers are not under the same administration.¶
The records transmitted are public, but the messages contain the names that the resolvers have resolved, and therefore reveal to an eavesdropper what their clients looked up [RFC9076]. Removing the question section does not hide this, since the answer section contains the owner name. Using an encrypted transport, for instance DoT [RFC7858] or DoQ [RFC9250], or otherwise protecting the network path between peers, defeats this leakage and is RECOMMENDED when the messages travel over the public Internet.¶
If the originating resolver sends the original question section in its messages to receiving peers, it can have privacy consequences [RFC9076], for instance in the case of negative answers. When all the peers are under the same administration, these consequences are limited, and the originator SHOULD remove this section or replace it with dummy data. When the peers are under distinct administrations, the question section would disclose the queries of one party's clients to another, and the originator MUST remove it or replace it with dummy data.¶
It is reminded that all resolvers in the network need to trust each other. This specification is not meant to be deployed between unrelated resolvers.¶
The network of peer resolvers has to be configured out-of-band beforehand. The way to do it is out-of-scope for this specification.¶
Original idea at the DNS hackathon (RIPE-NCC / Netnod / DNS-OARC) in march 2025 at the Netnod office in Stockholm.¶
The authors thank Paul Wouters, Peter Thomassen, Michael Breuer, Wes Hardaker, and many other members of DNSOP for review and discussions.¶