Expire the cut and preserve class boundaries
04A negative answer has a lifetime and scope; optional cached-data reuse is a separate rule.
Name equality alone is insufficient; no cross-class NXDOMAIN shortcut is drawn.
Source for this drawing: RFC 8020 · Read RFC section 2 ↗
New to this? Start hereA quick picture + helpful background
A message needs an address.
Think of a packet as a small addressed envelope. Devices pass it onward; transport protocols decide what delivery promises an application gets.
Helpful first, if these ideas are unfamiliar
These pictures are analogies to help you learn. The linked RFC explains the actual rules.
Terms in this drawing
Related RFCs and changes
“Updates” changes part of an earlier RFC. “Obsoletes” replaces it. This list shows selected related documents.
Use remaining lifetimes, not a fresh timer for every cache hit.
- NXDOMAIN nonexistence is not permanent. The negative TTL (time to live) comes from RFC 2308 §3: the minimum of the SOA record’s TTL and its MINIMUM field. Chosen values 300 and 120 seconds yield 120 seconds. They are illustrative, not RFC 8020 defaults (§2).
- When cached time reaches zero, the negative answer MUST NOT be used again. Replies from the negative cache carry the SOA with its TTL reduced by elapsed time; a hit does not reset that lifetime (RFC 2308 §§5–6). At selected time 119 the remaining TTL is 1; at 120 this cut no longer authorizes a shortcut. Normal processing might find other data before querying upstream.
- If a resolver already has cached data beneath the cut, it MAY continue replying with that data until its own TTL expires. The selected positive entry has 60 seconds left when the 120-second cut is learned: it can be served at time 59, but not at 60 under this exception. That is permission, not a requirement to retain positives (§2).
- The revised cache rule applies to the same QCLASS as the negative answer. A class-IN cut does not deny a class-CH query even with an identical name. Here IN is class 1 and CH is class 3; the helper treats class numbers as separate keys (§3.2).
- The DNS tree is a conceptual model. Actual resolver storage MAY use a tree or another data structure (§1.1). Section 6 is explicitly non-normative: pruning cached positives is one approach, not a mandatory deletion algorithm. The existing-data MAY and implementation reasons reinforce why the cut rule is SHOULD.
Fictional offline DNS examples. Trees show conceptual label relationships, not resolver storage requirements. Selected helpers are bounded cache-policy models; they do not send DNS packets, validate signatures, implement all DNS errors or configure a resolver.
Read the RFC section ↗