Visual RFC.
ALL RFCs / RFC 8020
Read the RFC ↗
RFC 8020 / NXDOMAIN CUT

Expire the cut and preserve class boundaries

04

A negative answer has a lifetime and scope; optional cached-data reuse is a separate rule.

RFC 8020 · § 2EXAMPLE
4 / 4
Expire the cut and preserve class boundariesThe negative entry is class IN1 while the descendant query is class CH3. The mismatch stops the shortcut; sharing a name suffix is insufficient.A cut has scope and a lifetimeCut key: gone.example. / IN (class1)Query: a.gone.example. / CH (class3)Class mismatch: no cut shortcutNormal processing for class CHDNS class is separate from record typeRFC8020 · chapter 4 · state 4 · fictional examples
04
Keep QCLASS in the cache key

Name equality alone is insufficient; no cross-class NXDOMAIN shortcut is drawn.

Source for this drawing: RFC 8020 · Read RFC section 2 ↗

Protocol participantThreat or exceptionProtocol controlSimplified drawings · precise section references
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.

Related RFCs and changes

“Updates” changes part of an earlier RFC. “Obsoletes” replaces it. This list shows selected related documents.

KEY POINT

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.
DETAILS

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 ↗

All chapters in RFC 8020

Drawing view

Scroll the drawing to see every part. Playback controls stay above it.

RFC 9700 / CHAPTERS

Chapters

For full details, tables, algorithms, and exceptions, read the original RFC.

RFC status and corrections ↗