--- 1/draft-ietf-urn-net-procedures-02.txt 2007-12-18 19:09:55.000000000 +0100 +++ 2/draft-ietf-urn-net-procedures-03.txt 2007-12-18 19:09:55.000000000 +0100 @@ -1,278 +1,369 @@ Network Working Group M. Mealling Internet-Draft Network Solutions, Inc. -Category: Informational February 1999 -Expires: August 02, 1999 +Expires: August 1, 2000 R.D. Daniel + Metacode, Inc. + February 2000 Assignment Procedures for URI Resolution using DNS - draft-ietf-urn-net-procedures-02.txt + draft-ietf-urn-net-procedures-03.txt Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. 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." - To view the entire list of Internet-Draft Shadow Directories, see + 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. - This Internet-Draft will expire on August 02, 1999. + This Internet-Draft will expire on August 1, 2000. + +Copyright Notice + + Copyright (C) The Internet Society (2000). All Rights Reserved. Abstract - RFC2168 defines a DNS resource record and an algorithm for using DNS - as a registry for retrieving URI delegation rules (sometimes called + RFCXXXX defines a how DNS is used as a Resolver Discovery System + database that contains URI delegation rules (sometimes called resolution hints). That document specifies that the first step in - that algorithm is to append 'uri.net' to the URI scheme and retrieve + that algorithm is to append 'URI.NET' to the URI scheme and retrieve the NAPTR record for that domain-name. I.e., the first step in resolving "http://foo.com/" would be to look up a NAPTR record for - the domain "http.uri.net". URN resolution also follows a similar - procedure but uses the 'urn.net' zone as its root. This document - describes the procedures for inserting a new rule into the 'uri.net' - and 'urn.net' zones. - -Copyright Notice - - Copyright (C) The Internet Society (1999). All Rights Reserved. + the domain "http.URI.NET". URN resolution also follows a similar + procedure but uses the 'URN.NET' zone as its root. This document + describes the procedures for inserting a new rule into the 'URI.NET' + and 'URN.NET' zones. Table of Contents - 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 - 2. URI Resolution vs URN Resolution . . . . . . . . . . . . . . . 3 - 3. URI Registration Procedure . . . . . . . . . . . . . . . . . . 3 - 4. URN Registration Procedure . . . . . . . . . . . . . . . . . . 3 - 5. Requirements on rules . . . . . . . . . . . . . . . . . . . . 3 - 6. Submission Procedure . . . . . . . . . . . . . . . . . . . . . 4 - 7. Registration Template . . . . . . . . . . . . . . . . . . . . 5 - 7.1 Key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 7.2 Authority . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 7.3 Records . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 8. Example Template . . . . . . . . . . . . . . . . . . . . . . . 5 - 9. The URN Registration in the uri.net zone . . . . . . . . . . . 5 - 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 - References . . . . . . . . . . . . . . . . . . . . . . . . . . 6 - Author's Address . . . . . . . . . . . . . . . . . . . . . . . 7 + 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 + 2. URI Resolution vs URN Resolution . . . . . . . . . . . . . . 3 + 3. Registration Policies . . . . . . . . . . . . . . . . . . . 3 + 3.1 URI.NET Registration . . . . . . . . . . . . . . . . . . . . 3 + 3.1.1 Only Schemes in the IETF Tree Allowed . . . . . . . . . . . 3 + 3.1.2 Scheme Registration Takes Precedence . . . . . . . . . . . . 3 + 3.1.3 NAPTR Registration May Accompany Scheme Registration . . . . 4 + 3.1.4 Registration or Changes after Scheme Registration . . . . . 4 + 3.2 URN.NET Registration . . . . . . . . . . . . . . . . . . . . 4 + 3.2.1 NID Registration Takes Precedence . . . . . . . . . . . . . 4 + 3.2.2 NAPTR Registration May Accompany NID Registration . . . . . 4 + 3.2.3 Registration or Changes after Scheme Registration . . . . . 4 + 4. Requirements on hints . . . . . . . . . . . . . . . . . . . 5 + 5. Submission Procedure . . . . . . . . . . . . . . . . . . . . 6 + 6. Registration Template . . . . . . . . . . . . . . . . . . . 6 + 6.1 Key . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 + 6.2 Authority . . . . . . . . . . . . . . . . . . . . . . . . . 6 + 6.3 Records . . . . . . . . . . . . . . . . . . . . . . . . . . 6 + 7. Example Template . . . . . . . . . . . . . . . . . . . . . . 7 + 8. The URN Registration in the URI.NET zone . . . . . . . . . . 7 + 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . 7 + References . . . . . . . . . . . . . . . . . . . . . . . . . 7 + Authors' Addresses . . . . . . . . . . . . . . . . . . . . . 8 + Full Copyright Statement . . . . . . . . . . . . . . . . . . 9 1. Introduction This document defines the policies and procedures for inserting - NAPTR records into the 'uri.net' and 'urn.net' zones for the purpose + NAPTR records into the 'URI.NET' and 'URN.NET' zones for the purpose of resolving URIs according to "Resolution of Uniform Resource Identifiers using the Domain Name System", RFCXXXX[1], which is an application of the NAPTR DNS Resource Record defined in RFCXXXX[2]. 2. URI Resolution vs URN Resolution RFCXXXX[1] defines how both URI resolution and URN[3] resolution - work. Specifically it says that all URIs rules are registered in - 'uri.net'. Since a URN is a URI it follows the same rules. Thus one - of the rules in the 'uri.net' zone is the one for a URN. This rule - states that the namespace id [4] is extracted, 'urn.net' is appended - to the end of the namespace id, and the next NAPTR record[2] is - retrieved. + work when DNS is used as the delegation rule (or hint) database. + Specifically it says that the initial instructions ('hints') for + DNS-based resolution of URIs are stored as resource records in the + 'URI.NET' DNS zone. -3. URI Registration Procedure + Since a URN is a kind of URI, a hint for resolution of the URI + prefix 'urn:' will also be stored in the 'URI.NET' zone. This rule + states that the namespace id[3] is extracted, 'URN.NET' is appended + to the end of the namespace id, and the result is used as the key + for retrieval of a subsequent NAPTR record[2]. - At this time there is no set procedure for registering new URI - schemes other than a published RFC. Due to this lack and the - existence of non-published schemes such as "about" and "res", there - is an IETF working group discussing how to deal with this problem. - Thus, at this time the only requirements for requesting an entry in - the uri.net zone is that the URI scheme be published or in use - somewhere and that it not conflict with an existing URI scheme. +3. Registration Policies - When the IETF does standardize a set of procedures for vetting and - registering new URI schemes, the 'uri.net' registration procedures - MUST adhere to those procedures for determining if the URI scheme in - question is valid. + The creation of a given URI scheme or URN namespace id (NID) follows + the appropriate registration documents for those spaces. URI schemes + follow "Registration Procedures for URL Scheme Names" (RFC + 2717)[7]. URN namespace ids follow "URN Namespace Definition + Mechanisms" (RFC 2611)[6]. -4. URN Registration Procedure +3.1 URI.NET Registration - RFCXXXX[6] defines the procedures for assignment of new URN - namespace-ids. Since the 'urn.net' registration procedures only - deal with the namespace-id portion of the URN space, that document - is the sole determining document for what can be entered into the - urn.net zone for a URN. +3.1.1 Only Schemes in the IETF Tree Allowed -5. Requirements on rules + In order to be inserted into the URI.NET zone, the subsequent URI + scheme MUST be registered under the IETF URI tree. The requirements + for this tree are specified in [7]. + +3.1.2 Scheme Registration Takes Precedence + + The registration of a NAPTR record for a URI scheme MUST NOT precede + proper registration of that scheme and publication of a stable + specification in accordance with [7]. The IESG or its designated + expert will review the request for + 1. correctness and technical soundness + 2. consistency with the published URI specification, and + 3. to ensure that the NAPTR record for a DNS-based URI does not + delegate resolution of the URI to a party other than the holder + of the DNS name. This last rule is to insure that a given URI's + resolution hint doesn't hijack (inadvertently or otherwise) + network traffic for a given domain. + +3.1.3 NAPTR Registration May Accompany Scheme Registration + + A request for a URI.NET registration MAY accompany a request for a + URI scheme (in accordance with [7]), in which case both requests + will be reviewed simultaneously by IESG or its designated experts. + +3.1.4 Registration or Changes after Scheme Registration + + A request for a NAPTR record (or an request to change an existing + NAPTR record) MAY be submitted after the URI prefix has been + registered. If the specification for the URI prefix is controlled + by some other party than IETF, IESG will require approval from the + owner/maintainer of that specification before the registration will + be accepted. This is in addition to any technical review of the + NAPTR registration done by IESG or its designated experts. + +3.2 URN.NET Registration + +3.2.1 NID Registration Takes Precedence + + The registration of a NAPTR record for a URN NID MUST NOT precede + proper registration of that NID and publication of a stable + specification in accordance with [6]. This is to prevent the + registration of a NAPTR record in URN.NET from circumventing the NID + registration process. + +3.2.2 NAPTR Registration May Accompany NID Registration + + A request for a URN.NET registration MAY accompany a request for a + NID (in accordance with [6]), in which case both requests will be + reviewed at the same time. + +3.2.3 Registration or Changes after Scheme Registration + + A request for a NAPTR record (or an request to change an existing + NAPTR record) MAY be submitted after the NID has been registered. + If the specification for the NID is controlled by some other party + than IETF, IESG will require approval from the owner/maintainer of + that specification before the registration will be accepted. This is + in addition to any technical review of the NAPTR registration done + by IESG or its designated experts. + + Note that this applies to all NAPTR records for a particular NID, + even though a NAPTR record might affect only part of the URN space + assigned to an NID + +4. Requirements on hints Delegation of a namespace can happen in two ways. In the case of - most URIs where the entity being delegated to is hard-coded into the - identifier itself, the syntax of where this is located is set. In - the case where the entity being delegated to is set in the rule, - that entity can change as the rule changes. + most URIs, the key being delegated to is hard-coded into the + identifier itself (i.e. a hostname in an HTTP URL). The syntax of + where this new key is located is predetermined by the syntax of the + scheme. In other cases, the new key can be part of the hint itself. + This is the functional equivalent of saying, "if this rule matches + then this is always the key." + + In order to minimize the query load on the URI.NET and URN.NET + zones, it is anticipated that the resource records in those zones + will have extremely long "times to live" (TTLs), perhaps measured in + years. + + Thus, for any URI prefix or URN namespace for which the resolution + hints are likely to change, the actual rule should be stored in some + other (less stable) DNS zone, and within URI.NET or URN.NET a stable + NAPTR record should be used to delegate queries to that less stable + zone. - One of the optimizations that the both the URI and URN registries - attempts to make is that any entry in that zone should have an - extremely long time to live. 'Extremely long' should be measured in - years if possible. Thus, any rule that can change must be delegated - out of the urn.net zone by a replacement rule in the NAPTR record. For example, the 'foo' URN namespace has flexible rules for how delegation takes place. Instead of putting those rules in the - urn.net zone, the entry instead punts those rules off to a - nameserver that has a shorter time to live. The record in urn.net + URN.NET zone, the entry instead punts those rules off to a + nameserver that has a shorter time to live. The record in URN.NET would look like this: foo IN NAPTR 100 10 "" "" "" urn-resolver.foo.com. Thus, when the client starts out in the resolution process, the - second step is to begin asking 'urn-resolver.foo.com' for the NAPTR - records that contain the resolution rules. The TTL at the root is - very long. The TTL at the 'urn-resolver.foo.com' is much shorter. + first step will be to query foo.URN.NET to find the above record, + the second step is to begin asking 'urn-resolver.foo.com' for the + NAPTR records that contain the resolution rules. The TTL at the root + is very long. The TTL at the 'urn-resolver.foo.com' is much shorter. Conversely, the 'http' URL scheme adheres to a particular syntax that specifies that the host to ask is specified in the URL in question. Since this syntax does not change, that rule can be - specified in the uri.net zone. The record would look like this: + specified in the URI.NET zone. The record would look like this: http IN NAPTR 100 100 "" "" "/http:\\/\\/([^\\/:]+)/\\2/i" . - Thus, the second step of resolution is to attempt to contact the - host contained in the URL itself. + Thus, the second step of resolution is to use the domain-name found + in the URL as the next key in the cycle. If, for example, that NAPTR + was terminal and contains some hostname in the replacement field, + then the client could contact that host in order to ask questions + about this particular URI. -6. Submission Procedure +5. Submission Procedure Using the MIME Content-Type registration mechanism[5]as a model for - a successful registration mechanism, the 'uri.net' and 'urn.net' + a successful registration mechanism, the 'URI.NET' and 'URN.NET' procedures consist of a request template submitted to an open mailing list made up of interested parties. If no objections are made within a two week period, a representative of the registration authority considers the submission to be accepted and enters that submission into the nameserver. - o Registrations for the 'uri.net' zone are sent to - 'register@uri.net'. - o Registrations for the 'urn.net' zone are sent to - 'register@urn.net'. + o Registrations for the 'URI.NET' zone are sent to + 'register@URI.NET'. + o Registrations for the 'URN.NET' zone are sent to + 'register@URN.NET'. At this time the registration authority is expected to be the IANA. Objections are restricted to those that point out impacts on the zone itself or to DNS in general. Objections to the URL scheme or to the URN namespace-id are not allowed, as these should be raised in their respective forums. The logical conclusion of this is that ANY sanctioned URL scheme or URN namespace MUST be allowed to be registered if it meets the requirements specified in this document as regards times to live and general impact to the DNS. -7. Registration Template +6. Registration Template The template to be sent to the appropriate list MUST contain the following values: -7.1 Key +6.1 Key This is the URN NID or URL scheme, which is used as the domain portion of the DNS entry. It must be valid according to the procedures specified in the URN namespace-id assignment document and any future standards for registering new URL schemes. -7.2 Authority +6.2 Authority This is the authority doing the registration of the record. It must be an authority recognized as either the IESG or any authority defined in the URN NID[6] or URL scheme registration[7] documents. -7.3 Records +6.3 Records The actual DNS records representing the rule set for the key. The required values are Preference, Order, Flags, Services, Regex, and Replacement as defined by RFCXXXX[2]. -8. Example Template +7. Example Template - To: register@urn.net + To: register@URN.NET From: joe@foo.com Key: foo Authority: Foo Technology, Inc as specified in RFCFOO Record: foo IN NAPTR 100 100 "" "" "" urn.foo.com. -9. The URN Registration in the uri.net zone +8. The URN Registration in the URI.NET zone - Since this document discusses the uri.net and urn.net zones and the - URN rule that exists in the uri.net zone, it makes sense for the - regisration template for the URN URI rule to be specified here: + Since this document discusses the URI.NET and URN.NET zones and the + URN rule that exists in the URI.NET zone, it makes sense for the + registration template for the URN URI rule to be specified here: - To: register@uri.net + To: register@URI.NET From: The IETF URN Working Group Key: urn Authority: RFC2141 Record: urn IN NAPTR 0 0 "" "" "/urn:([^:]+)/\\2/i" . -10. IANA Considerations +9. IANA Considerations This document describes a mechanism for registering representations of protocol items that have already been registered with some IETF sanctioned agency (probably the IANA as well). This means that the IANA need not determine appropriateness of the underlying namespaces, since that is determined by another process. The only real impact on the IANA will be - - o to maintain (or designate some other entity to maintain) a - primary nameserver for the uri.net and urn.net zones; - o to maintain the mailing lists "register@uri.net" and - "register@uri.net" as the forum for discussions of submissions; + o to create and maintain (or designate some other entity to + maintain) a primary nameserver for the URI.NET and URN.NET zones; + o to maintain the mailing lists "register@URI.NET" and + "register@URN.NET" as the forum for discussions of submissions; and o to act as the party that determines if all objections have been noted and accommodated. References - [1] Mealling, M., Daniel, R., "Resolution of Uniform Resource + [1] Mealling, M. and R. Daniel, "Resolution of Uniform Resource Identifiers using the Domain Name System", November 1998. - [2] Mealling, M., Daniel, R., "The Naming Authority Pointer (NAPTR) - DNS Resource Record", November 1998. + [2] Mealling, M. and R. Daniel, "The Naming Authority Pointer + (NAPTR) DNS Resource Record", November 1998. - [3] Moats, R., "URN Syntax", RFC 2141, May 1997. + [3] Moats, R., "URN Syntax", RFC 2141, November 1998. - [4] Berners-Lee, T., Fielding, R., Masinter, L., "Uniform Resource - Identifiers (URI): Generic Syntax", RFC 2396, August 1998. + [4] Berners-Lee, T., Fielding, R. and L. Masinter, "Uniform + Resource Identifiers (URI): Generic Syntax", RFC 2396, August + 1998. - [5] Freed, N., Klensin, J., Postel, J., "Multipurpose Internet Mail - Extensions (MIME) Part Four: Registration Procedures", RFC + [5] Freed, N., Klensin, J. and J. Postel, "Multipurpose Internet + Mail Extensions (MIME) Part Four: Registration Procedures", RFC 2048, November 1996. - [6] Faltstrom, P., Iannella, R., Daigle, L., van Gulik, D., "URN - Namespace Definition Mechanisms", October 1998. + [6] Faltstrom, P., Iannella, R., Daigle, L. and D. van Gulik, "URN + Namespace Definition Mechanisms", RFC 2611, October 1998. - [7] Petke, R., King, I., "Registration Procedures for URL Scheme - Names", January 1999. + [7] Petke, R. and I. King, "Registration Procedures for URL Scheme + Names", RFC 2717, January 1999. -Author's Address +Authors' Addresses Michael Mealling Network Solutions, Inc. 505 Huntmar Park Drive Herndon, VA 22070 US - Phone: +1 770 935 5492 + Phone: (703) 742-0400 EMail: michaelm@netsol.com - URI: http://www.netsol.com + + Ron + Metacode, Inc. + 139 Townsend Street, Ste. 100 + San Francisco, CA 94107 + US + + Phone: +1 415 222 0100 + EMail: rdaniel@metacode.com + URI: http://www.metacode.com Full Copyright Statement - Copyright (C) The Internet Society (1999). All Rights Reserved. + Copyright (C) The Internet Society (2000). 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 implmentation 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 @@ -283,10 +374,15 @@ 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. + +Acknowledgement + + Funding for the RFC editor function is currently provided by the + Internet Society.