Request for Comments: 5226
Category: Best Current Practice
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.
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
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" (184.108.40.206) . 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 firstname.lastname@example.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
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
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.
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
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:
- 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]
- 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.
- 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 email@example.com 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.
- 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.
- 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:
- 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].
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
- 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.
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.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.
3039 Cornwallis Ave.
PO Box 12195 - BRQA/502
Research Triangle Park, NC 27709-2195
Phone: 919-254-7798 EMail: firstname.lastname@example.org Harald Tveit Alvestrand Google Beddingen 10 Trondheim, 7014 Norway
Full Copyright Statement
Copyright © 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.
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 email@example.com.