RFC 6895
Domain Name System (DNS) IANA Considerations
RFC 6895: Domain Name System (DNS) IANA Considerations π
Okay bestie, let's start with the vibes check β¨. This is RFC 6895, a Best Current Practice (it's BCP 42 π ), written by D. Eastlake 3rd from Huawei in April 2013. It's published in the IETF stream, its ISSN is 2070-1721, and it's giving official policy document energy π. It obsoletes RFC 6195 and updates RFCs 1183, 2845, 2930, and 3597, so it's a whole glow-up for those older docs π¦.
Abstract πΈ
Okay so the abstract says this doc covers the IANA parameter assignment considerations for a bunch of DNS stuff: resource record types, CLASSes, operation codes, error codes, DNS protocol message header bits, and AFSDB resource record subtypes π§. It obsoletes RFC 6195 and updates RFCs 1183, 2845, 2930, and 3597. Main character energy ngl π.
Status of This Memo π₯
This memo documents an Internet Best Current Practice π.
This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community, it got public review, and the Internet Engineering Steering Group (IESG) approved it for publication π«Ά. If you want more on BCPs, check Section 2 of RFC 5741.
Info about the current status of this doc, any errata, and how to give feedback is at http://www.rfc-editor.org/info/rfc6895 β¨.
Copyright Notice π
Copyright (c) 2013 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 (http://trustee.ietf.org/license-info) as they stand on the publication date. Please actually read these, because they explain your rights and restrictions for this doc π. Code Components pulled from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions, and they come without warranty as described in the Simplified BSD License π.
Table of Contents π¦
1. Introduction ....................................................2
1.1. Terminology ................................................3
2. DNS Query/Response Headers ......................................3
2.1. One Spare Bit? .............................................4
2.2. OpCode Assignment ..........................................4
2.3. RCODE Assignment ...........................................4
3. DNS Resource Records ............................................6
3.1. RRTYPE IANA Considerations .................................7
3.1.1. DNS RRTYPE Allocation Policy ........................8
3.1.2. DNS RRTYPE Expert Guidelines .......................10
3.1.3. Special Note on the OPT RR .........................10
3.1.4. The AFSDB RR Subtype Field .........................10
3.2. RR CLASS IANA Considerations ..............................11
3.3. Label Considerations ......................................13
3.3.1. Label Types ........................................13
3.3.2. Label Contents and Use .............................13
4. Security Considerations ........................................14
5. IANA Considerations ............................................14
Appendix A. RRTYPE Allocation Template ............................15
Appendix B. Changes from RFC 6195 .................................16
Normative References ..............................................17
Informative References ............................................18
Acknowledgements ..................................................19
1. Introduction β¨
The Domain Name System (DNS) is a replicated, distributed, secure, hierarchical database system π. It stores "resource records" (RRs) under domain names, and its data is organised into CLASSes and zones that can be maintained independently π . You're expected to already know [RFC1034], [RFC1035], [RFC2136], [RFC2181], and [RFC4033] before reading this, so no skipping π.
This document covers the general IANA parameter assignment considerations that apply across DNS query and response headers and all RRs, either directly or by pointing at other docs π. There may be extra IANA considerations for just one particular RRTYPE or query/response OpCode. For those, check the specific RFC that defines that RRTYPE or OpCode, if it has any. The exception is AFSDB RR considerations [RFC1183], which are included right here π§. This RFC obsoletes [RFC6195], but the only big changes are to the RRTYPE IANA allocation process (streamlined, with clearer expected behaviour for everyone involved) and closing the AFSDB subtype registry π.
IANA keeps a web page of DNS parameters at http://www.iana.org πΈ.
1.1. Terminology π₯
"Standards Action", "IETF Review", "Specification Required", and "Private Use" all mean what they mean in [RFC5226] π.
2. DNS Query/Response Headers π¦
The header for DNS queries and responses has the fields and bits in the diagram below, which is taken from [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 query and gets echoed back in the response so they can be matched π.
The QR bit tells you whether the header is for a query or a response β¨.
The AA, TC, RD, RA, and CD bits are each only theoretically meaningful in queries or only in responses, depending on the bit π. The AD bit only meant something in responses, but it's 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 query to the response. Some DNS implementations copy the entire query header as the starting value of the response header though, so any attempt to use a "query" bit with a different meaning in a response, or to give a "response" bit a query meaning, may be dangerous given the existing implementations π. Meanings for these bits may only be assigned by a Standards Action π₯.
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 every OpCode except Update [RFC2136] π. These fields have the same structure and data type for Update, but for Update they count the zone (ZOCOUNT), prerequisite (PRCOUNT), update (UPCOUNT), and additional information (ARCOUNT) sections instead π§.
2.1. One Spare Bit? πΈ
Okay, there were ancient DNS implementations where the Z bit being on in a query meant only a response from the primary server for a zone was acceptable π. Current DNS implementations are believed to ignore this bit π .
Giving the Z bit a meaning requires a Standards Action π.
2.2. OpCode Assignment π
Right now, DNS OpCodes are assigned like this π¦:
OpCode Name Reference
0 Query [RFC1035]
1 IQuery (Inverse Query, OBSOLETE) [RFC3425]
2 Status [RFC1035]
3 Unassigned
4 Notify [RFC1996]
5 Update [RFC2136]
6-15 Unassigned
The Status OpCode is reserved in [RFC1035], but its behaviour has never actually been specified π. New OpCode assignments need a Standards Action, and early allocation is permitted as specified in [RFC4020] π.
2.3. RCODE Assignment π
okay so looking at the header, it seems like RCODE only gets four bits π that's lowkey tiny. but RCODEs don't only show up at the top level of a DNS response. they also live inside TSIG RRs [RFC2845], TKEY RRs [RFC2930], and get extended by OPT RRs [RFC6891] π. the OPT RR adds 8 bits on top of the 4 header bits, so you get a 12-bit RCODE field. TSIG and TKEY RRs have a 16-bit field that their RFCs call the "Error" field β¨
the error codes in the header and in all these other RR types refer to the same error code space, with two exceptions. error code 16 means something different in the OPT RR than in the TSIG RR (the duplicate was accidental, so no drama π), and error code 9 has variations that get explained after the table. any older RFCs that hint at a different error number space for OPT, TSIG, or TKEY RRs are now superseded by this one unified DNS error number space π (this paragraph is the reason this document updates [RFC2845] and [RFC2930] π¦). apart from error numbers 9 and 16, the same error number must not be assigned for different errors, even if they'd only ever happen in different RR types. here's the table π
RCODE Name Description Reference
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 Query Refused [RFC1035]
6 YXDomain Name Exists when it should not [RFC2136]
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 [RFC2845]
10 NotZone Name not contained in zone [RFC2136]
11 - 15
0xB - 0xF Unassigned
16 BADVERS Bad OPT Version [RFC6891]
16 BADSIG TSIG Signature Failure [RFC2845]
17 BADKEY Key not recognized [RFC2845]
18 BADTIME Signature out of time window [RFC2845]
19 BADMODE Bad TKEY Mode [RFC2930]
20 BADNAME Duplicate key name [RFC2930]
21 BADALG Algorithm not supported [RFC2930]
22 BADTRUNC Bad Truncation [RFC4635]
23 - 3,840
0x0017 - 0x0F00 Unassigned
3,841 - 4,095
0x0F01 - 0x0FFF Reserved for Private Use
4,096 - 65,534
0x1000 - 0xFFFE Unassigned
65,535
0xFFFF Reserved; can only be allocated by Standards
Action.
π§ note on error number 9 (NotAuth): this number can mean either "Not Authoritative" [RFC2136] or "Not Authorized" [RFC2845]. if 9 shows up as the RCODE in the header of a DNS response without a TSIG RR, or with a TSIG RR whose error field is zero, it means "Not Authoritative". if 9 shows up as the RCODE in the header of a DNS response that includes a TSIG RR with a non-zero error field, it means "Not Authorized" π
since RCODEs have to be understood the same way everywhere for interoperability to work, assigning a new RCODE from one of the "Unassigned" ranges above requires an IETF Review π₯
3. DNS Resource Records π§
every RR has the same top-level format, which is 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 /
/ /
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
NAME is the owner name, meaning the name of the node this resource record is about π¦ NAMEs are specific to a CLASS, as described in Section 3.2. a NAME is an ordered sequence of one or more labels, and each label has a label type [RFC1035] [RFC6891] β¨
TYPE is a 2-octet unsigned integer holding one of the RRTYPE codes. see Section 3.1 π
CLASS is a 2-octet unsigned integer holding one of the RR CLASS codes. see Section 3.2 πΈ
TTL is a 4-octet (32-bit) unsigned integer. for data TYPEs, it's the number of seconds the resource record may be cached before the source of the information should be consulted again. zero means the RR can only be used for the transaction in progress β³
RDLENGTH is an unsigned 16-bit integer that gives the length in octets of the RDATA field π
RDATA is a variable-length string of octets that makes up the resource. its format depends on the TYPE and, in some cases, the CLASS of the resource record π
3.1. RRTYPE IANA Considerations π
there are three subcategories of RRTYPE numbers: data TYPEs, QTYPEs, and Meta-TYPEs π§
data TYPEs are how data gets stored π¦ QTYPEs can only be used in queries. Meta-TYPEs designate transient data tied to one particular DNS message and, in some cases, can also be used in queries. so far, data TYPEs have been assigned from 1 upward, plus the block from 100 through 103, and from 32,768 upward. Q and Meta-TYPEs have been assigned from 255 downward, except for the OPT Meta-RR, which is assigned TYPE 41 π some DNS implementations made caching decisions based on the top bit of the bottom byte of the RRTYPE π
there are currently three Meta-TYPEs assigned: OPT [RFC6891], TSIG [RFC2845], and TKEY [RFC2930]. there are currently five QTYPEs assigned: * (ALL/ANY), MAILA, MAILB, AXFR, and IXFR π
allocated RRTYPEs have mnemonics that must be completely disjoint from the mnemonics used for CLASSes, and they must match the regular expression below. on top of that, the generic CLASS and RRTYPE names specified in Section 5 of [RFC3597] cannot be assigned as new RRTYPE mnemonics π«
[A-Z][A-Z0-9\-]*[A-Z0-9]
but not
(TYPE|CLASS)[0-9]*
here's how new RRTYPEs get considered π§
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 and must never be allocated for
ordinary use.
1 - 127
0x0001 - 0x007F Remaining RRTYPEs in this range are assigned for
data TYPEs by the DNS RRTYPE Allocation Policy as
specified in Section 3.1.1.
128 - 255
0x0080 - 0x00FF 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.
256 - 61,439
0x0100 - 0xEFFF 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.)
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)
3.1.1. DNS RRTYPE Allocation Policy π
parameter values from Section 3.1 above, when assigned under the DNS RRTYPE Allocation Policy, are allocated by Expert Review if they meet the two requirements listed below π there will be a small pool of Experts appointed by the IESG. each application gets judged by an Expert selected by IANA. if the selected Expert is unavailable or says they have a conflict of interest, IANA may pick another Expert from the pool. some guidelines for Experts are in Section 3.1.2 β¨
RRTYPEs that don't meet the requirements below may still be allocated by a Standards Action, with early allocation permitted as specified in [RFC4020] πΈ
- a complete template as specified in Appendix A has been posted to the
dns-rrtype-applications@ietf.orgmailing list and received by the Expert.
note that posting 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 running it past the community and considering the responses. that way you lower the chance of an early rejection and the need to modify and resubmit π
- the RR that the RRTYPE code is being requested for 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 that processing is optional π§
after the applicant formally submits their application to IANA by sending the completed template from Appendix A to the dns-rrtype-applications@ietf.org mailing list, IANA appoints an Expert and sends them the completed template, copying the applicant. no more than two weeks after receiving the application, the Expert shall explicitly approve or reject it, informing IANA, the applicant, and the dnsext@ietf.org mailing list ποΈ a rejection should include the reason and may include suggestions for improvement. the Expert should consult other technical experts and the dnsext@ietf.org mailing list as needed. if the Expert doesn't approve the application within this period, it's considered rejected. IANA should report non-responsive Experts to the IESG π
IANA shall maintain a public archive of approved templates. if the description of the RRTYPE being applied for is referenced by URL, a copy of the document it points to should be included in the archive π
3.1.2. DNS RRTYPE Expert Guidelines π
okay so the Designated Expert should normally be lenient πΈ like, their default vibe is saying yes to most requests! π BUT the Expert should usually reject any RRTYPE allocation request that hits one or more of these red flags:
- 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.) π
- The proposed RRTYPE or RRTYPEs affect DNS processing and do not meet the criteria in point 2 of Section 3.1.1 above. π ββοΈ
- Application use as documented makes incorrect assumptions about DNS protocol behavior, such as wildcards, CNAME, DNAME, etc. π
- 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. π§
3.1.3. Special Note on the OPT RR β¨
the OPT (OPTion) RR (RRTYPE 41) and its IANA considerations are specified in [RFC6891]. π¦ its main job is to stretch the effective field size of a bunch of DNS fields, including RCODE, label type, OpCode, flag bits, and RDATA size. π₯ for resolvers and servers that recognize it, it extends the RCODE field from 4 to 12 bits. π
3.1.4. The AFSDB RR Subtype Field π
the AFSDB RR [RFC1183] is a CLASS-insensitive RR, and it has the same RDATA field structure as the MX RR [RFC1035]. the difference is that the 16-bit unsigned integer field at the beginning of the RDATA gets read as a subtype, as shown below. π use of the AFSDB RR to locate AFS cell database servers was deprecated by [RFC5864], and this subtype registry is hereby closed. π no new subtypes are allowed, period. π
Decimal
Hexadecimal Assignment Policy
0
0x0000 Reserved; registry closed
1
0x0001 AFS v3.0 Location Service [RFC1183]
2
0x0002 DCE/NCA root cell directory node [RFC1183]
3 - 65,279
0x0003 - 0xFEFF Not allocated; registry closed
65,280 - 65,534
0xFF00 - 0xFFFE Private Use
65,535
0xFFFF Reserved; registry closed
3.2. RR CLASS IANA Considerations π¦
okay so there are currently two subcategories of DNS CLASSes: normal, data-containing classes, and QCLASSes, which only mean something in queries or updates. π
DNS CLASSes have been barely used, but they're still another dimension of the DNS distributed database. π the namespace or root servers for one data CLASS have no necessary relationship to those for another data CLASS. the same DNS NAME can have totally different meanings in different CLASSes. π€― the label types are the same, and the null label is only usable as root in every CLASS. as global networking and DNS evolved, the IN, or Internet, CLASS took over DNS use entirely. π
there has not been a requirement for "Meta-CLASSes" yet. π§ that would be a CLASS for designating transient data tied to a particular DNS message, which might be usable in queries. still, it's possible 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 they must match the regular expression below. π on top of that, 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]*
here are the current CLASS assignments and the considerations for future ones: π
Decimal
Hexadecimal Assignment / Policy, Reference
0
0x0000 Reserved; assignment requires a Standards Action.
1
0x0001 Internet (IN) [RFC1035]
2
0x0002 Available for assignment by IETF Review as a data
CLASS.
3
0x0003 Chaos (CH) [Moon1981]
4
0x0004 Hesiod (HS) [Dyer1987]
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 QCLASS NONE [RFC2136]
255
0x00FF QCLASS * (ANY) [RFC1035]
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.
3.3. Label Considerations π·οΈ
DNS NAMEs are sequences of labels [RFC1035]. simple, but it's the foundation of everything! β¨
3.3.1. Label Types πΈ
right now 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 they exist to shorten the wire encoding of NAMEs. π¦
the two existing data label types are sometimes called Text and Binary. π Text labels can actually include any octet value, zero-value octets too, but most current uses only involve printable ASCII characters [US-ASCII]. for retrieval, Text labels are defined to treat ASCII uppercase and lowercase letter codes as matching [RFC4343]. π Binary labels are bit sequences [RFC2673]. and the Binary Label type is Historic [RFC6891]. π°οΈ
3.3.2. Label Contents and Use π§
the last label in each NAME is "ROOT", which is the zero-length label. π³ by definition, the null or ROOT label can't 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. π so the IN, or Internet, CLASS is the only DNS CLASS in global use on the Internet at this time. π
a somewhat out-of-date description of name allocation in the IN CLASS is in [RFC1591]. π some info on reserved top-level domain names is in BCP 32 [RFC2606]. π
4. Security Considerations π
this document addresses IANA considerations in the allocation of general DNS parameters, not security. π for secure DNS considerations, check out [RFC4033], [RFC4034], and [RFC4035]. π‘οΈ
5. IANA Considerations π
this document is entirely DNS IANA considerations. π
IANA has set up a process for accepting Appendix A templates and picking an Expert from those appointed to review them. π IANA forwards the template to the Expert and copies the applicant. π¨ IANA archives and makes available all approved RRTYPE allocation templates and referred documentation (unless it's already readily available at a stable URI). ποΈ it's the applicant's job 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. π¦
Appendix A. RRTYPE Allocation Template π
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 [RFC3597])?
J. Comments:
Appendix B. Changes from RFC 6195 π
okay, so the description of changes from RFC 5395 to [RFC6195] got dropped ποΈ because those changes already happened and we don't need to redo them. β we did add a description of the changes from [RFC6195] to this document. π
the RRTYPE Expert Review period got cut back to two weeks, and the mandatory dnsext@ietf.org comment period is gone. β±οΈ the workflow description for RRTYPE review and allocation was also updated to match actual practice. π
the AFSDB subtype registry is now closed, and there's an informative reference to [RFC5864] where using the AFSDB RR to locate AFS cell database servers is deprecated. π
IANA archiving of referenced documentation and of the approved RRTYPE application template got clarified. ποΈ
in the RRTYPE application template, question "B" got relabelled as "B.1", and "B.2" was added to ask about the kind of RR. π
Sections 3.1 and 3.2 got new text and an exclusory regular expression that prohibit using a slight generalization of the generic CLASS and RRTYPE names specified in [RFC3597] as mnemonics for new CLASSes and RRTYPEs. π«π¦
"ALL" is now listed in parentheses alongside "ANY" as a meaning for the "*" RRTYPE. β¨
it's now clarified that there is one DNS error number space for headers, OPT extended headers, TSIG RRs, and TKEY RRs. π’ this is considered to update [RFC2845] and [RFC2930]. the overloading of error number 9 as well as 16 got noted too. π
references got updated for revised versions, and a bunch of editorial changes and typo fixes went in. π§Ήπ
Normative References π
Okay bestie, these are the docs this RFC needs you to have read first. No skipping! π
- [RFC1034] Mockapetris, P., "Domain names - concepts and facilities", STD 13, RFC 1034, November 1987.
- [RFC1035] Mockapetris, P., "Domain names - implementation and specification", STD 13, RFC 1035, November 1987.
- [RFC1996] Vixie, P., "A Mechanism for Prompt Notification of Zone Changes (DNS NOTIFY)", RFC 1996, August 1996.
- [RFC2136] Vixie, P., Ed., Thomson, S., Rekhter, Y., and J. Bound, "Dynamic Updates in the Domain Name System (DNS UPDATE)", RFC 2136, April 1997.
- [RFC2181] Elz, R. and R. Bush, "Clarifications to the DNS Specification", RFC 2181, July 1997.
- [RFC2845] Vixie, P., Gudmundsson, O., Eastlake 3rd, D., and B. Wellington, "Secret Key Transaction Authentication for DNS (TSIG)", RFC 2845, May 2000.
- [RFC2930] Eastlake 3rd, D., "Secret Key Establishment for DNS (TKEY RR)", RFC 2930, September 2000.
- [RFC3425] Lawrence, D., "Obsoleting IQUERY", RFC 3425, November 2002.
- [RFC3597] Gustafsson, A., "Handling of Unknown DNS Resource Record (RR) Types", RFC 3597, September 2003.
- [RFC4020] Kompella, K. and A. Zinin, "Early IANA Allocation of Standards Track Code Points", BCP 100, RFC 4020, February 2005.
- [RFC4033] Arends, R., Austein, R., Larson, M., Massey, D., and S. Rose, "DNS Security Introduction and Requirements", RFC 4033, March 2005.
- [RFC4034] Arends, R., Austein, R., Larson, M., Massey, D., and S. Rose, "Resource Records for the DNS Security Extensions", RFC 4034, March 2005.
- [RFC4035] Arends, R., Austein, R., Larson, M., Massey, D., and S. Rose, "Protocol Modifications for the DNS Security Extensions", RFC 4035, March 2005.
- [RFC4635] Eastlake 3rd, D., "HMAC SHA (Hashed Message Authentication Code, Secure Hash Algorithm) TSIG Algorithm Identifiers", RFC 4635, August 2006.
- [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 5226, May 2008.
- [RFC6840] Weiler, S., Ed., and D. Blacka, Ed., "Clarifications and Implementation Notes for DNS Security (DNSSEC)", RFC 6840, February 2013.
- [RFC6891] Damas, J., Graff, M., and Vixie, P., "Extension Mechanisms for DNS (EDNS(0))", STD 75, RFC 6891, April 2013.
- [US-ASCII] American National Standards Institute (formerly United States of America Standards Institute), "USA Code for Information Interchange", ANSI X3.4-1968, 1968.
ANSI X3.4-1968 has been replaced by newer versions with slight modifications, but the 1968 version remains definitive for the Internet. Heads up, this one's a little bit of history π
Informative References π§
These are the extra-credit reads. Super helpful, but not required to keep the vibes going. β¨
- [Dyer1987] Dyer, S., and F. Hsu, "Hesiod", Project Athena Technical Plan - Name Service, April 1987.
- [Moon1981] Moon, D., "Chaosnet", A.I. Memo 628, Massachusetts Institute of Technology Artificial Intelligence Laboratory, June 1981.
- [RFC1183] Everhart, C., Mamakos, L., Ullmann, R., and P. Mockapetris, "New DNS RR Definitions", RFC 1183, October 1990.
- [RFC1591] Postel, J., "Domain Name System Structure and Delegation", RFC 1591, March 1994.
- [RFC2606] Eastlake 3rd, D. and A. Panitz, "Reserved Top Level DNS Names", BCP 32, RFC 2606, June 1999.
- [RFC2673] Crawford, M., "Binary Labels in the Domain Name System", RFC 2673, August 1999.
- [RFC2931] Eastlake 3rd, D., "DNS Request and Transaction Signatures ( SIG(0)s )", RFC 2931, September 2000.
- [RFC4343] Eastlake 3rd, D., "Domain Name System (DNS) Case Insensitivity Clarification", RFC 4343, January 2006.
- [RFC5864] Allbery, R., "DNS SRV Resource Records for AFS", RFC 5864, April 2010.
- [RFC6195] Eastlake 3rd, D., "Domain Name System (DNS) IANA Considerations", RFC 6195, March 2011.
Acknowledgements π
Huge thank-yous to Alfred Hoenes for his contributions, which are gratefully acknowledged, and to Mark Andrews, Dick Franks, and Michael Sheldon, whose contributions are gratefully acknowledged too. Y'all are iconic. π«Ά
Author's Address π¦
Donald E. Eastlake 3rd
Huawei Technologies
155 Beaver Street
Milford, MA 01757
USA
Phone: +1-508-333-2270
EMail: d3e3e3@gmail.com
π¦ where this page comes from
- ietf: rfc6895 2013-04
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms