| Internet-Draft | Poisonlicious | August 2026 |
| Bortzmeyer, et al. | Expires 4 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 4 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]¶
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.¶