Handling of Unknown DNS Resource Record (RR) Types
RFC 3597

Document Type RFC - Proposed Standard (September 2003; Errata)
Updates RFC 2535, RFC 2163
Author Andreas Gustafsson 
Last updated 2020-01-21
Stream Internent Engineering Task Force (IETF)
Formats plain text html pdf htmlized (tools) htmlized with errata bibtex
Stream WG state (None)
Document shepherd No shepherd assigned
This information refers to IESG processing after the RFC was initially published:
IESG IESG state RFC 3597 (Proposed Standard)
Action Holders
Consensus Boilerplate Unknown
Telechat date
Responsible AD Ralph Droms
IESG note Found error in RFC 3597, new document necessary and will no longer have downref problem. RFC 2163 should be moved to historic, though this can be decoupled from RFC 3597 advancing.
Send notices to jakob@rfc.se, olaf@ripe.net
Network Working Group                                      A. Gustafsson
Request for Comments: 3597                                  Nominum Inc.
Category: Standards Track                                 September 2003

           Handling of Unknown DNS Resource Record (RR) Types

Status of this Memo

   This document specifies an Internet standards track protocol for the
   Internet community, and requests discussion and suggestions for
   improvements.  Please refer to the current edition of the "Internet
   Official Protocol Standards" (STD 1) for the standardization state
   and status of this protocol.  Distribution of this memo is unlimited.

Copyright Notice

   Copyright (C) The Internet Society (2003).  All Rights Reserved.


   Extending the Domain Name System (DNS) with new Resource Record (RR)
   types currently requires changes to name server software.  This
   document specifies the changes necessary to allow future DNS
   implementations to handle new RR types transparently.

1.  Introduction

   The DNS is designed to be extensible to support new services through
   the introduction of new resource record (RR) types.  In practice,
   deploying a new RR type currently requires changes to the name server
   software not only at the authoritative DNS server that is providing
   the new information and the client making use of it, but also at all
   slave servers for the zone containing it, and in some cases also at
   caching name servers and forwarders used by the client.

   Because the deployment of new server software is slow and expensive,
   the potential of the DNS in supporting new services has never been
   fully realized.  This memo proposes changes to name servers and to
   procedures for defining new RR types aimed at simplifying the future
   deployment of new RR types.

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   document are to be interpreted as described in [RFC 2119].

Gustafsson                  Standards Track                     [Page 1]
RFC 3597            Handling of Unknown DNS RR Types      September 2003

2.  Definition

   An "RR of unknown type" is an RR whose RDATA format is not known to
   the DNS implementation at hand, and whose type is not an assigned
   QTYPE or Meta-TYPE as specified in [RFC 2929] (section 3.1) nor
   within the range reserved in that section for assignment only to
   QTYPEs and Meta-TYPEs.  Such an RR cannot be converted to a type-
   specific text format, compressed, or otherwise handled in a type-
   specific way.

   In the case of a type whose RDATA format is class specific, an RR is
   considered to be of unknown type when the RDATA format for that
   combination of type and class is not known.

3.  Transparency

   To enable new RR types to be deployed without server changes, name
   servers and resolvers MUST handle RRs of unknown type transparently.
   That is, they must treat the RDATA section of such RRs as
   unstructured binary data, storing and transmitting it without change

   To ensure the correct operation of equality comparison (section 6)
   and of the DNSSEC canonical form (section 7) when an RR type is known
   to some but not all of the servers involved, servers MUST also
   exactly preserve the RDATA of RRs of known type, except for changes
   due to compression or decompression where allowed by section 4 of
   this memo.  In particular, the character case of domain names that
   are not subject to compression MUST be preserved.

4.  Domain Name Compression

   RRs containing compression pointers in the RDATA part cannot be
   treated transparently, as the compression pointers are only
   meaningful within the context of a DNS message.  Transparently
   copying the RDATA into a new DNS message would cause the compression
   pointers to point at the corresponding location in the new message,
   which now contains unrelated data.  This would cause the compressed
   name to be corrupted.

   To avoid such corruption, servers MUST NOT compress domain names
   embedded in the RDATA of types that are class-specific or not well-
   known.  This requirement was stated in [RFC1123] without defining the
   term "well-known"; it is hereby specified that only the RR types
   defined in [RFC1035] are to be considered "well-known".

Gustafsson                  Standards Track                     [Page 2]
RFC 3597            Handling of Unknown DNS RR Types      September 2003

   The specifications of a few existing RR types have explicitly allowed
   compression contrary to this specification: [RFC2163] specified that
   compression applies to the PX RR, and [RFC2535] allowed compression
   in SIG RRs and NXT RRs records.  Since this specification disallows
   compression in these cases, it is an update to [RFC2163] (section 4)
   and [RFC2535] (sections 4.1.7 and 5.2).

   Receiving servers MUST decompress domain names in RRs of well-known
Show full document text