Early IANA Allocation of Standards Track Code Points
Internet Corporation for Assigned Names and Numbers
12025 Waterfront Drive, Suite 300
90094-2536
Los Angeles, CA
United States of America
+1-310-823-5800
michelle.cotton@icann.org
http://www.icann.org/
early allocation
policy
protocol
This memo describes the process for early allocation of code points by IANA from registries
for which "Specification Required", "RFC Required", "IETF Review", or "Standards Action"
policies apply. This process can be used to alleviate the problem where code point
allocation is needed to facilitate desired or required implementation and deployment
experience prior to publication of an RFC that would normally trigger code point allocation.
This document obsoletes RFC 4020.
In protocol specifications documented in RFCs, there is often a need to allocate code
points for various objects, messages, or other protocol entities so that implementations
can interoperate. Many of these code point spaces have registries handled by the
Internet Assigned Number Authority (IANA). Several IANA allocation policies are
described in RFC 5226 [5226]. Some of them, such as "First Come First Served" or
"Expert Review", do not require a formal IETF action before the IANA performs allocation.
However, in situations where code points are a scarce resource and/or the IETF community
wishes to retain tight control of the protocol, policies such as "IETF Review" (formerly
"IETF Consensus"), or "Standards Action" have been used. Such allocation policies
represents a problem in situations where implementation and/or deployment experience are
desired or required before the document becomes a RFC.
To break the deadlock, document authors often choose some "seemingly unused" code points,
often by selecting the next available value from the registry; these may turn out to be
different from those later assigned by IANA. To make this problem worse, "pre-RFC"
implementations are often developed and deployed based on these code point selections.
This creates several potential interoperability problems between early implementations
and implementations of the final standard, as
described below:
IANA allocates code points different from those that early implementations assumed
would be allocated. Early implementations won't interoperate with standard ones.
IANA allocates code points for one extension while a "pre-RFC" implementation of a
different extension chooses the same code point. The different extensions will collide
on the same code point in the field.
This gets in the way of the main purpose of standards; namely, to facilitate interoperable
implementations.
It is easy to say that pre-RFC implementations should be kept private and should not be
deployed; however, both the length of the standards process and the immense value of
early implementations and early deployments suggest finding a better solution. As an
example, in the case of documents produced by Working Groups in the Routing Area, a
pre-RFC implementation is highly desirable and sometimes even required ,
and early deployments provide useful feedback on the technical and operational quality
of the specification.
This memo addresses the early allocation of code points so that
reservations are made in the IANA registries before the publication
of an RFC. The early allocation mechanisms are applied only to spaces
whose allocation policy is "Specification Required" (where an RFC is
used as the stable reference), "RFC Required", "IETF Review", and
"Standards Action". For an explanation of these allocation policies,
see .
A policy for IANA early allocations was previously described in .
This document obsoletes RFC 4020 and adds other registration procedures to the types of registries
that can qualify for early allocation.
The following conditions must hold before a request for early
allocation of code points will be considered by IANA:
The code points must be from a space designated as "Specification Required" (where an RFC will be
used as the stable reference), "RFC Required", "IETF Review", or "Standards Action".
The format, semantics, processing, and other rules related to handle the protocol entities
defined by the code points (henceforth called "specifications") must be adequately described
in an Internet-Draft.
The specifications of these code points must be stable; i.e., if there is a change,
implementations based on the earlier and later specifications must be seamlessly interoperable.
There is sufficient interest in early (pre-RFC) implementation and deployment in the community
as judged by working group chairs or ADs.
If conditions (a) or (b) are not met, then the processes in this memo do not apply.
There are three processes associated with early allocation: making the request for code points;
following up on the request; and revoking an early allocation. It cannot be emphasized enough that
these processes must have a minimal impact on IANA itself, or they will not be feasible.
The processes described below assume that the document in question is the product of an IETF Working
Group. If this is not the case, replace "WG chairs" below with "Shepherding Area Director".
The process for requesting and obtaining early allocation of code points is as follows:
The authors (editors) of the document submit a request for early allocation to the Working Group
chairs, specifying which code points require early allocation and which document they should be
assigned to.
The WG chairs determine whether the conditions for early allocations described in section 2 are met;
particularly, conditions (c) and (d).
The WG chairs gauge whether there is consensus within the WG that early allocation is appropriate
in the case of the given document.
If steps 2) and 3) are satisfied, the WG chairs request approval of the Area Director(s). The Area
Director(s) may apply judgement to the request especially if there is a risk of registry depletion.
The WG chairs request IANA to make an early allocation.
IANA makes an allocation from the appropriate registry, marking it as "Temporary", valid for a period
of one year from the date of allocation. The date of first allocation the date of expiry should also be
recorded in the registry and made visible to the public.
Note that Internet Drafts should not include a specific value of a code point until this value has been
formally allocated by IANA.
It is the responsibility of the document authors and the Working
Group chairs to review changes in the document, and especially in the
specifications of the code points for which early allocation was
requested, to ensure that the changes are backward compatible.
If at some point changes that are not backward compatible are
nonetheless required, a decision needs to be made as to whether
previously allocated code points must be deprecated (see section 3.3
for more information on code point deprecation). The considerations
include aspects such as the possibility of existing deployments of
the older implementations and, hence, the possibility for a collision
between older and newer implementations in the field.
If the document progresses to the point at which IANA normally makes
code point allocations, it is the responsibility of the authors and
the WG chairs to remind IANA that there were early allocations, and
of the code point values so allocated, in the IANA Considerations
section of the RFC-to-be. Allocation is then just a matter of
removing the "temporary" tag from the allocation description.
If early allocations expire before the document progresses to the point where IANA normally makes allocations,
the authors and WG chairs may repeat the process in section 3.1 to request renewal of the code points. At most,
one renewal request may be made; thus, authors should choose carefully when the original request is to be made.
As an exception to the above rule, under rare circumstances, more than one allocation renewal may be justified.
All such renewal requests must be reviewed by the IESG. The renewal request to the IESG must include the reasons
why such renewal is necessary, and the WG's plans regarding the specification.
If a follow-up request is not made, or the document fails to progress to an RFC, the WG chairs are responsible for
informing IANA that the code points are to be marked "deprecated" (and are not to be allocated). The WG chairs are
further responsible for informing IANA when the deprecated code points can be completely de-allocated (i.e., made
available for new allocations). Implementers and deployers need to be aware that this deprecation and de-allocation
could take place at any time after expiry, and an expired early allocation is therefore best considered as deprecated.
In particular, it is not IANA's responsibility to track the status of allocations, their expiration, or when they may
be re-allocated.
Note that if a document is submitted for review to the IESG and at the time of submission some early allocations are
valid (not expired), these allocations must not be expired while the document is under IESG consideration or waiting in
the RFC Editor's queue after approval by the IESG.
This document defines procedures for early allocation of code points in the registries with the
"Specification Required", "RFC Required", "IETF Review", and "Standards Action" policies and as
such directly affects IANA.
It is important to keep in mind 'denial of service' attacks on IANA as a result of the processes
in this memo. There are two that are immediately obvious: depletion of code space by early
allocations and process overloading of IANA itself. The processes described here attempt to
alleviate both of these, but they should be subject to scrutiny by IANA to ensure protection,
and IANA may at any time request the IESG to suspend the procedures described in this document.
There is a significant concern that the procedures in this document could be used as an end-run
on the IETF process to achieve code point allocation when an RFC will not be published. For
example, a WG or a WG chair might be put under pressure to obtain an early allocation for a protocol
extension for a particular company or for another SDO even though it might be predicted that an IETF
LC or IESG Evaluation would reject the approach that is documented. The requirement for AD consent
of early review is an important safe-guard, and ADs with any concern are strongly recommended to
escalate the issue for IESG-wide discussion.
Many thanks to Bert Wijnen, Adrian Farrel, and Bill Fenner for their input on RFC 4020. Thank you
to Kireeti Kompella and Alex Zinin for authoring RFC4020. Thank you to Adrian Farrel, Stewart Bryant, Leo Vegoda
for their reviews of this document.