idnits 2.17.1 draft-ietf-dnsext-iana-dns-01.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** Looks like you're using RFC 2026 boilerplate. This must be updated to follow RFC 3978/3979, as updated by RFC 4748. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- ** The document seems to lack a 1id_guidelines paragraph about Internet-Drafts being working documents. ** The document seems to lack a 1id_guidelines paragraph about 6 months document validity -- however, there's a paragraph with a matching beginning. Boilerplate error? == No 'Intended status' indicated for this document; assuming Proposed Standard Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack separate sections for Informative/Normative References. All references will be assumed normative when checking for downward references. ** There are 3 instances of too long lines in the document, the longest one being 11 characters in excess of 72. Miscellaneous warnings: ---------------------------------------------------------------------------- == The "Author's Address" (or "Authors' Addresses") section title is misspelled. -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (June 2000) is 8715 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) -- Looks like a reference, but probably isn't: '1035' on line 71 -- Looks like a reference, but probably isn't: '2136' on line 71 -- Looks like a reference, but probably isn't: '2181' on line 71 -- Looks like a reference, but probably isn't: '2535' on line 91 -- Looks like a reference, but probably isn't: '2671' on line 233 == Unused Reference: 'RFC 2181' is defined on line 430, but no explicit reference was found in the text == Unused Reference: 'RFC 2672' is defined on line 445, but no explicit reference was found in the text -- Possible downref: Non-RFC (?) normative reference: ref. 'Dyer 1987' -- Possible downref: Non-RFC (?) normative reference: ref. 'Moon 1981' ** Downref: Normative reference to an Informational RFC: RFC 1591 ** Obsolete normative reference: RFC 2434 (Obsoleted by RFC 5226) ** Obsolete normative reference: RFC 2535 (Obsoleted by RFC 4033, RFC 4034, RFC 4035) ** Obsolete normative reference: RFC 2671 (Obsoleted by RFC 6891) ** Obsolete normative reference: RFC 2672 (Obsoleted by RFC 6672) ** Obsolete normative reference: RFC 2673 (Obsoleted by RFC 6891) ** Obsolete normative reference: RFC 2845 (Obsoleted by RFC 8945) -- Possible downref: Non-RFC (?) normative reference: ref. 'US-ASCII' Summary: 12 errors (**), 0 flaws (~~), 4 warnings (==), 10 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 1 INTERNET-DRAFT Donald E. Eastlake 3rd 2 Eric Brunner 3 Bill Manning 4 Expires: December 2000 June 2000 6 Domain Name System (DNS) IANA Considerations 7 ------ ---- ------ ----- ---- -------------- 8 10 Status of This Document 12 Distribution of this draft, which is intended to become a Best 13 Current Practice, is unlimited. Comments should be sent to the DNS 14 Working Group mailing list or to the 15 authors. 17 This document is an Internet-Draft and is in full conformance with 18 all provisions of Section 10 of RFC2026. Internet-Drafts are working 19 documents of the Internet Engineering Task Force (IETF), its areas, 20 and its working groups. Note that other groups may also distribute 21 working documents as Internet-Drafts. 23 Internet-Drafts are draft documents valid for a maximum of six months 24 and may be updated, replaced, or obsoleted by other documents at any 25 time. It is inappropriate to use Internet- Drafts as reference 26 material or to cite them other than as "work in progress." 28 The list of current Internet-Drafts can be accessed at 29 http://www.ietf.org/ietf/1id-abstracts.txt 31 The list of Internet-Draft Shadow Directories can be accessed at 32 http://www.ietf.org/shadow.html. 34 Abstract 36 Internet Assigned Number Authority (IANA) parameter assignment 37 considerations are given for the allocation of Domain Name System 38 (DNS) classes, RR types, operation codes, error codes, etc. 40 Table of Contents 42 Status of This Document....................................1 43 Abstract...................................................1 45 Table of Contents..........................................2 47 1. Introduction............................................3 48 2. DNS Query/Response Headers..............................3 49 2.1 One Spare Bit?.........................................4 50 2.2 Opcode Assignment......................................4 51 2.3 RCODE Assignment.......................................5 52 3. DNS Resource Records....................................6 53 3.1 RR TYPE IANA Considerations............................7 54 3.1.1 Special Note on the OPT RR...........................8 55 3.2 RR CLASS IANA Considerations...........................8 56 3.3 RR NAME Considerations.................................9 57 4. Security Considerations................................10 59 References................................................11 61 Authors Addresses.........................................13 62 Expiration and File Name..................................13 64 1. Introduction 66 The Domain Name System (DNS) provides replicated distributed secure 67 hierarchical databases which hierarchically store "resource records" 68 (RRs) under domain names. 70 This data is structured into CLASSes and zones which can be 71 independently maintained. See [RFC 1034, 1035, 2136, 2181, 2535] 72 familiarity with which is assumed. 74 This document covers, either directly or by reference, general IANA 75 parameter assignment considerations applying across DNS query and 76 response headers and all RRs. There may be additional IANA 77 considerations that apply to only a particular RR type or 78 query/response opcode. See the specific RFC defining that RR type or 79 query/response opcode for such considerations if they have been 80 defined. 82 IANA currently maintains a web page of DNS parameters. See 83 . 85 "IETF Standards Action", "IETF Consensus", "Specification Required", 86 and "Private Use" are as defined in [RFC 2434]. 88 2. DNS Query/Response Headers 90 The header for DNS queries and responses contains field/bits in the 91 following diagram taken from [RFC 2136, 2535]: 93 1 1 1 1 1 1 94 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 95 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ 96 | ID | 97 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ 98 |QR| Opcode |AA|TC|RD|RA| Z|AD|CD| RCODE | 99 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ 100 | QDCOUNT/ZOCOUNT | 101 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ 102 | ANCOUNT/PRCOUNT | 103 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ 104 | NSCOUNT/UPCOUNT | 105 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ 106 | ARCOUNT | 107 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ 109 The ID field identifies the query and is echoed in the response so 110 they can be matched. 112 The QR bit indicates whether the header is for a query or a response. 114 The AA, TC, RD, RA, AD, and CD bits are each theoretically meaningful 115 only in queries or only in responses, depending on the bit. However, 116 many DNS implementations copy the query header as the initial value 117 of the response header without clearing bits. Thus any attempt to 118 use a "query" bit with a different meaning in a response or to define 119 a query meaning for a "response" bit is dangerous given existing 120 implementation. Such meanings may only be assigned by an IETF 121 Standards Action. 123 The unsigned fields query count (QDCOUNT), answer count (ANCOUNT), 124 authority count (NSCOUNT), and additional information count (ARCOUNT) 125 express the number of records in each section for all opcodes except 126 Update. These fields have the same structure and data type for 127 Update but are instead the counts for the zone (ZOCOUNT), 128 prerequisite (PRCOUNT), update (UPCOUNT), and additional information 129 (ARCOUNT) sections. 131 2.1 One Spare Bit? 133 There have been ancient DNS implementations for which the Z bit being 134 on in a query meant that only a response from the primary server for 135 a zone is acceptable. It is believed that current DNS 136 implementations ignore this bit. 138 Assigning a meaning to the Z bit requires an IETF Standards Action. 140 2.2 Opcode Assignment 142 New OpCode assignments require an IETF Standards Action. 144 Currently DNS OpCodes are assigned as follows: 146 OpCode Name Reference 148 0 Query [RFC 1035] 149 1 IQuery (Inverse Query) [RFC 1035] 150 2 Status [RFC 1035] 151 3 available for assignment 152 4 Notify [RFC 1996] 153 5 Update [RFC 2136] 154 6-15 available for assignment 156 2.3 RCODE Assignment 158 It would appear from the DNS header above that only four bits of 159 RCODE, or response/error code are available. However, RCODEs can 160 appear not only at the top level of a DNS response but also inside 161 OPT RRs [RFC 2671], TSIG RRs [RFC 2845], and TKEY RRs [draft-ietf- 162 dnsext-tkey-*.txt]. The OPT RR provides an eight bit extension 163 resulting in a 12 bit RCODE field and the TSIG and TKEY RRs have a 16 164 bit RCODE field. 166 Error codes appearing in the DNS header and in these three RR types 167 all refer to the same error code space with the single exception of 168 error code 16 which has a different meaning in the OPT RR from its 169 meaning in other contexts. See table below. 171 RCODE Name Description Reference 172 Decimal 173 Hexadecimal 174 0 NoError No Error [RFC 1035] 175 1 FormErr Format Error [RFC 1035] 176 2 ServFail Server Failure [RFC 1035] 177 3 NXDomain Non-Existent Domain [RFC 1035] 178 4 NotImp Not Implemented [RFC 1035] 179 5 Refused Query Refused [RFC 1035] 180 6 YXDomain Name Exists when it should not [RFC 2136] 181 7 YXRRSet RR Set Exists when it should not [RFC 2136] 182 8 NXRRSet RR Set that should exist does not [RFC 2136] 183 9 NotAuth Server Not Authoritative for zone [RFC 2136] 184 10 NotZone Name not contained in zone [RFC 2136] 185 11-15 available for assignment 186 16 BADVERS Bad OPT Version [RFC 2671] 187 16 BADSIG TSIG Signature Failure [RFC 2845] 188 17 BADKEY Key not recognized [RFC 2845] 189 18 BADTIME Signature out of time window [RFC 2845] 190 19 BADMODE Bad TKEY Mode [draft-ietf-dnsext-tkey-*.txt] 191 20 BADNAME Duplicate key name [draft-ietf-dnsext-tkey-*.txt] 192 21 BADALG Algorithm not supported [draft-ietf-dnsext-tkey-*.txt] 193 22-3840 available for assignment 194 0x0016-0x0F00 195 3841-4095 Private Use 196 0x0F01-0x0FFF 197 4096-65535 available for assignment 198 0x1000-0xFFFF 200 Since it is important that RCODEs be understood for interoperability, 201 assignment of new RCODE listed above as "available for assignment" 202 requires an IETF Consensus. 204 3. DNS Resource Records 206 All RRs have the same top level format shown in the figure below 207 taken from [RFC 1035]: 209 1 1 1 1 1 1 210 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 211 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ 212 | | 213 / / 214 / NAME / 215 | | 216 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ 217 | TYPE | 218 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ 219 | CLASS | 220 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ 221 | TTL | 222 | | 223 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ 224 | RDLENGTH | 225 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--| 226 / RDATA / 227 / / 228 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ 230 NAME is an owner name, i.e., the name of the node to which this 231 resource record pertains. NAMEs are specific to a CLASS as described 232 in section 3.2. NAMEs consist of an ordered sequence of one or more 233 labels each of which has a label type [RFC 1035, 2671]. 235 TYPE is a two octet unsigned integer containing one of the RR TYPE 236 codes. See section 3.1. 238 CLASS is a two octet unsigned integer containing one of the RR CLASS 239 codes. See section 3.2. 241 TTL is a four octet (32 bit) bit unsigned integer that specifies the 242 number of seconds that the resource record may be cached before the 243 source of the information should again be consulted. Zero is 244 interpreted to mean that the RR can only be used for the transaction 245 in progress. 247 RDLENGTH is an unsigned 16 bit integer that specifies the length in 248 octets of the RDATA field. 250 RDATA is a variable length string of octets that constitutes the 251 resource. The format of this information varies according to the 252 TYPE and in some cases the CLASS of the resource record. 254 3.1 RR TYPE IANA Considerations 256 There are three subcategories of RR TYPE numbers: data TYPEs, QTYPEs, 257 and MetaTYPEs. 259 Data TYPEs are the primary means of storing data. QTYPES can only be 260 used in queries. Meta-TYPEs designate transient data associated with 261 an particular DNS message and in some cases can also be used in 262 queries. Thus far, data TYPEs have been assigned from 1 upwards plus 263 the block from 100 through 103 while Q and Meta Types have been 264 assigned from 255 downwards (except for the OPT Meta-RR which is 265 assigned TYPE 41). There have been DNS implementations which made 266 caching decisions based on the top bit of the bottom byte of the RR 267 TYPE. 269 There are currently three Meta-TYPEs assigned: OPT [RFC 2671], TSIG 270 [RFC 2845], and TKEY [draft-ietf-dnsext-tkey-*.txt]. 272 There are currently five QTYPEs assigned: * (all), MAILA, MAILB, 273 AXFR, and IXFR. 275 Considerations for the allocation of new RR TYPEs are as follows: 277 Decimal 278 Hexadecimal 280 0 281 0x0000 - TYPE zero is used as a special indicator for the SIG RR [RFC 282 2535] and in other circumstances and must never be allocated 283 for ordinary use. 285 1 - 127 286 0x0001 - 0x007F - remaining TYPEs in this range are assigned for data 287 TYPEs by IETF Consensus. 289 128 - 255 290 0x0080 - 0x00FF - remaining TYPEs in this rage are assigned for Q and 291 Meta TYPEs by IETF Consensus. 293 256 - 32767 294 0x0100 - 0x7FFF - assigned for data, Q, or Meta TYPE use by IETF 295 Consensus. 297 32768 - 65279 298 0x8000 - 0xFEFF - Specification Required as defined in [RFC 2434]. 300 65280 - 65535 301 0xFF00 - 0xFFFF - Private Use. 303 3.1.1 Special Note on the OPT RR 305 The OPT (OPTion) RR, number 41, is specified in [RFC 2671]. Its 306 primary purpose is to extend the effective field size of various DNS 307 fields including RCODE, label type, OpCode, flag bits, and RDATA 308 size. In particular, for resolvers and servers that recognize it, it 309 extends the RCODE field from 4 to 12 bits. 311 3.2 RR CLASS IANA Considerations 313 DNS CLASSes have been little used but constitute another dimension of 314 the DNS distributed database. In particular, there is no necessary 315 relationship between the name space or root servers for one CLASS and 316 those for another CLASS. The same name can have completely different 317 meanings in different CLASSes although the label types are the same 318 and the null label is usable only as root in every CLASS. However, 319 as global networking and DNS have evolved, the IN, or Internet, CLASS 320 has dominated DNS use. 322 There are two subcategories of DNS CLASSes: normal data containing 323 classes and QCLASSes that are only meaningful in queries or updates. 325 The current CLASS assignments and considerations for future 326 assignments are as follows: 328 Decimal 329 Hexadecimal 331 0 332 0x0000 - assignment requires an IETF Standards Action. 334 1 335 0x0001 - Internet (IN). 337 2 338 0x0002 - available for assignment by IETF Consensus as a data CLASS. 340 3 341 0x0003 - Chaos (CH) [Moon 1981]. 343 4 344 0x0004 - Hesiod (HS) [Dyer 1987]. 346 5 - 127 347 0x0005 - 0x007F - available for assignment by IETF Consensus as data 348 CLASSes only. 350 128 - 253 351 0x0080 - 0x00FD - available for assignment by IETF Consensus as 352 QCLASSes only. 354 254 355 0x00FE - QCLASS None [RFC 2136]. 357 255 358 0x00FF - QCLASS Any [RFC 1035]. 360 256 - 32767 361 0x0100 - 0x7FFF - assigned by IETF Consensus. 363 32768 - 65280 364 0x8000 - 0xFEFF - assigned based on Specification Required as defined 365 in [RFC 2434]. 367 65280 - 65534 368 0xFF00 - 0xFFFE - Private Use. 370 65535 371 0xFFFF - can only be assigned by an IETF Standards Action. 373 3.3 RR NAME Considerations 375 DNS NAMEs are sequences of labels [RFC 1035]. The last label in each 376 NAME is "ROOT" which is the zero length label. By definition, the 377 null or ROOT label can not be used for any other NAME purpose. 379 At the present time, there are two categories of label types, data 380 labels and compression labels. Compression labels are pointers to 381 data labels elsewhere within an RR or DNS message and are intended to 382 shorten the wire encoding of NAMEs. The two existing data label 383 types are sometimes referred to as Text and Binary. Text labels can, 384 in fact, include any octet value including zero octets but most 385 current uses involve only [US-ASCII]. For retrieval, Text labels are 386 defined to treat ASCII upper and lower case letter codes as matching. 387 Binary labels are bit sequences [RFC 2673]. 389 IANA considerations for label types are given in [RFC 2671]. 391 NAMEs are local to a CLASS. The Hesiod [Dyer 1987] and Chaos [Moon 392 1981] CLASSes are essentially for local use. The IN or Internet 393 CLASS is thus the only DNS CLASS in global use on the Internet at 394 this time. 396 A somewhat dated description of name allocation in the IN Class is 397 given in [RFC 1591]. Some information on reserved top level domain 398 names is in Best Current Practice 32 [RFC 2606]. 400 4. Security Considerations 402 This document addresses IANA considerations in the allocation of 403 general DNS parameters, not security. See [RFC 2535] for secure DNS 404 considerations. 406 References 408 [Dyer 1987] - Dyer, S., and F. Hsu, "Hesiod", Project Athena 409 Technical Plan - Name Service, April 1987, 411 [Moon 1981] - D. Moon, "Chaosnet", A.I. Memo 628, Massachusetts 412 Institute of Technology Artificial Intelligence Laboratory, June 413 1981. 415 [RFC 1034] - P. Mockapetris, "Domain Names - Concepts and 416 Facilities", STD 13, November 1987. 418 [RFC 1035] - P. Mockapetris, "Domain Names - Implementation and 419 Specifications", STD 13, November 1987. 421 [RFC 1591] - J. Postel, "Domain Name System Structure and 422 Delegation", March 1994. 424 [RFC 1996] - P. Vixie, "A Mechanism for Prompt Notification of Zone 425 Changes (DNS NOTIFY)", August 1996. 427 [RFC 2136] - P. Vixie, S. Thomson, Y. Rekhter, J. Bound, "Dynamic 428 Updates in the Domain Name System (DNS UPDATE)", 04/21/1997. 430 [RFC 2181] - Robert Elz, Randy Bush, "Clarifications to the DNS 431 Specification", July 1997. 433 [RFC 2434] - "Guidelines for Writing an IANA Considerations Section 434 in RFCs", T. Narten, H. Alvestrand, October 1998. 436 [RFC 2535] - D. Eastlake, "Domain Name System Security Extensions", 437 March 1999. 439 [RFC 2606] - D. Eastlake, A. Panitz, "Reserved Top Level DNS Names", 440 June 1999. 442 [RFC 2671] - P. Vixie, "Extension mechanisms for DNS (EDNS0)", August 443 1999. 445 [RFC 2672] - M. Crawford, "Non-Terminal DNS Name Redirection", August 446 1999. 448 [RFC 2673] - M. Crawford, "Binary Labels in the Domain Name System", 449 August 1999. 451 [RFC 2845] - P. Vixie, O. Gudmundsson, D. Eastlake, B. Wellington, 452 "Secret Key Transaction Authentication for DNS (TSIG)", May 2000. 454 [draft-ietf-dnsext-tkey-*.txt] - D. Eastlake, "Secret Key 455 Establishment for DNS (TKEY RR)", xxx 2000. 457 [US-ASCII] - ANSI, "USA Standard Code for Information Interchange", 458 X3.4, American National Standards Institute: New York, 1968. 460 Authors Addresses 462 Donald E. Eastlake 3rd 463 Motorola 464 140 Forest Avenue 465 Hudson, MA 01749 USA 467 Telephone: +1-978-562-2827 (h) 468 +1-508-261-5434 (w) 469 fax: +1-508-261-4447 (w) 470 email: Donald.Eastlake@motorola.com 472 Eric Brunner 473 Engage Technologies 474 100 Brickstone Square, 2nd Floor 475 Andover, MA 01810 477 Telephone: +1-978-684-7796 (voice) 478 +1-978-684-3636 (fax) 479 email: brunner@engage.com 481 Bill Manning 482 USC/ISI 483 4676 Admiralty Way, #1001 484 Marina del Rey, CA 90292 USA 486 Telephone: +1 310 822 1511 487 email: bmanning@isi.edu 489 Expiration and File Name 491 This draft expires December 2000. 493 Its file name is draft-ietf-dnsext-iana-dns-02.txt.