<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY filename "draft-eastlake-dnsop-rfc6895bis-iana-00">
  <!ENTITY nbsp   "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY zwnbsp "&#8288;">
]>
<!-- This template is for creating an Internet Draft using xml2rfc,
which is available here: http://xml.resource.org. -->
<!-- One method to get references from the online citation libraries.
     There has to be one entity for each item to be referenced. 
     An alternate method (rfc include) is described in the references. -->
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<!-- used by XSLT processors -->
<!-- For a complete list and description of processing instructions (PIs), 
     please see http://xml.resource.org/authoring/README.html. -->
<?rfc strict="yes" ?>
<!-- give errors regarding ID-nits and DTD validation -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude"
     docName="&filename;"
     ipr="trust200902"
     submissionType="IETF"
     category="bcp" consensus="true"
     obsoletes="6895"
     updates="1183, 2845, 2930, 3597"
     tocInclude="true"
     sortRefs="true"
     symRefs="true"
     version="3">
  <!-- category values: std, bcp, info, exp, and historic ipr values:
      trust200902, noModificationTrust200902,
      noDerivativesTrust200902, or pre5378Trust200902 you can add the
      attributes updates="NNNN" and obsoletes="NNNN" they will
      automatically be output with "(if approved)" -->

<!-- ***** FRONT MATTER ***** -->

<front>
  <title abbrev="DNS IANA Considerations">
    Domain Name System (DNS) IANA Considerations</title>
  
<seriesInfo name="Internet-Draft"
                value="&filename;"/>

<author fullname="Donald Eastlake" initials="D." surname="Eastlake">
  <organization>Independent</organization>
  <address>
    <postal>
      <street>2386 Panoramic Circle</street>
      <city>Apopka</city>
      <region>FL</region>
      <code>32703</code>
      <country>US</country>
    </postal>
    <phone>+1-508-333-2270</phone>
    <email>d3e3e3@gmail.com</email>
  </address>
</author>

<date year="2025" month="11" day="15"/>

  <!-- Meta-data Declarations -->

  <area/>
<workgroup>DNSOP</workgroup>
    <!-- WG name at the upperleft corner of the doc, IETF is fine for
       individual submissions.  If this element is not present, the
       default is "Network Working Group", which is used by the RFC
       Editor as a nod to the history of the IETF. -->

  <abstract>
    <t>This document specifies Internet Assigned Numbers Authority
    (IANA) parameter assignment considerations for the allocation of
    Domain Name System (DNS) resource record types, CLASSes, operation
    codes, error codes, DNS protocol message header bits, and AFSDB
    resource record subtypes.  It obsoletes RFC 6895 and updates RFCs
    1183, 2845, 2930, and 3597.</t>
  </abstract>
  
</front>

<!-- ***** MIDDLE MATTER ***** -->

<middle>

  
    <section anchor="Introduction">  <!-- 1. -->
      <name>Introduction</name>
      
<t>The Domain Name System (DNS) provides replicated distributed secure
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 <xref
target="RFC1034"/>, <xref target="RFC1035"/>, <xref
target="RFC2136"/>, <xref target="RFC2181"/>, and <xref
target="RFC4033"/> is assumed.</t>

<t>This document provides, either directly or by reference, the
general IANA parameter assignment considerations that apply across DNS
query and response headers and all RRs.  There may be additional IANA
considerations that apply to only a particular RRTYPE or
query/response OpCode.  See the specific RFC defining that RRTYPE or
query/response OpCode for such considerations if they have been
defined, except for AFSDB RR considerations <xref target="RFC1183"/>,
which are included herein.  This RFC obsoletes <xref
target="RFC6895"/> and updates RFCs <xref target="RFC1183"/>, <xref
target="RFC2845"/>, <xref target="RFC2930"/>, and <xref
target="RFC3597"/>.</t>

<t>IANA currently maintains a web page of DNS parameters available
from &lt;http://www.iana.org&gt;.</t>
      
  <section anchor="Terminology">  <!-- 1.1 -->
    <name>Terminology</name>

<t>"Standards Action", "IETF Review", "Specification Required", and
"Private Use" are as defined in <xref target="RFC5226"/>.</t>

      </section>
    </section>

    <section>  <!-- 2. -->
      <name>DNS Query/Response Headers</name>

<t>The header for DNS queries and responses contains field/bits in the
following diagram taken from <xref target="RFC2136"/>:</t>

<figure>
  <artwork align="center">
                               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                    |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
  </artwork>
</figure>

<t>The ID field identifies the query and is echoed in the response so
they can be matched.</t>

<t>The QR bit indicates whether the header is for a query or a
response.</t>

<t>The AA, TC, RD, RA, and CD bits are each theoretically meaningful
only in queries 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 <xref
target="RFC6840"/>).  Only the RD and CD bits are expected to be
copied from the query to the response; however, some DNS
implementations copy all the query header as the initial value of the
response header.  Thus, any attempt to use a "query" bit with a
different meaning in a response or to define a query meaning for a
"response" bit may be dangerous, given the existing implementation.
Meanings for these bits may only be assigned by a Standards
Action.</t>

<t>The unsigned integer fields query 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 <xref target="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.</t>

    <section>  <!-- 2.1 -->
      <name>One Spare Bit?</name>

<t>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.</t>

<t>Assigning a meaning to the Z bit requires a Standards Action.</t>

    </section>
    <section>  <!-- 2.2 -->
      <name>OpCode Assignments</name>

<t>Currently, DNS OpCodes are assigned as follows:</t>

<table>
  <thead>
    <tr><th>OpCode</th><th>Name</th><th>Reference</th></tr>
  </thead>
  <tbody>
    <tr><td>0</td><td>Query</td><td><xref target="RFC1035"/></td></tr>
    <tr><td>1</td><td>IQuery (Inverse Query,
        OBSOLETE)</td><td><xref target="RFC3425"/></td></tr>
    <tr><td>2</td><td>Status</td><td><xref target="RFC1035"/></td></tr>
    <tr><td>3</td><td>Unassigned</td><td></td></tr>
    <tr><td>4</td><td>Notify</td><td> <xref target="RFC1996"/></td></tr>
    <tr><td>5</td><td>Update</td><td><xref target="RFC2136"/></td></tr>
    <tr><td>6-15</td><td>Unassigned</td><td></td></tr>
  </tbody>
</table>

<t>Although the Status OpCode is reserved in <xref target="RFC1035"/>,
its behavior has not been specified.  New OpCode assignments require a
Standards Action with early allocation permitted as specified in <xref
target="RFC4020"/>.</t>

</section>

<section>  <!-- 2.3 -->
  <name>RCODE Assignment</name>

<t>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 <xref target="RFC2845"/>, TKEY RRs <xref target="RFC2930"/>,
and extended by OPT RRs <xref target="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 16-bit field designated in
their RFCs as the "Error" field.</t>

<t>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 <xref target="RFC2845"/> and <xref target="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.</t>

<table>
  <thead>
    <tr><th>RCODE</th><th>Name</th><th>Description</th><th>Reference</th></tr>
    <tr><td colspan="2">Decimal<br/>Hexadecimal</td><td
    colspan="2"></td></tr>
  </thead>
  <tbody>
    <tr><td> 0</td><td>NoError </td><td> No Error </td><td><xref
    target="RFC1035"/></td></tr>
    
    <tr><td> 1</td><td>FormErr </td><td> Format Error</td><td><xref
    target="RFC1035"/></td></tr>
    
    <tr><td> 2</td><td>ServFail </td><td> Server Failure</td><td><xref
    target="RFC1035"/></td></tr>
    
    <tr><td> 3</td><td>NXDomain </td><td> Non-Existent
    Domain</td><td><xref target="RFC1035"/></td></tr>
    
    <tr><td> 4</td><td>NotImp </td><td> Not Implemented</td><td><xref
    target="RFC1035"/></td></tr>
    
    <tr><td> 5</td><td>Refused </td><td> Query Refused</td><td><xref
    target="RFC1035"/></td></tr>
    
    <tr><td> 6</td><td>YXDomain </td><td> Name Exists when it should
    not</td><td><xref target="RFC2136"/></td></tr>
    
    <tr><td> 7</td><td>YXRRSet </td><td> RR Set Exists when it should
    not </td><td><xref target="RFC2136"/></td></tr>
    
    <tr><td> 8</td><td>NXRRSet </td><td> RR Set that should exist does
    not </td><td><xref target="RFC2136"/></td></tr>
    
    <tr><td> 9</td><td>NotAuth </td><td> Server Not Authoritative for
    zone </td><td><xref target="RFC2136"/></td></tr>
    
    <tr><td> 9</td><td>NotAuth </td><td> Not Authorized</td><td><xref
    target="RFC2845"/></td></tr>
    
    <tr><td>10</td><td>NotZone </td><td> Name not contained in
    zone</td><td><xref target="RFC2136"/></td></tr>

    <tr><td colspan="2">11 - 15<br/>0xB - 0xF</td><td colspan="2">
    Unassigned </td></tr>

    <tr><td>16</td><td>BADVERS </td><td> Bad OPT Version</td><td><xref
    target="RFC6891"/></td></tr>
    
    <tr><td>16</td><td>BADSIG</td><td>TSIG Signature
    Failure</td><td><xref target="RFC2845"/></td></tr>
    
    <tr><td>17</td><td>BADKEY</td><td>Key not recognized</td><td><xref
    target="RFC2845"/></td></tr>
    
    <tr><td>18</td><td>BADTIME </td><td> Signature out of time
    window</td><td><xref target="RFC2845"/></td></tr>
    
    <tr><td>19</td><td>BADMODE </td><td> Bad TKEY Mode</td><td><xref
    target="RFC2930"/></td></tr>
    
    <tr><td>20</td><td>BADNAME </td><td> Duplicate key
    name</td><td><xref target="RFC2930"/></td></tr>
    
    <tr><td>21</td><td>BADALG</td><td>Algorithm not
    supported</td><td><xref target="RFC2930"/></td></tr>
    
    <tr><td>22</td><td>BADTRUNC </td><td> Bad Truncation</td><td><xref
    target="RFC4635"/></td></tr>

    <tr><td colspan="2">23 - 3,840<br/>0x0017 - 0x0F00</td><td
    colspan="2"> Unassigned </td></tr>

    <tr><td colspan="2">3,841 - 4,095<br/>0x0F01 - 0x0FFF</td><td
    colspan="2"> Reserved for Private Use </td></tr>

    <tr><td colspan="2">4,096 - 65,534<br/>0x1000 - 0xFFFE</td><td
    colspan="2"> Unassigned </td></tr>

    <tr><td colspan="2">65,535<br/>0xFFFF</td><td colspan="2"> Reserved;
    can only be allocated by Standards Action. </td></tr>
  </tbody>
</table>
                        
  <blockquote>Note on error number 9 (NotAuth): This error number means
  either "Not Authoritative" <xref target="RFC2136"/> or "Not
  Authorized" <xref target="RFC2845"/>.  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".</blockquote>

<t>Since it is important that RCODEs be understood for
interoperability, assignment of a new RCODE in the ranges listed above
as "Unassigned" requires an IETF Review.</t>

  </section>
</section>

<section>  <!-- 3. -->
  <name>DNS Resource Records</name>

<t>All RRs have the same top-level format, shown in the figure below
taken from <xref target="RFC1035"/>.</t>
<figure>
  <artwork align="center">
                                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                      /
/                                               /
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
  </artwork>
</figure>

<t>NAME is an owner name, i.e., the name of the node to which this
resource record pertains.  NAMEs are specific to a CLASS as described
in Section 3.2.  NAMEs consist of an ordered sequence of one or more
labels, each of which has a label type <xref target="RFC1035"/> <xref
target="RFC6891"/>.</t>

<t>TYPE is a 2-octet unsigned integer containing one of the RRTYPE
codes.  See Section 3.1.</t>

<t>CLASS is a 2-octet unsigned integer containing one of the RR CLASS
codes.  See Section 3.2.</t>

<t>TTL is a 4-octet (32-bit) unsigned integer that specifies, for data
TYPEs, the number of seconds that the resource record may be cached
before the source of the information should again be consulted.  Zero
is interpreted to mean that the RR can only be used for the
transaction in progress.</t>

<t>RDLENGTH is an unsigned 16-bit integer that specifies the length in
octets of the RDATA field.</t>

<t>RDATA is a variable-length string of octets that constitutes the
resource.  The format of this information varies according to the TYPE
and, in some cases, the CLASS of the resource record.</t>

<section>  <!-- 3.1 -->
  <name>RRTYPE IANA Considerations</name>

<t>There are three subcategories of RRTYPE numbers: data TYPEs,
QTYPEs, and Meta-TYPEs.</t>

<t>Data TYPEs are the means of storing data.  QTYPES can only be used
in queries.  Meta-TYPEs designate transient data associated with a
particular DNS message and, in some cases, can also be used in
queries.  Thus far, data TYPEs have been assigned from 1 upward, plus
the block from 100 through 103, and from 32,768 upward, 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.</t>

<t>There are currently three Meta-TYPEs assigned: OPT <xref
target="RFC6891"/>, TSIG <xref target="RFC2845"/>, and TKEY <xref
target="RFC2930"/>.  There are currently five QTYPEs assigned: *
(ALL/ANY), MAILA, MAILB, AXFR, and IXFR.</t><t>Allocated 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
<xref target="RFC3597"/> cannot be assigned as new RRTYPE mnemonics.</t>

<artwork align="center">
[A-Z][A-Z0-9\-]*[A-Z0-9]
        but not
   (TYPE|CLASS)[0-9]*
</artwork>

<t>Considerations for the allocation of new RRTYPEs are as follows:</t>

<table>
  <thead>
    <tr><th>Decimal<br/>Hexadecimal</th><th>Assignment Policy</th></tr>
  </thead>
  <tbody>
    <tr><td>0<br/>0x0000</td><td><t>RRTYPE zero is used as a special
    indicator for the SIG(0) RR <xref target="RFC2931"/> <xref
    target="RFC4034"/> and in other circumstances and must never be
    allocated for ordinary use.</t></td></tr>

    <tr><td>1 - 127<br/>0x0001 - 0x007F</td><td><t>Remaining RRTYPEs in
    this range are assigned for data TYPEs by the DNS RRTYPE
    Allocation Policy as specified in Section 3.1.1.</t></td></tr>

    <tr><td>128 - 255<br/>0x0080 - 0x00FF</td><td><t>Remaining RRTYPEs
    in this range are assigned for Q and Meta-TYPEs by the DNS RRTYPE
    Allocation Policy as specified in Section 3.1.1.</t></td></tr>

    <tr><td>256 - 61,439<br/>0x0100 - 0xEFFF</td><td><t>Remaining
    RRTYPEs in this range are assigned for data RRTYPEs by the DNS
    RRTYPE Allocation Policy as specified in Section 3.1.1.  (32,768
    and 32,769 (0x8000 and 0x8001) have been assigned.)</t></td></tr>

    <tr><td>61,440 - 65,279<br/>0xF000 - 0xFEFF</td><td><t>Reserved for
    future use.  IETF Review required to define use</t></td></tr>

    <tr><td>65,280 - 65,534<br/>0xFF00 - 0xFFFE</td><td><t>Reserved for
    Private Use.</t></td></tr>

    <tr><td>65,535<br/>0xFFFF</td><td><t>Reserved (Standards Action)
    </t></td></tr>
  </tbody>
</table>

    <section>  <!-- 3.1.1 -->
      <name>DNS RRTYPE Allocation Policy</name>

<t>Parameter values specified in Section 3.1 above, as assigned based
on DNS RRTYPE Allocation 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.</t>

<t>RRTYPEs that do not meet the requirements below may nonetheless be
allocated by a Standards Action with early allocation permitted as
specified in <xref target="RFC4020"/>.</t>

<ol>
  <li>
    <t>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.</t>

    <t>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.</t>
  </li>

  <li>
    <t>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 <xref target="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.</t>

    <t>Note that such RRs may include additional section processing,
    provided such processing is optional.</t>
  </li>
</ol>

<t>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.</t>

<t>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.</t>

</section>
<section>  <!-- 3.1.2 -->
  <name>DNS RRTYPE Expert Guidelines</name>

<t>The Designated Expert should normally be lenient, preferring to
approve most requests.  However, the Expert should usually reject any
RRTYPE allocation request that meets one or more of the following
criteria:</t>

<ol>
  <li>The request was documented in a manner that was not sufficiently
  clear or complete to evaluate or implement.  (Additional
  documentation can be provided during the Expert Review period.)
  </li>
  <li>The proposed RRTYPE or RRTYPEs affect DNS processing and do not
  meet the criteria in point 2 of Section 3.1.1 above.
  </li>
  <li>Application use as documented makes incorrect assumptions about
  DNS protocol behavior, such as wildcards, CNAME, DNAME, etc.
  </li>
  <li>An excessive number of RRTYPE values is being requested when
  the purpose could be met with a smaller number of values or with
  Private Use values.
  </li>
</ol>

</section>
<section>  <!-- 3.1.3 -->
  <name>Special Note on the OPT RR</name>

<t>The OPT (OPTion) RR (RRTYPE 41) and its IANA considerations are
specified in <xref target="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.</t>

</section>
<section>  <!-- 3.1.4 -->
  <name>The AFSDB RR Subtype Field</name>

<t>The AFSDB RR <xref target="RFC1183"/> is a CLASS-insensitive RR
that has the same RDATA field structure as the MX RR <xref
target="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 <xref target="RFC5864"/>.  This subtype registry is hereby closed,
and allocation of new subtypes is no longer permitted.</t>

<table>
  <thead>
    <tr><th>Decimal<br/>Hexadecimal</th><th>Assignment Policy</th></tr>
  </thead>
  <tbody>
    <tr><td>0<br/>0x0000</td><td><t>Reserved; registry closed</t></td></tr>

    <tr><td>1<br/>0x0001</td><td><t>AFS v3.0 Location Service <xref
    target="RFC1183"/></t></td></tr>

    <tr><td>2<br/>0x0002</td><td><t>DCE/NCA root cell directory node
    <xref target="RFC1183"/></t></td></tr>

    <tr><td>3 - 65,279<br/>0x0003 - 0xFEFF</td><td><t>Not allocated;
    registry closed</t></td></tr>

    <tr><td>65,280 - 65,534<br/>0xFF00 - 0xFFFE</td><td><t>Private
    Use</t></td></tr>

    <tr><td>65,535<br/>0xFFFF</td><td><t>Reserved; registry closed
    </t></td></tr>
  </tbody>
</table>

</section>
</section>
<section>  <!-- 3.2 -->
  <name>RR CLASS IANA Considerations</name>

<t>There are currently two subcategories of DNS CLASSes: normal, data-
containing classes; and QCLASSes that are only meaningful in queries
or updates.</t>

<t>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.</t>

<t>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".</t>

<t>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 <xref target="RFC3597"/> cannot be assigned
as new CLASS mnemonics.</t>

<artwork align="center">
[A-Z][A-Z0-9\-]*[A-Z0-9]
        but not
   (CLASS|TYPE)[0-9]*
</artwork>

<t>The current CLASS assignments and considerations for future
assignments are as follows:</t>

<table>
  <thead>
    <tr><th>Decimal<br/>Hexadecimal</th><th>Assignment Policy</th></tr>
  </thead>
  <tbody>
    <tr><td>0<br/>0x0000</td><td><t>Reserved; assignment requires a
    Standards Action.</t></td></tr>

    <tr><td>1<br/>0x0001</td><td><t>Internet (IN) <xref
    target="RFC1035"/></t></td></tr>

    <tr><td>2<br/>0x0002</td><td><t>Available for assignment by IETF
    Review as a data CLASS.</t></td></tr>

    <tr><td>3<br/>0x0003</td><td><t>Chaos (CH) <xref
    target="Moon1981"/></t></td></tr>

    <tr><td>4<br/>0x0004</td><td><t>Hesiod (HS) <xref
    target="Dyer1987"/></t></td></tr>

    <tr><td>5 - 127<br/>0x0005 - 0x007F</td><td><t>Available for
    assignment by IETF Review for data CLASSes only.</t></td></tr>

    <tr><td>128 - 253<br/>0x0080 - 0x00FD</td><td><t>Available for
    assignment by IETF Review for QCLASSes and Meta-CLASSes
    only.</t></td></tr>

    <tr><td>254<br/>0x00FE</td><td><t>QCLASS NONE <xref
    target="RFC2136"/></t></td></tr>

    <tr><td>255<br/>0x00FF</td><td><t>QCLASS * (ANY) <xref
    target="RFC1035"/></t></td></tr>

    <tr><td>256 - 32,767<br/>0x0100 - 0x7FFF</td><td><t>Available for
    assignment by IETF Review.</t></td></tr>

    <tr><td>32,768 - 57,343<br/>0x8000 - 0xDFFF</td><td><t>Available
    for assignment to data CLASSes only; Specification
    Required.</t></td></tr>

    <tr><td>57,344 - 65,279<br/>0xE000 - 0xFEFF</td><td><t>Available
    for assignment to QCLASSes and Meta-CLASSes only; Specification
    Required.</t></td></tr>

    <tr><td>65,280 - 65,534<br/>0xFF00 - 0xFFFE</td><td><t>Private
    Use</t></td></tr>

    <tr><td>65,535<br/>0xFFFF</td><td><t>Reserved; can only be assigned
    by a Standards Action.</t></td></tr>
  </tbody>
</table>

</section>
<section>  <!-- 3.3 -->
  <name>Label Considerations</name>

<t>DNS NAMEs are sequences of labels <xref target="RFC1035"/>.</t>

<section>  <!-- 3.3.1 -->
  <name>Label Types</name>

<t>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.</t>

<t>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 <xref target="RFC0020"/>.  For retrieval,
Text labels are defined to treat ASCII uppercase and lowercase letter
codes as matching <xref target="RFC4343"/>.  Binary labels are bit
sequences <xref target="RFC2673"/>.  The Binary Label type is Historic
<xref target="RFC6891"/>.</t>

</section>
<section>  <!-- 3.3.2 -->
  <name>Label Contents and Use</name>

<t>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.</t>

<t>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.</t>

<t>A somewhat out-of-date description of name allocation in the IN
CLASS is given in <xref target="RFC1591"/>.  Some information on
reserved top-level domain names is in BCP 32 <xref
target="RFC2606"/>.</t>

    </section>
  </section>
</section>

<section>  <!-- 4. -->
  <name>Security Considerations</name>

<t>This document addresses IANA considerations in the allocation of
general DNS parameters, not security.  See <xref target="RFC4033"/>,
<xref target="RFC4034"/>, and <xref target="RFC4035"/> for secure DNS
considerations.</t>

</section>
<section>  <!-- 5. -->
  <name>IANA Considerations</name>

<t>This document consists entirely of DNS IANA considerations.</t>

<t>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
allocation 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.</t>

</section>
    
  </middle>
  
  <!-- *****BACK MATTER ***** -->

<back>
    <!-- References split into informative and normative -->

  <!-- There are 2 ways to insert reference entries from the citation
       libraries: 1. define an ENTITY at the top, and use "ampersand
       character"RFC2629; here (as shown) 2. simply use a PI "less
       than character"?rfc include="reference.RFC.2119.xml"?> here
       (for I-Ds:
       include="reference.I-D.narten-iana-considerations-rfc2434bis.xml")

  Both are cited textually in the same manner: by using xref elements.
  If you use the PI option, xml2rfc will, by default, try to find
  included files in the same directory as the including file. You can
  also define the XML_LIBRARY environment variable with a value
  containing a set of directories to search.  These can be either in
  the local filing system or remote ones accessed by http
  (http://domain/dir/... ).-->

  <references>
    <name>References</name>
    
    <references>
      <name>Normative References</name>

<xi:include
    href="https://www.rfc-editor.org/refs/bibxml/reference.RFC.0020.xml"/>
<xi:include
    href="https://www.rfc-editor.org/refs/bibxml/reference.RFC.1034.xml"/>
<xi:include
    href="https://www.rfc-editor.org/refs/bibxml/reference.RFC.1035.xml"/>
<xi:include
    href="https://www.rfc-editor.org/refs/bibxml/reference.RFC.1996.xml"/>
<xi:include
    href="https://www.rfc-editor.org/refs/bibxml/reference.RFC.2136.xml"/>
<xi:include
    href="https://www.rfc-editor.org/refs/bibxml/reference.RFC.2181.xml"/>
<xi:include
    href="https://www.rfc-editor.org/refs/bibxml/reference.RFC.2845.xml"/>
<xi:include
    href="https://www.rfc-editor.org/refs/bibxml/reference.RFC.2930.xml"/>
<xi:include
    href="https://www.rfc-editor.org/refs/bibxml/reference.RFC.3425.xml"/>
<xi:include
    href="https://www.rfc-editor.org/refs/bibxml/reference.RFC.3597.xml"/>
<xi:include
    href="https://www.rfc-editor.org/refs/bibxml/reference.RFC.4020.xml"/>
<xi:include
    href="https://www.rfc-editor.org/refs/bibxml/reference.RFC.4033.xml"/>
<xi:include
    href="https://www.rfc-editor.org/refs/bibxml/reference.RFC.4034.xml"/>
<xi:include
    href="https://www.rfc-editor.org/refs/bibxml/reference.RFC.4035.xml"/>
<xi:include
    href="https://www.rfc-editor.org/refs/bibxml/reference.RFC.4635.xml"/>
<xi:include
    href="https://www.rfc-editor.org/refs/bibxml/reference.RFC.5226.xml"/>
<xi:include
    href="https://www.rfc-editor.org/refs/bibxml/reference.RFC.6840.xml"/>
<xi:include
    href="https://www.rfc-editor.org/refs/bibxml/reference.RFC.6891.xml"/>

    </references>
    
    <references>
      <name>Informative References</name>

<reference anchor="Dyer1987">
  <front>
    <title>Hesiod</title>
    <author initials="S." surname="Dyer" fullname="S. Dyer"/>
    <author initials="F." surname="Hsu" fullname="F. Hsu"/>
    <date year="1987" month="April"/>
  </front>
  <seriesInfo name="Project Athena Technical Plan" value="Name Service"/>
</reference>

<reference anchor="Moon1981">
  <front>
    <title>Chaosnet</title>
    <author initials="D." surname="Moon" fullname="D. Moon">
      <organization/>
    </author>
    <date year="1981" month="June"/>
  </front>
  <seriesInfo name="Massachusetts Institute of Technology,
      Artificial Intelligence Laboratory, A. I. Memo" value="628"/>
</reference>

<xi:include
    href="https://www.rfc-editor.org/refs/bibxml/reference.RFC.1183.xml"/>
<xi:include
    href="https://www.rfc-editor.org/refs/bibxml/reference.RFC.1591.xml"/>
<xi:include
    href="https://www.rfc-editor.org/refs/bibxml/reference.RFC.2606.xml"/>
<xi:include
    href="https://www.rfc-editor.org/refs/bibxml/reference.RFC.2673.xml"/>
<xi:include
    href="https://www.rfc-editor.org/refs/bibxml/reference.RFC.2931.xml"/>
<xi:include
    href="https://www.rfc-editor.org/refs/bibxml/reference.RFC.4343.xml"/>
<xi:include
    href="https://www.rfc-editor.org/refs/bibxml/reference.RFC.5864.xml"/>
<xi:include
    href="https://www.rfc-editor.org/refs/bibxml/reference.RFC.6895.xml"/>

    </references>
  </references>

<section>  <!-- A -->
  <name>RRTYPE Allocation Template</name>

<!-- Evey reasonable effort should be made to keep the following
     template on one page. -->
<artwork>                  DNS RRTYPE PARAMETER ALLOCATION 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
      allocation 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:
</artwork>

</section>
<section>  <!-- B -->
  <name>Changes from RFC 6895</name>

   <t>TBD</t>

</section>

<section anchor="Acknowledgements" numbered="false">
  <name>Acknowledgements</name>

  <t>TBD</t>
  
  <t><xref target="RFC6895"/> acknowledgements: Alfred Hoenes'
  contributions are gratefully acknowledged as are those by Mark
  Andrews, Dick Franks, and Michael Sheldon.</t>
      
</section>

</back>
  
</rfc>
