Visual RFC.
ALL RFCs / RFC 3597
Read the RFC ↗
RFC 3597 / UNKNOWN DNS RECORDS

Build canonical data without guessing names

05

DNS Security Extensions (DNSSEC) use a canonical, predictable byte representation for signatures. Transporting unknown data and verifying a signature are separate operations. The later RFC4034 §6 defines the canonical rules used in this comparison.

RFC 3597 · § 7EXAMPLE
4 / 4
Build canonical data without guessing namesSeparate synthetic unknown-type RRset holds [80], [41 00] and [41]. Unsigned canonical order is [41], [41 00], [80]. The shorter prefix comes first, and 80 is greater than41; no signature verdict follows.Canonical bytes are input to DNSSEC, not a verdictSame-set input: [80], [41 00], [41]1: 412: 41 003: 80Missing octet < zero octet; unsigned orderLater source: RFC4034 canonical rules ↗No signature calculation, trust-chain validation or authentication claim
04
Order same-set canonical octet strings

Separate synthetic unknown-type RRset holds [80], [41 00] and [41]. Unsigned canonical order is [41], [41 00], [80]. The shorter prefix comes first, and 80 is greater than41; no signature verdict follows.

Source for this drawing: RFC 3597 · Read RFC section 7 ↗

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.

What changed
RFC3597 §7RFC4034 §6.2–6.3

The DNSSEC record-format update supplies canonical form and ordering. Verified erratum1063 also identifies the erroneous HINFO entries: HINFO/TXT character strings are not embedded domain names. This guide uses typed NS and opaque-string comparisons, not the old list as a parser.

Read the updated RFC section ↗
KEY POINT

The canonical owner name is fully expanded and lowercased according to DNS ASCII rules. Unknown-type RDATA is not scanned for plausible names or downcased.

  • The canonical owner name is fully expanded and lowercased according to DNS ASCII rules. Unknown-type RDATA is not scanned for plausible names or downcased.
  • Specified older known types, such as NS (name server), do lowercase embedded DNS names in canonical RDATA. RFC4034 §6.2 adds the later DNSSEC context; it does not require lowercasing arbitrary opaque bytes.
  • Verified erratum1063 identifies HINFO in the old lists as erroneous: HINFO and TXT contain no embedded domain names to lowercase. Their character-string payload must not be treated as DNS name data.
  • For one owner/class/type RRset (a set of records), canonical RDATA ordering is unsigned lexicographic octet order; absence of an octet sorts before a zero octet. This picture does not calculate or validate a signature.
DETAILS

Offline bounded examples, not a complete DNS server, master-file parser or DNSSEC validator. Hexadecimal pairs represent octets (eight-bit bytes). Layouts are schematic unless marked otherwise. Generic data transport neither understands an application nor authenticates it.

Read the RFC section ↗

All chapters in RFC 3597

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 ↗