Carry data without knowing its format
01DNS means Domain Name System. A resource record (RR) attaches typed data to a name. RDATA is the record’s type-dependent data field. An unknown type is unknown to this implementation, not necessarily unassigned.
The fictional consuming application has a format definition and receives the same octets. That is an application capability, not a new decoder supplied by the DNS server, and it does not authenticate the data.
Source for this drawing: RFC 3597 · Read RFC section 3 ↗
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.
Name servers and resolvers MUST store and transmit unknown-type RDATA as unstructured binary data without changing it.
- Name servers and resolvers MUST store and transmit unknown-type RDATA as unstructured binary data without changing it.
- The definition excludes assigned query-only types, Meta-TYPEs and the range reserved solely for those uses. A class-specific format can be unknown for one type/class combination.
- Known-type RDATA MUST also be preserved exactly, except permitted name compression/decompression. Uncompressible embedded names keep their character case.
- This does not require a server to invent an application decoder. The fictional application below knows the opaque format; successful transport is not proof that the data is trustworthy.
- A secondary is a replica of zone data. TTL means time to live, the caching lifetime; it is record metadata rather than part of the opaque RDATA.
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 ↗