Rfc | 5226 |
Title | Guidelines for Writing an IANA Considerations Section in RFCs |
Author | T.
Narten, H. Alvestrand |
Date | May 2008 |
Format: | TXT, HTML |
Obsoletes | RFC2434 |
Obsoleted by | RFC8126 |
Status: | BEST CURRENT PRACTICE |
|
Network Working Group T. Narten
Request for Comments: 5226 IBM
BCP: 26 H. Alvestrand
Obsoletes: 2434 Google
Category: Best Current Practice May 2008
Guidelines for Writing an IANA Considerations Section in RFCs
Status of This Memo
This document specifies an Internet Best Current Practices for the
Internet Community, and requests discussion and suggestions for
improvements. Distribution of this memo is unlimited.
Abstract
Many protocols make use of identifiers consisting of constants and
other well-known values. Even after a protocol has been defined and
deployment has begun, new values may need to be assigned (e.g., for a
new option type in DHCP, or a new encryption or authentication
transform for IPsec). To ensure that such quantities have consistent
values and interpretations across all implementations, their
assignment must be administered by a central authority. For IETF
protocols, that role is provided by the Internet Assigned Numbers
Authority (IANA).
In order for IANA to manage a given namespace prudently, it needs
guidelines describing the conditions under which new values can be
assigned or when modifications to existing values can be made. If
IANA is expected to play a role in the management of a namespace,
IANA must be given clear and concise instructions describing that
role. This document discusses issues that should be considered in
formulating a policy for assigning values to a namespace and provides
guidelines for authors on the specific text that must be included in
documents that place demands on IANA.
This document obsoletes RFC 2434.
Table of Contents
1. Introduction ....................................................2
2. Why Management of a Namespace May Be Necessary ..................3
3. Designated Experts ..............................................4
3.1. The Motivation for Designated Experts ......................4
3.2. The Role of the Designated Expert ..........................5
3.3. Designated Expert Reviews ..................................7
4. Creating a Registry .............................................8
4.1. Well-Known IANA Policy Definitions .........................9
4.2. What to Put in Documents That Create a Registry ...........12
4.3. Updating IANA Guidelines for Existing Registries ..........15
5. Registering New Values in an Existing Registry .................15
5.1. What to Put in Documents When Registering Values ..........15
5.2. Updating Registrations ....................................17
5.3. Overriding Registration Procedures ........................17
6. Miscellaneous Issues ...........................................18
6.1. When There Are No IANA Actions ............................18
6.2. Namespaces Lacking Documented Guidance ....................19
6.3. After-the-Fact Registrations ..............................19
6.4. Reclaiming Assigned Values ................................19
7. Appeals ........................................................20
8. Mailing Lists ..................................................20
9. Security Considerations ........................................20
10. Changes Relative to RFC 2434 ..................................21
11. Acknowledgments ...............................................22
12. References ....................................................22
12.1. Normative References .....................................22
12.2. Informative References ...................................22
1. Introduction
Many protocols make use of fields that contain constants and other
well-known values (e.g., the Protocol field in the IP header [IP] or
MIME media types [MIME-REG]). Even after a protocol has been defined
and deployment has begun, new values may need to be assigned (e.g., a
new option type in DHCP [DHCP-OPTIONS] or a new encryption or
authentication transform for IPsec [IPSEC]). To ensure that such
fields have consistent values and interpretations in different
implementations, their assignment must be administered by a central
authority. For IETF protocols, that role is provided by the Internet
Assigned Numbers Authority (IANA) [IANA-MOU].
In this document, we call the set of possible values for such a field
a "namespace"; its actual value may be a text string, a number, or
another kind of value. The binding or association of a specific
value with a particular purpose within a namespace is called an
assigned number (or assigned value, or sometimes a "code point",
"protocol constant", or "protocol parameter"). Each assignment of a
value in a namespace is called a registration.
In order for IANA to manage a given namespace prudently, it needs
guidelines describing the conditions under which new values should be
assigned or when (and how) modifications to existing values can be
made. This document provides guidelines to authors on what sort of
text should be added to their documents in order to provide IANA
clear guidelines, and it reviews issues that should be considered in
formulating an appropriate policy for assigning numbers to name
spaces.
Not all namespaces require centralized administration. In some
cases, it is possible to delegate a namespace in such a way that
further assignments can be made independently and with no further
(central) coordination. In the Domain Name System, for example, IANA
only deals with assignments at the higher levels, while subdomains
are administered by the organization to which the space has been
delegated. As another example, Object Identifiers (OIDs) as defined
by the ITU are also delegated [ASSIGNED]; IANA manages the subtree
rooted at "iso.org.dod.internet" (1.3.6.1) . When a namespace is
delegated, the scope of IANA is limited to the parts of the namespace
where IANA has authority.
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 [KEYWORDS].
For this document, "the specification" as used by RFC 2119 refers to
the processing of protocol documents within the IETF standards
process.
2. Why Management of a Namespace May Be Necessary
One issue to consider in managing a namespace is its size. If the
space is small and limited in size, assignments must be made
carefully to prevent exhaustion of the space. If the space is
essentially unlimited, on the other hand, potential exhaustion will
probably not be a practical concern at all. Even when the space is
essentially unlimited, however, it is usually desirable to have at
least a minimal review prior to assignment in order to:
- prevent the hoarding of or unnecessary wasting of values. For
example, if the space consists of text strings, it may be
desirable to prevent entities from obtaining large sets of
strings that correspond to desirable names (e.g., existing
company names).
- provide a sanity check that the request actually makes sense and
is necessary. Experience has shown that some level of minimal
review from a subject matter expert is useful to prevent
assignments in cases where the request is malformed or not
actually needed (i.e., an existing assignment for an essentially
equivalent service already exists).
A second consideration is whether it makes sense to delegate the
namespace in some manner. This route should be pursued when
appropriate, as it lessens the burden on IANA for dealing with
assignments.
A third, and perhaps most important, consideration concerns potential
impact on the interoperability of unreviewed extensions. Proposed
protocol extensions generally benefit from community review; indeed,
review is often essential to avoid future interoperability problems
[PROTOCOL-EXT].
When the namespace is essentially unlimited and there are no
potential interoperability issues, assigned numbers can safely be
given out to anyone without any subjective review. In such cases,
IANA can make assignments directly, provided that IANA is given
specific instructions on what types of requests it should grant, and
what information must be provided as part of a well-formed request
for an assigned number.
3. Designated Experts
3.1. The Motivation for Designated Experts
It should be noted that IANA does not create or define assignment
policy itself; rather, it carries out policies that have been defined
by others and published in RFCs. IANA must be given a set of
guidelines that allow it to make allocation decisions with minimal
subjectivity and without requiring any technical expertise with
respect to the protocols that make use of a registry.
In many cases, some review of prospective allocations is appropriate,
and the question becomes who should perform the review and what is
the purpose of the review. One might think that an IETF working
group (WG) familiar with the namespace at hand should be consulted.
In practice, however, WGs eventually disband, so they cannot be
considered a permanent evaluator. It is also possible for namespaces
to be created through individual submission documents, for which no
WG is ever formed.
One way to ensure community review of prospective assignments is to
have the requester submit a document for publication as an RFC. Such
an action helps ensure that the specification is publicly and
permanently available, and it allows some review of the specification
prior to publication and assignment of the requested code points.
This is the preferred way of ensuring review, and is particularly
important if any potential interoperability issues can arise. For
example, some assignments are not just assignments, but also involve
an element of protocol specification. A new option may define fields
that need to be parsed and acted on, which (if specified poorly) may
not fit cleanly with the architecture of other options or the base
protocols on which they are built.
In some cases, however, the burden of publishing an RFC in order to
get an assignment is excessive. However, it is generally still
useful (and sometimes necessary) to discuss proposed additions on a
mailing list dedicated to the purpose (e.g., the ietf-types@iana.org
for media types) or on a more general mailing list (e.g., that of a
current or former IETF WG). Such a mailing list provides a way for
new registrations to be publicly reviewed prior to getting assigned,
or gives advice to persons wanting help in understanding what a
proper registration should contain.
While discussion on a mailing list can provide valuable technical
feedback, opinions may vary and discussions may continue for some
time without clear resolution. In addition, IANA cannot participate
in all of these mailing lists and cannot determine if or when such
discussions reach consensus. Therefore, IANA relies on a "designated
expert" for advice regarding the specific question of whether an
assignment should be made. The designated expert is an individual
who is responsible for carrying out an appropriate evaluation and
returning a recommendation to IANA.
It should be noted that a key motivation for having designated
experts is for the IETF to provide IANA with a subject matter expert
to whom the evaluation process can be delegated. IANA forwards
requests for an assignment to the expert for evaluation, and the
expert (after performing the evaluation) informs IANA as to whether
or not to make the assignment or registration.
3.2. The Role of the Designated Expert
The designated expert is responsible for initiating and coordinating
the appropriate review of an assignment request. The review may be
wide or narrow, depending on the situation and the judgment of the
designated expert. This may involve consultation with a set of
technology experts, discussion on a public mailing list, consultation
with a working group (or its mailing list if the working group has
disbanded), etc. Ideally, the designated expert follows specific
review criteria as documented with the protocol that creates or uses
the namespace. (See the IANA Considerations sections of [RFC3748]
and [RFC3575] for examples that have been done for specific
namespaces.)
Designated experts are expected to be able to defend their decisions
to the IETF community, and the evaluation process is not intended to
be secretive or bestow unquestioned power on the expert. Experts are
expected to apply applicable documented review or vetting procedures,
or in the absence of documented criteria, follow generally accepted
norms, e.g., those in Section 3.3.
Section 5.2 discusses disputes and appeals in more detail.
Designated experts are appointed by the IESG (normally upon
recommendation by the relevant Area Director). They are typically
named at the time a document creating or updating a namespace is
approved by the IESG, but as experts originally appointed may later
become unavailable, the IESG will appoint replacements if necessary.
For some registries, it has proven useful to have multiple designated
experts. Sometimes those experts work together in evaluating a
request, while in other cases additional experts serve as backups.
In cases of disagreement among those experts, it is the
responsibility of those experts to make a single clear recommendation
to IANA. It is not appropriate for IANA to resolve disputes among
experts. In extreme situations (e.g., deadlock), the IESG may need
to step in to resolve the problem.
In registries where a pool of experts evaluates requests, the pool
should have a single chair responsible for defining how requests are
to be assigned to and reviewed by experts. In some cases, the expert
pool may consist of a primary and backups, with the backups involved
only when the primary expert is unavailable. In other cases, IANA
might assign requests to individual members in sequential or
approximate random order. In the event that IANA finds itself having
received conflicting advice from its experts, it is the
responsibility of the pool's chair to resolve the issue and provide
IANA with clear instructions.
Since the designated experts are appointed by the IESG, they may be
removed by the IESG.
3.3. Designated Expert Reviews
In the eight years since RFC 2434 was published and has been put to
use, experience has led to the following observations:
- A designated expert must respond in a timely fashion, normally
within a week for simple requests to a few weeks for more
complex ones. Unreasonable delays can cause significant
problems for those needing assignments, such as when products
need code points to ship. This is not to say that all reviews
can be completed under a firm deadline, but they must be
started, and the requester and IANA should have some
transparency into the process if an answer cannot be given
quickly.
- If a designated expert does not respond to IANA's requests
within a reasonable period of time, either with a response or
with a reasonable explanation for the delay (e.g., some requests
may be particularly complex), and if this is a recurring event,
IANA must raise the issue with the IESG. Because of the
problems caused by delayed evaluations and assignments, the IESG
should take appropriate actions to ensure that the expert
understands and accepts his or her responsibilities, or appoint
a new expert.
- The designated expert is not required to personally bear the
burden of evaluating and deciding all requests, but acts as a
shepherd for the request, enlisting the help of others as
appropriate. In the case that a request is denied, and
rejecting the request is likely to be controversial, the expert
should have the support of other subject matter experts. That
is, the expert must be able to defend a decision to the
community as a whole.
In the case where a designated expert is used, but there are no
specific documented criteria for performing an evaluation, the
presumption should be that a code point should be granted, unless
there is a compelling reason to the contrary. Possible reasons to
deny a request include:
- scarcity of code points, where the finite remaining code points
should be prudently managed, or when a request for a large
number of code points is made, when a single code point is the
norm.
- documentation is not of sufficient clarity to evaluate or ensure
interoperability.
- the code point is needed for a protocol extension, but the
extension is not consistent with the documented (or generally
understood) architecture of the base protocol being extended,
and would be harmful to the protocol if widely deployed. It is
not the intent that "inconsistencies" refer to minor differences
"of a personal preference nature". Instead, they refer to
significant differences such as inconsistencies with the
underlying security model, implying a change to the semantics of
an existing message type or operation, requiring unwarranted
changes in deployed systems (compared with alternate ways of
achieving a similar result), etc.
- the extension would cause problems with existing deployed
systems.
- the extension would conflict with one under active development
by the IETF, and having both would harm rather than foster
interoperability.
4. Creating a Registry
Creating a registry involves describing the namespaces to be created,
an initial set of assignments (if appropriate), and guidelines on how
future assignments are to be made.
Once a registry has been created, IANA records assignments that have
been made. The following labels describe the status of an individual
(or range) of assignments:
Private Use: Private use only (not assigned), as described in
Section 4.1.
Experimental: Available for experimental use as described in
[EXPERIMENTATION]. IANA does not record specific
assignments for any particular use.
Unassigned: Unused and available for assignment via documented
procedures.
Reserved: Not to be assigned. Reserved values are held for
special uses, such as to extend the namespace when it become
exhausted. Reserved values are not available for general
assignment.
4.1. Well-Known IANA Policy Definitions
The following are some defined policies, some of which are in use
today. These cover a range of typical policies that have been used
to date to describe the procedure for assigning new values in a
namespace. It is not required that documents use these terms; the
actual requirement is that the instructions to IANA are clear and
unambiguous. However, use of these terms is RECOMMENDED where
possible, since their meaning is widely understood.
Private Use - For private or local use only, with the type and
purpose defined by the local site. No attempt is made to
prevent multiple sites from using the same value in
different (and incompatible) ways. There is no need for
IANA to review such assignments (since IANA does not record
them) and assignments are not generally useful for broad
interoperability. It is the responsibility of the sites
making use of the Private Use range to ensure that no
conflicts occur (within the intended scope of use).
Examples: Site-specific options in DHCP [DHCP-IANA], Fibre
Channel Port Type Registry [RFC4044], Exchange Types in the
IKEv2 header [RFC4306].
Experimental Use - Similar to private or local use only, with the
purpose being to facilitate experimentation. See
[EXPERIMENTATION] for details.
Example: Experimental Values in IPv4, IPv6, ICMPv4, ICMPv6,
UDP, and TCP Headers [RFC4727].
Hierarchical Allocation - Delegated managers can assign values
provided they have been given control over that part of the
namespace. IANA controls the higher levels of the namespace
according to one of the other policies.
Examples: DNS names, Object Identifiers, IP addresses.
First Come First Served - Assignments are made to anyone on a
first come, first served basis. There is no substantive
review of the request, other than to ensure that it is
well-formed and doesn't duplicate an existing assignment.
However, requests must include a minimal amount of clerical
information, such as a point of contact (including an email
address) and a brief description of how the value will be
used. Additional information specific to the type of value
requested may also need to be provided, as defined by the
namespace. For numbers, the exact value is generally
assigned by IANA; with names, specific text strings can
usually be requested.
Examples: SASL mechanism names [RFC4422], LDAP Protocol
Mechanisms, and LDAP Syntax [RFC4520].
Expert Review (or Designated Expert) - approval by a Designated
Expert is required. The required documentation and review
criteria for use by the Designated Expert should be provided
when defining the registry. For example, see Sections 6 and
7.2 in [RFC3748].
Examples: EAP Method Types [RFC3748], HTTP Digest AKA
algorithm versions [RFC4169], URI schemes [RFC4395], GEOPRIV
Location Types [RFC4589].
Specification Required - Values and their meanings must be
documented in a permanent and readily available public
specification, in sufficient detail so that interoperability
between independent implementations is possible. When used,
Specification Required also implies use of a Designated
Expert, who will review the public specification and
evaluate whether it is sufficiently clear to allow
interoperable implementations. The intention behind
"permanent and readily available" is that a document can
reasonably be expected to be findable and retrievable long
after IANA assignment of the requested value. Publication
of an RFC is an ideal means of achieving this requirement,
but Specification Required is intended to also cover the
case of a document published outside of the RFC path. For
RFC publication, the normal RFC review process is expected
to provide the necessary review for interoperability, though
the Designated Expert may be a particularly well-qualified
person to perform such a review.
Examples: Diffserv-aware TE Bandwidth Constraints Model
Identifiers [RFC4124], TLS ClientCertificateType Identifiers
[RFC4346], ROHC Profile Identifiers [RFC4995].
RFC Required - RFC publication (either as an IETF submission or as
an RFC Editor Independent submission [RFC3932]) suffices.
Unless otherwise specified, any type of RFC is sufficient
(e.g., Informational, Experimental, Standards Track, etc.).
IETF Review - (Formerly called "IETF Consensus" in
[IANA-CONSIDERATIONS]) New values are assigned only through
RFCs that have been shepherded through the IESG as AD-
Sponsored or IETF WG Documents [RFC3932] [RFC3978]. The
intention is that the document and proposed assignment will
be reviewed by the IESG and appropriate IETF WGs (or
experts, if suitable working groups no longer exist) to
ensure that the proposed assignment will not negatively
impact interoperability or otherwise extend IETF protocols
in an inappropriate or damaging manner.
To ensure adequate community review, such documents are
shepherded through the IESG as AD-sponsored (or WG)
documents with an IETF Last Call.
Examples: IPSECKEY Algorithm Types [RFC4025],
Accounting-Auth-Method AVP values in DIAMETER [RFC4005], TLS
Handshake Hello Extensions [RFC4366].
Standards Action - Values are assigned only for Standards Track
RFCs approved by the IESG.
Examples: BGP message types [RFC4271], Mobile Node
Identifier option types [RFC4283], DCCP Packet Types
[RFC4340].
IESG Approval - New assignments may be approved by the IESG.
Although there is no requirement that the request be
documented in an RFC, the IESG has discretion to request
documents or other supporting materials on a case-by-case
basis.
IESG Approval is not intended to be used often or as a
"common case"; indeed, it has seldom been used in practice
during the period RFC 2434 was in effect. Rather, it is
intended to be available in conjunction with other policies
as a fall-back mechanism in the case where one of the other
allowable approval mechanisms cannot be employed in a timely
fashion or for some other compelling reason. IESG Approval
is not intended to circumvent the public review processes
implied by other policies that could have been employed for
a particular assignment. IESG Approval would be
appropriate, however, in cases where expediency is desired
and there is strong consensus for making the assignment
(e.g., WG consensus).
The following guidelines are suggested for any evaluation
under IESG Approval:
- The IESG can (and should) reject a request if another path
for registration is available that is more appropriate and
there is no compelling reason to use that path.
- Before approving a request, the community should be
consulted, via a "call for comments" that provides as much
information as is reasonably possible about the request.
Examples: IPv4 Multicast address assignments [RFC3171], IPv4
IGMP Type and Code values [RFC3228], Mobile IPv6 Mobility
Header Type and Option values [RFC3775].
It should be noted that it often makes sense to partition a namespace
into multiple categories, with assignments within each category
handled differently. For example, many protocols now partition
namespaces into two (or even more) parts, where one range is reserved
for Private or Experimental Use, while other ranges are reserved for
globally unique assignments assigned following some review process.
Dividing a namespace into ranges makes it possible to have different
policies in place for different ranges.
Examples: LDAP [RFC4520], Pseudowire Edge to Edge Emulation (PWE3)
[RFC4446].
4.2. What to Put in Documents That Create a Registry
The previous sections presented some issues that should be considered
in formulating a policy for assigning values in namespaces. It is
the working group and/or document author's job to formulate an
appropriate policy and specify it in the appropriate document. In
almost all cases, having an explicit "IANA Considerations" section is
appropriate. The following and later sections define what is needed
for the different types of IANA actions.
Documents that create a new namespace (or modify the definition of an
existing space) and that expect IANA to play a role in maintaining
that space (e.g., serving as a repository for registered values) MUST
provide clear instructions on details of the namespace. In
particular, instructions MUST include:
1) The name of the registry (or sub-registry) being created and/or
maintained. The name will appear on the IANA web page and will
be referred to in future documents that need to allocate a
value from the new space. The full name (and abbreviation, if
appropriate) should be provided. It is highly desirable that
the chosen name not be easily confusable with the name of
another registry. When creating a sub-registry, the registry
that it is a part of should be clearly identified. When
referring to an already existing registry, providing a URL to
precisely identify the registry is helpful. All such URLs,
however, will be removed from the RFC prior to final
publication. For example, documents could contain: [TO BE
REMOVED: This registration should take place at the following
location: http://www.iana.org/assignments/foobar-registry]
2) What information must be provided as part of a request in order
to assign a new value. This information may include the need
to document relevant security considerations, if any.
3) The review process that will apply to all future requests for a
value from the namespace.
Note: When a Designated Expert is used, documents MUST NOT name
the Designated Expert in the document itself; instead, the name
should be relayed to the appropriate Area Director at the time
the document is sent to the IESG for approval.
If the request should also be reviewed on a specific public
mailing list (such as the ietf-types@iana.org for media types),
that mailing address should be specified. Note, however, that
when mailing lists are specified, the requirement for a
Designated Expert MUST also be specified (see Section 3).
If IANA is expected to make assignments without requiring an
outside review, sufficient guidance MUST be provided so that
the requests can be evaluated with minimal subjectivity.
4) The size, format, and syntax of registry entries. When
creating a new name/number space, authors must describe any
technical requirements on registry (and sub-registry) values
(e.g., valid ranges for integers, length limitations on
strings, etc.) as well as the exact format in which registry
values should be displayed. For number assignments, one should
specify whether values are to be recorded in decimal,
hexadecimal, or some other format. For strings, the encoding
format should be specified (e.g., ASCII, UTF8, etc.). Authors
should also clearly specify what fields to record in the
registry.
5) Initial assignments and reservations. Clear instructions
should be provided to identify any initial assignments or
registrations. In addition, any ranges that are to be reserved
for "Private Use", "Reserved", "Unassigned", etc. should be
clearly indicated.
When specifying the process for making future assignments, it is
quite acceptable to pick one (or more) of the example policies listed
in Section 4.1 and refer to it by name. Indeed, this is the
preferred mechanism in those cases where the sample policies provide
the desired level of review. It is also acceptable to cite one of
the above policies and include additional guidelines for what kind of
considerations should be taken into account by the review process.
For example, RADIUS [RFC3575] specifies the use of a Designated
Expert, but includes specific additional criteria the Designated
Expert should follow.
For example, a document could say something like:
This document defines a new DHCP option, entitled "FooBar" (see
Section y), assigned a value of TBD1 from the DHCP Option space
[to be removed upon publication:
http://www.iana.org/assignments/bootp-dhcp-parameters]
[DHCP-OPTIONS] [DHCP-IANA]:
Data
Tag Name Length Meaning
---- ---- ------ -------
TBD1 FooBar N FooBar server
The FooBar option also defines an 8-bit FooType field, for which
IANA is to create and maintain a new sub-registry entitled
"FooType values" under the FooBar option. Initial values for the
DHCP FooBar FooType registry are given below; future assignments
are to be made through Expert Review [IANA-CONSIDERATIONS].
Assignments consist of a DHCP FooBar FooType name and its
associated value.
Value DHCP FooBar FooType Name Definition
---- ------------------------ ----------
0 Reserved
1 Frobnitz See Section y.1
2 NitzFrob See Section y.2
3-254 Unassigned
255 Reserved
For examples of documents that provide detailed guidance to IANA
on the issue of assigning numbers, consult [RFC2929], [RFC3575],
[RFC3968], and [RFC4520].
4.3. Updating IANA Guidelines for Existing Registries
Updating the registration process for an already existing (i.e.,
previously created) namespace (whether created explicitly or
implicitly) follows a process similar to that used when creating a
new namespace. That is, a document is produced that makes reference
to the existing namespace and then provides detailed guidelines for
handling assignments in each individual namespace. Such documents
are normally processed as Best Current Practices (BCPs)
[IETF-PROCESS].
Example documents that updated the guidelines for managing (then)
pre-existing registries include: [RFC2929], [RFC3228], and [RFC3575].
5. Registering New Values in an Existing Registry
5.1. What to Put in Documents When Registering Values
Often, documents request an assignment from an already existing
namespace (i.e., one created by a previously published RFC). In such
cases:
- Documents should clearly identify the namespace in which each
value is to be registered. If the registration goes into a
sub-registry, the author should clearly describe where the
assignment or registration should go. It is helpful to use the
exact namespace name as listed on the IANA web page (and
defining RFC), and cite the RFC where the namespace is defined.
Note 1: There is no need to mention what the assignment policy
for new assignments is, as that should be clear from the
references.
Note 2: When referring to an existing registry, providing a URL
to precisely identify the registry is helpful. Such URLs,
however, should usually be removed from the RFC prior to final
publication, since IANA URLs are not guaranteed to be stable in
the future. In cases where it is important to include a URL in
the document, IANA should concur on its inclusion.
As an example, documents could contain: [TO BE REMOVED: This
registration should take place at the following location:
http://www.iana.org/assignments/foobar-registry]
- Each value requested should be given a unique reference. When
the value is numeric, use the notation: TBD1, TBD2, etc.
Throughout the document where an actual IANA-assigned value
should be filled in, use the "TBDx" notation. This helps ensure
that the final RFC has the correct assigned values inserted in
all of the relevant places where the value is expected to appear
in the final document. For values that are text strings, a
specific name can be suggested. IANA will normally assign the
name, unless it conflicts with a name already in use.
- Normally, the values to be used are chosen by IANA and documents
should specify values of "TBD". However, in some cases, a value
may have been used for testing or in early implementations. In
such cases, it is acceptable to include text suggesting what
specific value should be used (together with the reason for the
choice). For example, one might include the text "the value XXX
is suggested as it is used in implementations". However, it
should be noted that suggested values are just that; IANA will
attempt to assign them, but may find that impossible, if the
proposed number has already been assigned for some other use.
For some registries, IANA has a long-standing policy prohibiting
assignment of names or codes on a vanity or organization name
basis, e.g., codes are always assigned sequentially unless there
is a strong reason for making an exception. Nothing in this
document is intended to change those policies or prevent their
future application.
- The IANA Considerations section should summarize all of the IANA
actions, with pointers to the relevant sections elsewhere in the
document as appropriate. When multiple values are requested, it
is generally helpful to include a summary table. It is also
helpful for this table to be in the same format as it should
appear on the IANA web site. For example:
Value Description Reference
-------- ------------------- ---------
TBD1 Foobar [RFCXXXX]
Note: In cases where authors feel that including the full table is
too verbose or repetitive, authors should still include the table,
but may include a note asking that the table be removed prior to
publication of the final RFC.
As an example, the following text could be used to request assignment
of a DHCPv6 option number:
IANA has assigned an option code value of TBD1 to the DNS
Recursive Name Server option and an option code value of TBD2 to
the Domain Search List option from the DHCP option code space
defined in Section 24.3 of RFC 3315.
5.2. Updating Registrations
Registrations are a request to assign a new value, including the
related information needed to evaluate and document the request.
Even after a number has been assigned, some types of registrations
contain additional information that may need to be updated over time.
For example, MIME media types, character sets, and language tags,
etc. typically include more information than just the registered
value itself. Example information can include point-of-contact
information, security issues, pointers to updates, literature
references, etc. In such cases, the document defining the namespace
must clearly state who is responsible for maintaining and updating a
registration. In different cases, it may be appropriate to specify
one or more of the following:
- Let the author update the registration, subject to the same
constraints and review as with new registrations.
- Allow some mechanism to attach comments to the registration, for
cases where others have significant objections to claims in a
registration, but the author does not agree to change the
registration.
- Designate the IESG, a Designated Expert, or another entity as
having the right to change the registrant associated with a
registration and any requirements or conditions on doing so.
This is mainly to get around the problem when a registrant
cannot be reached in order to make necessary updates.
5.3. Overriding Registration Procedures
Since RFC 2434 was published, experience has shown that the
documented IANA considerations for individual protocols do not always
adequately cover the reality after the protocol is deployed. For
example, many older routing protocols do not have documented,
detailed IANA considerations. In addition, documented IANA
considerations are sometimes found to be too stringent to allow even
working group documents (for which there is strong consensus) to
obtain code points from IANA in advance of actual RFC publication.
In other cases, the documented procedures are unclear or neglected to
cover all the cases. In order to allow assignments in individual
cases where there is strong IETF consensus that an allocation should
go forward, but the documented procedures do not support such an
assignment, the IESG is granted authority to approve assignments in
such cases. The intention is not to overrule properly documented
procedures, or to obviate the need for protocols to properly document
their IANA considerations. Instead, the intention is to permit
assignments in individual cases where it is obvious that the
assignment should just be made, but updating the IANA process just to
assign a particular code point is viewed as too heavy a burden.
In general, the IETF would like to see deficient IANA registration
procedures for a namespace revised through the IETF standards
process, but not at the cost of unreasonable delay for needed
assignments. If the IESG has had to take the action in this section,
it is a strong indicator that the IANA registration procedures should
be updated, possibly in parallel with ongoing protocol work.
6. Miscellaneous Issues
6.1. When There Are No IANA Actions
Before an Internet-Draft can be published as an RFC, IANA needs to
know what actions (if any) it needs to perform. Experience has shown
that it is not always immediately obvious whether a document has no
IANA actions, without reviewing the document in some detail. In
order to make it clear to IANA that it has no actions to perform (and
that the author has consciously made such a determination), such
documents should include an IANA Considerations section that states:
This document has no IANA actions.
This statement, or an equivalent, must only be inserted after the WG
or individual submitter has carefully verified it to be true. Using
such wording as a matter of "boilerplate" or without careful
consideration can lead to incomplete or incorrect IANA actions being
performed.
If a specification makes use of values from a namespace that is not
managed by IANA, it may be useful to note this fact, e.g., with
wording such as:
The values of the Foobar parameter are assigned by the Barfoo
registry on behalf of the Rabfoo Forum. Therefore, this document
has no IANA actions.
In some cases, the absence of IANA-assigned values may be considered
valuable information for future readers; in other cases, it may be
considered of no value once the document has been approved, and may
be removed before archival publication. This choice should be made
clear in the draft, for example, by including a sentence such as
[RFC Editor: please remove this section prior to publication.]
or
[RFC Editor: please do not remove this section.]
6.2. Namespaces Lacking Documented Guidance
For all existing RFCs that either explicitly or implicitly rely on
IANA to evaluate assignments without specifying a precise evaluation
policy, IANA (in consultation with the IESG) will continue to decide
what policy is appropriate. Changes to existing policies can always
be initiated through the normal IETF consensus process.
All future RFCs that either explicitly or implicitly rely on IANA to
register or otherwise manage namespace assignments MUST provide
guidelines for managing the namespace.
6.3. After-the-Fact Registrations
Occasionally, IANA becomes aware that an unassigned value from a
managed namespace is in use on the Internet or that an assigned value
is being used for a different purpose than originally registered.
IANA will not condone such misuse; i.e., procedures of the type
described in this document MUST be applied to such cases. In the
absence of specifications to the contrary, values may only be
reassigned for a different purpose with the consent of the original
assignee (when possible) and with due consideration of the impact of
such a reassignment. In cases of likely controversy, consultation
with the IESG is advised.
6.4. Reclaiming Assigned Values
Reclaiming previously assigned values for reuse is tricky, because
doing so can lead to interoperability problems with deployed systems
still using the assigned values. Moreover, it can be extremely
difficult to determine the extent of deployment of systems making use
of a particular value. However, in cases where the namespace is
running out of unassigned values and additional ones are needed, it
may be desirable to attempt to reclaim unused values. When
reclaiming unused values, the following (at a minimum) should be
considered:
- Attempts should be made to contact the original party to which a
value is assigned, to determine if the value was ever used, and
if so, the extent of deployment. (In some cases, products were
never shipped or have long ceased being used. In other cases,
it may be known that a value was never actually used at all.)
- Reassignments should not normally be made without the
concurrence of the original requester. Reclamation under such
conditions should only take place where there is strong evidence
that a value is not widely used, and the need to reclaim the
value outweighs the cost of a hostile reclamation. In any case,
IESG Approval is needed in this case.
- It may be appropriate to write up the proposed action and
solicit comments from relevant user communities. In some cases,
it may be appropriate to write an RFC that goes through a formal
IETF process (including IETF Last Call) as was done when DHCP
reclaimed some of its "Private Use" options [RFC3942].
7. Appeals
Appeals of registration decisions made by IANA can be made using the
normal IETF appeals process as described in Section 6.5 of
[IETF-PROCESS]. Specifically, appeals should be directed to the
IESG, followed (if necessary) by an appeal to the IAB, etc.
8. Mailing Lists
All IETF mailing lists associated with evaluating or discussing
assignment requests as described in this document are subject to
whatever rules of conduct and methods of list management are
currently defined by Best Current Practices or by IESG decision.
9. Security Considerations
Information that creates or updates a registration needs to be
authenticated and authorized. IANA updates registries according to
instructions in published RFCs and from the IESG. It also may accept
clarifications from document authors, relevant WG chairs, Designated
Experts, and mail list participants, too.
Information concerning possible security vulnerabilities of a
protocol may change over time. Likewise, security vulnerabilities
related to how an assigned number is used (e.g., if it identifies a
protocol) may change as well. As new vulnerabilities are discovered,
information about such vulnerabilities may need to be attached to
existing registrations, so that users are not misled as to the true
security issues surrounding the use of a registered number.
An analysis of security issues is generally required for all
protocols that make use of parameters (data types, operation codes,
keywords, etc.) used in IETF protocols or registered by IANA. Such
security considerations are usually included in the protocol document
[RFC3552]. It is the responsibility of the IANA considerations
associated with a particular registry to specify what (if any)
security considerations must be provided when assigning new values,
and the process for reviewing such claims.
10. Changes Relative to RFC 2434
Changes include:
- Major reordering of text to expand descriptions and to better
group topics such as "updating registries" vs. "creating new
registries", in order to make it easier for authors to find the
text most applicable to their needs.
- Numerous editorial changes to improve readability.
- Changed the term "IETF Consensus" to "IETF Review" and added
more clarifications. History has shown that people see the
words "IETF Consensus" (without consulting the actual
definition) and are quick to make incorrect assumptions about
what the term means in the context of IANA Considerations.
- Added "RFC Required" to list of defined policies.
- Much more explicit directions and examples of "what to put in
RFCs".
- "Specification Required" now implies use of a Designated Expert
to evaluate specs for sufficient clarity.
- Significantly changed the wording in Section 3. Main purpose is
to make clear that Expert Reviewers are accountable to the
community, and to provide some guidance for review criteria in
the default case.
- Changed wording to remove any special appeals path. The normal
RFC 2026 appeals path is used.
- Added a section about reclaiming unused value.
- Added a section on after-the-fact registrations.
- Added a section indicating that mailing lists used to evaluate
possible assignments (e.g., by a Designated Expert) are subject
to normal IETF rules.
11. Acknowledgments
This document has benefited from specific feedback from Jari Arkko,
Marcelo Bagnulo Braun, Brian Carpenter, Michelle Cotton, Spencer
Dawkins, Barbara Denny, Miguel Garcia, Paul Hoffman, Russ Housley,
John Klensin, Allison Mankin, Blake Ramsdell, Mark Townsley, Magnus
Westerlund, and Bert Wijnen.
The original acknowledgments section in RFC 2434 was:
Jon Postel and Joyce Reynolds provided a detailed explanation on what
IANA needs in order to manage assignments efficiently, and patiently
provided comments on multiple versions of this document. Brian
Carpenter provided helpful comments on earlier versions of the
document. One paragraph in the Security Considerations section was
borrowed from [MIME-REG].
12. References
12.1. Normative References
[KEYWORDS] Bradner, S., "Key words for use in RFCs to
Indicate Requirement Levels", BCP 14, RFC 2119,
March 1997.
12.2. Informative References
[ASSIGNED] Reynolds, J., Ed., "Assigned Numbers: RFC 1700
is Replaced by an On-line Database", RFC 3232,
January 2002.
[DHCP-OPTIONS] Alexander, S. and R. Droms, "DHCP Options and
BOOTP Vendor Extensions", RFC 2132, March 1997.
[DHCP-IANA] Droms, R., "Procedures and IANA Guidelines for
Definition of New DHCP Options and Message
Types", BCP 43, RFC 2939, September 2000.
[EXPERIMENTATION] Narten, T., "Assigning Experimental and Testing
Numbers Considered Useful", BCP 82, RFC 3692,
January 2004.
[IANA-CONSIDERATIONS] Narten, T. and H. Alvestrand, "Guidelines for
Writing an IANA Considerations Section in
RFCs", BCP 26, RFC 2434, October 1998.
[IANA-MOU] Carpenter, B., Baker, F., and M. Roberts,
"Memorandum of Understanding Concerning the
Technical Work of the Internet Assigned Numbers
Authority", RFC 2860, June 2000.
[IETF-PROCESS] Bradner, S., "The Internet Standards Process --
Revision 3", BCP 9, RFC 2026, October 1996.
[IP] Postel, J., "Internet Protocol", STD 5, RFC
791, September 1981.
[IPSEC] Kent, S. and K. Seo, "Security Architecture for
the Internet Protocol", RFC 4301, December
2005.
[MIME-REG] Freed, N. and J. Klensin, "Media Type
Specifications and Registration Procedures",
BCP 13, RFC 4288, December 2005.
[PROTOCOL-EXT] Carpenter, B. and B. Aboba, "Design
Considerations for Protocol Extensions", Work
in Progress, December 2007.
[RFC2929] Eastlake 3rd, D., Brunner-Williams, E., and B.
Manning, "Domain Name System (DNS) IANA
Considerations", BCP 42, RFC 2929, September
2000.
[RFC3171] Albanna, Z., Almeroth, K., Meyer, D., and M.
Schipper, "IANA Guidelines for IPv4 Multicast
Address Assignments", BCP 51, RFC 3171, August
2001.
[RFC3228] Fenner, B., "IANA Considerations for IPv4
Internet Group Management Protocol (IGMP)", BCP
57, RFC 3228, February 2002.
[RFC3552] Rescorla, E. and B. Korver, "Guidelines for
Writing RFC Text on Security Considerations",
BCP 72, RFC 3552, July 2003.
[RFC3575] Aboba, B., "IANA Considerations for RADIUS
(Remote Authentication Dial In User Service)",
RFC 3575, July 2003.
[RFC3748] Aboba, B., Blunk, L., Vollbrecht, J., Carlson,
J., and H. Levkowetz, Ed., "Extensible
Authentication Protocol (EAP)", RFC 3748, June
2004.
[RFC3775] Johnson, D., Perkins, C., and J. Arkko,
"Mobility Support in IPv6", RFC 3775, June
2004.
[RFC3932] Alvestrand, H., "The IESG and RFC Editor
Documents: Procedures", BCP 92, RFC 3932,
October 2004.
[RFC3942] Volz, B., "Reclassifying Dynamic Host
Configuration Protocol version 4 (DHCPv4)
Options", RFC 3942, November 2004.
[RFC3968] Camarillo, G., "The Internet Assigned Number
Authority (IANA) Header Field Parameter
Registry for the Session Initiation Protocol
(SIP)", BCP 98, RFC 3968, December 2004.
[RFC3978] Bradner, S., Ed., "IETF Rights in
Contributions", BCP 78, RFC 3978, March 2005.
[RFC4005] Calhoun, P., Zorn, G., Spence, D., and D.
Mitton, "Diameter Network Access Server
Application", RFC 4005, August 2005.
[RFC4025] Richardson, M., "A Method for Storing IPsec
Keying Material in DNS", RFC 4025, March 2005.
[RFC4044] McCloghrie, K., "Fibre Channel Management MIB",
RFC 4044, May 2005.
[RFC4124] Le Faucheur, F., Ed., "Protocol Extensions for
Support of Diffserv-aware MPLS Traffic
Engineering", RFC 4124, June 2005.
[RFC4169] Torvinen, V., Arkko, J., and M. Naslund,
"Hypertext Transfer Protocol (HTTP) Digest
Authentication Using Authentication and Key
Agreement (AKA) Version-2", RFC 4169, November
2005.
[RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares,
Ed., "A Border Gateway Protocol 4 (BGP-4)", RFC
4271, January 2006.
[RFC4283] Patel, A., Leung, K., Khalil, M., Akhtar, H.,
and K. Chowdhury, "Mobile Node Identifier
Option for Mobile IPv6 (MIPv6)", RFC 4283,
November 2005.
[RFC4306] Kaufman, C., Ed., "Internet Key Exchange
(IKEv2) Protocol", RFC 4306, December 2005.
[RFC4340] Kohler, E., Handley, M., and S. Floyd,
"Datagram Congestion Control Protocol (DCCP)",
RFC 4340, March 2006.
[RFC4346] Dierks, T. and E. Rescorla, "The Transport
Layer Security (TLS) Protocol Version 1.1", RFC
4346, April 2006.
[RFC4366] Blake-Wilson, S., Nystrom, M., Hopwood, D.,
Mikkelsen, J., and T. Wright, "Transport Layer
Security (TLS) Extensions", RFC 4366, April
2006.
[RFC4395] Hansen, T., Hardie, T., and L. Masinter,
"Guidelines and Registration Procedures for New
URI Schemes", BCP 115, RFC 4395, February 2006.
[RFC4422] Melnikov, A., Ed., and K. Zeilenga, Ed.,
"Simple Authentication and Security Layer
(SASL)", RFC 4422, June 2006.
[RFC4446] Martini, L., "IANA Allocations for Pseudowire
Edge to Edge Emulation (PWE3)", BCP 116, RFC
4446, April 2006.
[RFC4520] Zeilenga, K., "Internet Assigned Numbers
Authority (IANA) Considerations for the
Lightweight Directory Access Protocol (LDAP)",
BCP 64, RFC 4520, June 2006.
[RFC4589] Schulzrinne, H. and H. Tschofenig, "Location
Types Registry", RFC 4589, July 2006.
[RFC4727] Fenner, B., "Experimental Values In IPv4, IPv6,
ICMPv4, ICMPv6, UDP, and TCP Headers", RFC
4727, November 2006.
[RFC4995] Jonsson, L-E., Pelletier, G., and K. Sandlund,
"The RObust Header Compression (ROHC)
Framework", RFC 4995, July 2007.
Authors' Addresses
Thomas Narten
IBM Corporation
3039 Cornwallis Ave.
PO Box 12195 - BRQA/502
Research Triangle Park, NC 27709-2195
Phone: 919-254-7798
EMail: narten@us.ibm.com
Harald Tveit Alvestrand
Google
Beddingen 10
Trondheim, 7014
Norway
EMail: Harald@Alvestrand.no
Full Copyright Statement
Copyright (C) The IETF Trust (2008).
This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors
retain all their rights.
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
THE INTERNET ENGINEERING TASK FORCE DISCLAIM 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.
Intellectual Property
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.