draft-ietf-urnbis-rfc3406bis-urn-ns-reg-04.txt   draft-ietf-urnbis-rfc3406bis-urn-ns-reg-05.txt 
URNBIS P. Saint-Andre, Ed. URNBIS P. Saint-Andre, Ed.
Internet-Draft Cisco Systems, Inc. Internet-Draft Cisco Systems, Inc.
Obsoletes: 3406 (if approved) L. Daigle Obsoletes: 3406 (if approved) L. Daigle
Intended status: BCP D. van Gulik Intended status: Best Current Practice Thinking Cat Enterprises
Expires: May 31, 2013 R. Iannella Expires: August 23, 2013 D.W. van Gulik
R. Iannella
Semantic Identity
P. Faltstrom P. Faltstrom
November 27, 2012 Netnod
February 19, 2013
Uniform Resource Name (URN) Namespace Definitions Uniform Resource Name (URN) Namespace Definition Mechanisms
draft-ietf-urnbis-rfc3406bis-urn-ns-reg-04 draft-ietf-urnbis-rfc3406bis-urn-ns-reg-05
Abstract Abstract
This document supplements the Uniform Resource Name (URN) syntax This document supplements the Uniform Resource Name (URN) syntax
specification by defining the concept of a URN namespace, as well as specification by defining the concept of a URN namespace, as well as
mechanisms for defining and registering such namespaces. This mechanisms for defining and registering such namespaces. This
document obsoletes RFC 3406. document obsoletes RFC 3406.
Status of this Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on May 31, 2013. This Internet-Draft will expire on August 23, 2013.
Copyright Notice Copyright Notice
Copyright (c) 2012 IETF Trust and the persons identified as the Copyright (c) 2013 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
skipping to change at page 2, line 21 skipping to change at page 2, line 24
modifications of such material outside the IETF Standards Process. modifications of such material outside the IETF Standards Process.
Without obtaining an adequate license from the person(s) controlling Without obtaining an adequate license from the person(s) controlling
the copyright in such materials, this document may not be modified the copyright in such materials, this document may not be modified
outside the IETF Standards Process, and derivative works of it may outside the IETF Standards Process, and derivative works of it may
not be created outside the IETF Standards Process, except to format not be created outside the IETF Standards Process, except to format
it for publication as an RFC or to translate it into languages other it for publication as an RFC or to translate it into languages other
than English. than English.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Discussion Venue . . . . . . . . . . . . . . . . . . . . . . . 4 2. Discussion Venue . . . . . . . . . . . . . . . . . . . . . . 3
3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
4. What is a URN Namespace? . . . . . . . . . . . . . . . . . . . 4 4. What is a URN Namespace? . . . . . . . . . . . . . . . . . . 4
5. URN Namespace Types . . . . . . . . . . . . . . . . . . . . . 5 5. URN Namespace Types . . . . . . . . . . . . . . . . . . . . . 5
5.1. Formal Namespaces . . . . . . . . . . . . . . . . . . . . 5 5.1. Formal Namespaces . . . . . . . . . . . . . . . . . . . . 5
5.2. Informal Namespaces . . . . . . . . . . . . . . . . . . . 6 5.2. Informal Namespaces . . . . . . . . . . . . . . . . . . . 6
6. Defining a URN Namespace . . . . . . . . . . . . . . . . . . . 7 6. Defining a URN Namespace . . . . . . . . . . . . . . . . . . 7
6.1. Formal Namespaces . . . . . . . . . . . . . . . . . . . . 7 6.1. Formal Namespaces . . . . . . . . . . . . . . . . . . . . 7
6.1.1. Syntax . . . . . . . . . . . . . . . . . . . . . . . . 7 6.1.1. Syntax . . . . . . . . . . . . . . . . . . . . . . . 7
6.1.2. Specification . . . . . . . . . . . . . . . . . . . . 8 6.1.2. Specification . . . . . . . . . . . . . . . . . . . . 8
6.2. Informal Namespaces . . . . . . . . . . . . . . . . . . . 8 6.2. Informal Namespaces . . . . . . . . . . . . . . . . . . . 8
7. Registering a URN Namespace . . . . . . . . . . . . . . . . . 9 7. Registering a URN Namespace . . . . . . . . . . . . . . . . . 9
7.1. Formal Namespaces . . . . . . . . . . . . . . . . . . . . 9 7.1. Formal Namespaces . . . . . . . . . . . . . . . . . . . . 9
7.2. Informal Namespaces . . . . . . . . . . . . . . . . . . . 9 7.2. Informal Namespaces . . . . . . . . . . . . . . . . . . . 9
8. URN Namespace Definition Template . . . . . . . . . . . . . . 10 8. URN Namespace Definition Template . . . . . . . . . . . . . . 10
9. Security Considerations . . . . . . . . . . . . . . . . . . . 14 9. Security Considerations . . . . . . . . . . . . . . . . . . . 14
10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15
11. References . . . . . . . . . . . . . . . . . . . . . . . . . . 15 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 15
11.1. Normative References . . . . . . . . . . . . . . . . . . . 15 11.1. Normative References . . . . . . . . . . . . . . . . . . 15
11.2. Informative References . . . . . . . . . . . . . . . . . . 15 11.2. Informative References . . . . . . . . . . . . . . . . . 15
Appendix A. Changes from RFC 3406 . . . . . . . . . . . . . . . . 15 Appendix A. Changes from RFC 3406 . . . . . . . . . . . . . . . 16
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 15 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 16
1. Introduction 1. Introduction
A Uniform Resource Name (URN) is a Uniform Resource Identifier (URI) A Uniform Resource Name (URN) [I-D.ietf-urnbis-rfc2141bis-urn] is a
that is intended to serve as a persistent, location-independent Uniform Resource Identifier (URI) [RFC3986] that is intended to serve
resource identifier. The general class of URNs is differentiated as a persistent, location-independent resource identifier. The
from all other URIs through the use of the 'urn' URI scheme. general class of URNs is differentiated from all other URIs through
the use of the 'urn' URI scheme.
This document supplements the Uniform Resource Name (URN) syntax This document supplements the Uniform Resource Name (URN) syntax
specification by defining (1) the concept of a URN namespace, (2) a specification [I-D.ietf-urnbis-rfc2141bis-urn] by defining (1) the
mechanism for defining such namespaces and associating each namespace concept of a URN namespace, (2) a mechanism for defining such
with a public identifier (called a Namespace ID or "NID"), and (3) namespaces and associating each namespace with a public identifier
procedures for registering such namespaces with the Internet Assigned (called a Namespace ID or "NID"), and (3) procedures for registering
Numbers Authority (IANA). namespace identifiers with the Internet Assigned Numbers Authority
(IANA).
This document rests on two key assumptions: This document rests on two key assumptions:
1. Assignment of a URN is a managed process. 1. Assignment of a URN is a managed process.
A string that conforms to the URN syntax is not necessarily a A string that conforms to the URN syntax is not necessarily a
valid URN, because a URN needs to be assigned according to the valid URN, because a URN needs to be assigned according to the
rules of a particular namespace (in terms of syntax, semantics, rules of a particular namespace (in terms of syntax, semantics,
and process). and process).
2. The space of URN namespaces is itself managed. 2. The space of URN namespaces is itself managed.
A string in the namespace identifier slot of the URN syntax is A string in the namespace identifier slot of the URN syntax is
not necessarily a valid URN namespace identifier, because in not necessarily a valid URN namespace identifier, because in
order to be valid a namespace needs to be defined and registered order to be valid a namespace needs to be defined and registered
in accordance with the rules of this document. in accordance with the rules of this document.
URN namespaces were originally defined in [RFC2611], which was URN namespaces were originally defined in [RFC2611], which was
obsoleted by [RFC3406]. Based on experience with defining and obsoleted by [RFC3406]. Based on experience with defining and
registering URN namespaces since that time, the goal of this document registering URN namespaces since that time, this document specifies
is to specify URN namespaces with the smallest reasonable set of URN namespaces with the smallest reasonable set of changes from
changes from [RFC3406]. [RFC3406]. If approved, this document will obsolete RFC 3406.
Although on the surface it might appear that this document is
significantly different from [RFC3406], in general it only modifies
the order of presentation, with the intent of making it easier for
people to define and register URN namespaces. However, the only
major substantive change is removing the category of experimental
namespaces, in accorance with [RFC6648].
If approved, this document will obsolete RFC 3406.
2. Discussion Venue 2. Discussion Venue
The discussion venue for this document is mailing list of the URNBIS The discussion venue for this document is mailing list of the URNBIS
WG; visit <https://www.ietf.org/mailman/listinfo/urn> for WG; visit https://www.ietf.org/mailman/listinfo/urn for subscription
subscription and archive information. and archive information.
3. Terminology 3. Terminology
Several important terms used in this document are defined in the URN Several important terms used in this document are defined in the URN
syntax specification [I-D.saintandre-urnbis-2141bis]. syntax specification [I-D.ietf-urnbis-rfc2141bis-urn].
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in "OPTIONAL" in this document are to be interpreted as described in
[RFC2119]. [RFC2119].
4. What is a URN Namespace? 4. What is a URN Namespace?
For the purposes of URNs, a "namespace" is a collection of unique For the purposes of URNs, a "namespace" is a collection of unique
identifiers that are consistently assigned according to a common identifiers that are consistently assigned according to a common
definition. definition.
The uniqueness constraint means that an identifier within the The uniqueness constraint means that an identifier within the
namespace is never assigned to more than one resource and never re- namespace is never assigned to more than one resource and never re-
assigned to a different resource (however, a single resource can have assigned to a different resource (however, a single resource can have
more than one URN assigned to it for different purposes). more than one URN assigned to it for different purposes).
The consistent assignment constraint means that an identifier within The consistent assignment constraint means that an identifier within
the namespace is assigned by an organization or in accordance with a the namespace is assigned by an organization or in accordance with a
process that is always followed. process that is always followed (e.g., in the form of an algorithm).
The common definition constraint means that the syntax for The common definition constraint means that the syntax for
identifiers within the namespace and the process for assigning such identifiers within the namespace and the process for assigning such
identifiers are clearly defined in a specification. identifiers are clearly defined in a specification.
A URN namespace is identified by a particular designator (which A URN namespace is identified by a particular designator (which
syntactically follows the 'urn' scheme name) in order to: syntactically follows the 'urn' scheme name) in order to:
o Ensure the global uniqueness of URNs. o Ensure the global uniqueness of URNs.
o Optionally provide a cue regarding the structure of URNs assigned o Optionally provide a cue regarding the structure of URNs assigned
within a namespace. within a namespace.
With regard to global uniqueness, using different designators for With regard to global uniqueness, using different designators for
different collections of identifiers ensures that no two URNs will be different collections of identifiers ensures that no two URNs will be
the same for different resources (since each collection is required the same for different resources (since each collection is required
to uniquely assign each identifier). For instance, some identifier to uniquely assign each identifier). For instance, some identifier
systems use strings of numbers as identifiers (e.g., ISBN, ISSN, systems use strings of numbers as identifiers (e.g., ISBN, ISSN,
phone numbers). It is conceivable that there might be some numbers phone numbers). It is conceivable that some numbers might be valid
that are valid identifiers in two different established identifier identifiers in two different established identifier systems, where
systems, and the namespace identifier differentiates between the the namespace identifier differentiates between the resulting URNs.
resulting URNs.
With regard to the structure of URNs assigned within a namespace, the With regard to the structure of URNs assigned within a namespace, the
development of an identifier structure, and thereby a collection of development of an identifier structure, and thereby a collection of
identifiers, is a process that is inherently dependent on the identifiers, is a process that is inherently dependent on the
requirements of the community defining the identifier, how they will requirements of the community defining the identifiers, how they will
be assigned, and the uses to which they will be put. All of these be assigned, and the uses to which they will be put. All of these
issues are specific to the individual community seeking to define a issues are specific to the individual community seeking to define a
namespace (e.g., a publishing community, an association of namespace (e.g., a publishing community, an association of
booksellers, developers of particular application protocols, etc.); booksellers, developers of particular application protocols, etc.);
therefore these issues are beyond the scope of URN syntax and the therefore these issues are beyond the scope of URN syntax and the
rules regarding URN namespaces in general. rules regarding URN namespaces in general.
URN namespaces inherit certain rights and responsibilities, URN namespaces inherit certain rights and responsibilities,
including: including:
skipping to change at page 5, line 27 skipping to change at page 5, line 22
booksellers, developers of particular application protocols, etc.); booksellers, developers of particular application protocols, etc.);
therefore these issues are beyond the scope of URN syntax and the therefore these issues are beyond the scope of URN syntax and the
rules regarding URN namespaces in general. rules regarding URN namespaces in general.
URN namespaces inherit certain rights and responsibilities, URN namespaces inherit certain rights and responsibilities,
including: including:
o They uphold the general principles of a well-managed URN namespace o They uphold the general principles of a well-managed URN namespace
by providing persistent identification of resources and unique by providing persistent identification of resources and unique
assignment of identifier strings. assignment of identifier strings.
o They can be registered in global registration services. o They can be registered in global registration services.
5. URN Namespace Types 5. URN Namespace Types
There are two types of URN namespace: formal and informal. These are There are two types of URN namespace: formal and informal. These are
distinguished by the expected level of service, the information distinguished by the expected level of service, the information
required to define the namespace, and the procedures for necessary to define the namespace, and the procedures for
registration. To date, the vast majority of the registered registration. To date, the vast majority of the registered
namespaces have been formal, so this document concentrates on formal namespaces have been formal, so this document concentrates on formal
namespaces. namespaces.
Note: [RFC3406] defined a third type of "experimental namespaces:, Note: [RFC3406] defined a third type of "experimental namespaces:,
denoted by prefixing the namespace identifier with the string "X-". denoted by prefixing the namespace identifier with the string "X-".
Consistent with [RFC6648], this specification removes the Consistent with [RFC6648], this specification removes the
experimental category. experimental category.
5.1. Formal Namespaces 5.1. Formal Namespaces
A formal namespace can be requested, and IETF review sought, in cases A formal namespace can be requested, and IETF review sought, in cases
where the publication of the NID proposal and the underlying where the publication of the NID proposal and the underlying
namespace will provide benefit to some subset of users on the namespace will provide benefit to some subset of users on the
Internet. That is, a formal NID proposal, if accepted, needs to be Internet. That is, a formal NID proposal, if accepted, needs to be
functional on and with the global Internet, not limited to users in functional on and with the global Internet, not limited to users in
communities or networks not connected to the Internet. For example, communities or networks not connected to the Internet. For example,
consider a NID that is meant for naming of physics research; if that consider a NID that is meant for naming of physics research; if that
NID request required that the user use a proprietary network or NID request effectively forced someone to use a proprietary network
service that was not at all open to the general Internet user, then or service that was not at all open to the general Internet user,
it would make a poor request for a formal NID. The intent is that, then it would make a poor request for a formal NID. The intent is
while the community of those who may actively use the names assigned that, while the community of those who might actively use the names
within that NID may be small (but no less important), the potential assigned within that NID might be small (but no less important), the
use of names within that NID is open to any user on the Internet. potential use of names within that NID is open to any user on the
Internet.
It is expected that formal NIDs may be applied to namespaces where It is expected that formal NIDs might be applied to namespaces where
some aspects are not fully open. For example, a namespace might make some aspects are not fully open. For example, a namespace might make
use of a fee-based, privately managed, or proprietary registry for use of a fee-based, privately managed, or proprietary registry for
assignment of URNs in the namespace. However, it may still provide assignment of URNs in the namespace. However, it might still provide
benefit to some Internet users if the services associated have benefit to some Internet users if the services associated have
openly- published access protocols. openly-published access protocols.
In addition to the basic information specified in the namespace In addition to the basic information specified in the namespace
definition template (see Section 8), a formal namespace request needs definition template (see Section 8), a formal namespace request needs
to be accompanied by documented considerations of the need for a new to be accompanied by documented considerations of the need for a new
namespace and of the community benefit from formally establishing the namespace and of the community benefit from formally establishing the
proposed URN namespace. proposed URN namespace.
Additionally, since the goal of URNs is to provide persistent Additionally, since the goal of URNs is to provide persistent
identification, a formal namespace request needs to give some identification, a formal namespace request needs to give some
consideration as to the longevity and maintainability of the consideration as to the longevity and maintainability of the
skipping to change at page 6, line 36 skipping to change at page 6, line 31
identification, a formal namespace request needs to give some identification, a formal namespace request needs to give some
consideration as to the longevity and maintainability of the consideration as to the longevity and maintainability of the
namespace. Possible factors to consider with regard to an namespace. Possible factors to consider with regard to an
organization that will assign URNs within a namespace include the organization that will assign URNs within a namespace include the
following: following:
o It ought to demonstrate stability and the ability to maintain the o It ought to demonstrate stability and the ability to maintain the
URN namespace for a long time; absent such evidence, it ought to URN namespace for a long time; absent such evidence, it ought to
be clear how the namespace can remain viable if the organization be clear how the namespace can remain viable if the organization
can no longer maintain the namespace. can no longer maintain the namespace.
o It ought to demonstrate competency in name assignment. This will o It ought to demonstrate competency in name assignment. This will
improve the likelihood of persistence (e.g. to minimize the improve the likelihood of persistence (e.g. to minimize the
likelihood of conflicts); likelihood of conflicts);
o It ought to commit to not re-assigning existing names and to o It ought to commit to not re-assigning existing names and to
allowing old names to continue to be valid, even if the owners or allowing old names to continue to be valid, even if the owners or
assignees of those names are no longer members or customers of assignees of those names are no longer members or customers of
that organization. With regard to URN resolution, this does not that organization. With regard to URN resolution, this does not
mean that there needs to be resolution of such names, only that mean that there needs to be resolution of such names, only that
the names will not resolve to false or stale information. the names will not resolve to false or stale information.
5.2. Informal Namespaces 5.2. Informal Namespaces
Informal namespaces are full-fledged URN namespaces, with all the Informal namespaces are full-fledged URN namespaces, with all the
skipping to change at page 7, line 11 skipping to change at page 7, line 10
rights and responsibilities associated thereto. Informal namespaces rights and responsibilities associated thereto. Informal namespaces
differ from formal namespaces in the process for assigning a NID: differ from formal namespaces in the process for assigning a NID:
IANA will assign an alphanumeric NID (e.g., "urn-7") to informal IANA will assign an alphanumeric NID (e.g., "urn-7") to informal
namespaces, per the process outlined under Section 7. namespaces, per the process outlined under Section 7.
6. Defining a URN Namespace 6. Defining a URN Namespace
A URN namespace is defined by the following factors: A URN namespace is defined by the following factors:
o The syntax of URNs assigned within the namespace, in conformance o The syntax of URNs assigned within the namespace, in conformance
with the fundamental URN syntax [I-D.saintandre-urnbis-2141bis]. with the fundamental URN syntax [I-D.ietf-urnbis-rfc2141bis-urn].
o The process for assigning URNs within the namespace. o The process for assigning URNs within the namespace.
o Optionally, the process for resolving URNs issued within the o Optionally, the process for resolving URNs issued within the
namepace. namepace.
Processes for resolution of URNs assigned within a namespace (if any) Processes for resolution of URNs assigned within a namespace (if any)
are out of scope for this document. The following sections provide are out of scope for this document. The following sections provide
guidelines for (1) defining the syntax of URNs within a namespace and guidelines for (1) defining the syntax of URNs within a namespace and
(2) specifying how URNs will be assigned within a namespace. (2) specifying how URNs will be assigned within a namespace.
6.1. Formal Namespaces 6.1. Formal Namespaces
skipping to change at page 7, line 23 skipping to change at page 7, line 24
o Optionally, the process for resolving URNs issued within the o Optionally, the process for resolving URNs issued within the
namepace. namepace.
Processes for resolution of URNs assigned within a namespace (if any) Processes for resolution of URNs assigned within a namespace (if any)
are out of scope for this document. The following sections provide are out of scope for this document. The following sections provide
guidelines for (1) defining the syntax of URNs within a namespace and guidelines for (1) defining the syntax of URNs within a namespace and
(2) specifying how URNs will be assigned within a namespace. (2) specifying how URNs will be assigned within a namespace.
6.1. Formal Namespaces 6.1. Formal Namespaces
Formal NIDs are assigned as a result of IETF Consensus as defined in Formal NIDs are assigned as a result of IETF Review as defined in the
the "IANA Considerations" document [RFC5226]. Thus an application "IANA Considerations" document [RFC5226]. Thus an application for a
for a formal NID is made by publishing an RFC through normal IETF formal NID is made by publishing an RFC in the IETF stream, either as
processes. The RFC need not be standards track (indeed, to date most the product of an IETF working group or as an individual submission
RFCs registering URN namespaces have been informational), but it will sponsored by an Area Director. The RFC need not be standards track
be subject to IESG review and acceptance pursuant to the guidelines (indeed, to date most RFCs registering URN namespaces have been
written here (as well as standard RFC publication guidelines). informational), but it will be subject to IESG review and approval
pursuant to the guidelines provided here (as well as standard RFC
publication guidelines).
6.1.1. Syntax 6.1.1. Syntax
A formal namespace registration requests a particular NID, subject to A formal namespace registration requests a particular NID, subject to
the following constraints: the following constraints:
o It MUST NOT be an already-registered NID. o It MUST NOT be an already-registered NID.
o It MUST NOT start with "urn-" (which is reserved for informal o It MUST NOT start with "urn-" (which is reserved for informal
namespaces). namespaces).
o It MUST be more than 2 letters long. o It MUST be more than 2 letters long.
o It MUST NOT start with "XY-", where XY is any combination of two o It MUST NOT start with "XY-", where XY is any combination of two
ASCII letters. ASCII letters.
All two-letter combinations, and all two-letter combinations followed All two-letter combinations, and all two-letter combinations followed
by "-" and any sequence of valid NID characters, are reserved for by "-" and any sequence of valid NID characters, are reserved for
potential use as countrycode-based NIDs for eventual national potential use as countrycode-based NIDs for eventual national
registrations of URN namespaces. The definition and scoping of rules registrations of URN namespaces. The definition and scoping of rules
for allocation of responsibility for such countrycode-based for allocation of responsibility for such countrycode-based
namespaces is beyond the scope of this document. namespaces is beyond the scope of this document.
skipping to change at page 8, line 17 skipping to change at page 8, line 19
The specification defining a formal namespace MUST include a The specification defining a formal namespace MUST include a
completed namespace definition template (see Section 8). completed namespace definition template (see Section 8).
The specification also MUST include the following sections. The specification also MUST include the following sections.
The "Namespace Considerations" section outlines the perceived need The "Namespace Considerations" section outlines the perceived need
for a new namespace (i.e., where existing namespaces fall short of for a new namespace (i.e., where existing namespaces fall short of
the proposer's requirements). Potential considerations include: the proposer's requirements). Potential considerations include:
o Procedures for assigning URNs within this namespace o Procedures for assigning URNs within this namespace
o Processes for resolving URNs assigned within this namespace, if o Processes for resolving URNs assigned within this namespace, if
any any
o The type of resources to be identified o The type of resources to be identified
o The type of services to be supported o The type of services to be supported
It is expected that more than one namespace may serve the same It is expected that more than one namespace might serve the same
"functional" purpose; the intent of the "Namespace Considerations" "functional" purpose; the intent of the "Namespace Considerations"
section is to provide a record of the proposer's "due diligence" in section is to provide a record of the proposer's "due diligence" in
exploring existing possibilities, for the IESG's consideration. exploring existing possibilities, for the IESG's consideration.
The "Community Considerations" section explains how the intended The "Community Considerations" section explains how the intended
community will benefit by publication of this namespace as well as community will benefit by assignment of this namespace as well as how
how a general Internet user will be able to use the space if they a general Internet user will be able to use the space if they care to
care to do so. Potential considerations include: do so. Potential considerations include:
o Open assignment and use of identifiers within the namespace o Open assignment and use of identifiers within the namespace
o Open operation of resolution servers for the namespace (server)
o Creation of software that can meaningfully resolve and access
services for the namespace (client)
The "IANA Considerations" section indicating that the document o Open operation of resolution servers for the namespace
o Creation of client software that can meaningfully resolve and
access services for the namespace
The "IANA Considerations" section indicates that the document
includes a URN NID registration that is to be entered into the IANA includes a URN NID registration that is to be entered into the IANA
registry of URN NIDs. registry of URN NIDs.
6.2. Informal Namespaces 6.2. Informal Namespaces
Informal namespaces are directly requested of IANA. Informal namespaces are directly requested of IANA and are assigned
based on a policy of First Come First Served [RFC5226].
The namespace identifier assigned by IANA is a number sequence in the
format:
"urn-" <number> The namespace identifier assigned by IANA has the following syntax:
where <number> is chosen by the IANA on a First Come First Served "urn-" <number>
basis as specified in the "IANA Considerations" deocument [RFC5226].
The only restrictions on <number> are (1) that it consist strictly of The <number> is chosen by IANA. The only restrictions on <number>
digits and (2) that it not cause the NID to exceed the length are that it (1) consist strictly of ASCII digits and (2) not cause
limitations defined in the URN syntax specification the NID to exceed the length limitations defined in the URN syntax
[I-D.saintandre-urnbis-2141bis]. specification [I-D.ietf-urnbis-rfc2141bis-urn].
7. Registering a URN Namespace 7. Registering a URN Namespace
7.1. Formal Namespaces 7.1. Formal Namespaces
The key steps for registration of a formal namespace are: The registration policy for formal namespaces is IETF Review
[RFC5226]. The key steps for registration of a formal namespace are:
1. Write an Internet-Draft that includes all of the information 1. Write an Internet-Draft that includes all of the information
described under Section FIXME. described under Section 6.1.2 and Section 8 of this document.
2. Send the completed namespace definition template to the
urn-nid@ietf.org discussion list for technical review. 2. Send the completed namespace definition template, along with a
3. Update the Internet-Draft as needed to address feedback, and pointer to the Internet-Draft, to the urn-nid@ietf.org discussion
repeat steps 2 and 3 as needed. list for technical review.
4. Based on comments received, update the Internet-Draft and repeat
steps 2 and 3 as necessary. 3. If necessary to address comments received, update the Internet-
5. Send a request to the IESG to publish the I-D as an RFC. The Draft and repeat steps 2 and 3.
IESG may request further changes (published as I-D revisions)
and/or direct discussion to designated working groups, area 4. Ask the responsible Area Director to process the Internet-Draft
experts, etc. for publication as an RFC. Note that the IESG can request
6. If the IESG approves the document for publication as an RFC, send further changes or direct discussion to designated working
a request to IANA to register the requested NID. groups, area experts, etc.
5. If the IESG approves the document for publication as an RFC, the
IANA will register the requested NID.
A registration can be revised by updating the RFC through normal IETF A registration can be revised by updating the RFC through normal IETF
processes [RFC2606]. The authors of the revised document need to processes [RFC2606]. The authors of the revised document need to
follow the same steps outlined above for new registrations. follow the same steps outlined above for new registrations.
7.2. Informal Namespaces 7.2. Informal Namespaces
The key steps for registration of an informal namespace are: The registration policy for formal namespaces is First Come First
Served [RFC5226]. The key steps for registration of an informal
namespace are:
1. Complete the namespace definition template (see Section 8). This 1. Complete the namespace definition template (see Section 8). This
can be done as part of an Internet-Draft. can be done as part of an Internet-Draft.
2. Send the completed template to the urn-nid@ietf.org discussion 2. Send the completed template to the urn-nid@ietf.org discussion
list for technical review. list for technical review.
3. Based on comments received, update the template and repeat steps
2 and 3 as necessary. 3. If necessary to address comments received, update the template
and repeat steps 2 and 3.
4. Once comments have been addressed and the review period has 4. Once comments have been addressed and the review period has
expired, send a registration request to IANA (via the expired, send a registration request to IANA (via the
iana@iana.org email address) with the final template. iana@iana.org email address) with the final template.
Informal namespaces can also be revised by updating the template and Informal namespaces can also be revised by updating the template and
processing it as outlined above for new registrations. processing it as outlined above for new registrations.
8. URN Namespace Definition Template 8. URN Namespace Definition Template
Definition of a URN namespace is accomplished by completing the Definition of a URN namespace is accomplished by completing the
following template. Apart from providing a mechanism for defining following template. In addition to providing a mechanism for
the structure of URNs assigned within the namespace, this information defining the structure of URNs assigned within the namespace, this
is designed to be useful for: information is designed to be useful for:
o entities seeking to have a URN assigned in a namespace (if o entities seeking to have a URN assigned in a namespace (if
applicable) applicable)
o entities seeking to provide URN resolvers for a namespace (if o entities seeking to provide URN resolvers for a namespace (if
applicable) applicable)
This is particularly important for communities evaluating the This is particularly important for communities evaluating the
possibility of using a portion of an existing URN namespace rather possibility of using a portion of an existing URN namespace rather
than creating their own. than creating their own.
As described under Section 7.1, applications for formal URN As described under Section 6.1.2, applications for formal URN
namespaces MUST also document "Namespace Considerations", "Community namespaces MUST also document "Namespace Considerations", "Community
Considerations" and "IANA Considerations". Considerations" and "IANA Considerations".
The information to be provided in the template is as follows: The information to be provided in the template is as follows:
Namespace ID: Namespace ID:
Requested of IANA (formal) or assigned by IANA (informal). Requested of IANA (formal) or assigned by IANA (informal).
Registration Information: Registration Information:
This is information to identify the particular version of The version and date of the registration:
registration information:
- registration version number: starting with 1, - Registration version number: starting with 1,
incrementing by 1 with each new version incrementing by 1 with each new version
- registration date: date submitted to the IANA, using the - Registration date: date submitted to the IANA, using the
format YYYY-MM-DD format YYYY-MM-DD
Declared registrant of the namespace: Declared registrant of the namespace:
This includes: This includes:
Registering organization
- Registering organization
Name Name
Address Address
Designated contact person - Designated contact person
Name Name
Coordinates (at least one of email address, phone Contact information
number, postal address) (at least one of email address,
phone number, postal address)
Declaration of syntactic structure: Declaration of syntactic structure:
This section ought to outline any structural features of This section ought to outline any structural features of
identifiers in this namespace. At the very least, this identifiers in this namespace. At the very least, this
description may be used to introduce terminology used in description can be used to introduce terminology used in
other sections. This structure may also be used for other sections. This structure can also be used for
determining realistic caching/shortcuts approaches; determining realistic caching/shortcuts approaches;
suitable caveats ought to be provided. If there are any suitable caveats ought to be provided. If there are any
specific character encoding rules (e.g., which character specific character encoding rules (e.g., which character
ought to always be used for single-quotes), these ought ought to always be used for single-quotes), these ought
to be listed here. to be listed here.
Answers might include, but are not limited to: Answers might include, but are not limited to:
- the structure is opaque (no exposition) - The structure is opaque (no exposition)
- a regular expression for parsing the identifier into - A regular expression for parsing the identifier into
components, including naming authorities components, including naming authorities
Relevant ancillary documentation: Relevant ancillary documentation:
This section ought to list any RFCs, standards, or other This section ought to list any RFCs, standards, or other
published documentation that defines or explains all or published documentation that defines or explains all or
part of the namespace structure. part of the namespace structure.
Answers might include, but are not limited to: Answers might include, but are not limited to:
skipping to change at page 11, line 46 skipping to change at page 12, line 15
This section ought to address the requirement that URNs are This section ought to address the requirement that URNs are
assigned uniquely -- i.e., they are assigned to at most one assigned uniquely -- i.e., they are assigned to at most one
resource, and are not reassigned. resource, and are not reassigned.
(Note that the definition of "resource" is fairly broad; for (Note that the definition of "resource" is fairly broad; for
example, information on "Today's Weather" might be considered example, information on "Today's Weather" might be considered
a single resource, although the content is dynamic.) a single resource, although the content is dynamic.)
Possible answers include, but are not limited to: Possible answers include, but are not limited to:
- exposition of the structure of the identifiers, and - Exposition of the structure of the identifiers, and
partitioning of the space of identifiers amongst assignment partitioning of the space of identifiers amongst assignment
authorities which are individually responsible for authorities which are individually responsible for
respecting uniqueness rules respecting uniqueness rules
- identifiers are assigned sequentially - Identifiers are assigned sequentially
- information is withheld; the namespace is opaque - Information is withheld; the namespace is opaque
Identifier persistence considerations: Identifier persistence considerations:
Although non-reassignment of URN identifiers ensures that a URN Although non-reassignment of URN identifiers ensures that a URN
will persist in identifying a particular resource even after will persist in identifying a particular resource even after
the "lifetime of the resource", some consideration ought to be the "lifetime of the resource", some consideration ought to be
given to the persistence of the usability of the URN. This is given to the persistence of the usability of the URN. This is
particularly important in the case of URN namespaces providing particularly important in the case of URN namespaces providing
global resolution. global resolution.
Possible answers include, but are not limited to: Possible answers include, but are not limited to:
- quality of service considerations - Quality of service considerations
Process of identifier assignment: Process of identifier assignment:
This section ought to detail the mechanisms and/or authorities This section ought to detail the mechanisms and/or authorities
for assigning URNs to resources. It ought to make clear whether for assigning URNs to resources. It ought to make clear whether
assignment is completely open, or if limited, how to become an assignment is completely open or, if limited, how to become an
assigner of identifiers, and/or get one assigned by existing assigner of identifiers or how to get an identifer assigned by
assignment authorities. existing assignment authorities.
Answers could include, but are not limited to: Answers could include, but are not limited to:
- assignment is completely open, following a particular - Assignment is completely open, following a particular
algorithm algorithm
- assignment is delegated to authorities recognized by a - Assignment is delegated to authorities recognized by a
particular organization (e.g., the Digital Object Identifier particular organization (e.g., the Digital Object Identifier
Foundation controls the DOI assignment space and its Foundation controls the DOI assignment space and its
delegation) delegation)
- assignment is completely closed (e.g., for a private - Assignment is completely closed (e.g., for a private
organization) organization)
Process for identifier resolution: Process for identifier resolution:
If a namespace is intended to be accessible for global If a namespace is intended to be accessible for global
resolution, it needs to be registered in an RDS (Resolution resolution, it needs to be registered in an RDS (Resolution
Discovery System, see RFC 2276) such as DDDS. Resolution Discovery System, see RFC 2276) such as DDDS. Resolution
then proceeds according to standard URI resolution processes, then proceeds according to standard URI resolution processes,
and the mechanisms of the RDS. What this section ought to and the mechanisms of the RDS. What this section ought to
outline is the requirements for becoming a recognized resolver outline is the requirements for becoming a recognized resolver
of URNs in this namespace (and being so- listed in the RDS of URNs in this namespace (and being so- listed in the RDS
registry). registry).
Answers may include, but are not limited to: Answers might include, but are not limited to:
- the namespace is not listed with an RDS; therefore this - The namespace is not listed with an RDS; therefore this
section is not applicable section is not applicable
- resolution mirroring is completely open, with a mechanism - Resolution mirroring is completely open, with a mechanism
for updating an appropriate RDS for updating an appropriate RDS
- resolution is controlled by entities to which assignment - Resolution is controlled by entities to which assignment
has been delegated has been delegated
Rules for Lexical Equivalence: Rules for Lexical Equivalence:
If there are particular algorithms for determining equivalence If there are particular algorithms for determining equivalence
between two identifiers in the underlying namespace (hence, in between two identifiers in the underlying namespace (hence, in
the URN string itself), rules can be provided here. the URN string itself), rules can be provided here.
Some examples include: Some examples include:
- equivalence between hyphenated and non-hyphenated groupings - Equivalence between hyphenated and non-hyphenated groupings
in the identifier string in the identifier string
- equivalence between single-quotes and double-quotes - Equivalence between single-quotes and double-quotes
- Namespace-defined equivalences between specific characters, - Namespace-defined equivalences between specific characters,
such as "character X with or without diacritic marks". such as "character X with or without diacritic marks".
Note that these are not normative statements for any kind of Note that these are not normative statements for any kind of
best practice for handling equivalences between characters; best practice for handling equivalences between characters;
they are statements limited to reflecting the namespace's they are statements limited to reflecting the namespace's
own rules. own rules.
Conformance with URN Syntax: Conformance with URN Syntax:
This section ought to outline any special considerations This section ought to outline any special considerations
required for conforming with the URN syntax. This is necessary for conforming with the URN syntax. This is
particularly applicable in the case of legacy naming particularly applicable in the case of legacy naming
systems that are used in the context of URNs. systems that are used in the context of URNs.
For example, if a namespace is used in contexts other than URNs, For example, if a namespace is used in contexts other than URNs,
it may make use of characters that are reserved in the URN it might make use of characters that are reserved in the URN
syntax. syntax.
This section ought to flag any such characters, and outline This section ought to flag any such characters, and outline
necessary mappings to conform to URN syntax. Normally, this necessary mappings to conform to URN syntax. Normally, this
will be handled by hex encoding the symbol. will be handled by hex-encoding the symbol as specified in
RFC 3986.
For example, see the section on SICIs in RFC 2288.
Validation mechanism: Validation mechanism:
Apart from attempting resolution of a URN, a URN namespace may Apart from attempting resolution of a URN, a URN namespace may
provide mechanisms for "validating" a URN -- i.e., determining provide mechanisms for "validating" a URN -- i.e., determining
whether a given string is currently a validly-assigned URN. whether a given string is currently a validly-assigned URN.
There are two issues here: 1) users ought not "guess" URNs in There are two issues here: 1) users ought not "guess" URNs in
a namespace; 2) when the URN namespace is based on an existing a namespace; 2) when the URN namespace is based on an existing
identifier system, it may not be the case that all the existing identifier system, it might not be the case that all existing
identifiers are assigned on Day 0. The reasonable expectation identifiers are assigned on Day 0. The reasonable expectation
is that the resource associated with each resulting URN is is that the resource associated with each resulting URN is
somehow related to the thing identified by the original somehow related to the thing identified by the original
identifier system, but those resources may not exist for each identifier system, but those resources might not exist for each
original identifier. For example, even if a URN namespace were original identifier. For example, even if a URN namespace were
defined based on telephone numbers, it is not clear that all defined based on telephone numbers, it is not clear that all
telephone numbers would immediately become "valid" URNs, that telephone numbers would immediately become "valid" URNs, that
could be resolved using whatever mechanisms are described as could be resolved using whatever mechanisms are described as
part of the namespace registration. part of the namespace registration.
Validation mechanisms might be: Validation mechanisms might be:
- a syntax grammar - A syntax grammar
- an on-line service - An on-line service
- an off-line service - An off-line service
Scope: Scope:
This section ought to outline the scope of the use of the This section ought to outline the scope of the use of the
identifiers in this namespace. Apart from considerations of identifiers in this namespace. Apart from considerations of
private vs. public namespaces, this section is critical in private vs. public namespaces, this section is critical in
evaluating the applicability of a requested NID. For example, evaluating the applicability of a requested NID. For example,
a namespace claiming to deal in "social security numbers" a namespace claiming to deal in "social security numbers"
ought to have a global scope and address all social security ought to have a global scope and address all social security
number structures (unlikely). On the other hand, at a national number structures (unlikely). On the other hand, at a national
skipping to change at page 14, line 45 skipping to change at page 15, line 13
declaration of public information. Nominally, these declarations declaration of public information. Nominally, these declarations
will be of relatively low security profile, however there is always will be of relatively low security profile, however there is always
the danger of "spoofing" and providing mis-information. Information the danger of "spoofing" and providing mis-information. Information
in these declarations ought to be taken as advisory. in these declarations ought to be taken as advisory.
10. IANA Considerations 10. IANA Considerations
This document outlines the processes for registering URN namespaces, This document outlines the processes for registering URN namespaces,
and has implications for the IANA in terms of registries to be and has implications for the IANA in terms of registries to be
maintained. In all cases, the IANA ought to assign the appropriate maintained. In all cases, the IANA ought to assign the appropriate
NID (informal or formal), as described above, once an IESG-designated NID (formal or informal) once the procedures outlined in this
expert has confirmed that the requisite registration process steps document have been completed.
have been completed.
11. References 11. References
11.1. Normative References 11.1. Normative References
[I-D.saintandre-urnbis-2141bis] [I-D.ietf-urnbis-rfc2141bis-urn]
Saint-Andre, P. and R. Moats, "Uniform Resource Name (URN) Saint-Andre, P. and R. Moats, "Uniform Resource Name (URN)
Syntax", draft-saintandre-urnbis-2141bis-00 (work in Syntax", draft-ietf-urnbis-rfc2141bis-urn-04 (work in
progress), October 2012. progress), November 2013.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform
Resource Identifier (URI): Generic Syntax", STD 66, RFC
3986, January 2005.
[RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an
IANA Considerations Section in RFCs", BCP 26, RFC 5226, IANA Considerations Section in RFCs", BCP 26, RFC 5226,
May 2008. May 2008.
11.2. Informative References 11.2. Informative References
[RFC2606] Eastlake, D. and A. Panitz, "Reserved Top Level DNS [RFC2606] Eastlake, D.E. and A. Panitz, "Reserved Top Level DNS
Names", BCP 32, RFC 2606, June 1999. Names", BCP 32, RFC 2606, June 1999.
[RFC2611] Daigle, L., van Gulik, D., Iannella, R., and P. Faltstrom, [RFC2611] Daigle, L., van Gulik, D., Iannella, R., and P. Faltstrom,
"URN Namespace Definition Mechanisms", BCP 33, RFC 2611, "URN Namespace Definition Mechanisms", BCP 33, RFC 2611,
June 1999. June 1999.
[RFC3406] Daigle, L., van Gulik, D., Iannella, R., and P. Faltstrom, [RFC3406] Daigle, L., van Gulik, D., Iannella, R., and P. Faltstrom,
"Uniform Resource Names (URN) Namespace Definition "Uniform Resource Names (URN) Namespace Definition
Mechanisms", BCP 66, RFC 3406, October 2002. Mechanisms", BCP 66, RFC 3406, October 2002.
[RFC6648] Saint-Andre, P., Crocker, D., and M. Nottingham, [RFC6648] Saint-Andre, P., Crocker, D., and M. Nottingham,
"Deprecating the "X-" Prefix and Similar Constructs in "Deprecating the "X-" Prefix and Similar Constructs in
Application Protocols", BCP 178, RFC 6648, June 2012. Application Protocols", BCP 178, RFC 6648, June 2012.
Appendix A. Changes from RFC 3406 Appendix A. Changes from RFC 3406
Although on the surface it might appear that this document is Although on the surface it might appear that this document is
significantly different from [RFC3406], in general it only modifies significantly different from [RFC3406], in general it only modifies
the order of presentation, with the intent of making it easier for the order of presentation, with the intent of making it easier for
people to define and register URN namespaces. However, the only interested parties to define and register URN namespaces. In
major substantive change is removing the category of experimental addition, some of the text was updated to be consistent with the
namespaces, in accorance with [RFC6648]. definition of Uniform Resource Identifiers (URIs) [RFC3986] and the
processes for registering information with the IANA [RFC5226]. The
only major substantive change was removing the category of
experimental namespaces, consistent with [RFC6648].
Authors' Addresses Authors' Addresses
Peter Saint-Andre (editor) Peter Saint-Andre (editor)
Cisco Systems, Inc. Cisco Systems, Inc.
1899 Wynkoop Street, Suite 600 1899 Wynkoop Street, Suite 600
Denver, CO 80202 Denver, CO 80202
USA USA
Phone: +1-303-308-3282 Phone: +1-303-308-3282
Email: psaintan@cisco.com Email: psaintan@cisco.com
Leslie Daigle Leslie Daigle
Thinking Cat Enterprises
Dirk-Willem van Gulik Dirk-Willem van Gulik
Renato Iannella Renato Iannella
Semantic Identity
Patrick Faltstrom Patrick Faltstrom
Netnod
 End of changes. 87 change blocks. 
168 lines changed or deleted 196 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/