| Internet-Draft | DNS IANA Considerations | November 2025 |
| Eastlake | Expires 19 May 2026 | [Page] |
This document specifies Internet Assigned Numbers Authority (IANA) parameter assignment considerations for the allocation of Domain Name System (DNS) resource record (RR) types, CLASSes, operation codes, error codes (RCODEs), DNS protocol message header bits, and AFSDB resource record subtypes. It obsoletes RFC 6895 and updates RFCs 1183, 2930, 3597, and 8945.¶
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.¶
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.¶
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."¶
This Internet-Draft will expire on 19 May 2026.¶
Copyright (c) 2025 IETF Trust and the persons identified as the document authors. All rights reserved.¶
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License.¶
The Domain Name System (DNS) provides replicated distributed securable hierarchical databases that store "resource records" (RRs) under domain names. DNS data is structured into CLASSes and zones that can be independently maintained. Familiarity with [RFC1034], [RFC1035], [RFC2136], [RFC2181], [RFC4033], and DNS terminology [RFC8499] is assumed.¶
This document provides, either directly or by reference, the general IANA parameter assignment considerations that apply across DNS request and response headers and all RRs. There may be additional IANA considerations that apply to only a particular RRTYPE or request/response OpCode. See the specific RFC defining that RRTYPE or request/response OpCode for such considerations if they have been defined, except for AFSDB RR considerations [RFC1183], which are included herein. This document also covers IANA considerations for CLASSes, error codes (RCODEs), and DNS protocol message header bits. This RFC obsoletes [RFC6895] and updates RFCs [RFC1183], [RFC8945], [RFC2930], and [RFC3597].¶
IANA currently maintains a web page of DNS parameters available from [IANADNS].¶
"Standards Action", "IETF Review", "Specification Required", "Reserved", and "Private Use" are as defined in [RFC8126].¶
The header for DNS requests and responses contains field/bits as shown in the following diagram taken from [RFC1035] and [RFC2136]:¶
1 1 1 1 1 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| ID |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|QR| OpCode |AA|TC|RD|RA| Z|AD|CD| RCODE |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| QDCOUNT/ZOCOUNT |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| ANCOUNT/PRCOUNT |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| NSCOUNT/UPCOUNT |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| ARCOUNT |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
The ID field identifies the request and is echoed in the response so they can be matched.¶
The QR bit indicates whether the header is for a request (QR=0) or a response (QR=1).¶
The AA, TC, RD, RA, and CD bits are each theoretically meaningful only in requests or only in responses, depending on the bit. The AD bit was only meaningful in responses but is expected to have a separate but related meaning in queries (see Section 5.7 of [RFC6840]). Only the RD and CD bits are expected to be copied from the request to the response; however, some DNS implementations copy all the request header as the initial value of the response header. Thus, any attempt to use a "request" bit with a different meaning in a response or to define a request meaning for a "response" bit may be dangerous, given the existing implementation. Meanings for these bits may only be assigned by a Standards Action.¶
The unsigned integer fields query/request count (QDCOUNT), answer count (ANCOUNT), authority count (NSCOUNT), and additional information count (ARCOUNT) express the number of records in each section for all OpCodes except Update [RFC2136]. These fields have the same structure and data type for Update but are instead the counts for the zone (ZOCOUNT), prerequisite (PRCOUNT), update (UPCOUNT), and additional information (ARCOUNT) sections.¶
There have been ancient DNS implementations for which the Z bit being on in a query meant that only a response from the primary server for a zone is acceptable. It is believed that current DNS implementations ignore this bit.¶
Assigning a meaning to the Z bit requires a Standards Action.¶
Currently, DNS OpCodes are assigned as follows:¶
| OpCode | Name | Reference |
|---|---|---|
| 0 | Query | [RFC1035] |
| 1 | IQuery (Inverse Query, OBSOLETE) | [RFC3425] |
| 2 | Status | [RFC1035] |
| 3 | Unassigned | |
| 4 | Notify | [RFC1996] |
| 5 | Update | [RFC2136] |
| 6 | DSO (DNS Stateful Operations) | [RFC8490] |
| 7-15 | Unassigned |
Although the Status OpCode is reserved in [RFC1035], its behavior has not been specified. New OpCode assignments require a Standards Action with early allocation permitted as specified in [RFC7120].¶
It would appear from the DNS header above that only four bits of RCODE, or response/error code, are available. However, RCODEs can appear not only at the top level of a DNS response but also inside TSIG RRs [RFC8945], TKEY RRs [RFC2930], and extended by OPT RRs [RFC6891]. The OPT RR provides an 8-bit extension to the 4 header bits, resulting in a 12-bit RCODE field, and the TSIG and TKEY RRs have a separate 16-bit field designated in their RFCs as the "Error" field.¶
Error codes appearing in the DNS header and in these other RR types all refer to the same error code space with the exception of error code 16, which has a different meaning in the OPT RR than in the TSIG RR, and error code 9, whose variations are described after the table below. The duplicate assignment of 16 was accidental. To the extent that any prior RFCs imply any sort of different error number space for the OPT, TSIG, or TKEY RRs, they are superseded by this unified DNS error number space. (This paragraph is the reason this document updates [RFC8945] and [RFC2930].) With the existing exceptions of error numbers 9 and 16, the same error number must not be assigned for different errors even if they would only occur in different RR types. See table below.¶
| RCODE | Name | Description | References |
|---|---|---|---|
| Decimal Hexadecimal |
|||
| 0 | NoError | No Error | [RFC1035] |
| 1 | FormErr | Format Error | [RFC1035] |
| 2 | ServFail | Server Failure | [RFC1035] |
| 3 | NXDomain | Non-Existent Domain | [RFC1035] |
| 4 | NotImp | Not Implemented | [RFC1035] |
| 5 | Refused | Request Refused | [RFC1035] |
| 6 | YXDomain | Name Exists when it should not | [RFC2136] [RFC6672] |
| 7 | YXRRSet | RR Set Exists when it should not | [RFC2136] |
| 8 | NXRRSet | RR Set that should exist does not | [RFC2136] |
| 9 | NotAuth | Server Not Authoritative for zone | [RFC2136] |
| 9 | NotAuth | Not Authorized | [RFC8945] |
| 10 | NotZone | Name not contained in zone | [RFC2136] |
| 11 | DSOTYPENI | DSO TYPE Not Implemented | [RFC8490] |
| 12-15 0xB-0xF |
Unassigned | ||
| 16 | BADVERS | Bad OPT Version | [RFC6891] |
| 16 | BADSIG | TSIG Signature Failure | [RFC8945] |
| 17 | BADKEY | Key not recognized | [RFC8945] |
| 18 | BADTIME | Signature out of time window | [RFC8945] |
| 19 | BADMODE | Bad TKEY Mode | [RFC2930] |
| 20 | BADNAME | Duplicate key name | [RFC2930] |
| 21 | BADALG | Algorithm not supported | [RFC2930] |
| 22 | BADTRUNC | Bad Truncation | [RFC8945] |
| 23 | BADCOOKE | Bad/Missing Server Cookie | [RFC7873] |
| 24-3,840 0x0017-0x0F00 |
Unassigned | ||
| 3,841-4,095 0x0F01-0x0FFF |
Private Use | ||
| 4,096-65,534 0x1000-0xFFFE |
Unassigned | ||
| 65,535 0xFFFF |
Reserved | ||
Note on error number 9 (NotAuth): This error number means either "Not Authoritative" [RFC2136] or "Not Authorized" [RFC8945]. If 9 appears as the RCODE in the header of a DNS response without a TSIG RR or with a TSIG RR having a zero error field, then it means "Not Authoritative". If 9 appears as the RCODE in the header of a DNS response that includes a TSIG RR with a non-zero error field, then it means "Not Authorized".¶
Since it is important that RCODEs be understood for interoperability, assignment of a new RCODE in the ranges listed above as "Unassigned" requires IETF Review.¶
All RRs have the same top-level format, shown in the figure below taken from [RFC1035].¶
1 1 1 1 1 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| |
/ /
/ NAME /
/ /
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| TYPE |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| CLASS |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| TTL |
| |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| RDLENGTH |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--|
/ RDATA /
/ /
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
There are three subcategories of RRTYPE numbers: data TYPEs, QTYPEs, and Meta-TYPEs.¶
Thus far, data TYPEs have been assigned from the ranges 1 - 127 and 256 - 61,439, while Q and Meta-TYPEs have been assigned from 255 downward except for the OPT Meta-RR, which is assigned TYPE 41. There have been DNS implementations that made caching decisions based on the top bit of the bottom byte of the RRTYPE.¶
There are currently four Meta-TYPEs assigned and five QTYPEs assigned as listed in the table below.¶
| Value | Mnemonic | Description | Reference |
|---|---|---|---|
| 41 | OPT | Meta-TYPE: Extension Mechanisms | [RFC6891] |
| 128 | NXNAME | Meta-TYPE: Compact Denial of Existence NXDOMAIN indicator | [RFC9824] |
| 249 | TKEY | Meta-TYPE: Transaction Key | [RFC2930] |
| 250 | TSIG | Meta-TYPE: Transaction Signature | [RFC8945] |
| 251 | IXFR | QTYPE: Incremental Zone Transfer | [RFC1995] |
| 252 | AXFR | QTYPE: Entire Zone Transfer | [RFC1035] [RFC5936] |
| 253 | MAILB | QTYPE: Mailbox-related RRs | [RFC1035] |
| 254 | MAILA | QTYPE: Mail agent RRs (Obsolete - see the MX RR) | [RFC1035] |
| 255 | * | QTYPE: ANY/ALL | [RFC1035] [RFC8482] |
Assigned RRTYPEs have mnemonics that must be completely disjoint from the mnemonics used for CLASSes and that must match the regular expression below. In addition, the generic CLASS and RRTYPE names specified in Section 5 of [RFC3597] cannot be assigned as RRTYPE mnemonics.¶
[A-Z][A-Z0-9\-]*[A-Z0-9]
but not
(TYPE|CLASS)[0-9]*
¶
Considerations for the assignment of new RRTYPEs are as follows:¶
| Decimal Hexadecimal |
Assignment Policy |
|---|---|
| 0 0x0000 |
RRTYPE zero is used as a special indicator for the SIG(0) RR [RFC2931] [RFC4034] and in other circumstances. It must never be assigned for ordinary use.¶ |
| 1-127 0x0001-0x007F |
Unassigned RRTYPEs in this range are assigned for data TYPEs by the DNS RRTYPE Assignment Policy as specified in Section 3.1.1.¶ |
| 128-255 0x0080-0x00FF |
Unassigned RRTYPEs in this range are assigned for QTYPEs and Meta-TYPEs by the DNS RRTYPE Assignment Policy as specified in Section 3.1.1.¶ |
| 256-61,439 0x0100-0xEFFF |
Unassigned RRTYPEs in this range are assigned for data RRTYPEs by the DNS RRTYPE Assignment Policy as specified in Section 3.1.1. (32,768 and 32,769 (0x8000 and 0x8001) have been assigned.)¶ |
| 61,440-65,279 0xF000-0xFEFF |
Reserved for future use. IETF Review required to define use¶ |
| 65,280-65,534 0xFF00-0xFFFE |
Reserved for Private Use.¶ |
| 65,535 0xFFFF |
Reserved (Standards Action)¶ |
Parameter values specified in Section 3.1 above, as assigned based on DNS RRTYPE Assignment Policy, are allocated by Expert Review if they meet the two requirements listed below. There will be a pool of a small number of Experts appointed by the IESG. Each application will be judged by an Expert selected by IANA. In any case where the selected Expert is unavailable or states they have a conflict of interest, IANA may select another Expert from the pool. Some guidelines for the Experts are given in Section 3.1.2.¶
RRTYPEs that do not meet the requirements below may nonetheless be assignment by a Standards Action with early allocation permitted as specified in [RFC7120].¶
A complete template as specified in Appendix A has been posted to the dns-rrtype-applications@ietf.org mailing list and received by the Expert.¶
Note that the posting of partially completed, draft, or formally submitted templates to dnsext@ietf.org by the applicant or Expert for comment and discussion is highly encouraged. Before formal submission of an RRTYPE template, we recommend submitting it for community review and considering the responses in order to reduce the probability of initial rejection and the need for modification and resubmission.¶
The RR for which an RRTYPE code is being requested is either (a) a data TYPE that can be handled as an Unknown RR as described in [RFC3597] or (b) a Meta-TYPE whose processing is optional, i.e., it is safe to simply discard RRs with that Meta-TYPE in queries or responses.¶
Note that such RRs may include additional section processing, provided such processing is optional.¶
After the applicant submits their formal application to IANA by sending the completed template specified in Appendix A to the dns-rrtype-applications@ietf.org mailing list, IANA appoints an Expert and sends the completed template to the Expert, copying the applicant. No more than two weeks after receiving the application, the Expert shall explicitly approve or reject the application, informing IANA, the applicant, and the dnsext@ietf.org mailing list. A rejection should include the reason for rejection and may include suggestions for improvement. The Expert should consult with other technical experts and the dnsext@ietf.org mailing list as necessary. If the Expert does not approve the application within this period, it is considered rejected. IANA should report non-responsive Experts to the IESG.¶
IANA shall maintain a public archive of approved templates. In addition, if the required description of the RRTYPE applied for is referenced by URL, a copy of the document so referenced should be included in the archive.¶
The Designated Expert should normally be lenient, preferring to approve most requests. However, the Expert should usually reject any RRTYPE assignment request that meets one or more of the following criteria:¶
The OPT (OPTion) RR (RRTYPE 41) and its IANA considerations are specified in [RFC6891]. Its primary purpose is to extend the effective field size of various DNS fields, including RCODE, label type, OpCode, flag bits, and RDATA size. In particular, for resolvers and servers that recognize it, it extends the RCODE field from 4 to 12 bits.¶
The AFSDB RR [RFC1183] is a CLASS-insensitive RR that has the same RDATA field structure as the MX RR [RFC1035], but the 16-bit unsigned integer field at the beginning of the RDATA is interpreted as a subtype as shown below. Use of the AFSDB RR to locate AFS cell database servers was deprecated by [RFC5864]. This subtype registry is closed, and assignment of new subtypes is not permitted.¶
| Decimal Hexadecimal |
Assignment Policy |
|---|---|
| 0 0x0000 |
Reserved; registry closed¶ |
| 1 0x0001 |
|
| 2 0x0002 |
|
| 3-65,279 0x0003-0xFEFF |
Not assigned; registry closed¶ |
| 65,280-65,534 0xFF00-0xFFFE |
Private Use¶ |
| 65,535 0xFFFF |
Reserved; registry closed¶ |
There are currently two subcategories of DNS CLASSes: normal, data- containing classes; and QCLASSes that are only meaningful in queries or updates.¶
DNS CLASSes have been little used but constitute another dimension of the DNS distributed database. In particular, there is no necessary relationship between the namespace or root servers for one data CLASS and those for another data CLASS. The same DNS NAME can have completely different meanings in different CLASSes. The label types are the same, and the null label is usable only as root in every CLASS. As global networking and DNS have evolved, the IN, or Internet, CLASS has dominated DNS use.¶
As yet, there has not been a requirement for "Meta-CLASSes". That would be a CLASS to designate transient data associated with a particular DNS message, which might be usable in queries. However, it is possible that there might be a future requirement for one or more "Meta-CLASSes".¶
Assigned CLASSes have mnemonics that must be completely disjoint from the mnemonics used for RRTYPEs and that must match the regular expression below. In addition, the generic CLASS and RRTYPE names specified in Section 5 of [RFC3597] cannot be assigned as new CLASS mnemonics.¶
[A-Z][A-Z0-9\-]*[A-Z0-9]
but not
(CLASS|TYPE)[0-9]*
¶
The current CLASS assignments and considerations for future assignments are as follows:¶
| Decimal Hexadecimal |
Assignment Policy |
|---|---|
| 0 0x0000 |
Reserved; assignment requires a Standards Action.¶ |
| 1 0x0001 |
|
| 2 0x0002 |
Available for assignment by IETF Review as a data CLASS.¶ |
| 3 0x0003 |
|
| 4 0x0004 |
|
| 5-127 0x0005-0x007F |
Available for assignment by IETF Review for data CLASSes only.¶ |
| 128-253 0x0080-0x00FD |
Available for assignment by IETF Review for QCLASSes and Meta-CLASSes only.¶ |
| 254 0x00FE |
|
| 255 0x00FF |
|
| 256-32,767 0x0100-0x7FFF |
Available for assignment by IETF Review.¶ |
| 32,768-57,343 0x8000-0xDFFF |
Available for assignment to data CLASSes only; Specification Required.¶ |
| 57,344-65,279 0xE000-0xFEFF |
Available for assignment to QCLASSes and Meta-CLASSes only; Specification Required.¶ |
| 65,280-65,534 0xFF00-0xFFFE |
Private Use¶ |
| 65,535 0xFFFF |
Reserved; can only be assigned by a Standards Action.¶ |
DNS NAMEs are sequences of labels [RFC1035].¶
At the present time, there are two categories of label types: data labels and compression labels. Compression labels are pointers to data labels elsewhere within an RR or DNS message and are intended to shorten the wire encoding of NAMEs.¶
The two existing data label types are sometimes referred to as Text and Binary. Text labels can, in fact, include any octet value including zero-value octets, but many current uses involve only printing ASCII characters [RFC0020]. For retrieval, Text labels are defined to treat ASCII uppercase and lowercase letter codes as matching [RFC4343]. Binary labels are bit sequences [RFC2673]. The Binary Label type is Historic [RFC6891].¶
The last label in each NAME is "ROOT", which is the zero-length label. By definition, the null or ROOT label cannot be used for any other NAME purpose.¶
NAMEs are local to a CLASS. The Hesiod [Dyer1987] and Chaos [Moon1981] CLASSes are for essentially local use. The IN, or Internet, CLASS is thus the only DNS CLASS in global use on the Internet at this time.¶
A somewhat out-of-date description of name assignment in the IN CLASS is given in [RFC1591]. Some information on reserved top-level domain names is in BCP 32 [RFC2606].¶
This document addresses IANA considerations in the assignment of general DNS parameters, not security. See [RFC4033], [RFC4034], and [RFC4035] for secure DNS considerations.¶
This document consists of DNS IANA considerations.¶
All occurrences of [RFC6895] as a reference in IANA registries are updated to refer to [this document].¶
IANA has established a process for accepting Appendix A templates and selecting an Expert from those appointed to review such template form applications. IANA forwards the template to the Expert, copying the applicant. IANA archives and makes available all approved RRTYPE assignment templates and referred documentation (unless it is readily available at a stable URI). It is the duty of the applicant to post the formal application template to the dns-rrtype-applications@ietf.org mailing list, which IANA will monitor. The dnsext@ietf.org mailing list is for community discussion and comment. See Section 3.1 and Appendix A for more details.¶
DNS RRTYPE PARAMETER ASSIGNMENT TEMPLATE
When ready for formal consideration, this template is to be submitted
to IANA for processing by emailing the template to dns-rrtype-
applications@ietf.org.
A. Submission Date:
B.1 Submission Type: [ ] New RRTYPE [ ] Modification to RRTYPE
B.2 Kind of RR: [ ] Data RR [ ] Meta-RR
C. Contact Information for submitter (will be publicly posted):
Name: Email Address:
International telephone number:
Other contact handles:
D. Motivation for the new RRTYPE application.
Please keep this part at a high level to inform the Expert and
reviewers about uses of the RRTYPE. Most reviewers will be DNS
experts that may have limited knowledge of your application space.
E. Description of the proposed RR type.
This description can be provided in-line in the template, as an
attachment, or with a publicly available URL.
F. What existing RRTYPE or RRTYPEs come closest to filling that need
and why are they unsatisfactory?
G. What mnemonic is requested for the new RRTYPE (optional)?
Note: If a mnemonic is not supplied, not allowed, or duplicates an
existing RRTYPE or CLASS mnemonic, the Expert will assign a
mnemonic.
H. Does the requested RRTYPE make use of any existing IANA registry
or require the creation of a new IANA subregistry in DNS
Parameters? If so, please indicate which registry is to be used
or created. If a new subregistry is needed, specify the
assignment policy for it and its initial contents. Also include
what the modification procedures will be.
I. Does the proposal require/expect any changes in DNS
servers/resolvers that prevent the new type from being processed
as an unknown RRTYPE (see RFC 3597)?
J. Comments:
¶
TBD¶
[RFC6895] acknowledgements: Alfred Hoenes' contributions are gratefully acknowledged as are those by Mark Andrews, Dick Franks, and Michael Sheldon.¶
Yet earlier version acknowledgements: Eric Brunner-Williams and Bill Manning.¶