RFC 7120
Early IANA Allocation of Standards Track Code Points
Early IANA Allocation of Standards Track Code Points π
Okay bestie, this is RFC 7120 π, and it's a Best Current Practice (BCP 100), so it's official "here's how we do it" guidance. M. Cotton from ICANN wrote it, it was published in January 2014, and it obsoletes RFC 4020 π₯. It's an IETF Stream document, with ISSN 2070-1721 π¦.
Abstract β¨
Okay so this memo explains how IANA can do an early allocation of code points π§ from registries that use the "Specification Required", "RFC Required", "IETF Review", or "Standards Action" policies. Why does that matter? Because sometimes you need code points handed out before the RFC is published, so people can actually build and deploy things and test them out. Normally the RFC is what triggers the allocation, so this process fills that gap π«Ά. The procedures are only meant for IETF Stream documents.
This document obsoletes RFC 4020 π .
Status of This Memo π
This memo documents an Internet Best Current Practice.
This document is a product of the Internet Engineering Task Force (IETF) πΈ. It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). More info on BCPs is in Section 2 of RFC 5741.
Info about the current status of this document, any errata, and how to give feedback on it can be found at http://www.rfc-editor.org/info/rfc7120 π.
Copyright Notice βοΈ
Copyright (c) 2014 IETF Trust and the persons identified as the document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, since they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions, and they are provided without warranty as described in the Simplified BSD License.
Table of Contents π
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Conditions for Early Allocation . . . . . . . . . . . . . . . . 4
3. Process for Early Allocation . . . . . . . . . . . . . . . . . 4
3.1. Request . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.2. Follow-Up . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.3. Expiry . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 7
5. Security Considerations . . . . . . . . . . . . . . . . . . . . 7
6. References . . . . . . . . . . . . . . . . . . . . . . . . . . 8
6.1. Normative References . . . . . . . . . . . . . . . . . . . 8
6.2. Informative References . . . . . . . . . . . . . . . . . . 8
Appendix A. Acknowledgments . . . . . . . . . . . . . . . . . . . 9
1. Introduction π
Okay so in protocol specs written up in RFCs, there's often a need to allocate code points for different objects, messages, or other protocol entities, so implementations can interoperate π. A lot of these code point spaces have registries run by the Internet Assigned Number Authority (IANA). Several IETF policies for IANA allocation of protocol parameters are described in RFC 5226 [RFC5226]. Some of them, like "First Come First Served" or "Expert Review", don't need a formal IETF action before IANA does the allocation. But when code points are scarce and/or the IETF community has consensus to keep tight control of the registry content, policies like "IETF Review" (formerly "IETF Consensus") or "Standards Action" get used. These policies cause a problem when implementation and/or deployment experience is wanted or needed before the document becomes an RFC π.
To break the deadlock, document authors often pick "seemingly unused" code points, usually by grabbing the next available value from the registry. That's risky, because those values may turn out to be different from the ones IANA assigns later π. To make it worse, "pre-RFC" implementations often get built and deployed based on those picks. 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, which is to facilitate interoperable implementations π«Ά.
It's 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 that finding a better solution is worthwhile β¨. For example, for documents produced by Working Groups in the Routing Area, a pre-RFC implementation is highly desirable and sometimes even required [RFC4794], and early deployments give useful feedback on the technical and operational quality of the specification π.
This memo covers 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 only apply to spaces whose allocation policy is "Specification Required" (where an RFC is used as the stable reference), "RFC Required", "IETF Review", or "Standards Action". For an explanation of these allocation policies, see [RFC5226].
A policy for IANA early allocations was previously described in [RFC4020]. This document obsoletes RFC 4020 and includes other registration procedures about the types of registries that can qualify for early allocation. The procedures in this document are only meant for IETF Stream documents π.
2. Conditions for Early Allocation π
The following conditions must hold before a request for early allocation of code points will be considered by IANA:
- a. The code points must be from a space designated as "RFC Required", "IETF Review", or "Standards Action". Additionally, requests for early assignment of code points from a "Specification Required" registry are allowed if the specification will be published as an RFC.
- b. The format, semantics, processing, and other rules related to handling the protocol entities defined by the code points (henceforth called "specifications") must be adequately described in an Internet-Draft.
- c. 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.
- d. The Working Group chairs and Area Directors (ADs) judge that there is sufficient interest in the community for early (pre-RFC) implementation and deployment, or that failure to make an early allocation might lead to contention for the code point in the field.
3. Process for Early Allocation ποΈ
Okay so there are three processes tied to early allocation: making the request for code points, following up on the request, and revoking an early allocation. It can't be emphasized enough that these processes must have a minimal impact on IANA itself, or they won't be feasible π.
The processes described below assume the document in question is a product of an IETF Working Group (WG). If that's not the case, replace "WG chairs" below with "Shepherding Area Director".
3.1. Request π
The process for requesting and obtaining early allocation of code points goes like this:
- 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 to which document they should be assigned.
- 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 for the given document.
- If steps 2) and 3) are satisfied, the WG chairs request approval from the Area Director(s). The Area Director(s) may apply judgement to the request, especially if there is a risk of registry depletion.
- If the Area Directors approve step 4), 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 and the date of expiry are also 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 IANA has completed the early allocation for this value π.
3.3. Expiry β¨
okay so bestie, remember from Section 3.1 how every temporary assignment gets logged in the registry with an expiry date? π When an early allocation expires before the document has moved along to the point where IANA normally makes allocations, the authors and WG chairs can run the Section 3.1 process again to ask for a renewal of the code points. π But here's the tea: only one renewal request may be made, so authors should choose carefully when they file that original request π§π
Now, there's a rare exception to that rule π. Under rare circumstances, more than one renewal might be justified. Every one of those extra renewal requests MUST be reviewed by the IESG. π The renewal request to the IESG MUST include the reasons why the extra renewal is needed and the WG's plans for the specification. π
If there's no follow-up request, or the document never progresses to an RFC, the assignment stays visible in the registry π, but it gets shown as expired based on its expiry date. π¦ The WG chairs are responsible for telling IANA that the expired assignments are not needed and that the code points should be marked "deprecated". π«Ά
Okay, so a deprecated code point is not marked as allocated for use as described in any document (aka it is not allocated π), and it is not available for allocation in a future document. π ββοΈ The WG chairs MAY tell IANA that a deprecated code point can be completely de-allocated (meaning it becomes available for new allocations) at any time after it has been deprecated. πΈ Things that influence that call include whether there might be implementations still using the previous temporary allocation, and how many other unallocated code points are left in the registry. π§
Implementers and deployers need to be aware that deprecation and de-allocation could happen at any time after expiry, so an expired early allocation is best considered as deprecated. π Bestie, this is the main takeaway: treat expired as deprecated. π
It is not IANA's responsibility to track the status of allocations, their expirations, 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 considered to have expired while the document is under IESG consideration or is awaiting publication in the RFC Editor's queue after approval by the IESG. π₯ No sneaky expiry during the review process, periodt! π
4. IANA Considerations π
okay so this one is for IANA itself ποΈ 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, so it directly affects IANA. β¨ This document removes the need for registries to be marked as specifically allowing early allocation. π IANA has updated impacted registries by removing any such markings. π§Ή
5. Security Considerations π¨
Bestie, this part is super important, so pay attention ππ₯. It is important to keep in mind that denial-of-service attacks on IANA are possible as a result of the processes defined 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 potential attacks, but they are subject to scrutiny by IANA to ensure that they work. π‘οΈ IANA MAY at any time request that the IESG 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 pressured to obtain an early allocation for a protocol extension for a particular company or for another Standards Development Organization, 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 safeguard, and ADs with any concern are strongly recommended to escalate the issue for IESG-wide discussion. π«‘
Heads up: this is the stuff that keeps the process honest, so don't skip past it! π
6. References π
6.1. Normative References
- [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 5226, May 2008.
6.2. Informative References
- [RFC4020] Kompella, K. and A. Zinin, "Early IANA Allocation of Standards Track Code Points", BCP 100, RFC 4020, February 2005.
- [RFC4794] Fenner, B., "RFC 1264 Is Obsolete", RFC 4794, December 2006.
Appendix A. Acknowledgments π
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 RFC 4020. π§ Thank you to Adrian Farrel, Stewart Bryant, Leo Vegoda, John Klensin, Subramanian Moonesamy, Loa Andersson, Tom Petch, Robert Sparks, Eric Rosen, Amanda Baber, and Pearl Liang for their reviews of this document. π«Άβ¨
Author's Address π¦
Michelle Cotton Internet Corporation for Assigned Names and Numbers 12025 Waterfront Drive, Suite 300 Los Angeles, CA 90094-2536 United States of America
Phone: +1-310-823-5800 EMail: michelle.cotton@icann.org URI: http://www.icann.org/
π¦ where this page comes from
- ietf: rfc7120 2014-01
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms