INTERNET-DRAFT Eric A. Hall Document: draft-ietf-crisp-firs-dnsrr-02.txt July 2003 Expires: February, 2004 Category: Standards-Track Defining and Locating DNS Resource Records in the Federated Internet Registry Service Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC 2026. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. Copyright Notice Copyright (C) The Internet Society (2003). All Rights Reserved. Abstract This document defines LDAP schema and searching rules for DNS resource records, in support of the Federated Internet Registry Service (FIRS) described in [FIRS-ARCH] and [FIRS-CORE]. Internet Draft draft-ietf-crisp-firs-dnsrr-02.txt July 2003 Table of Contents 1. Introduction..............................................2 2. Prerequisites and Terminology.............................3 3. Naming syntax.............................................3 4. Object Classes and Attributes.............................3 5. Query Processing..........................................6 6. Security Considerations...................................7 7. IANA Considerations.......................................7 8. Normative References......................................7 9. Changes from Previous Versions............................8 10. Author's Address..........................................8 11. Acknowledgments...........................................8 12. Full Copyright Statement..................................9 1. Introduction This specification defines the naming syntax, object classes, attributes, matching filters, and query processing rules for storing and locating DNS resource records in the FIRS service. Refer to [FIRS-ARCH] for information on the FIRS architecture and [FIRS-CORE] for the schema definitions and rules which govern the FIRS service as a whole. DNS resource records are intended to be stored in FIRS whenever the resource record data is useful or necessary. In the common case, this data will provide the IP addresses which are associated with a known "nameserver" host. In that scenario, the relative distinguished name of the entry will be the fully-qualified domain name of the host, with the multi-valued inetDnsRRData attribute providing each of the "A" or "AAAA" resource records associated with that host. Although that specific information could be provided with narrow- use attributes, this specification provides a generalized storage format for DNS resource records so that other kinds of resource record data may also be stored in FIRS, when desirable. For example, it is feasible that another application of FIRS may need to retrieve "MX" resource records or "SOA" resource records associated with a domain name, and using a generalized format facilitates these eventual application scenarios. Furthermore, some DNS servers are known to store zone data in LDAP, and the use of a generalized format facilitates interoperability. Hall I-D Expires: February 2004 [page 2] Internet Draft draft-ietf-crisp-firs-dnsrr-02.txt July 2003 Note that these rules and definitions only apply to DNS resource records in FIRS, and do not apply to domainComponent entries or any other domain name elements, unless explicitly defined. The definitions in this specification are intended to be used with FIRS. Their usage outside of FIRS is not prohibited, but any such usage is beyond this specification's scope of authority. 2. Prerequisites and Terminology The complete set of specifications in the FIRS collection cumulative define a structured and distributed information service using LDAPv3 for the data-formatting and transport functions. This specification should be read in the context of that set, which currently includes [FIRS-ARCH], [FIRS-CORE], [FIRS-DNS], [FIRS-CONTCT], [FIRS-ASN], [FIRS-IPV4] and [FIRS-IPV6]. The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119. 3. Naming syntax This specification does not define new syntax rules. DNS resource records are provided as supplemental data to DNS domain name entries. As such, this data relies on pre-existing entries which conform to the naming syntax defined in [FIRS-DNS]. 4. Object Classes and Attributes DNS resource record entries in FIRS MUST use the inetDnsRR object class, in addition to the inetDnsDomain object class defined in [FIRS-DNS] and the mandatory object classes defined in [FIRS-CORE]. If an entry exists as a referral source, the entry MUST also be defined with the referral object class, in addition to the above requirements. The inetDnsRR object class is an auxiliary object class which is subordinate to the inetDnsDomain object class. The inetDnsRR object class has no mandatory attributes, and has two optional attributes. The inetDnsRR object class also inherits the attributes defined in the inetDnsDomain and inetResources object classes, including the "cn" naming attribute. Hall I-D Expires: February 2004 [page 3] Internet Draft draft-ietf-crisp-firs-dnsrr-02.txt July 2003 The schema definition for the inetDnsRR object class is as follows: inetDnsRR ( 1.3.6.1.4.1.7161.1.8.1 NAME 'inetDnsRR' DESC 'DNS record records.' SUP inetDnsDomain AUXILIARY MAY inetDnsRRData $ inetDnsRRDirective ) The inetDnsRRData attribute is a structured (SEQUENCE) attribute, containing multiple subordinate attributes. The layout of the subordinate attributes is identical to the layout of DNS resource records in the domain name system data message. The inetDnsRRData attribute is also multi-valued. This model allows multiple resource records to be associated with each entry, with each resource record having different types, classes, time-to-live values, data values, and so forth. The inetDnsRRData attribute is described as follows: inetDnsRRData ( 1.3.6.1.4.1.7161.1.8.2 NAME 'inetDnsRRData' DESC 'Generic DNS record record data.' EQUALITY caseIgnoreMatch SYNTAX inetDnsRRDataSyntax ) The inetDnsRRDataSyntax syntax is defined in ASN.1 as follows: inetDnsRRDataSyntax ::= SEQUENCE { RRType INTEGER (0..65535), RRClass INTEGER (0..65535), RRTTL INTEGER (0..4294967295), RRLen INTEGER (0..65535), RRData OCTET STRING (SIZE (0..65535)) } Note that the RRType and RRClass values are managed by IANA, and are stored in the DNS parameter assignment registry. Domain names which are stored in the RRData element MUST NOT use the DNS compression mechanism. That compression mechanism relies on the presence of existing domain names inside a DNS message, and Hall I-D Expires: February 2004 [page 4] Internet Draft draft-ietf-crisp-firs-dnsrr-02.txt July 2003 this storage system does not use DNS messages, so there would not be any previous instances to reference. The inetDnsRRDirective attribute provides a mechanism for storing zone-file "directive" statements. Directives are textual sequences which typically provide out-of-band data, such as default time-to- live value for resource records in the zone. They are accommodated here so that DNS systems which store and retrieve zone data in the directory will be able also be able to store common directives. Directives are not currently used with any FIRS applications. The inetDnsRRDirective attribute stores a text string, and is multi-valued. inetDnsRRDirective ( 1.3.6.1.4.1.7161.1.8.3 NAME 'inetDnsRRDirective' DESC 'Zone-file directives for this domain name.' EQUALITY caseIgnoreMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{1024} ) An example of the inetDnsRR object class in use is shown in Figure 1 below. The example includes attributes from the inetDnsRR, inetDnsDomain, inetResources, and inetAssociatedResources object classes. Hall I-D Expires: February 2004 [page 5] Internet Draft draft-ietf-crisp-firs-dnsrr-02.txt July 2003 cn=ns1.example.com,cn=inetResources,dc=example,dc=com [top object class] [inetResources object class] [inetDnsDomain object class] [inetDnsRR object class] [inetAssociatedResources object class] | +-attribute: description | value: "The master DNS server for the example.com domain" | +-attribute: inetDnsContacts | value: "hostmaster@example.com" | +-attribute: inetDnsRRData | value: 1, 1, 3600, 4, (0xC0 0x00 0x02 0x0E) | +-attribute: inetAssociatedDnsDomain value: "example.com" Figure 1: The entry for the ns1.example.com DNS domain name and its associated resource records. In the example shown above, the ns1.example.com domain name has a single inetDnsRRData attribute, which provides a single IPv4 address resource record. The subordinate elements of that attribute indicate a RRType value of "1" (IPv4 Address), a RRClass value of "1" (the Internet class), a RRTTL value of 3600 (a TTL of one hour), a RRLen value of 4 (four octets of data), and four single-octet data values which mirror the DNS format of IPv4 addresses (in this case, the IPv4 address of "192.0.2.14"). 5. Query Processing This specification does not define new query processing rules. DNS resource records are provided as supplemental data to DNS domain name entries. As such, this data relies on the query processing rules defined in [FIRS-DNS]. Note that the use of bottom-up processing is more likely to succeed when searching for DNS domain names with resource record attributes, since these entries are more likely to exist. However, the default usage of top-down processing is still preferred. Hall I-D Expires: February 2004 [page 6] Internet Draft draft-ietf-crisp-firs-dnsrr-02.txt July 2003 6. Security Considerations Security considerations are discussed in [FIRS-ARCH]. 7. IANA Considerations IANA considerations are discussed in [FIRS-ARCH]. 8. Normative References [FIRS-ARCH] Hall, E. "The Federated Internet Registry Service: Architecture and Implementation Guide", draft-ietf-crisp-firs-arch-02, July 2003. [FIRS-ASN] Hall, E. "Defining and Locating Autonomous System Numbers in the Federated Internet Registry Service", draft-ietf-crisp-firs-asn- 02, July 2003. [FIRS-CONTCT] Hall, E. "Defining and Locating Contact Persons in the Federated Internet Registry Service", draft-ietf-crisp-firs-contact-02, July 2003. [FIRS-CORE] Hall, E. "The Federated Internet Registry Service: Core Elements", draft-ietf-crisp- firs-core-02, July 2003. [FIRS-DNS] Hall, E. "Defining and Locating DNS Domains in the Federated Internet Registry Service", draft-ietf-crisp-firs-dns-02, July 2003. [FIRS-DNSRR] Hall, E. "Defining and Locating DNS Resource Records in the Federated Internet Registry Service", draft-ietf-crisp-firs-dnsrr-02, July 2003. [FIRS-IPV4] Hall, E. "Defining and Locating IPv4 Address Blocks in the Federated Internet Registry Service", draft-ietf-crisp-firs-ipv4-02, July 2003. [FIRS-IPV6] Hall, E. "Defining and Locating IPv6 Address Blocks in the Federated Internet Registry Service", draft-ietf-crisp-firs-ipv6-02, July 2003. Hall I-D Expires: February 2004 [page 7] Internet Draft draft-ietf-crisp-firs-dnsrr-02.txt July 2003 [RFC2247] Kille, S., Wahl, M., Grimstad, A., Huber, R., and Sataluri, S. "Using Domains in LDAP/X.500 DNs", RFC 2247, January 1998. [RFC2251] Wahl, M., Howes, T., and Kille, S. "Lightweight Directory Access Protocol (v3)", RFC 2251, December 1997. [RFC2252] Wahl, M., Coulbeck, A., Howes, T., and Kille, S. "Lightweight Directory Access Protocol (v3): Attribute Syntax Definitions", RFC 2252, December 1997. [RFC2254] Howes, T. "The String Representation of LDAP Search Filters", RFC 2254, December 1997. 9. Changes from Previous Versions draft-ietf-crisp-firs-dnsrr-02: * Several clarifications and corrections have been made. * Several attributes had their OIDs changed. NOTE THAT THIS IS AN INTERNET DRAFT, AND THAT THE OIDS ARE SUBJECT TO ADDITIONAL CHANGES AS THIS DOCUMENT IS EDITED. draft-ietf-crisp-firs-dnsrr-01: * Added the inetDnsRRDirective attribute. * Added explanatory text to the introduction. * Several clarifications and corrections have been made. draft-ietf-crisp-firs-dnsrr-00: * Restructured the document set. 10. Author's Address Eric A. Hall ehall@ehsco.com 11. Acknowledgments Funding for the RFC editor function is currently provided by the Internet Society. Hall I-D Expires: February 2004 [page 8] Internet Draft draft-ietf-crisp-firs-dnsrr-02.txt July 2003 Portions of this document were funded by VeriSign Labs. Thanks to Stig Venaas for providing constructive feedback during the early development of this specification. 12. Full Copyright Statement Copyright (C) The Internet Society (2003). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns. This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Hall I-D Expires: February 2004 [page 9]