URN Working Group                                             M.Mealling
INTERNET-DRAFT                                   Network Solutions, Inc.
Expires six months from November 1998
Intended category: Experimental

     Assignment Procedures for the URI Resolution using DNS (RFC2168)

Status of this Memo

     This document is an Internet-Draft.  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 current Internet-Drafts, please check
     the "1id-abstracts.txt" listing contained in the Internet-Drafts
     Shadow Directories on ftp.is.co.za (Africa), ftp.nordu.net
     (Northern Europe), ftp.nic.it (Southern Europe), munnari.oz.au
     (Pacific Rim), ftp.ietf.org (US East Coast), or ftp.isi.edu
     (US West Coast).


RFC2168 defines a DNS resource record and an algorithm for using DNS
as a registry for retrieving 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
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.

1. Introduction

This document defines the policies and procedures for inserting
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 [4] 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.

Mealling                                                       [Page  1]

RFCXXXX     URI.NET and URN.NET Registration Procedures    November 1998

3. URI Registration Procedure

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.

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.

3. URN Registration Procedure

RFCXXXX [7] 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.

4. Requirements on rules

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.

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 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.

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:

http    IN NAPTR 100 100 "" ""  "/http:\\/\\/([^\\/:]+)/\\2/i" .

Mealling                                                       [Page  2]

RFCXXXX     URI.NET and URN.NET Registration Procedures    November 1998

Thus, the second step of resolution is to attempt to contact the
host contained in the URL itself.

5. Submission Procedure

Using the MIME Content-Type registration mechanism [6] as a
model for 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.

Registrations for the 'uri.net' zone are sent to 'register@uri.net'.
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.

6. Registration Template

The template to be sent to the appropriate list MUST contain the
following values:

6.2 Key

This is the domain portion. 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.

6.3 Authority

This is the authority doing the registration of the record. It must
be an authority recognized as either the IESG or an authority
specified in the documents submitted for approval by any URN or URL
registration mechanism.

6.4 Records

One or more records representing the rule set for the key. The required
values are Preference, Order, Flags, Services, Regex, and Replacement
as defined by RFC2168.

Mealling                                                       [Page  3]

RFCXXXX     URI.NET and URN.NET Registration Procedures    November 1998

7. Example Template

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.

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:

To: register@uri.net
From: The IETF URN Working Group

Key: urn
Authority: RFC2141
Record: urn     IN NAPTR 0 0 "" "" "/urn:([^:]+)/\\2/i" .

8. 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

    to maintain (or designate some other entity to maintain) a primary
    nameserver for the uri.net and urn.net zones;

    to maintain the mailing lists "register@uri.net" and
    "register@uri.net" as the forum for discussions of submissions; and

    to act as the party that determines if all objections have been
    noted and accommodated.

Mealling                                                       [Page  4]

RFCXXXX     URI.NET and URN.NET Registration Procedures    November 1998

7. References

  [1] M. Mealling, R. Daniel, "Resolution of Uniform
      Resource Identifiers using the Domain Name System",
      <draft-ietf-urn-dns-rds-00.txt>. November 1998.

  [2] M. Mealling, R. Daniel, "The Naming Authority Pointer (NAPTR)
      DNS Resource Record". <draft-ietf-urn-naptr-rr-00.txt>.
      November 1998.

  [3] K. Sollins, "Architectural Principles of Uniform Resource
      Name Resolution", RFC 2276, January 1998.

  [4] Ryan Moats, "URN Syntax", RFC 2141, May 1997.

  [5] T.  Berners-Lee, R. Fielding, L. Masinter. "Uniform
      Resource Identifiers (URI): Generic Syntax", RFC 2396,
      August 1998.

  [6] N. Freed, J. Klensin, J. Postel, "Multipurpose Internet
      Mail Extensions (MIME) Part Four: Registration Procedures",
      RFC 2048, November 1996.

  [7] P. Faltstrom, R. Iannella, L. Daigle, D. van Gulik, "URN
      Namespace Definition Mechanisms", 10/26/1998,

8. Author Contact Information

Michael Mealling
Network Solutions
505 Huntmar Park Drive
Herndon, VA 22070
voice: (703) 742-0400
fax: (703) 742-9552
email: michaelm@rwhois.net

Mealling                                                       [Page  5]