idnits 2.17.1 draft-ietf-dnsext-dns-protocol-profile-00.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** It looks like you're using RFC 3978 boilerplate. You should update this to the boilerplate described in the IETF Trust License Policy document (see https://trustee.ietf.org/license-info), which is required now. -- Found old boilerplate from RFC 3978, Section 5.1 on line 14. -- Found old boilerplate from RFC 3978, Section 5.5, updated by RFC 4748 on line 1069. -- Found old boilerplate from RFC 3979, Section 5, paragraph 1 on line 1080. -- Found old boilerplate from RFC 3979, Section 5, paragraph 2 on line 1087. -- Found old boilerplate from RFC 3979, Section 5, paragraph 3 on line 1093. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- == 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 a Security Considerations section. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust Copyright Line does not match the current year == Using lowercase 'not' together with uppercase 'MUST', 'SHALL', 'SHOULD', or 'RECOMMENDED' is not an accepted usage according to RFC 2119. Please use uppercase 'NOT' together with RFC 2119 keywords (if that is what you mean). Found 'SHOULD not' in this paragraph: {new normative language: needs RFC reference} A served zone SHOULD not contain errors, or produce unpredictable results when RRs that are obsolete, or not implemented are encountered. == Using lowercase 'not' together with uppercase 'MUST', 'SHALL', 'SHOULD', or 'RECOMMENDED' is not an accepted usage according to RFC 2119. Please use uppercase 'NOT' together with RFC 2119 keywords (if that is what you mean). Found 'SHOULD not' in this paragraph: o the server SHOULD not block other activities waiting for TCP data o The server SHOULD assume that the client will initiate connection closing and SHOULD delay closing its end of the connection until all outstanding client requests have been satisfied. o { this is 25 year old advice. is this still relevant or what should it be? } For closing dormant connections the timeout should be in the order of 2 minutes. -- 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 (January 10, 2008) is 5951 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) == Missing Reference: 'RFC 1996' is mentioned on line 256, but not defined == Missing Reference: 'RFC 3597' is mentioned on line 413, but not defined == Missing Reference: 'RFC 1997' is mentioned on line 220, but not defined == Missing Reference: 'NLNet-1' is mentioned on line 996, but not defined == Missing Reference: 'RFC 1101' is mentioned on line 249, but not defined == Missing Reference: 'RFC 1122' is mentioned on line 250, but not defined == Missing Reference: 'RFC 1183' is mentioned on line 251, but not defined == Missing Reference: 'RFC 1706' is mentioned on line 252, but not defined == Missing Reference: 'RFC 1876' is mentioned on line 253, but not defined == Missing Reference: 'RFC 1982' is mentioned on line 254, but not defined == Missing Reference: 'RFC 1995' is mentioned on line 366, but not defined == Missing Reference: 'RFC 2136' is mentioned on line 257, but not defined == Missing Reference: 'RFC 2137' is mentioned on line 258, but not defined ** Obsolete undefined reference: RFC 2137 (Obsoleted by RFC 3007) == Missing Reference: 'RFC 2181' is mentioned on line 259, but not defined == Missing Reference: 'RFC 2308' is mentioned on line 260, but not defined == Missing Reference: 'RFC 2535' is mentioned on line 261, but not defined ** Obsolete undefined reference: RFC 2535 (Obsoleted by RFC 4033, RFC 4034, RFC 4035) == Missing Reference: 'RFC 2782' is mentioned on line 263, but not defined == Missing Reference: 'RFC 2845' is mentioned on line 264, but not defined ** Obsolete undefined reference: RFC 2845 (Obsoleted by RFC 8945) == Missing Reference: 'RFC 3425' is mentioned on line 357, but not defined == Missing Reference: 'RFC 3658' is mentioned on line 266, but not defined ** Obsolete undefined reference: RFC 3658 (Obsoleted by RFC 4033, RFC 4034, RFC 4035) == Missing Reference: 'RFC 4034' is mentioned on line 289, but not defined == Missing Reference: 'RFC 4035' is mentioned on line 386, but not defined == Missing Reference: 'RFC 1035' is mentioned on line 411, but not defined == Missing Reference: 'RFC 2671' is mentioned on line 374, but not defined ** Obsolete undefined reference: RFC 2671 (Obsoleted by RFC 6891) == Missing Reference: 'Jelte-1' is mentioned on line 993, but not defined == Missing Reference: 'Salaman-1' is mentioned on line 999, but not defined == Missing Reference: 'RFC0882' is mentioned on line 805, but not defined ** Obsolete undefined reference: RFC 882 (Obsoleted by RFC 1034, RFC 1035) == Missing Reference: 'RFC0883' is mentioned on line 808, but not defined ** Obsolete undefined reference: RFC 883 (Obsoleted by RFC 1034, RFC 1035) == Missing Reference: 'RFC0973' is mentioned on line 811, but not defined ** Obsolete undefined reference: RFC 973 (Obsoleted by RFC 1034, RFC 1035) == Missing Reference: 'RFC1348' is mentioned on line 814, but not defined ** Obsolete undefined reference: RFC 1348 (Obsoleted by RFC 1637) == Missing Reference: 'RFC1386' is mentioned on line 816, but not defined ** Obsolete undefined reference: RFC 1386 (Obsoleted by RFC 1480) == Missing Reference: 'RFC1537' is mentioned on line 819, but not defined ** Obsolete undefined reference: RFC 1537 (Obsoleted by RFC 1912) == Missing Reference: 'RFC1637' is mentioned on line 822, but not defined ** Obsolete undefined reference: RFC 1637 (Obsoleted by RFC 1706) == Missing Reference: 'RFC1664' is mentioned on line 825, but not defined ** Obsolete undefined reference: RFC 1664 (Obsoleted by RFC 2163) == Missing Reference: 'RFC1712' is mentioned on line 829, but not defined == Missing Reference: 'RFC1811' is mentioned on line 833, but not defined ** Obsolete undefined reference: RFC 1811 (Obsoleted by RFC 1816) == Missing Reference: 'RFC1816' is mentioned on line 835, but not defined ** Obsolete undefined reference: RFC 1816 (Obsoleted by RFC 2146) == Missing Reference: 'RFC1886' is mentioned on line 837, but not defined ** Obsolete undefined reference: RFC 1886 (Obsoleted by RFC 3596) == Missing Reference: 'RFC2052' is mentioned on line 840, but not defined ** Obsolete undefined reference: RFC 2052 (Obsoleted by RFC 2782) == Missing Reference: 'RFC2065' is mentioned on line 843, but not defined ** Obsolete undefined reference: RFC 2065 (Obsoleted by RFC 2535) == Missing Reference: 'RFC2137' is mentioned on line 846, but not defined ** Obsolete undefined reference: RFC 2137 (Obsoleted by RFC 3007) == Missing Reference: 'RFC2168' is mentioned on line 849, but not defined ** Obsolete undefined reference: RFC 2168 (Obsoleted by RFC 3401, RFC 3402, RFC 3403, RFC 3404) == Missing Reference: 'RFC2240' is mentioned on line 853, but not defined ** Obsolete undefined reference: RFC 2240 (Obsoleted by RFC 2352) == Missing Reference: 'RFC2537' is mentioned on line 856, but not defined ** Obsolete undefined reference: RFC 2537 (Obsoleted by RFC 3110) == Missing Reference: 'RFC2915' is mentioned on line 859, but not defined ** Obsolete undefined reference: RFC 2915 (Obsoleted by RFC 3401, RFC 3402, RFC 3403, RFC 3404) == Missing Reference: 'RFC3152' is mentioned on line 862, but not defined ** Obsolete undefined reference: RFC 3152 (Obsoleted by RFC 3596) == Missing Reference: 'RFC0805' is mentioned on line 868, but not defined == Missing Reference: 'RFC0811' is mentioned on line 871, but not defined ** Obsolete undefined reference: RFC 811 (Obsoleted by RFC 953) == Missing Reference: 'RFC0819' is mentioned on line 874, but not defined == Missing Reference: 'RFC0881' is mentioned on line 877, but not defined == Missing Reference: 'RFC0897' is mentioned on line 880, but not defined == Missing Reference: 'RFC0920' is mentioned on line 883, but not defined == Missing Reference: 'RFC0921' is mentioned on line 886, but not defined == Missing Reference: 'RFC0974' is mentioned on line 889, but not defined ** Obsolete undefined reference: RFC 974 (Obsoleted by RFC 2821) == Missing Reference: 'RFC1032' is mentioned on line 892, but not defined == Missing Reference: 'RFC1101' is mentioned on line 895, but not defined == Missing Reference: 'RFC1178' is mentioned on line 898, but not defined == Missing Reference: 'RFC1480' is mentioned on line 901, but not defined == Missing Reference: 'RFC1591' is mentioned on line 904, but not defined == Missing Reference: 'RFC1611' is mentioned on line 907, but not defined == Missing Reference: 'RFC1612' is mentioned on line 910, but not defined == Missing Reference: 'RFC1956' is mentioned on line 913, but not defined == Missing Reference: 'RFC2053' is mentioned on line 916, but not defined == Missing Reference: 'RFC2100' is mentioned on line 919, but not defined == Missing Reference: 'RFC2142' is mentioned on line 922, but not defined == Missing Reference: 'RFC2146' is mentioned on line 925, but not defined == Missing Reference: 'RFC2182' is mentioned on line 928, but not defined == Missing Reference: 'RFC2307' is mentioned on line 932, but not defined == Missing Reference: 'RFC2317' is mentioned on line 935, but not defined == Missing Reference: 'RFC2345' is mentioned on line 938, but not defined == Missing Reference: 'RFC2352' is mentioned on line 941, but not defined == Missing Reference: 'RFC2377' is mentioned on line 944, but not defined == Missing Reference: 'RFC2517' is mentioned on line 948, but not defined == Missing Reference: 'RFC2606' is mentioned on line 951, but not defined == Missing Reference: 'RFC2826' is mentioned on line 954, but not defined == Missing Reference: 'RFC2832' is mentioned on line 957, but not defined == Missing Reference: 'RFC2870' is mentioned on line 960, but not defined ** Obsolete undefined reference: RFC 2870 (Obsoleted by RFC 7720) == Missing Reference: 'RFC3071' is mentioned on line 964, but not defined == Missing Reference: 'RFC3245' is mentioned on line 967, but not defined == Missing Reference: 'RFC3254' is mentioned on line 972, but not defined == Missing Reference: 'RFC3352' is mentioned on line 975, but not defined == Missing Reference: 'RFC3367' is mentioned on line 979, but not defined == Missing Reference: 'RFC3368' is mentioned on line 982, but not defined == Missing Reference: 'RFC3467' is mentioned on line 985, but not defined == Missing Reference: 'RFC3675' is mentioned on line 988, but not defined == Unused Reference: 'RFC1033' is defined on line 501, but no explicit reference was found in the text == Unused Reference: 'RFC1034' is defined on line 504, but no explicit reference was found in the text == Unused Reference: 'RFC1035' is defined on line 507, but no explicit reference was found in the text == Unused Reference: 'RFC1122' is defined on line 510, but no explicit reference was found in the text == Unused Reference: 'RFC1123' is defined on line 513, but no explicit reference was found in the text == Unused Reference: 'RFC1183' is defined on line 516, but no explicit reference was found in the text == Unused Reference: 'RFC1464' is defined on line 520, but no explicit reference was found in the text == Unused Reference: 'RFC1535' is defined on line 523, but no explicit reference was found in the text == Unused Reference: 'RFC1536' is defined on line 527, but no explicit reference was found in the text == Unused Reference: 'RFC1706' is defined on line 531, but no explicit reference was found in the text == Unused Reference: 'RFC1713' is defined on line 534, but no explicit reference was found in the text == Unused Reference: 'RFC1794' is defined on line 537, but no explicit reference was found in the text == Unused Reference: 'RFC1876' is defined on line 540, but no explicit reference was found in the text == Unused Reference: 'RFC1912' is defined on line 544, but no explicit reference was found in the text == Unused Reference: 'RFC1982' is defined on line 547, but no explicit reference was found in the text == Unused Reference: 'RFC1995' is defined on line 550, but no explicit reference was found in the text == Unused Reference: 'RFC1996' is defined on line 553, but no explicit reference was found in the text == Unused Reference: 'RFC1997' is defined on line 556, but no explicit reference was found in the text == Unused Reference: 'RFC2010' is defined on line 559, but no explicit reference was found in the text == Unused Reference: 'RFC2119' is defined on line 562, but no explicit reference was found in the text == Unused Reference: 'RFC2136' is defined on line 565, but no explicit reference was found in the text == Unused Reference: 'RFC2163' is defined on line 569, but no explicit reference was found in the text == Unused Reference: 'RFC2181' is defined on line 573, but no explicit reference was found in the text == Unused Reference: 'RFC2219' is defined on line 576, but no explicit reference was found in the text == Unused Reference: 'RFC2230' is defined on line 579, but no explicit reference was found in the text == Unused Reference: 'RFC2247' is defined on line 582, but no explicit reference was found in the text == Unused Reference: 'RFC2276' is defined on line 586, but no explicit reference was found in the text == Unused Reference: 'RFC2308' is defined on line 589, but no explicit reference was found in the text == Unused Reference: 'RFC2535' is defined on line 592, but no explicit reference was found in the text == Unused Reference: 'RFC2536' is defined on line 595, but no explicit reference was found in the text == Unused Reference: 'RFC2538' is defined on line 598, but no explicit reference was found in the text == Unused Reference: 'RFC2539' is defined on line 601, but no explicit reference was found in the text == Unused Reference: 'RFC2540' is defined on line 604, but no explicit reference was found in the text == Unused Reference: 'RFC2541' is defined on line 607, but no explicit reference was found in the text == Unused Reference: 'RFC2671' is defined on line 610, but no explicit reference was found in the text == Unused Reference: 'RFC2672' is defined on line 613, but no explicit reference was found in the text == Unused Reference: 'RFC2673' is defined on line 616, but no explicit reference was found in the text == Unused Reference: 'RFC2694' is defined on line 619, but no explicit reference was found in the text == Unused Reference: 'RFC2782' is defined on line 623, but no explicit reference was found in the text == Unused Reference: 'RFC2825' is defined on line 627, but no explicit reference was found in the text == Unused Reference: 'RFC2845' is defined on line 631, but no explicit reference was found in the text == Unused Reference: 'RFC2874' is defined on line 635, but no explicit reference was found in the text == Unused Reference: 'RFC2916' is defined on line 639, but no explicit reference was found in the text == Unused Reference: 'RFC2929' is defined on line 642, but no explicit reference was found in the text == Unused Reference: 'RFC2930' is defined on line 646, but no explicit reference was found in the text == Unused Reference: 'RFC2931' is defined on line 649, but no explicit reference was found in the text == Unused Reference: 'RFC2937' is defined on line 652, but no explicit reference was found in the text == Unused Reference: 'RFC2972' is defined on line 655, but no explicit reference was found in the text == Unused Reference: 'RFC3007' is defined on line 659, but no explicit reference was found in the text == Unused Reference: 'RFC3008' is defined on line 662, but no explicit reference was found in the text == Unused Reference: 'RFC3090' is defined on line 665, but no explicit reference was found in the text == Unused Reference: 'RFC3110' is defined on line 668, but no explicit reference was found in the text == Unused Reference: 'RFC3123' is defined on line 671, but no explicit reference was found in the text == Unused Reference: 'RFC3197' is defined on line 674, but no explicit reference was found in the text == Unused Reference: 'RFC3225' is defined on line 677, but no explicit reference was found in the text == Unused Reference: 'RFC3226' is defined on line 680, but no explicit reference was found in the text == Unused Reference: 'RFC3258' is defined on line 683, but no explicit reference was found in the text == Unused Reference: 'RFC3263' is defined on line 686, but no explicit reference was found in the text == Unused Reference: 'RFC3363' is defined on line 690, but no explicit reference was found in the text == Unused Reference: 'RFC3364' is defined on line 695, but no explicit reference was found in the text == Unused Reference: 'RFC3401' is defined on line 699, but no explicit reference was found in the text == Unused Reference: 'RFC3402' is defined on line 702, but no explicit reference was found in the text == Unused Reference: 'RFC3403' is defined on line 705, but no explicit reference was found in the text == Unused Reference: 'RFC3404' is defined on line 709, but no explicit reference was found in the text == Unused Reference: 'RFC3405' is defined on line 713, but no explicit reference was found in the text == Unused Reference: 'RFC3425' is defined on line 717, but no explicit reference was found in the text == Unused Reference: 'RFC3445' is defined on line 720, but no explicit reference was found in the text == Unused Reference: 'RFC3490' is defined on line 723, but no explicit reference was found in the text == Unused Reference: 'RFC3491' is defined on line 727, but no explicit reference was found in the text == Unused Reference: 'RFC3492' is defined on line 731, but no explicit reference was found in the text == Unused Reference: 'RFC3596' is defined on line 735, but no explicit reference was found in the text == Unused Reference: 'RFC3597' is defined on line 739, but no explicit reference was found in the text == Unused Reference: 'RFC3645' is defined on line 742, but no explicit reference was found in the text == Unused Reference: 'RFC3646' is defined on line 747, but no explicit reference was found in the text == Unused Reference: 'RFC3655' is defined on line 751, but no explicit reference was found in the text == Unused Reference: 'RFC3658' is defined on line 754, but no explicit reference was found in the text == Unused Reference: 'RFC3696' is defined on line 757, but no explicit reference was found in the text == Unused Reference: 'RFC3755' is defined on line 760, but no explicit reference was found in the text == Unused Reference: 'RFC3757' is defined on line 763, but no explicit reference was found in the text == Unused Reference: 'RFC4025' is defined on line 767, but no explicit reference was found in the text == Unused Reference: 'RFC4033' is defined on line 770, but no explicit reference was found in the text == Unused Reference: 'RFC4034' is defined on line 774, but no explicit reference was found in the text == Unused Reference: 'RFC4035' is defined on line 778, but no explicit reference was found in the text == Unused Reference: 'RFC4255' is defined on line 782, but no explicit reference was found in the text == Unused Reference: 'RFC4307' is defined on line 786, but no explicit reference was found in the text == Unused Reference: 'RFC4408' is defined on line 790, but no explicit reference was found in the text == Unused Reference: 'RFC4431' is defined on line 794, but no explicit reference was found in the text == Unused Reference: 'RFC4701' is defined on line 798, but no explicit reference was found in the text == Outdated reference: A later version (-10) exists of draft-ietf-dnsext-rfc2671bis-edns0-00 -- Possible downref: Normative reference to a draft: ref. 'I-D.ietf-dnsext-rfc2671bis-edns0' ** Downref: Normative reference to an Unknown state RFC: RFC 1033 ** Downref: Normative reference to an Experimental RFC: RFC 1183 ** Downref: Normative reference to an Experimental RFC: RFC 1464 ** Downref: Normative reference to an Informational RFC: RFC 1535 ** Downref: Normative reference to an Informational RFC: RFC 1536 ** Downref: Normative reference to an Historic RFC: RFC 1706 ** Downref: Normative reference to an Informational RFC: RFC 1713 ** Downref: Normative reference to an Informational RFC: RFC 1794 ** Downref: Normative reference to an Experimental RFC: RFC 1876 ** Downref: Normative reference to an Informational RFC: RFC 1912 ** Obsolete normative reference: RFC 2010 (Obsoleted by RFC 2870) ** Downref: Normative reference to an Informational RFC: RFC 2230 ** Downref: Normative reference to an Informational RFC: RFC 2276 ** Obsolete normative reference: RFC 2535 (Obsoleted by RFC 4033, RFC 4034, RFC 4035) ** Obsolete normative reference: RFC 2538 (Obsoleted by RFC 4398) ** Downref: Normative reference to an Experimental RFC: RFC 2540 ** Obsolete normative reference: RFC 2541 (Obsoleted by RFC 4641) ** 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) ** Downref: Normative reference to an Informational RFC: RFC 2694 ** Downref: Normative reference to an Informational RFC: RFC 2825 ** Obsolete normative reference: RFC 2845 (Obsoleted by RFC 8945) ** Downref: Normative reference to an Historic RFC: RFC 2874 ** Obsolete normative reference: RFC 2916 (Obsoleted by RFC 3761) ** Obsolete normative reference: RFC 2929 (Obsoleted by RFC 5395) ** Downref: Normative reference to an Informational RFC: RFC 2972 ** Obsolete normative reference: RFC 3008 (Obsoleted by RFC 4033, RFC 4034, RFC 4035) ** Obsolete normative reference: RFC 3090 (Obsoleted by RFC 4033, RFC 4034, RFC 4035) ** Downref: Normative reference to an Experimental RFC: RFC 3123 ** Downref: Normative reference to an Informational RFC: RFC 3197 ** Downref: Normative reference to an Informational RFC: RFC 3258 ** Downref: Normative reference to an Informational RFC: RFC 3363 ** Downref: Normative reference to an Informational RFC: RFC 3364 ** Downref: Normative reference to an Informational RFC: RFC 3401 ** Obsolete normative reference: RFC 3445 (Obsoleted by RFC 4033, RFC 4034, RFC 4035) ** Obsolete normative reference: RFC 3490 (Obsoleted by RFC 5890, RFC 5891) ** Obsolete normative reference: RFC 3491 (Obsoleted by RFC 5891) ** Obsolete normative reference: RFC 3655 (Obsoleted by RFC 4033, RFC 4034, RFC 4035) ** Obsolete normative reference: RFC 3658 (Obsoleted by RFC 4033, RFC 4034, RFC 4035) ** Downref: Normative reference to an Informational RFC: RFC 3696 ** Obsolete normative reference: RFC 3755 (Obsoleted by RFC 4033, RFC 4034, RFC 4035) ** Obsolete normative reference: RFC 3757 (Obsoleted by RFC 4033, RFC 4034, RFC 4035) ** Obsolete normative reference: RFC 4307 (Obsoleted by RFC 8247) ** Obsolete normative reference: RFC 4408 (Obsoleted by RFC 7208) ** Downref: Normative reference to an Historic RFC: RFC 4431 Summary: 75 errors (**), 0 flaws (~~), 178 warnings (==), 8 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group G. Michaelson 3 Internet-Draft APNIC 4 Expires: July 13, 2008 January 10, 2008 6 The Modern DNS Implementation Guide 7 draft-ietf-dnsext-dns-protocol-profile-00 9 Status of this Memo 11 By submitting this Internet-Draft, each author represents that any 12 applicable patent or other IPR claims of which he or she is aware 13 have been or will be disclosed, and any of which he or she becomes 14 aware will be disclosed, in accordance with Section 6 of BCP 79. 16 Internet-Drafts are working documents of the Internet Engineering 17 Task Force (IETF), its areas, and its working groups. Note that 18 other groups may also distribute working documents as Internet- 19 Drafts. 21 Internet-Drafts are draft documents valid for a maximum of six months 22 and may be updated, replaced, or obsoleted by other documents at any 23 time. It is inappropriate to use Internet-Drafts as reference 24 material or to cite them other than as "work in progress." 26 The list of current Internet-Drafts can be accessed at 27 http://www.ietf.org/ietf/1id-abstracts.txt. 29 The list of Internet-Draft Shadow Directories can be accessed at 30 http://www.ietf.org/shadow.html. 32 This Internet-Draft will expire on July 13, 2008. 34 Copyright Notice 36 Copyright (C) The IETF Trust (2008). 38 Abstract 40 A structured catalogue of relevant DNS RFCs is presented with 41 references to the specific normative sections which should be 42 followed in a modern DNS implementation. This document is to be used 43 as guide for DNS implementors, for testing and compliance of DNS- 44 functioning software, and to help guide DNS standards advancement. 46 Table of Contents 48 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 49 1.1. Key Approach . . . . . . . . . . . . . . . . . . . . . . . 4 50 1.2. Normative Language Usage . . . . . . . . . . . . . . . . . 4 51 2. General Considerations . . . . . . . . . . . . . . . . . . . . 5 52 3. Common Requirements . . . . . . . . . . . . . . . . . . . . . 5 53 4. Authoritative Servers . . . . . . . . . . . . . . . . . . . . 6 54 4.1. Zones . . . . . . . . . . . . . . . . . . . . . . . . . . 6 55 4.1.1. Zone Contents . . . . . . . . . . . . . . . . . . . . 6 56 4.1.2. Zone synchronization . . . . . . . . . . . . . . . . . 7 57 4.2. Server and connection management . . . . . . . . . . . . . 7 58 4.2.1. UDP . . . . . . . . . . . . . . . . . . . . . . . . . 7 59 4.2.2. TCP . . . . . . . . . . . . . . . . . . . . . . . . . 7 60 4.2.3. TCP Connection Management . . . . . . . . . . . . . . 8 61 4.3. DNS Message processing . . . . . . . . . . . . . . . . . . 8 62 4.4. Further Query processing . . . . . . . . . . . . . . . . . 9 63 4.4.1. Actions based on QTYPE of incoming Query . . . . . . . 9 64 4.5. Additional Data processing . . . . . . . . . . . . . . . . 9 65 4.6. Label compression in RDATA . . . . . . . . . . . . . . . . 9 66 4.7. Truncation handling . . . . . . . . . . . . . . . . . . . 10 67 4.8. NSEC processing . . . . . . . . . . . . . . . . . . . . . 10 68 5. Stub Resolvers . . . . . . . . . . . . . . . . . . . . . . . . 10 69 6. Recursive Resolvers . . . . . . . . . . . . . . . . . . . . . 10 70 7. Middle-Boxes . . . . . . . . . . . . . . . . . . . . . . . . . 10 71 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11 72 9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 11 73 10. Concordance of references . . . . . . . . . . . . . . . . . . 11 74 11. Changes since the -00 draft . . . . . . . . . . . . . . . . . 11 75 12. References . . . . . . . . . . . . . . . . . . . . . . . . . . 11 76 12.1. Normative References . . . . . . . . . . . . . . . . . . . 11 77 12.2. Informational, Formerly Normative References, now 78 obsolete . . . . . . . . . . . . . . . . . . . . . . . . . 18 79 12.3. Non-Normative, DNS related, but not relevant to 80 Implementors References . . . . . . . . . . . . . . . . . 19 81 12.4. Informative References Non RFC's . . . . . . . . . . . . . 22 82 Appendix A. Formerly Normative, now Obsolete References . . . . . 22 83 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 23 84 Intellectual Property and Copyright Statements . . . . . . . . . . 24 86 1. Introduction 88 The DNS is almost 25 years old. In that time a significant amount of 89 change has occurred in the collection of RFCs which document how DNS 90 systems should be implemented and operated. 91 o Developers of DNS systems need a single reference which can be 92 used consistently to review interoperability between 93 implementations and to guide implementation of DNS systems. 94 o Operators of DNS systems need a reference which can be used to 95 understand existing DNS systems conformance and to guide 96 acquisition and management of new DNS systems. 98 Accordingly, the DNSEXT working group has been asked by the RAI ADs 99 and others to document what the basic requirements for 'modern' DNS 100 implementations are. 102 By reviewing the normative sections of the 'head' documents (ie the 103 documents which are current, have not been superseded by a -bis or a 104 different document, explicitly deprecated or fallen into disrepair) 105 the DNSEXT working group identified the set of references into those 106 documents which specify all of the 'directives' which define how the 107 'modern' DNS system should work. 109 In the process of review, areas of attention were identified. These 110 represent normative directing text(s) in the RFCs, or the entire RFCs 111 themselves, which required change, to reflect the current state of 112 the DNS. 114 During this documents development, areas of standardization which 115 required attention were noted, and were addressed in one of the 116 following four ways. 117 o Firstly, if the revisions were simple enough, a -bis process was 118 used to define the smallest set of changes to the RFC, and a new 119 version rolled, with the old one deprecated. 120 o Secondly, if the revisions were complex, or so many exist that a 121 complete re-write would be more effective, a more lengthy process 122 was used to re-define the complete set of behaviors as a working 123 group activity. The outcome is the same: A new RFC was created, 124 and the old RFC can be deprecated. 125 o Thirdly, if the RFC is no longer held to be relevant, it was 126 deprecated without replacement. 127 o Lastly, if the change was too small to justify revision of the 128 head document then the inclusion of normative language was 129 appropriate in this document. For instance, allowed 130 interpretations of pre-RFC2119 non-normative texts. 132 This document is not intended to be used to guide operation of DNS 133 systems, nor to guide creation and maintenance of DNS zones, or the 134 DNS namespace. In particular, normative directions on features which 135 must be implemented may still be, (in many cases) disabled under 136 operational control. 138 1.1. Key Approach 140 Normally in an RFC or draft, a section of boilerplate directs the 141 meaning of normative language and how it relates to the standard 142 usages. In that respect, this document is no different. 144 However, as a general principle, this document seeks to avoid 145 directly creating new normative text. Instead, it is a collation of 146 references to the normative text of other documents. 148 As far as possible, no new normative language should have been 149 created in this document. Where it is seen, it needs to be clearly 150 understood to be either derived from a prior document (and referenced 151 accordingly) or else clearly marked as being originated in this 152 document. 154 As far as possible, the document should be structured and maintained 155 in an overall manner which allows it to be subject to future 156 revision. For example, the likelihood of subsequent changes to Hash 157 function lifetimes means that it is foreseeable the documents 158 normative language references to cryptographic algorithms will 159 require future revision. New developments in DNS will require 160 consideration for their normative language and should be reviewed 161 against each section of this document. 163 Therefore, this document should be actively maintained, and updated 164 to reflect changes in DNS standardization. 166 1.2. Normative Language Usage 168 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 169 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 170 document are to be interpreted as described in RFC 2119. 172 Because of the new normative language review, introduced in RFC 4307 173 it was also possible to refine normative language in this document, 174 as a "step along the road" to final resolution. Therefore some 175 instances of normative language in this document revise the reference 176 by changing a MUST into a MUST-, or a SHOULD into a SHOULD+ 177 reference. This provides a signal that implementors need to be aware 178 of change in the compliance status of the behaviour under 179 consideration, and therefore need to be working towards a future goal 180 of a stronger (or weaker) normative binding in that area. 182 Since the normative language includes SHOULD and MAY directives, DNS 183 Implementors are strongly encouraged to identify completely all 184 optional elements of their systems, including both positive (MAY and 185 SHOULD directives which have been followed) as well as negative (MAY 186 and SHOULD directives which have been ignored). 188 2. General Considerations 190 {new normative language} This document catalogs the compliance issues 191 for an implementation of any component of the DNS. Implementors MUST 192 adhere to the collected state of these directives to be considered 193 fully compliant to DNS RFCs and STDs. 195 {not normative} Because important DNS RFCs pre-date RFC 2119 this 196 document explicitly shows where their text is to be re-interpreted in 197 line with RFC2119 normative language 199 The document is organized into five major sections, addressing Common 200 Requirements, Authoritative Servers, Stub Resolvers, Recursive 201 Resolvers and Middle-boxes. DNS Implementors should read all 202 sections carefully since subsequent sections refer back to prior 203 sections and catalog variances as well as new requirements. 205 Application specific considerations are not normatively addressed by 206 this document. Where mentioned, the text should be considered 207 guidance only. 209 3. Common Requirements 211 {new normative language. the -bis document needs its reference 212 confirmed.} EDNS0 MUST be implemented by all DNS systems. Its use is 213 an operational decision. This is is line with [RFC 1996] and its 214 -bis document. 216 {new normative language} Unknown RRtypes MUST be preserved. This is 217 in line with [RFC 3597] 219 {new normative language} The DNS Database consistency MUST be 220 maintained. Data MUST NOT leak between zones. [RFC 1997] 222 {non normative} The following documents define registries of DNS RR 223 types. All new record types can be treated as unknown RRs as above. 224 {list of RR-types refs. Just the IANA registry, rather than all RFCs 225 has been suggested by Olafur} 227 {new normative language} Processing if dns names in US-ASCII range 228 MUST be case insensitive. [RFC 1035 (2.3.3)] also see [RFC 1034 229 (3.1)] 231 4. Authoritative Servers 233 {Much of this text comes from [NLNet-1]. These requirements are in 234 order of importance: } 236 4.1. Zones 238 4.1.1. Zone Contents 240 {non normative} The zone file format as specified in [RFC 1035 (5.1)] 241 is optional. It is used as a common presentation format only. 243 {new normative language: needs RFC reference} A served zone SHOULD 244 not contain errors, or produce unpredictable results when RRs that 245 are obsolete, or not implemented are encountered. 247 Zones MUST follow the rules as defined in [RFC 1035 (5.2)] and 248 subsequent revisions by the following RFCs: 249 [RFC 1101] 250 [RFC 1122] 251 [RFC 1183] 252 [RFC 1706] 253 [RFC 1876] 254 [RFC 1982] 255 [RFC 1995] 256 [RFC 1996] 257 [RFC 2136] 258 [RFC 2137] 259 [RFC 2181] 260 [RFC 2308] 261 [RFC 2535] {this needs to be reviewed, and probably updated to a 262 new RFC} 263 [RFC 2782] 264 [RFC 2845] 265 [RFC 3425] 266 [RFC 3658] 267 [RFC 4034] 268 [RFC 4035] 270 from [RFC 1035 (section 5.2)] and [RFC 2181 (section 5.2)] the 271 following text has been extracted, and re-written in line with RFC 272 2119 normative language. 274 [RFC 1035 (Section 5.2)] Rules governing zone content 275 {new normative text} 276 1. All RRs in the file MUST have the same class. [RFC 1035 (Section 277 5.2 rule 1)] 278 2. Exactly one SOA RR MUST be present at the top of the zone 279 (meaning the delegation point). [RFC 1035 (Section 5.2 rule 2)] 280 3. If delegations are present and glue information is required, it 281 SHOULD be present. [RFC 2181 (Section 5.2 para 2)] 282 4. The TTLs of all RRs in an RRSet MUST be the same. {RFC reference 283 required} 284 5. You must adhere to [RFC 2672 (Section 3)] and {reference will 285 need updating to published RFC} 286 [I-D.ietf-dnsext-rfc2671bis-edns0] in respect of data below 287 DNAME. 288 6. There MUST be no data below CNAME, and only DNSSEC records with 289 CNAME. [RFC 4034] [RFC 4035] 290 7. {new non-normative informational text} Information present 291 outside of the authoritative nodes in the zone is glue 292 information, rather than the result of an origin or similar 293 error. 295 4.1.2. Zone synchronization 297 4.1.2.1. Timeout management 299 {referencing RFC details needed} Timeouts on the SOAs for secondary 300 zones according to [RFC...]. 302 4.2. Server and connection management 304 DNS servers MUST comply with [RFC 2181 (4)] 306 4.2.1. UDP 308 The server MUST listen to UDP on port 53 [RFC 2181 (4)] 310 { new normative language, but implied from EDNS0 is a MUST. should 311 have an RFC reference} Large packet sizes SHOULD be supported. 313 4.2.2. TCP 315 {new normative language, maybe.. } The server MAY accept TCP 316 connections. {? what is the correct wording and reference?} 318 Note that there may be one or more DNS messages in the stream. Each 319 message is prepended with a 2 byte size servers follow [RFC 1035 320 (4.2.2)] 322 4.2.3. TCP Connection Management 324 from [RFC 1035 (section 4.2.2)] the following text has been 325 extracted, and re-written in line with RFC2119 normative language. 327 [RFC 1035 (4.2.2.)] TCP Usage 329 {new normative text} 331 o the server SHOULD not block other activities waiting for TCP data 332 o The server SHOULD assume that the client will initiate connection 333 closing and SHOULD delay closing its end of the connection until 334 all outstanding client requests have been satisfied. 335 o { this is 25 year old advice. is this still relevant or what 336 should it be? } For closing dormant connections the timeout should 337 be in the order of 2 minutes. 339 4.3. DNS Message processing 341 DNS messages should be processed in line with the precepts of [RFC 342 1034 (Section 4.3.1)] 344 { new normative language. there is no explicit reference in existing 345 RFCs to the following} Non parsable messages SHOULD be replied to 346 with a FORMERR. 348 Each UDP packet only carries one DNS Message. Any data behind the 349 DNS message SHOULD be considered garbage and SHOULD be ignored. 350 {better text requested} 351 o Incoming DNS messages with the QR bit set to 1 (response) are 352 discarded. [RFC 1035 (sect 7.3)] 353 o RD is copied into the response [RFC 1035 (4.1.1)] the RA bit is 354 set to 0 and the QUERYID is copied into the response message as 355 follows: 356 * OPCODE 0 (QUERY) MUST be supported [RFC 1035] 357 * OPCODE 1 (IQUERY) MUST result in RCODE=4 NOTIMPL [RFC 3425] 358 {has this actually been deprecated?} 359 * OPCODE 2 (STATUS) MUST result in RCODE=4 NOTIMPL [RFC 1035] 360 {new normative language, not explicitly brought out} 361 * OPCODE 3 (RESERVED) MUST result in RCODE=4 NOTIMPL {requires an 362 RFC reference} 363 * {new normative language} The following are optional but 364 recommended techologies, which SHOULD be handled gracefully, 365 rather than through use of NOTIMPL 366 + OPCODE 4 (NOTIFY) SHOULD+ be supported [RFC 1995] 367 + OPCODE 5 (UPDATE) SHOULD+ be supported [RFC 2136 (sect 3)] 369 o {no RFC/normatives found, need guidance} 370 * AA bit in query packet SHOULD be ignored. 371 * TC bit set in a query packet SHOULD+ be answered with FORMERR. 372 * RCODES SHOULD ignored. 373 * QDCOUNT!=1 SHOULD result in RCODE=1 FORMERR 374 o Presence of OPT RR indicates support of EDNS [RFC 2671]. If the 375 VERSION > 0 then the server will respond with an OPT with 376 RCODE=BADVERSION and VERSION=0 (The server supports EDNS0) In 377 further processing ENDS0 support is taken into account. 379 4.4. Further Query processing 381 4.4.1. Actions based on QTYPE of incoming Query 383 Further processing of the packet is based on the algorithm from [RFC 384 1034] as modified by [RFC 2672 (4)]. 386 DNSSEC Considerations follow [RFC 4035] 388 4.5. Additional Data processing 390 Additional data is added as long as there is space in the packet. 391 {need reference} 393 When processing the additional section priority is as specified in 394 [RFC 2874 (4)] 395 o A 396 o AAAA 398 For truncation see section [Truncation handling] 400 4.6. Label compression in RDATA 402 [RFC 1035 (section 3.3. and 4.4.1)] ("Pointers can only be used for 403 occurrences of a domain name where the format is not class 404 specific.") 406 Do label compression for labels in rdata for which this is 407 specifically mentioned in the RFC defining the RR. 408 o NS, SOA, CNAME, and PTR [RFC 1035 (3.3)] 409 o Others defined in [RFC 1035 (3.3)]are not compressed. 410 o MB, MG, MR, MINFO, MX also have compressed dnames. These RRs and 411 their compression are described in [RFC 1035]. 412 o AFSDB, RP, RT [RFC 1183, (Section 1,2 & 3.3.3)] 413 o You MUST follow the rules in [RFC 3597]. 415 4.7. Truncation handling 417 Truncation handling is as specified in [RFC 2181 (9)] 419 {TBD normative text for this section. RFC references required.} If 420 inclusion of a RR set that is REQUIRED in either the answer or 421 authority section leads to message truncation. The section is left 422 empty and the truncation (TC) bit is set. If the DO bit is set RRSIG 423 RRs are required in the answer and authority section. 425 If inclusion of an RRset in the Additional section is not possible 426 RRs are omitted one by one. This may lead to incomplete RRsets. 427 Omission of RRs from the Additional section because of message size 428 constraints will NOT lead to setting of the TC bit. [RFC 2181 (9)] 430 {RFC references required.} Implementations need to allow for 431 incomplete RRsets in the additional section. 433 4.8. NSEC processing 435 {section reference required.} The NSEC record is required to be in 436 the authority section if a QNAME or a QTYPE cannot be matched [RFC 437 4035 (section ?)]. 439 {this text needs to be moved out of authoritative servers. Not clear 440 which section its in yet.} Note that on a QNAME match the NS records 441 are not copied into the AUTH section (This is a requirement from step 442 4 'matching down the cache' from [RFC 1034 (Section 4.3.2)]. This is 443 a requirement only for caching servers. 445 5. Stub Resolvers 447 TBD 449 6. Recursive Resolvers 451 TBD 453 7. Middle-Boxes 455 TBD 457 8. IANA Considerations 459 None at this time. The goal of the document is to have no IANA 460 actions. 462 9. Acknowledgments 464 Much of the initial ideas, and structure of the text reflect ideas 465 taken from a design document developed by NLNet Labs, in the process 466 of developing NSD. This was written by Dr. Wouter C.A. Wijngaards 467 and Jaap Akkerhuis. [NLNet-1]. 469 A list of RRtypes, included in the above document is maintained by 470 Jelte Jansen, and was also used as input to this document. 471 [Jelte-1]. 473 A list of DNS standards was developed in 2004 by AndrA!s Salamon and 474 was used as input to this document. [Salaman-1]. 476 10. Concordance of references 478 To assist in compiling automated checkers, this document includes as 479 an appendix a concordance of normative references. This provides a 480 handy reference to the sections of this document which depend on each 481 cited RFC, and vice-versa. 483 To add new dependencies into the modern DNS Implementation Guide this 484 concordance should be used to identify related documents and review 485 if any have been superseded, and also to check where else in this 486 document a related dependency may exist. 488 11. Changes since the -00 draft 490 [Note: This section is not for publication.] 492 12. References 494 12.1. Normative References 496 [I-D.ietf-dnsext-rfc2671bis-edns0] 497 Vixie, P., "Revised extension mechanisms for DNS (EDNS0)", 498 draft-ietf-dnsext-rfc2671bis-edns0-00 (work in progress), 499 December 2007. 501 [RFC1033] Lottor, M., "Domain administrators operations guide", 502 RFC 1033, November 1987. 504 [RFC1034] Mockapetris, P., "Domain names - concepts and facilities", 505 STD 13, RFC 1034, November 1987. 507 [RFC1035] Mockapetris, P., "Domain names - implementation and 508 specification", STD 13, RFC 1035, November 1987. 510 [RFC1122] Braden, R., "Requirements for Internet Hosts - 511 Communication Layers", STD 3, RFC 1122, October 1989. 513 [RFC1123] Braden, R., "Requirements for Internet Hosts - Application 514 and Support", STD 3, RFC 1123, October 1989. 516 [RFC1183] Everhart, C., Mamakos, L., Ullmann, R., and P. 517 Mockapetris, "New DNS RR Definitions", RFC 1183, 518 October 1990. 520 [RFC1464] Rosenbaum, R., "Using the Domain Name System To Store 521 Arbitrary String Attributes", RFC 1464, May 1993. 523 [RFC1535] Gavron, E., "A Security Problem and Proposed Correction 524 With Widely Deployed DNS Software", RFC 1535, 525 October 1993. 527 [RFC1536] Kumar, A., Postel, J., Neuman, C., Danzig, P., and S. 528 Miller, "Common DNS Implementation Errors and Suggested 529 Fixes", RFC 1536, October 1993. 531 [RFC1706] Manning, B. and R. Colella, "DNS NSAP Resource Records", 532 RFC 1706, October 1994. 534 [RFC1713] Romao, A., "Tools for DNS debugging", RFC 1713, 535 November 1994. 537 [RFC1794] Brisco, T., "DNS Support for Load Balancing", RFC 1794, 538 April 1995. 540 [RFC1876] Davis, C., Vixie, P., Goodwin, T., and I. Dickinson, "A 541 Means for Expressing Location Information in the Domain 542 Name System", RFC 1876, January 1996. 544 [RFC1912] Barr, D., "Common DNS Operational and Configuration 545 Errors", RFC 1912, February 1996. 547 [RFC1982] Elz, R. and R. Bush, "Serial Number Arithmetic", RFC 1982, 548 August 1996. 550 [RFC1995] Ohta, M., "Incremental Zone Transfer in DNS", RFC 1995, 551 August 1996. 553 [RFC1996] Vixie, P., "A Mechanism for Prompt Notification of Zone 554 Changes (DNS NOTIFY)", RFC 1996, August 1996. 556 [RFC1997] Chandrasekeran, R., Traina, P., and T. Li, "BGP 557 Communities Attribute", RFC 1997, August 1996. 559 [RFC2010] Manning, B. and P. Vixie, "Operational Criteria for Root 560 Name Servers", RFC 2010, October 1996. 562 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 563 Requirement Levels", BCP 14, RFC 2119, March 1997. 565 [RFC2136] Vixie, P., Thomson, S., Rekhter, Y., and J. Bound, 566 "Dynamic Updates in the Domain Name System (DNS UPDATE)", 567 RFC 2136, April 1997. 569 [RFC2163] Allocchio, C., "Using the Internet DNS to Distribute MIXER 570 Conformant Global Address Mapping (MCGAM)", RFC 2163, 571 January 1998. 573 [RFC2181] Elz, R. and R. Bush, "Clarifications to the DNS 574 Specification", RFC 2181, July 1997. 576 [RFC2219] Hamilton, M. and R. Wright, "Use of DNS Aliases for 577 Network Services", BCP 17, RFC 2219, October 1997. 579 [RFC2230] Atkinson, R., "Key Exchange Delegation Record for the 580 DNS", RFC 2230, November 1997. 582 [RFC2247] Kille, S., Wahl, M., Grimstad, A., Huber, R., and S. 583 Sataluri, "Using Domains in LDAP/X.500 Distinguished 584 Names", RFC 2247, January 1998. 586 [RFC2276] Sollins, K., "Architectural Principles of Uniform Resource 587 Name Resolution", RFC 2276, January 1998. 589 [RFC2308] Andrews, M., "Negative Caching of DNS Queries (DNS 590 NCACHE)", RFC 2308, March 1998. 592 [RFC2535] Eastlake, D., "Domain Name System Security Extensions", 593 RFC 2535, March 1999. 595 [RFC2536] Eastlake, D., "DSA KEYs and SIGs in the Domain Name System 596 (DNS)", RFC 2536, March 1999. 598 [RFC2538] Eastlake, D. and O. Gudmundsson, "Storing Certificates in 599 the Domain Name System (DNS)", RFC 2538, March 1999. 601 [RFC2539] Eastlake, D., "Storage of Diffie-Hellman Keys in the 602 Domain Name System (DNS)", RFC 2539, March 1999. 604 [RFC2540] Eastlake, D., "Detached Domain Name System (DNS) 605 Information", RFC 2540, March 1999. 607 [RFC2541] Eastlake, D., "DNS Security Operational Considerations", 608 RFC 2541, March 1999. 610 [RFC2671] Vixie, P., "Extension Mechanisms for DNS (EDNS0)", 611 RFC 2671, August 1999. 613 [RFC2672] Crawford, M., "Non-Terminal DNS Name Redirection", 614 RFC 2672, August 1999. 616 [RFC2673] Crawford, M., "Binary Labels in the Domain Name System", 617 RFC 2673, August 1999. 619 [RFC2694] Srisuresh, P., Tsirtsis, G., Akkiraju, P., and A. 620 Heffernan, "DNS extensions to Network Address Translators 621 (DNS_ALG)", RFC 2694, September 1999. 623 [RFC2782] Gulbrandsen, A., Vixie, P., and L. Esibov, "A DNS RR for 624 specifying the location of services (DNS SRV)", RFC 2782, 625 February 2000. 627 [RFC2825] IAB and L. Daigle, "A Tangled Web: Issues of I18N, Domain 628 Names, and the Other Internet protocols", RFC 2825, 629 May 2000. 631 [RFC2845] Vixie, P., Gudmundsson, O., Eastlake, D., and B. 632 Wellington, "Secret Key Transaction Authentication for DNS 633 (TSIG)", RFC 2845, May 2000. 635 [RFC2874] Crawford, M. and C. Huitema, "DNS Extensions to Support 636 IPv6 Address Aggregation and Renumbering", RFC 2874, 637 July 2000. 639 [RFC2916] Faltstrom, P., "E.164 number and DNS", RFC 2916, 640 September 2000. 642 [RFC2929] Eastlake, D., Brunner-Williams, E., and B. Manning, 643 "Domain Name System (DNS) IANA Considerations", BCP 42, 644 RFC 2929, September 2000. 646 [RFC2930] Eastlake, D., "Secret Key Establishment for DNS (TKEY 647 RR)", RFC 2930, September 2000. 649 [RFC2931] Eastlake, D., "DNS Request and Transaction Signatures ( 650 SIG(0)s)", RFC 2931, September 2000. 652 [RFC2937] Smith, C., "The Name Service Search Option for DHCP", 653 RFC 2937, September 2000. 655 [RFC2972] Popp, N., Mealling, M., Masinter, L., and K. Sollins, 656 "Context and Goals for Common Name Resolution", RFC 2972, 657 October 2000. 659 [RFC3007] Wellington, B., "Secure Domain Name System (DNS) Dynamic 660 Update", RFC 3007, November 2000. 662 [RFC3008] Wellington, B., "Domain Name System Security (DNSSEC) 663 Signing Authority", RFC 3008, November 2000. 665 [RFC3090] Lewis, E., "DNS Security Extension Clarification on Zone 666 Status", RFC 3090, March 2001. 668 [RFC3110] Eastlake, D., "RSA/SHA-1 SIGs and RSA KEYs in the Domain 669 Name System (DNS)", RFC 3110, May 2001. 671 [RFC3123] Koch, P., "A DNS RR Type for Lists of Address Prefixes 672 (APL RR)", RFC 3123, June 2001. 674 [RFC3197] Austein, R., "Applicability Statement for DNS MIB 675 Extensions", RFC 3197, November 2001. 677 [RFC3225] Conrad, D., "Indicating Resolver Support of DNSSEC", 678 RFC 3225, December 2001. 680 [RFC3226] Gudmundsson, O., "DNSSEC and IPv6 A6 aware server/resolver 681 message size requirements", RFC 3226, December 2001. 683 [RFC3258] Hardie, T., "Distributing Authoritative Name Servers via 684 Shared Unicast Addresses", RFC 3258, April 2002. 686 [RFC3263] Rosenberg, J. and H. Schulzrinne, "Session Initiation 687 Protocol (SIP): Locating SIP Servers", RFC 3263, 688 June 2002. 690 [RFC3363] Bush, R., Durand, A., Fink, B., Gudmundsson, O., and T. 691 Hain, "Representing Internet Protocol version 6 (IPv6) 692 Addresses in the Domain Name System (DNS)", RFC 3363, 693 August 2002. 695 [RFC3364] Austein, R., "Tradeoffs in Domain Name System (DNS) 696 Support for Internet Protocol version 6 (IPv6)", RFC 3364, 697 August 2002. 699 [RFC3401] Mealling, M., "Dynamic Delegation Discovery System (DDDS) 700 Part One: The Comprehensive DDDS", RFC 3401, October 2002. 702 [RFC3402] Mealling, M., "Dynamic Delegation Discovery System (DDDS) 703 Part Two: The Algorithm", RFC 3402, October 2002. 705 [RFC3403] Mealling, M., "Dynamic Delegation Discovery System (DDDS) 706 Part Three: The Domain Name System (DNS) Database", 707 RFC 3403, October 2002. 709 [RFC3404] Mealling, M., "Dynamic Delegation Discovery System (DDDS) 710 Part Four: The Uniform Resource Identifiers (URI)", 711 RFC 3404, October 2002. 713 [RFC3405] Mealling, M., "Dynamic Delegation Discovery System (DDDS) 714 Part Five: URI.ARPA Assignment Procedures", BCP 65, 715 RFC 3405, October 2002. 717 [RFC3425] Lawrence, D., "Obsoleting IQUERY", RFC 3425, 718 November 2002. 720 [RFC3445] Massey, D. and S. Rose, "Limiting the Scope of the KEY 721 Resource Record (RR)", RFC 3445, December 2002. 723 [RFC3490] Faltstrom, P., Hoffman, P., and A. Costello, 724 "Internationalizing Domain Names in Applications (IDNA)", 725 RFC 3490, March 2003. 727 [RFC3491] Hoffman, P. and M. Blanchet, "Nameprep: A Stringprep 728 Profile for Internationalized Domain Names (IDN)", 729 RFC 3491, March 2003. 731 [RFC3492] Costello, A., "Punycode: A Bootstring encoding of Unicode 732 for Internationalized Domain Names in Applications 733 (IDNA)", RFC 3492, March 2003. 735 [RFC3596] Thomson, S., Huitema, C., Ksinant, V., and M. Souissi, 736 "DNS Extensions to Support IP Version 6", RFC 3596, 737 October 2003. 739 [RFC3597] Gustafsson, A., "Handling of Unknown DNS Resource Record 740 (RR) Types", RFC 3597, September 2003. 742 [RFC3645] Kwan, S., Garg, P., Gilroy, J., Esibov, L., Westhead, J., 743 and R. Hall, "Generic Security Service Algorithm for 744 Secret Key Transaction Authentication for DNS (GSS-TSIG)", 745 RFC 3645, October 2003. 747 [RFC3646] Droms, R., "DNS Configuration options for Dynamic Host 748 Configuration Protocol for IPv6 (DHCPv6)", RFC 3646, 749 December 2003. 751 [RFC3655] Wellington, B. and O. Gudmundsson, "Redefinition of DNS 752 Authenticated Data (AD) bit", RFC 3655, November 2003. 754 [RFC3658] Gudmundsson, O., "Delegation Signer (DS) Resource Record 755 (RR)", RFC 3658, December 2003. 757 [RFC3696] Klensin, J., "Application Techniques for Checking and 758 Transformation of Names", RFC 3696, February 2004. 760 [RFC3755] Weiler, S., "Legacy Resolver Compatibility for Delegation 761 Signer (DS)", RFC 3755, May 2004. 763 [RFC3757] Kolkman, O., Schlyter, J., and E. Lewis, "Domain Name 764 System KEY (DNSKEY) Resource Record (RR) Secure Entry 765 Point (SEP) Flag", RFC 3757, April 2004. 767 [RFC4025] Richardson, M., "A Method for Storing IPsec Keying 768 Material in DNS", RFC 4025, March 2005. 770 [RFC4033] Arends, R., Austein, R., Larson, M., Massey, D., and S. 771 Rose, "DNS Security Introduction and Requirements", 772 RFC 4033, March 2005. 774 [RFC4034] Arends, R., Austein, R., Larson, M., Massey, D., and S. 775 Rose, "Resource Records for the DNS Security Extensions", 776 RFC 4034, March 2005. 778 [RFC4035] Arends, R., Austein, R., Larson, M., Massey, D., and S. 779 Rose, "Protocol Modifications for the DNS Security 780 Extensions", RFC 4035, March 2005. 782 [RFC4255] Schlyter, J. and W. Griffin, "Using DNS to Securely 783 Publish Secure Shell (SSH) Key Fingerprints", RFC 4255, 784 January 2006. 786 [RFC4307] Schiller, J., "Cryptographic Algorithms for Use in the 787 Internet Key Exchange Version 2 (IKEv2)", RFC 4307, 788 December 2005. 790 [RFC4408] Wong, M. and W. Schlitt, "Sender Policy Framework (SPF) 791 for Authorizing Use of Domains in E-Mail, Version 1", 792 RFC 4408, April 2006. 794 [RFC4431] Andrews, M. and S. Weiler, "The DNSSEC Lookaside 795 Validation (DLV) DNS Resource Record", RFC 4431, 796 February 2006. 798 [RFC4701] Stapp, M., Lemon, T., and A. Gustafsson, "A DNS Resource 799 Record (RR) for Encoding Dynamic Host Configuration 800 Protocol (DHCP) Information (DHCID RR)", RFC 4701, 801 October 2006. 803 12.2. Informational, Formerly Normative References, now obsolete 805 [RFC0882] Mockapetris, P., "Domain names: Concepts and facilities", 806 RFC 882, November 1983. 808 [RFC0883] Mockapetris, P., "Domain names: Implementation 809 specification", RFC 883, November 1983. 811 [RFC0973] Mockapetris, P., "Domain system changes and observations", 812 RFC 973, January 1986. 814 [RFC1348] Manning, B., "DNS NSAP RRs", RFC 1348, July 1992. 816 [RFC1386] Cooper, A. and J. Postel, "The US Domain", RFC 1386, 817 December 1992. 819 [RFC1537] Beertema, P., "Common DNS Data File Configuration Errors", 820 RFC 1537, October 1993. 822 [RFC1637] Manning, B. and R. Colella, "DNS NSAP Resource Records", 823 RFC 1637, June 1994. 825 [RFC1664] Allocchio, C., Bonito, A., Cole, B., Giordano, S., and R. 826 Hagens, "Using the Internet DNS to Distribute RFC1327 Mail 827 Address Mapping Tables", RFC 1664, August 1994. 829 [RFC1712] Farrell, C., Schulze, M., Pleitner, S., and D. Baldoni, 830 "DNS Encoding of Geographical Location", RFC 1712, 831 November 1994. 833 [RFC1811] Federal Networking Council, "U.S", RFC 1811, June 1995. 835 [RFC1816] Federal Networking Council, "U.S", RFC 1816, August 1995. 837 [RFC1886] Thomson, S. and C. Huitema, "DNS Extensions to support IP 838 version 6", RFC 1886, December 1995. 840 [RFC2052] Gulbrandsen, A. and P. Vixie, "A DNS RR for specifying the 841 location of services (DNS SRV)", RFC 2052, October 1996. 843 [RFC2065] Eastlake, D. and C. Kaufman, "Domain Name System Security 844 Extensions", RFC 2065, January 1997. 846 [RFC2137] Eastlake, D., "Secure Domain Name System Dynamic Update", 847 RFC 2137, April 1997. 849 [RFC2168] Daniel, R. and M. Mealling, "Resolution of Uniform 850 Resource Identifiers using the Domain Name System", 851 RFC 2168, June 1997. 853 [RFC2240] Vaughan, O., "A Legal Basis for Domain Name Allocation", 854 RFC 2240, November 1997. 856 [RFC2537] Eastlake, D., "RSA/MD5 KEYs and SIGs in the Domain Name 857 System (DNS)", RFC 2537, March 1999. 859 [RFC2915] Mealling, M. and R. Daniel, "The Naming Authority Pointer 860 (NAPTR) DNS Resource Record", RFC 2915, September 2000. 862 [RFC3152] Bush, R., "Delegation of IP6.ARPA", BCP 49, RFC 3152, 863 August 2001. 865 12.3. Non-Normative, DNS related, but not relevant to Implementors 866 References 868 [RFC0805] Postel, J., "Computer mail meeting notes", RFC 805, 869 February 1982. 871 [RFC0811] Harrenstien, K., White, V., and E. Feinler, "Hostnames 872 Server", RFC 811, March 1982. 874 [RFC0819] Su, Z. and J. Postel, "Domain naming convention for 875 Internet user applications", RFC 819, August 1982. 877 [RFC0881] Postel, J., "Domain names plan and schedule", RFC 881, 878 November 1983. 880 [RFC0897] Postel, J., "Domain name system implementation schedule", 881 RFC 897, February 1984. 883 [RFC0920] Postel, J. and J. Reynolds, "Domain requirements", 884 RFC 920, October 1984. 886 [RFC0921] Postel, J., "Domain name system implementation schedule - 887 revised", RFC 921, October 1984. 889 [RFC0974] Partridge, C., "Mail routing and the domain system", 890 RFC 974, January 1986. 892 [RFC1032] Stahl, M., "Domain administrators guide", RFC 1032, 893 November 1987. 895 [RFC1101] Mockapetris, P., "DNS encoding of network names and other 896 types", RFC 1101, April 1989. 898 [RFC1178] Libes, D., "Choosing a name for your computer", RFC 1178, 899 August 1990. 901 [RFC1480] Cooper, A. and J. Postel, "The US Domain", RFC 1480, 902 June 1993. 904 [RFC1591] Postel, J., "Domain Name System Structure and Delegation", 905 RFC 1591, March 1994. 907 [RFC1611] Austein, R. and J. Saperia, "DNS Server MIB Extensions", 908 RFC 1611, May 1994. 910 [RFC1612] Austein, R. and J. Saperia, "DNS Resolver MIB Extensions", 911 RFC 1612, May 1994. 913 [RFC1956] Engebretson, D. and R. Plzak, "Registration in the MIL 914 Domain", RFC 1956, June 1996. 916 [RFC2053] Der-Danieliantz, E., "The AM (Armenia) Domain", RFC 2053, 917 October 1996. 919 [RFC2100] Ashworth, J., "The Naming of Hosts", RFC 2100, April 1 920 1997. 922 [RFC2142] Crocker, D., "MAILBOX NAMES FOR COMMON SERVICES, ROLES AND 923 FUNCTIONS", RFC 2142, May 1997. 925 [RFC2146] Federal Networking Council, "U.S. Government Internet 926 Domain Names", RFC 2146, May 1997. 928 [RFC2182] Elz, R., Bush, R., Bradner, S., and M. Patton, "Selection 929 and Operation of Secondary DNS Servers", BCP 16, RFC 2182, 930 July 1997. 932 [RFC2307] Howard, L., "An Approach for Using LDAP as a Network 933 Information Service", RFC 2307, March 1998. 935 [RFC2317] Eidnes, H., de Groot, G., and P. Vixie, "Classless IN- 936 ADDR.ARPA delegation", BCP 20, RFC 2317, March 1998. 938 [RFC2345] Klensin, J., Jr, T., and G. Oglesby, "Domain Names and 939 Company Name Retrieval", RFC 2345, May 1998. 941 [RFC2352] Vaughan, O., "A Convention For Using Legal Names as Domain 942 Names", RFC 2352, May 1998. 944 [RFC2377] Grimstad, A., Huber, R., Sataluri, S., and M. Wahl, 945 "Naming Plan for Internet Directory-Enabled Applications", 946 RFC 2377, September 1998. 948 [RFC2517] Moats, R. and R. Huber, "Building Directories from DNS: 949 Experiences from WWWSeeker", RFC 2517, February 1999. 951 [RFC2606] Eastlake, D. and A. Panitz, "Reserved Top Level DNS 952 Names", BCP 32, RFC 2606, June 1999. 954 [RFC2826] Internet Architecture Board, "IAB Technical Comment on the 955 Unique DNS Root", RFC 2826, May 2000. 957 [RFC2832] Hollenbeck, S. and M. Srivastava, "NSI Registry Registrar 958 Protocol (RRP) Version 1.1.0", RFC 2832, May 2000. 960 [RFC2870] Bush, R., Karrenberg, D., Kosters, M., and R. Plzak, "Root 961 Name Server Operational Requirements", BCP 40, RFC 2870, 962 June 2000. 964 [RFC3071] Klensin, J., "Reflections on the DNS, RFC 1591, and 965 Categories of Domains", RFC 3071, February 2001. 967 [RFC3245] Klensin, J. and IAB, "The History and Context of Telephone 968 Number Mapping (ENUM) Operational Decisions: Informational 969 Documents Contributed to ITU-T Study Group 2 (SG2)", 970 RFC 3245, March 2002. 972 [RFC3254] Alvestrand, H., "Definitions for talking about 973 directories", RFC 3254, April 2002. 975 [RFC3352] Zeilenga, K., "Connection-less Lightweight Directory 976 Access Protocol (CLDAP) to Historic Status", RFC 3352, 977 March 2003. 979 [RFC3367] Popp, N., Mealling, M., and M. Moseley, "Common Name 980 Resolution Protocol (CNRP)", RFC 3367, August 2002. 982 [RFC3368] Mealling, M., "The 'go' URI Scheme for the Common Name 983 Resolution Protocol", RFC 3368, August 2002. 985 [RFC3467] Klensin, J., "Role of the Domain Name System (DNS)", 986 RFC 3467, February 2003. 988 [RFC3675] Eastlake, D., ".sex Considered Dangerous", RFC 3675, 989 February 2004. 991 12.4. Informative References Non RFC's 993 [Jelte-1] Jansen, J., "RRtypes", August 2007, 994 . 996 [NLNet-1] Wijngaards, W., "NSD Requirements and Specifications", 997 July 2006, . 999 [Salaman-1] 1000 Salaman, A., "DNS related RFCs", June 2004, 1001 . 1003 Appendix A. Formerly Normative, now Obsolete References 1004 RFC 882 1005 RFC 883 1006 RFC 973 1007 These RFCs were all obsoleted by RFC 1034 and RFC 1035 1008 RFC 1348 1009 This RFC was obsoleted by RFC 1706 1010 RFC 1386 1011 This RFC was obsoleted by RFC 1480 1012 RFC 1537 1013 This RFC was obsoleted by RFC 1912 1014 RFC 1637 1015 This RFC was obsoleted by RFC 1706 1016 RFC 1664 1017 This RFC was obsoleted by RFC 2163 1018 RFC 1712 1019 This RFC was obsoleted by RFC 1876 1020 RFC 1811 1021 This RFC was obsoleted by RFC 1816 1022 and subsequently RFC 2146 1023 RFC 1816 1024 This RFC was obsoleted by RFC 2146 1025 RFC 1886 1026 This RFC was obsoleted by RFC 3596 1027 RFC 2052 1028 This RFC was obsoleted by RFC 2782 1029 RFC 2065 1030 This RFC was obsoleted by RFC 2535 1031 RFC 2137 1032 This RFC was obsoleted by RFC 3007 1033 RFC 2168 1034 This RFC was obsoleted by RFC 3401 RFC 3402 RFC 3403 and RFC 3404 1035 RFC 2240 1036 This RFC was obsoleted by RFC 2352 1037 RFC 2537 1038 This RFC was obsoleted by RFC 3110 1039 RFC 2915 1040 This RFC was obsoleted by RFC 3401 RFC 3402 RFC 3403 and RFC 3404 1041 RFC 3152 1042 This RFC was obsoleted by RFC 3596 1044 Author's Address 1046 George Michaelson 1047 Asia Pacific Network Information Centre 1048 Level 1, 33 Park Road 1049 Milton, Queensland 4064 1050 AU 1052 Phone: +61 7 3858 3100 1053 Email: ggm@apnic.net 1055 Full Copyright Statement 1057 Copyright (C) The IETF Trust (2008). 1059 This document is subject to the rights, licenses and restrictions 1060 contained in BCP 78, and except as set forth therein, the authors 1061 retain all their rights. 1063 This document and the information contained herein are provided on an 1064 "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS 1065 OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND 1066 THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS 1067 OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF 1068 THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED 1069 WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 1071 Intellectual Property 1073 The IETF takes no position regarding the validity or scope of any 1074 Intellectual Property Rights or other rights that might be claimed to 1075 pertain to the implementation or use of the technology described in 1076 this document or the extent to which any license under such rights 1077 might or might not be available; nor does it represent that it has 1078 made any independent effort to identify any such rights. Information 1079 on the procedures with respect to rights in RFC documents can be 1080 found in BCP 78 and BCP 79. 1082 Copies of IPR disclosures made to the IETF Secretariat and any 1083 assurances of licenses to be made available, or the result of an 1084 attempt made to obtain a general license or permission for the use of 1085 such proprietary rights by implementers or users of this 1086 specification can be obtained from the IETF on-line IPR repository at 1087 http://www.ietf.org/ipr. 1089 The IETF invites any interested party to bring to its attention any 1090 copyrights, patents or patent applications, or other proprietary 1091 rights that may cover technology that may be required to implement 1092 this standard. Please address the information to the IETF at 1093 ietf-ipr@ietf.org. 1095 Acknowledgment 1097 Funding for the RFC Editor function is provided by the IETF 1098 Administrative Support Activity (IASA).