RFC 8126
Guidelines for Writing an IANA Considerations Section in RFCs
Guidelines for Writing an IANA Considerations Section in RFCs π
okay bestie, this one is RFC 8126 π, a Best Current Practice (that's BCP 26) from the IETF, the group that writes the rules for how the internet talks to itself. It's in the Best Current Practice category with ISSN 2070-1721, and it was published in June 2017. The authors are M. Cotton (PTI), B. Leiba (Huawei Technologies), and T. Narten (IBM Corporation). The big plot twist is that it obsoletes RFC 5226, so this is the newer, third edition of the same guidance π¦. Yes, it updates the IANA stuff, and no, it doesn't claim to update any other RFC, so that's all the title block says. π§
Abstract
okay so the abstract is giving "lots of protocols have spots where you can plug in extra stuff π." Those spots use constants to label different protocol parameters. To keep those values from clashing and to keep everything interoperable (aka everyone's stuff works together π«Ά), a central record keeper usually handles the assignments. For IETF protocols, that record keeper is the Internet Assigned Numbers Authority (IANA) π .
To assign values responsibly in a registry, you need guidance on when new values should be given out, and when and how existing values can be changed π. This document is the framework that specification authors use to write that guidance, so the IANA Considerations are clear and cover the stuff that's likely to come up when a registry is actually running πΈ.
This is the third edition of this document; it obsoletes RFC 5226. π
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 got public review, and it was approved for publication by the Internet Engineering Steering Group (IESG) π. want more info on BCPs? check Section 2 of RFC 7841 π.
for the current status of this document, any errata, and how to send feedback on it, go to:
http://www.rfc-editor.org/info/rfc8126
Copyright Notice
Copyright (c) 2017 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) as they stand on the date this document was published. read them carefully, bestie, because they spell out your rights and restrictions for this document π§. any Code Components pulled out of this document have to include the Simplified BSD License text, as described in Section 4.e of the Trust Legal Provisions, and they come with no warranty, as described in the Simplified BSD License π.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1. Keep IANA Considerations for IANA . . . . . . . . . . . . 4
1.2. For Updated Information . . . . . . . . . . . . . . . . . 5
1.3. A Quick Checklist Upfront . . . . . . . . . . . . . . . . 5
2. Creating and Revising Registries . . . . . . . . . . . . . . 7
2.1. Organization of Registries . . . . . . . . . . . . . . . 8
2.2. Documentation Requirements for Registries . . . . . . . . 8
2.3. Specifying Change Control for a Registry . . . . . . . . 11
2.4. Revising Existing Registries . . . . . . . . . . . . . . 11
3. Registering New Values in an Existing Registry . . . . . . . 12
3.1. Documentation Requirements for Registrations . . . . . . 12
3.2. Updating Existing Registrations . . . . . . . . . . . . . 14
3.3. Overriding Registration Procedures . . . . . . . . . . . 14
3.4. Early Allocations . . . . . . . . . . . . . . . . . . . . 15
4. Choosing a Registration Policy and Well-Known Policies . . . 15
4.1. Private Use . . . . . . . . . . . . . . . . . . . . . . . 18
4.2. Experimental Use . . . . . . . . . . . . . . . . . . . . 18
4.3. Hierarchical Allocation . . . . . . . . . . . . . . . . . 19
4.4. First Come First Served . . . . . . . . . . . . . . . . . 19
4.5. Expert Review . . . . . . . . . . . . . . . . . . . . . . 20
4.6. Specification Required . . . . . . . . . . . . . . . . . 21
4.7. RFC Required . . . . . . . . . . . . . . . . . . . . . . 22
4.8. IETF Review . . . . . . . . . . . . . . . . . . . . . . . 22
4.9. Standards Action . . . . . . . . . . . . . . . . . . . . 23
4.10. IESG Approval . . . . . . . . . . . . . . . . . . . . . . 23
4.11. Using the Well-Known Registration Policies . . . . . . . 24
4.12. Using Multiple Policies in Combination . . . . . . . . . 26
4.13. Provisional Registrations . . . . . . . . . . . . . . . . 26
5. Designated Experts . . . . . . . . . . . . . . . . . . . . . 27
5.1. The Motivation for Designated Experts . . . . . . . . . . 27
5.2. The Role of the Designated Expert . . . . . . . . . . . . 27
5.2.1. Managing Designated Experts in the IETF . . . . . . . 29
5.3. Designated Expert Reviews . . . . . . . . . . . . . . . . 29
5.4. Expert Reviews and the Document Lifecycle . . . . . . . . 31
6. Well-Known Registration Status Terminology . . . . . . . . . 31
7. Documentation References in IANA Registries . . . . . . . . . 32
8. What to Do in "bis" Documents . . . . . . . . . . . . . . . . 33
9. Miscellaneous Issues . . . . . . . . . . . . . . . . . . . . 34
9.1. When There Are No IANA Actions . . . . . . . . . . . . . 34
9.2. Namespaces Lacking Documented Guidance . . . . . . . . . 35
9.3. After-the-Fact Registrations . . . . . . . . . . . . . . 35
9.4. Reclaiming Assigned Values . . . . . . . . . . . . . . . 35
9.5. Contact Person vs Assignee or Owner . . . . . . . . . . . 36
9.6. Closing or Obsoleting a Registry/Registrations . . . . . 37
10. Appeals . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
11. Mailing Lists . . . . . . . . . . . . . . . . . . . . . . . . 37
12. Security Considerations . . . . . . . . . . . . . . . . . . . 37
13. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 38
14. Changes Relative to Earlier Editions of BCP 26 . . . . . . . 38
14.1. 2016: Changes in This Document Relative to RFC 5226 . . 38
14.2. 2008: Changes in RFC 5226 Relative to RFC 2434 . . . . . 39
15. References . . . . . . . . . . . . . . . . . . . . . . . . . 40
15.1. Normative References . . . . . . . . . . . . . . . . . . 40
15.2. Informative References . . . . . . . . . . . . . . . . . 40
Acknowledgments for This Document (2017) . . . . . . . . . . . . 46
Acknowledgments from the Second Edition (2008) . . . . . . . . . 46
Acknowledgments from the First Edition (1998) . . . . . . . . . . 46
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 47
1. Introduction β¨
okay so lots of protocols have "points of extensibility" π, which just means spots where constants identify different protocol parameters. To make sure those values don't end up with conflicting uses, and to keep everything interoperable π«Ά, their allocations usually get coordinated by a central record keeper. The Protocol field in the IP header [RFC791] and MIME media types [RFC6838] are two examples of this coordination, and they're iconic π.
the IETF picks an IANA Functions Operator (IFO) for the protocol parameters the IETF defines. In the contract between the IETF and the current IFO (ICANN), that entity is called the IANA PROTOCOL PARAMETER SERVICES Operator, or IPPSO. For consistency with past practice, this document just calls the IFO or IPPSO "IANA" [RFC2860] π .
in this document, the full range of possible values for a field is called a "namespace" π. Binding a specific value to a particular purpose inside a namespace is called an assignment. (You'll also see it called an assigned number, assigned value, code point, protocol constant, or protocol parameter, so don't panic π.) The act of assignment is called a registration, and it happens inside a registry. "assignment" and "registration" are used interchangeably throughout this document, so they mean the same thing π.
to make assignments in a namespace responsibly, you need guidance on when new values should be assigned, and when and how existing values can be changed π. This document is the framework for specification authors to write that guidance, so the guidance for the IANA Considerations is clear and covers the issues that are likely to come up when a registry is running πΈ.
usually this info lives in a dedicated section of the specification, titled "IANA Considerations" π.
1.1. Keep IANA Considerations for IANA
the whole point of a dedicated IANA Considerations section is to have one place with clear, concise info and instructions for IANA π. Technical docs should live in other parts of the document, and the IANA Considerations should just point to those sections by reference (only when needed) π¦. If you use the IANA Considerations as your main technical documentation, it gets hidden from the document's target audience, and it also gets in the way of IANA reviewing the actions they need to take π. not it π ββοΈ.
an ideal IANA Considerations section clearly lists and specifies each IANA action being requested π―. It includes all the info IANA needs, like the full names of every applicable registry, and it has clear references to other parts of the document for everything else π§.
IANA actions are normally phrased as requests to IANA, like this: IANA is asked to assign the value TBD1 from the Frobozz Registry.... Then the RFC Editor changes those sentences to reflect what actually happened, like this: IANA has assigned the value 83 from the Frobozz Registry... β¨. the glow-up is real π₯.
1.2. For Updated Information
IANA keeps a web page with extra clarification info beyond what's written here, like minor updates and summary guidance π. Document authors should check that page π. Any significant updates to the best current practice will have to feed into updates to BCP 26 (this document), which is the definitive one π. here's where to find it:
<https://iana.org/help/protocol-registration>
1.3. A Quick Checklist Upfront π
okay bestie, reading this whole doc is giving main character energy, but when you come back for a quick peek, these checklists have you covered for the common stuff, with pointers for the rarer bits π
In general...
- Put all the information that IANA will need to know into the "IANA Considerations" section of your document (see Section 1.1).
- Try to keep that section only for information to IANA and to designated expert reviewers; put significant technical information in the appropriate technical sections of the document (see Section 1.1).
- Note that the IESG has the authority to resolve issues with IANA registrations. If you have any questions or problems, you should consult your document shepherd and/or working group chair, who may ultimately involve an Area Director (see Section 3.3).
If you are creating a new registry... π
- Give the registry a descriptive name and provide a brief description of its use (see Section 2.2).
- Identify any registry grouping that it should be part of (see Section 2.1).
- Clearly specify what information is required in order to register new items (see Section 2.2). Be sure to specify data types, lengths, and valid ranges for fields.
- Specify the initial set of items for the registry, if applicable (see Section 2.2).
- Make sure the change control policy for the registry is clear to IANA, in case changes to the format or policies need to be made later (see Sections 2.3 and 9.5).
- Select a registration policy -- or a set of policies -- to use for future registrations (see Section 4, and especially note Sections 4.11 and 4.12).
- If you're using a policy that requires a designated expert (Expert Review or Specification Required), understand Section 5 and provide review guidance to the designated expert (see Section 5.3).
- If any items or ranges in your registry need to be reserved for special use or are otherwise unavailable for assignment, see Section 6.
If you are registering into an existing registry... β¨
- Clearly identify the registry by its exact name and optionally by its URL (see Section 3.1).
- If the registry has multiple ranges from which assignments can be made, make it clear which range is requested (see Section 3.1).
- Avoid using specific values for numeric or bit assignments, and let IANA pick a suitable value at registration time (see Section 3.1). This will avoid registration conflicts among multiple documents.
- For "reference" fields, use the document that provides the best and most current documentation for the item being registered. Include section numbers to make it easier for readers to locate the relevant documentation (see Sections 3.1 and 7).
- Look up (in the registry's reference document) what information is required for the registry and accurately provide all the necessary information (see Section 3.1).
- Look up (in the registry's reference document) any special rules or processes there may be for the registry, such as posting to a particular mailing list for comment, and be sure to follow the process (see Section 3.1).
- If the registration policy for the registry does not already dictate the change control policy, make sure it's clear to IANA what the change control policy is for the item, in case changes to the registration need to be made later (see Section 9.5).
If you're writing a "bis" document or otherwise making older documents obsolete, see Section 8.
If you need to make an early registration, such as for supporting test implementations during document development, rather than waiting for your document to be finished and approved, see [RFC7120].
If you need to change the format/contents or policies for an existing registry, see Section 2.4.
If you need to update an existing registration, see Section 3.2.
If you need to close down a registry because it is no longer needed, see Section 9.6.
2. Creating and Revising Registries π
Defining a registry involves describing the namespaces to be created, listing an initial set of assignments (if applicable), and documenting guidelines on how future assignments are to be made.
When defining a registry, consider structuring the namespace in such a way that only top-level assignments need to be made with central coordination, and those assignments can delegate lower-level assignments so coordination for them can be distributed. This lessens the burden on IANA for dealing with assignments, and is particularly useful in situations where distributed coordinators have better knowledge of their portion of the namespace and are better suited to handling those assignments. π§
2.1. Organization of Registries πΈ
All registries are anchored from the IANA "Protocol Registries" page:
<https://www.iana.org/protocols>
That page lists registries in protocol category groups, placing related registries together and making it easier for users of the registries to find the necessary information. Clicking on the title of one of the registries on the IANA Protocol Registries page will take the reader to the details page for that registry.
Unfortunately, we have been inconsistent in how we refer to these entities π The group names, as they are referred to here, have been variously called "protocol category groups", "groups", "top-level registries", or just "registries". The registries under them have been called "registries" or "sub-registries".
Regardless of the terminology used, document authors should pay attention to the registry groupings, should request that related registries be grouped together to make related registries easier to find, and, when creating a new registry, should check whether that registry might best be included in an existing group. That grouping information should be clearly communicated to IANA in the registry creation request.
2.2. Documentation Requirements for Registries π
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 (serving as a repository for registered values) must provide clear instructions on details of the namespace, either in the IANA Considerations section or referenced from it.
In particular, such instructions must include:
The name of the registry
This 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 confused with the name of another registry.
When creating a registry, the group that it is a part of must be identified using its full name, exactly as it appears in the Protocol Registries list.
Providing a URL to precisely identify the registry helps IANA understand the request. Such URLs can be removed from the RFC prior to final publication or left in the document for reference. If you include iana.org URLs, IANA will provide corrections, if necessary, during their review.
Required information for registrations
This tells registrants what information they have to include in their registration requests. Some registries require only the requested value and a reference to a document where use of the value is defined. Other registries require a more detailed registration template that describes relevant security considerations, internationalization considerations, and other such information.
Applicable registration policy
The policy that will apply to all future requests for registration. See Section 4.
Size, format, and syntax of registry entries
What fields to record in the registry, any technical requirements on registry entries (valid ranges for integers, length limitations on strings, and such), and the exact format in which registry values should be displayed. For numeric assignments, one should specify whether values are to be recorded in decimal, in hexadecimal, or in some other format.
Strings are expected to be ASCII, and it should be clearly specified whether case matters, and whether, for example, strings should be shown in the registry in uppercase or lowercase.
Strings that represent protocol parameters will rarely, if ever, need to contain non-ASCII characters. If non-ASCII characters are really necessary, instructions should make it very clear that they are allowed and that the non-ASCII characters should be represented as Unicode characters using the "(U+XXXX)" convention. Anyone creating such a registry should think carefully about this and consider internationalization advice such as that in [RFC7564], Section 10.
Initial assignments and reservations
Any initial assignments or registrations to be included. In addition, any ranges that are to be reserved for "Private Use", "Reserved", "Unassigned", etc. (see Section 6) should be indicated.
For example, a document might specify a new registry by including:
---------------------------------------------------------------
X. IANA Considerations
This document defines a new DHCP option, entitled "FooBar" (see
Section y), and assigns a value of TBD1 from the DHCP Option space
<https://www.iana.org/assignments/bootp-dhcp-parameters>
[RFC2132] [RFC2939]:
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 registry entitled
"FooType values" used by the FooBar option. Initial values for the
DHCP FooBar FooType registry are given below; future assignments
are to be made through Expert Review [BCP26]. Assignments consist
of a DHCP FooBar FooType name and its associated value.
Value DHCP FooBar FooType Name Definition
---- ------------------------ ----------
0 Reserved
1 Frobnitz RFCXXXX, Section y.1
2 NitzFrob RFCXXXX, Section y.2
3-254 Unassigned
255 Reserved
---------------------------------------------------------------
For examples of documents that establish registries, consult [RFC3575], [RFC3968], and [RFC4520].
Any time IANA includes names and contact information in the public registry, some individuals might prefer that their contact information not be made public. In such cases, arrangements can be made with IANA to keep the contact information private. π«Ά
2.3. Specifying Change Control for a Registry π
okay so registry definitions and the registrations inside them usually need changing after they're made π. Figuring out those changes gets messy fast when nobody knows who's actually allowed to make them π. For registries created by RFCs in the IETF stream, change control is the IETF's by default, through the IESG ποΈ. Same deal for value registrations made in IETF-stream RFCs π.
Registries can also be created and registrations made outside the IETF stream, so sometimes it makes sense for change control to live outside the IETF and IESG πΈ. Either way, clearly spelling out your change control policies is always a good look β¨.
So, it's advised that every registry you create clearly specifies a change control policy and a change controller π. It's also advised that registries letting people register from outside the IETF stream name a change controller for each value π«Ά. Why? If a registered value's definition or reference ever needs to change, or a value needs to be deprecated, IANA absolutely has to know who's authorized to make that call π¨. Like, the Media Types registry [RFC6838] has a "Change Controller" field in its registration template π. See also Section 9.5 π¦.
2.4. Revising Existing Registries π§
Updating the registration process, or changing the format of an already existing registry (whether it was created explicitly or implicitly), follows a process kinda like making a new registry π§. Basically, you write a document that references the existing namespace, then gives detailed guidance for handling assignments in the registry, or detailed instructions about the changes needed π.
If a change requires a new column, the instructions need to be super clear about how to fill that column in for the existing entries π. Other changes may need similar clarity π .
These documents are normally processed with the same document status as the document that created the registry π. In some situations, like a straightforward change that's clearly needed (such as adding a "status" column), or when an earlier error needs to be corrected, the IESG may approve an update to a registry without requiring a new document π.
Example documents that updated the guidelines for assignments in pre-existing registries include: [RFC6895], [RFC3228], and [RFC3575] π.
3. Registering New Values in an Existing Registry π
3.1. Documentation Requirements for Registrations π
Often, documents request an assignment in an existing registry (one created by a previously published document) π.
Such documents should clearly identify the registry each value is to be registered into. Use the exact registry name as listed on the IANA web page, and cite the RFC where the registry is defined π. When you're referring to an existing registry, a URL that pinpoints it precisely is helpful (see Section 2.2) π.
There's no need to mention the assignment policy when making new assignments in existing registries, since it should be clear from the references π. However, if multiple assignment policies might apply, as in registries with different ranges that have different policies, it's important to make clear which range is being requested. That way IANA knows which policy applies and can assign a value in the correct range π―.
Be sure to provide all the information required for a registration, and follow any special processes set out for the registry π. Registries sometimes require a registration template to be completed, or ask registrants to post their request to a particular mailing list for discussion before registering π. Look up the registry's reference document, because the required information and special processes should be documented there π.
Normally, numeric values are chosen by IANA when the document is approved, so drafts should not specify final values π’. Instead, placeholders such as "TBD1" and "TBD2" should be used consistently throughout the document, with each item to be registered getting its own placeholder π§©. The IANA Considerations should ask the RFC Editor to replace the placeholder names with the IANA-assigned values β . When drafts need to specify numeric values for testing or early implementations, they'll either request early allocation (see Section 3.4) or use values already set aside for testing or experimentation (if the registry allows that without explicit assignment) π§ͺ. It's important that drafts don't choose their own values, lest IANA assign one of those values to another document in the meantime π¬. A draft can request a specific value in the IANA Considerations section, and IANA will accommodate such requests when possible, but the proposed number might have been assigned to some other use by the time the draft is approved π.
Normally, text-string values are specified in the document, since collisions are less likely with text strings π¬. IANA will consult with the authors if there is, in fact, a collision and a different value has to be used π€. When drafts need to specify string values for testing or early implementations, they sometimes use the expected final value. But it's often useful to use a draft value instead, possibly including the draft version number π·οΈ. This lets early implementations be distinguished from those implementing the final version π΅οΈ. A document that intends to use "foobar" in the final version might use "foobar-testing-draft-05" for the -05 version of the draft, for example π.
For some registries, there's a long-standing policy prohibiting assignment of names or codes on a vanity or organization-name basis π«. For example, codes might always be assigned sequentially unless there's a strong reason to make an exception π. Nothing in this document is intended to change those policies or prevent their future application π‘οΈ.
As an example, the following text could be used to request assignment of a DHCPv6 option number:
IANA is asked to assign 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.
The IANA Considerations section should summarize all of the IANA actions, with pointers to the relevant sections elsewhere in the document as appropriate. Including section numbers is especially useful when the reference document is large, since the section numbers make it easier for anyone searching the reference document to find the relevant information πΊοΈ.
When multiple values are requested, it's generally helpful to include a summary table of the additions/changes π. It's also helpful for this table to be in the same format as it appears (or will appear) on the IANA web site. For example:
Value Description Reference
-------- ------------------- ---------
TBD1 Foobar this RFC, Section 3.2
TBD2 Gumbo this RFC, Section 3.3
TBD3 Banana this RFC, Section 3.4
Note: In cases where authors feel that including the full table of changes is too verbose or repetitive, authors should still include the table in the draft, but may include a note asking that the table be removed prior to publication of the final RFC π.
3.2. Updating Existing Registrations π
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 typically include more information than just the registered value itself, and may need updates to items such as point-of-contact information, security issues, pointers to updates, and literature references π.
In such cases, the document defining the namespace must clearly state who is responsible for maintaining and updating a registration. Depending on the registry, it may be appropriate to specify one or more of:
- Letting registrants and/or nominated change controllers update their own registrations, subject to the same constraints and review as with new registrations.
- Allowing attachment of comments to the registration. This can be useful in cases where others have significant objections to a registration, but the author does not agree to change the registration.
- Designating 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.
3.3. Overriding Registration Procedures π¦Έ
Experience has shown that the documented IANA considerations for individual protocols don't always cover the reality of registry operation, or aren't sufficiently clear. Also, documented IANA considerations are sometimes found to be too stringent to allow even working group documents (for which there is strong consensus) to perform a registration in advance of actual RFC publication π€.
To allow assignments in such cases, the IESG is granted authority to override registration procedures and approve assignments on a case-by-case basis π.
The intention here isn't to overrule properly documented procedures, or to obviate the need for protocols to properly document their IANA considerations π ββοΈ. Rather, it's to permit assignments in specific cases where it's obvious the assignment should just be made, but updating the IANA process beforehand is too onerous π₯Ή.
When the IESG is required to take action as described above, it's a strong indicator that the applicable registration procedures should be updated, possibly in parallel with the work that instigated it π©.
IANA always has the discretion to ask the IESG for advice or intervention when they feel it's needed, such as where policies or procedures are unclear to them, where they encounter issues or questions they're unable to resolve, or where registration requests or patterns of requests appear to be unusual or abusive π΅οΈββοΈ.
3.4. Early Allocations β©
IANA normally takes its actions when a document is approved for publication. There are times, though, when early allocation of a value is important for the development of a technology, for example when early implementations are created while the document is still under development π οΈ.
IANA has a mechanism for handling such early allocations in some cases. See [RFC7120] for details. It's usually not necessary to explicitly mark a registry as allowing early allocation, because the general rules will apply π.
4. Choosing a Registration Policy and Well-Known Policies β¨
okay bestie, so a registration policy is basically the rulebook for how new stuff gets accepted into a registry ππ there are a bunch of things to think about when you're writing one, so let's get into it π¦
If the registry's namespace is limited, assignments need to be made carefully so nothing runs out π
Even when the space is basically unlimited, it's still often a good idea to have at least a minimal review before assignment, in order to:
- prevent the hoarding of or unnecessary wasting of values. like, if the space is text strings, it may be a good idea to stop entities from grabbing a whole pile of desirable names (existing company names, for example) π
- provide a sanity check that the request actually makes sense and is necessary. experience has shown that some minimal review from a subject matter expert is useful to prevent assignments where the request is malformed or not actually needed (for example, an existing assignment for an essentially equivalent service already exists) π
Perhaps most importantly, unreviewed extensions can impact interoperability and security. See [RFC6709]. π this is the scary part, no cap π
When the namespace is essentially unlimited and there are no potential interoperability or security issues, assigned numbers can usually be handed out to anyone without any subjective review β¨ In that case, IANA can make assignments directly, as long as IANA gets detailed instructions on what types of requests it should grant, and it can do that without using subjective judgment π
When that's not the case, some level of review is required. However, it's important to balance adequate review and ease of registration π«Ά In lots of cases, the people making registrations won't be IETF participants. requests often come from other standards organizations, from organizations not directly involved in standards, from ad-hoc community work (from an open-source project, for example), and so on π Registration must not be unnecessarily difficult, unnecessarily costly (in terms of time and other resources), nor unnecessarily subject to denial. the vibe is not gatekeeping π ββοΈ
While it's sometimes necessary to restrict what gets registered (e.g., for limited resources such as bits in a byte, or for items for which unsupported values can be damaging to protocol operation), in many cases having what's in use represented in the registry is more important π Overly strict review criteria and excessive cost (in time and effort) discourage people from even attempting to make a registration. If a registry fails to reflect the protocol elements actually in use, it can adversely affect deployment of protocols on the Internet, and the registry itself is devalued π nobody wants a registry that's giving "outdated" energy
Therefore, it is important to think specifically about the registration policy, and not just pick one arbitrarily nor copy text from another document π§ Working groups and other document developers should use care in selecting appropriate registration policies when their documents create registries. they should select the least strict policy that suits a registry's needs, and look for specific justification for policies that require significant community involvement (those stricter than Expert Review or Specification Required, in terms of the well-known policies). The needs here will vary from registry to registry, and, indeed, over time, and this BCP will not be the last word on the subject πΈ
The following policies are defined for common usage. These cover a range of typical policies that have been used to describe the procedures for assigning new values in a namespace. It is not strictly required that documents use these terms; the actual requirement is that the instructions to IANA be clear and unambiguous. However, use of these terms is strongly recommended because their meanings are widely understood. Newly minted policies, including ones that combine the elements of procedures associated with these terms in novel ways, may be used if none of these policies are suitable; it will help the review process if an explanation is included as to why that is the case. The terms are fully explained in the following subsections π
- Private Use
- Experimental Use
- Hierarchical Allocation
- First Come First Served
- Expert Review
- Specification Required
- RFC Required
- IETF Review
- Standards Action
- IESG Approval
It should be noted that it often makes sense to partition a namespace into multiple categories, with assignments within each category handled differently π° Many protocols now partition namespaces into two or more parts, with one range 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 and different use cases π¦
Similarly, it will often be useful to specify multiple policies in parallel, with each policy being used under different circumstances. For more discussion of that topic, see Section 4.12 π«§
Examples of RFCs that specify multiple policies in parallel:
- LDAP [RFC4520]
- TLS ClientCertificateType Identifiers [RFC5246] (as detailed in the subsections below)
- MPLS Pseudowire Types Registry [RFC4446]
4.1. Private Use π
Private Use is 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. IANA does not record assignments from registries or ranges with this policy (and therefore there is no need for IANA to review 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 [RFC2939]
- Fibre Channel Port Type Registry [RFC4044]
- TLS ClientCertificateType Identifiers 224-255 [RFC5246]
4.2. Experimental Use π§ͺ
Experimental Use is similar to Private Use, but with the purpose being to facilitate experimentation. See [RFC3692] for details. IANA does not record assignments from registries or ranges with this policy (and therefore there is no need for IANA to review them) and assignments are not generally useful for broad interoperability. Unless the registry explicitly allows it, it is not appropriate for documents to select explicit values from registries or ranges with this policy. Specific experiments will select a value to use during the experiment π¬
When code points are set aside for Experimental Use, it's important to make clear any expected restrictions on experimental scope. For example, say whether it's acceptable to run experiments using those code points over the open Internet or whether such experiments should be confined to more closed environments. See [RFC6994] for an example of such considerations π
Example:
- Experimental Values in IPv4, IPv6, ICMPv4, ICMPv6, UDP, and TCP Headers [RFC4727]
4.3. Hierarchical Allocation π³
With Hierarchical Allocation, delegated administrators are given control over part of the namespace and can assign values in that part of the namespace. IANA makes allocations in the higher levels of the namespace according to one of the other policies πͺ
Examples:
- DNS names - IANA manages the top-level domains (TLDs), and, as [RFC1591] says:
Under each TLD may be created a hierarchy of names. Generally,
under the generic TLDs the structure is very flat. That is,
many organizations are registered directly under the TLD, and
any further structure is up to the individual organizations.
- Object Identifiers - defined by ITU-T recommendation X.208. According to <http://www.alvestrand.no/objectid/>, some registries include
- IANA, which hands out OIDs under the "Private Enterprises" branch,
- ANSI, which hands out OIDs under the "US Organizations" branch, and
- BSI, which hands out OIDs under the "UK Organizations" branch.
- URN namespaces - IANA registers URN Namespace IDs (NIDs [RFC8141]), and the organization registering an NID is responsible for allocations of URNs within that namespace π§©
4.4. First Come First Served πββοΈπ¨
For the First Come First Served policy, 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 sometimes a postal 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, IANA generally assigns the next in-sequence unallocated value, but other values may be requested and assigned if an extenuating circumstance exists. With names, specific text strings can usually be requested ποΈ
When creating a new registry with First Come First Served as the registration policy, in addition to the contact person field or reference, the registry should contain a field for change controller. Having a change controller for each entry for these types of registrations makes authorization of future modifications more clear. See Section 2.3 π
It is important that changes to the registration of a First Come First Served code point retain compatibility with the current usage of that code point, so changes need to be made with care. The change controller should not, in most cases, be requesting incompatible changes nor repurposing a registered code point. See also Sections 9.4 and 9.5 β οΈ
A working group or any other entity that is developing a protocol based on a First Come First Served code point has to be extremely careful that the protocol retains wire compatibility with current use of the code point. Once that is no longer true, the new work needs to change to a different code point (and register that use at the appropriate time) π
It is also important to understand that First Come First Served really has no filtering. Essentially, any well-formed request is accepted π«
Examples:
4.5. Expert Review π
Okay bestie, so Expert Review means a designated expert (see Section 5) is required to review and approve each request π«Ά. It doesn't necessarily need formal documentation, but the expert still needs info to evaluate, and the registry's definition has to make it crystal clear what info that is β¨. IANA runs the actual request process, so check Section 1.2 for the details π.
(Fun fact: this policy used to be called "Designated Expert" in earlier editions of this document. The current term is "Expert Review" π.)
The required documentation and review criteria should be provided when the registry is defined, giving the expert clear guidance πΈ. It's especially important to spell out what should be considered during an evaluation and the reasons for rejecting a request π. It's also a good idea to say whether lots of registrations are expected over time, or whether the registry will only get updated now and then, or only in exceptional circumstances π¦.
Thorough understanding of Section 5 is important when you're picking an Expert Review policy and writing guidance for the designated expert π§.
Good examples of guidance to designated experts:
Extensible Authentication Protocol (EAP) [RFC3748], Sections 6 and
7.2
North-Bound Distribution of Link-State and TE Information Using
BGP [RFC7752], Section 5.1
When you create a new registry with Expert Review as the registration policy, the registry should contain a field for a change controller, on top of the contact person field or reference π. Giving each entry a change controller for these kinds of registrations makes it way more clear who can authorize future changes, so see Section 2.3 π₯.
Examples:
EAP Method Types [RFC3748]
HTTP Digest AKA algorithm versions [RFC4169]
URI schemes [RFC7595]
GEOPRIV Location Types [RFC4589]
4.6. Specification Required π
For Specification Required, a designated expert (see Section 5) is required to review and approve, and the values and their meanings must be documented in a permanent and readily available public specification π. That spec needs enough detail that independent implementations can actually interoperate, which is the whole point π«Ά. This policy is basically Expert Review with an extra demand: a formal public specification β¨. On top of the usual review, the designated expert will check the public spec to see if it's stable and permanent, and whether it's clear and technically sound enough for interoperable implementations π§.
So the idea behind "permanent and readily available" is that a document can reasonably be found and retrieved long after IANA assigns the requested value π. Publishing an RFC is the ideal way to hit that bar, but Specification Required also covers documents published outside the RFC path, including informal documentation π.
For RFC publication, the designated expert still does a formal review, but the normal RFC review process is expected to cover the interoperability review π . The expert's review still matters, but here's the twist: when there's IETF consensus, the expert can sometimes be "in the rough" (see also the last paragraph of Section 5.4) π.
Just like Expert Review (Section 4.5), clear guidance should be provided to the designated expert when the registry is defined, and thorough understanding of Section 5 is important π.
When you specify this policy, just use the term "Specification Required" π. Some specs have called it "Expert Review with Specification Required", but that only causes confusion π.
Examples:
Diffserv-aware TE Bandwidth Constraints Model Identifiers
[RFC4124]
TLS ClientCertificateType Identifiers 64-223 [RFC5246]
ROHC Profile Identifiers [RFC5795]
4.7. RFC Required π
With RFC Required, the registration request, along with its associated documentation, must be published in an RFC π. That RFC doesn't have to be in the IETF stream, though. It can be in any RFC stream (currently an RFC may be in the IETF, IRTF, IAB, or Independent Submission streams [RFC5742]) πΈ.
Unless otherwise specified, any type of RFC is sufficient (currently Standards Track, BCP, Informational, Experimental, or Historic) π¦.
Examples:
DNSSEC DNS Security Algorithm Numbers [RFC6014]
Media Control Channel Framework registries [RFC6230]
DANE TLSA Certificate Usages [RFC6698]
4.8. IETF Review ποΈ
(Formerly called "IETF Consensus" in the first edition of this document. Iconic glow-up π.) With IETF Review, new values are only assigned through RFCs in the IETF Stream -- the ones that have been shepherded through the IESG as AD-Sponsored or IETF working group documents [RFC2026] [RFC5378], gone through IETF Last Call, and been approved by the IESG as having IETF consensus π₯.
The goal is that the document and the proposed assignment get reviewed by the IETF community (including appropriate IETF working groups, directorates, and other experts) and by the IESG π§ . That way, the proposed assignment won't negatively affect interoperability or otherwise extend IETF protocols in an inappropriate or damaging way π‘οΈ.
Unless otherwise specified, any type of RFC is sufficient (currently Standards Track, BCP, Informational, Experimental, or Historic) β¨.
Examples:
IPSECKEY Algorithm Types [RFC4025]
TLS Extension Types [RFC5246]
4.9. Standards Action π
For Standards Action, values are only assigned through Standards Track or Best Current Practice RFCs in the IETF Stream π . That's the strictest vibe on the list, bestie π€.
Examples:
BGP message types [RFC4271]
Mobile Node Identifier option types [RFC4283]
TLS ClientCertificateType Identifiers 0-63 [RFC5246]
DCCP Packet Types [RFC4340]
4.10. IESG Approval π«‘
New assignments may be approved by the IESG π. There's no requirement that the request be documented in an RFC, but the IESG has the discretion to ask for documents or other supporting materials on a case-by-case basis π§.
IESG Approval is not meant to be used often or as a "common case"; honestly, it has seldom been used in practice π. It's more of a fall-back mechanism to pair with other policies, for when one of the other allowable approval mechanisms can't be used in a timely way or there's some other compelling reason π. IESG Approval is not meant to sidestep the public review processes implied by other policies that could have been used for a particular assignment π«. It would be appropriate, though, when expediency is wanted and there's strong consensus (such as from a working group) for making the assignment π.
Before approving a request, the IESG might consider consulting the community via a "call for comments" that gives as much information as is reasonably possible about the request π£.
Examples:
IPv4 Multicast address assignments [RFC5771]
IPv4 IGMP Type and Code values [RFC3228]
Mobile IPv6 Mobility Header Type and Option values [RFC6275]
4.11. Using the Well-Known Registration Policies π
The well-known policies have both community experience and wide understanding behind them, so their use is encouraged π«Ά. Creating new policies needs to come with reasonable justification π .
It's also fine to cite one or more well-known policies and add extra guidelines about the kinds of considerations the review process should take into account β¨.
For example, media-type registrations [RFC6838] cover a bunch of different situations that involve IETF Review and Specification Required, and they also include specific extra criteria the designated expert should follow π¦. This isn't meant to be a registration procedure itself, just an example of what can be done when special circumstances need covering π§.
The well-known policies from "First Come First Served" to "Standards Action" specify a range of policies in increasing order of strictness (using the numbering from the full list in Section 4):
4. First Come First Served
No review, minimal documentation.
5 and 6 (of equal strictness).
5. Expert Review
Expert review with sufficient documentation for review.
6. Specification Required
Significant stable public documentation sufficient for
interoperability.
7. RFC Required
Any RFC publication, IETF or a non-IETF Stream.
8. IETF Review
RFC publication, IETF Stream only, but need not be Standards
Track.
9. Standards Action
RFC publication, IETF Stream, Standards Track or BCP only.
Examples of situations that might merit IETF Review or Standards Action include the following:
- When a resource is limited, such as bits in a byte (or in two bytes, or four), or numbers in a limited range. In these cases, allowing registrations that haven't been carefully reviewed and agreed to by community consensus could too quickly deplete the allowable values π±.
- When thorough community review is necessary to avoid extending or modifying the protocol in ways that could be damaging. One example is defining new command codes, as opposed to options that use existing command codes: the former might require a strict policy, where a more relaxed policy could be adequate for the latter. Another example is defining protocol elements that change the semantics of existing operations π.
- When there are security implications with respect to the resource, and thorough review is needed to make sure the new usage is sound. Examples of this include lists of acceptable hashing and cryptographic algorithms, and assignment of transport ports in the system range π.
When reviewing a document that asks IANA to create a new registry or change a registration policy to any policy more stringent than Expert Review or Specification Required, the IESG should ask for justification. This makes sure more relaxed policies were considered and that the stricter one is actually the right one π§π .
So document developers need to anticipate this and document their considerations for selecting the specified policy (ideally in the document itself; failing that, in the shepherd writeup) π. Likewise, the document shepherd should make sure the selected policies have been justified before the document goes to the IESG π«Ά.
When specifications are revised, registration policies should be reviewed in light of experience since the policies were set πβ¨.
4.12. Using Multiple Policies in Combination β¨
Sometimes one registration policy just isn't enough π« Like, requests that come through the normal IETF process might get one policy, while requests from outside the process get a totally different one. It's giving mix-and-match, and honestly it works π
So a registry might want to use something like "RFC Required" or "IETF Review" sometimes, and then have a designated expert checking a "Specification Required" policy at other times π¦
The alternative is kinda messy π It would mean either that every single request has to come through an RFC, or that requests already in RFCs have to go through designated expert review even though they've already had IETF review and consensus. Why re-review something that's already been reviewed? π
You can document this in the IANA Considerations section when the registry is created. Here's an example:
IANA is asked to create the registry "Fruit Access Flags" under
the "Fruit Parameters" group. New registrations will be permitted
through either the IETF Review policy or the Specification
Required policy [BCP26]. The latter should be used only for
registrations requested by SDOs outside the IETF. Registrations
requested in IETF documents will be subject to IETF review.
Combos like this will commonly pair one of {Standards Action, IETF Review, RFC Required} with one of {Specification Required, Expert Review} π Make sure you include guidance about when each policy is the right one, just like in the example above, so nobody's left guessing π«Ά
4.13. Provisional Registrations
Some existing registries allow provisional registration. Check out URI Schemes [RFC7595] and Email Header Fields [RFC3864] π Provisional registrations are usually defined as being easier to create, change, reassign, move to another status, or remove entirely πΈ URI Schemes, for example, lets provisional registrations be made with incomplete information.
This is the clever part β¨ Allowing provisional registration keeps the main goal of a registry, which is avoiding collisions between incompatible semantics, without the side effect of "endorsing" the protocol mechanism the provisional value is used for. Provisional registrations for codepoints that eventually get standardized can be promoted to permanent status π¦ The criteria for that promotion will likely be stricter than the ones that allowed the provisional registration in the first place, so it's not a free pass π
If your registry doesn't have a practical limit on codepoints, adding the option for provisional registrations might be the right move for that registry too π
5. Designated Experts
5.1. The Motivation for Designated Experts
Mailing list discussions can give super valuable technical feedback π But opinions often vary, and those discussions can drag on for a while without a clear answer. Plus, IANA can't join all of these mailing lists and can't always tell if or when a discussion has reached consensus π So IANA relies on a "designated expert" for advice on the specific question of whether an assignment should be made. The designated expert is an individual who carries out an appropriate evaluation and sends a recommendation back to IANA π§
A big reason for designated experts is that the IETF gets IANA a subject matter expert to hand the evaluation off to β¨ IANA forwards assignment requests to the expert, and the expert, after doing the evaluation, tells IANA whether or not to make the assignment or registration. In most cases, registrants don't work directly with the designated experts π The list of designated experts for a registry is listed in the registry itself.
It'll often be useful to use a designated expert only some of the time, as a supplement to other processes. For more on that, see Section 4.12 π
5.2. The Role of the Designated Expert
The designated expert is responsible for coordinating the right review of an assignment request π The review can be wide or narrow, depending on the situation and the expert's judgment. It might involve consulting a set of technology experts, discussing on a public mailing list, consulting a working group (or its mailing list if the working group has disbanded), and so on πΈ Ideally, the designated expert follows specific review criteria documented with the protocol that creates or uses the namespace. See the IANA Considerations sections of [RFC3748] and [RFC3575] for specific examples π
Designated experts are expected to be able to defend their decisions to the IETF community π The evaluation process isn't meant to be secretive or hand unquestioned power to the expert. Experts should apply any documented review or vetting procedures. If there are no documented criteria, they should follow generally accepted norms, such as those in Section 5.3 π«Ά Designated experts generally aren't supposed to be "gatekeepers" who try to make registrations hard to get, unless the guidance in the defining document says they should act that way π ββοΈ Without stronger guidance, experts should be checking registration requests for completeness, interoperability, and conflicts with existing protocols and options β¨
It's proven useful to have multiple designated experts for some registries π¦ Sometimes the experts work together on a request, while other times extra experts act as backups and only step in when the primary expert is unavailable. In registries with a pool of experts, the pool often has a single chair who's responsible for defining how requests get assigned to and reviewed by experts π In other cases, IANA might assign requests to individual members in sequential or roughly random order. The document defining the registry can, where it fits the situation, specify how the group should work. For example, it might make sense to specify rough consensus on a mailing list, within a related working group, or among a pool of designated experts π
If experts disagree, it's on those experts to give IANA one single clear recommendation π€ It's not appropriate for IANA to settle disputes among experts. In extreme situations, like deadlock, the designating body may need to step in and fix the problem π
If a designated expert has a conflict of interest for a particular review (for example, they're an author or a significant proponent of a specification related to the registration under review), that expert should recuse himself π If all the designated experts are conflicted, they should ask for a temporary expert to be designated for that review. The responsible AD may then appoint someone, or the AD may handle the review themselves π
This document defines the designated expert mechanism only for documents in the IETF stream. If other streams want to use registration policies that require designated experts, it's up to those streams (or those documents) to specify how those experts are appointed and managed. What's described below, with management by the IESG, is only appropriate for the IETF stream π
5.2.1. Managing Designated Experts in the IETF
Designated experts for registries created by the IETF are appointed by the IESG, normally on the recommendation of the relevant Area Director π They can be appointed when the document creating or updating a namespace is approved by the IESG, or later, when the first registration request comes in. Experts who were originally appointed may become unavailable, so the IESG will appoint replacements as needed π«Ά The IESG may remove any designated expert it appointed, at its discretion πΈ
The normal appeals process, described in [RFC2026], Section 6.5.1, applies to issues that come up with the designated expert team π§ For this purpose, the designated expert team takes the place of the working group in that description π¦
5.3. Designated Expert Reviews π
Okay so, the years since [RFC2434] got published and people started actually using it have taught us a few things. Let's dig in, bestie π«Ά
- A designated expert has to respond in a timely fashion, normally within a week for simple requests or a few weeks for more complex ones π . Unreasonable delays cause real chaos for people who need assignments, like when products need code points to ship π. Not every review can be done under a firm deadline, BUT they must be started, and the requester and IANA should have some transparency into the process if an answer can't come quickly π§.
- If a designated expert doesn't respond to IANA's requests within a reasonable period of time, either with a response or a reasonable explanation for the delay (some requests are just particularly complex π), and if this keeps happening, IANA MUST raise the issue with the IESG. Because delayed evaluations and assignments cause so many problems, the IESG SHOULD take appropriate actions to make sure the expert understands and accepts their responsibilities, or appoint a new expert π.
- The designated expert is NOT required to personally carry the burden of evaluating and deciding all requests πΈ. Instead they act as a shepherd for the request, enlisting help from others as appropriate π«Ά. If a request gets denied and rejecting it is likely to be controversial, the expert SHOULD have the support of other subject matter experts. Basically, the expert MUST be able to defend a decision to the community as a whole β¨.
When a designated expert is used, the documentation SHOULD give clear guidance to the designated expert, laying out criteria for performing an evaluation and reasons for rejecting a request π. In the case where there are no specific documented criteria, the presumption SHOULD be that a code point is granted unless there is a compelling reason to the contrary (and see also Section 5.4) π. Reasons that have been used to deny requests include these:
- Scarcity of code points, where the finite remaining code points should be prudently managed, or where a request for a large number of code points is made and 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's 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 π¦.
Documents MUST NOT name the designated expert(s) in the document itself. Instead, any suggested names SHOULD be relayed to the appropriate Area Director at the time the document is sent to the IESG for approval. This is usually done in the document shepherd writeup π§ββοΈ.
If the request should also be reviewed on a specific public mailing list, its address should be specified π¬.
5.4. Expert Reviews and the Document Lifecycle π¦
Review by the designated expert is necessarily done at a particular point in time and represents review of a particular version of the document. Reviews are generally done around the time of IETF Last Call, but deciding when the review should take place is a question of good judgment π§ . And while rereviews might be done when it's acknowledged that the documentation of the registered item has changed substantially, making sure that rereview actually happens requires attention and care π.
It's possible, through carelessness, accident, inattentiveness, or even willful disregard, that changes get made after the designated expert's review and approval that would, if the document were rereviewed, cause the expert NOT to approve the registration π³. It is up to the IESG, with the token held by the responsible Area Director, to stay alert to such situations and recognize that such changes need to be checked π΅οΈββοΈ.
For registrations made from documents on the Standards Track, there is often expert review required (by the registration policy) in addition to IETF consensus (for approval as a Standards Track RFC) π. In such cases, the review by the designated expert needs to be timely, submitted before the IESG evaluates the document. The IESG SHOULD NOT hold the document up waiting for a late review π ββοΈ. It is also NOT intended for the expert review to override IETF consensus: the IESG should consider the review in its own evaluation, just as it would for other Last Call reviews π.
6. Well-Known Registration Status Terminology πΈ
The following labels describe the status of an assignment or range of assignments:
Private Use: Private use only (not assigned), as described in
Section 4.1.
Experimental: Available for general experimental use as described
in [RFC3692]. IANA does not record specific assignments for
any particular use.
Unassigned: Not currently assigned, and available for assignment
via documented procedures. While it's generally clear that
any values that are not registered are unassigned and
available for assignment, it is sometimes useful to
explicitly specify that situation. Note that this is
distinctly different from "Reserved".
Reserved: Not assigned and not available for assignment.
Reserved values are held for special uses, such as to extend
the namespace when it becomes exhausted. "Reserved" is also
sometimes used to designate values that had been assigned
but are no longer in use, keeping them set aside as long as
other unassigned values are available. Note that this is
distinctly different from "Unassigned".
Reserved values can be released for assignment by the change
controller for the registry (this is often the IESG, for
registries created by RFCs in the IETF stream).
Known Unregistered Use: It's known that the assignment or range
is in use without having been defined in accordance with
reasonable practice. Documentation for use of the
assignment or range may be unavailable, inadequate, or
conflicting. This is a warning against use, as well as an
alert to network operators who might see these values in use
on their networks.
7. Documentation References in IANA Registries π
Usually, registries and registry entries include references to documentation (RFCs or other documents). The purpose of these references is to provide pointers for implementors to find details necessary for implementation, NOT to simply note what document created the registry or entry π . Therefore:
- If a document registers an item that is defined and explained elsewhere, the registered reference SHOULD be to the document containing the definition, not to the document that is merely performing the registration π§.
- If the registered item is defined and explained in the current document, it is important to include sufficient information to enable implementors to understand the item and to create a proper implementation π₯.
- If the registered item is explained primarily in a specific section of the reference document, it is useful to include a section reference. For example, "[RFC4637], Section 3.2", rather than just "[RFC4637]" π―.
- For documentation of a new registry, the reference should provide information about the registry itself, not just a pointer to the creation of it. Useful information includes the purpose of the registry, a rationale for its creation, documentation of the process and policy for new registrations, guidelines for new registrants or designated experts, and other such related information. But note that, while it's important to include this information in the document, it needn't all be in the IANA Considerations section. See Section 1.1 π¦.
8. What to Do in "bis" Documents β¨
okay so sometimes an RFC comes out that replaces an older edition of the same doc. π§ People call these "bis" documents. The example in the text is RFC 4637 getting obsoleted by draft-ietf-foo-rfc4637bis. π When the original doc made registries or registered stuff, you have to figure out how the IANA Considerations section in the "bis" doc should handle it. π
If the registrations point at the original document as their reference, those registrations should get updated to point at the current (not obsolete) documentation for those items. Usually that just means swapping the reference over to the "bis" document. π¦
There will also be times when a document updates another one without obsoleting it, and the definitive reference changes for some items but not others. πΈ Double-check that every reference points at the correct, current documentation for each item. No skipping this part bestie π
Here's an example. Say RFC 4637 registered the "BANANA" flag in the "Fruit Access Flags" registry, and the docs for that flag live in Section 3.2. π
The current registry might look something like this, in part:
Name Description Reference
-------- ------------------- ---------
BANANA Flag for bananas [RFC4637], Section 3.2
Now imagine draft-ietf-foo-rfc4637bis obsoletes RFC 4637 and, after some rearranging, documents the flag in Section 4.1.2 instead. Then the IANA Considerations of the bis doc might have text like this:
IANA is asked to change the registration information for the
BANANA flag in the "Fruit Access Flags" registry to the
following:
Name Description Reference
-------- ------------------- ---------
BANANA Flag for bananas [[this RFC]], Section 4.2.1
β οΈ In plenty of cases, if there are a bunch of registered references to the original RFC and the section numbering hasn't changed much, it can be perfectly reasonable to just say this:
Because this document obsoletes RFC 4637, IANA is asked to change
all registration information that references [RFC4637] to instead
reference [[this RFC]].
If the info for registered items has been moved (or is being moved) into other documents, the registration info should be changed to point at those other documents. π«Ά In most cases, doc references shouldn't be left pointing at an obsoleted document for registries or items that are still in current use. For registries or items that are no longer in current use, it will usually make sense to leave the references pointing at the old document, which is the last current reference for those obsolete items. π°οΈ The main goal is making sure the reference pointers are as useful and current as is reasonable. Authors should think about that while writing the IANA Considerations for the new document. As always: do the right thing, and there's flexibility to allow for that. π
It is extremely important to be clear in your instructions about updating references, especially when some references need to be updated and others don't. π₯
9. Miscellaneous Issues π
9.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 has to perform. π Experience has shown that it isn't always obvious whether a document has no IANA actions unless you read the whole thing in detail. So to make it crystal clear to IANA that there's nothing to do (and that the author actually made that call on purpose), these documents should, after the authors confirm that's the case, include an IANA Considerations section that says:
This document has no IANA actions.
IANA prefers that these "empty" IANA Considerations sections stay in the document for the record. π That way it's clear later on that the document explicitly said no IANA actions were needed, and it wasn't just left out. This is a change from the old practice of asking the RFC Editor to remove such sections, so authors are asked to go along with the new way. π«Ά
9.2. Namespaces Lacking Documented Guidance π§
For all existing RFCs that explicitly or implicitly rely on IANA to make assignments without specifying a precise assignment policy, IANA will work with the IESG to decide what policy is appropriate. πΈ Changes to existing policies can always be started through the normal IETF consensus process, or through the IESG when that's appropriate. β¨
All future RFCs that explicitly or implicitly rely on IANA to register or otherwise administer namespace assignments must provide guidelines for administering the namespace. π No vibes-only namespaces, periodt π
9.3. After-the-Fact Registrations π΅οΈββοΈ
Sometimes the IETF finds out that an unassigned value from a namespace is in use on the Internet, or that an assigned value is being used for something other than what it was registered for. π³ The IETF does not condone that kind of misuse. Procedures like the ones described in this document still need to be applied to those cases, and it might not always be possible to formally assign the value someone wants. In the absence of specs saying otherwise, values may only be reassigned for a different purpose with the consent of the original assignee (when that's possible) and with due consideration of the impact of the reassignment. βοΈ In cases that are likely to be controversial, consulting the IESG is advised.
This is part of the reason for the advice in Section 3.1 about using placeholder values, like "TBD1", during document development. π§© Problems often happen when well-meant early implementations keep using unregistered values, which means developmental code points that never made it to a final IANA assignment end up staying in use. π Lesson learned, bestie.
9.4. Reclaiming Assigned Values β»οΈ
Reclaiming previously assigned values for reuse is tricky, because it can cause interoperability problems with deployed systems that are still using those values. π¬ It can also be extremely hard to figure out how far a particular value has been deployed. Still, in cases where a namespace is running out of unassigned values and more are needed, it may be desirable to try reclaiming 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 find out if the value was ever used and, if so, how far it's been deployed. (Sometimes products were never shipped or stopped being used a long time ago. Other times 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 those conditions should only happen where there is strong evidence that a value isn't widely used, and the need to reclaim it outweighs the cost of a hostile reclamation. IESG Approval is needed in this case. π«
- It may be appropriate to write up the proposed action and ask relevant user communities for comments. 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]. π£
- It may be useful to tell apart revocation, release, and transfer. Revocation happens when IANA removes an assignment, release happens when the assignee starts that removal, and transfer happens when either revocation or release is coupled with immediate reassignment. It may be useful to specify procedures for each of these, or to explicitly prohibit combinations that aren't desired. π
9.5. Contact Person vs Assignee or Owner π€
Lots of registries include a technical or administrative contact for each entry. Often that's recorded as contact info for an individual. π§βπ» It's unclear, though, what role that individual has with respect to the registration. Is the item registered on behalf of the individual, the company the individual worked for, or maybe some other organization the individual was acting for? Big question, no cap.
This matters because later on, the individual may have changed jobs or roles and maybe can't be contacted anymore, and someone might want to update the registration. π© IANA has no way to know which company, organization, or individual should be allowed to take over the registration. For registrations rooted in RFCs, the stream owner (such as the IESG or the IAB) can make an overriding decision. But in other cases, there's no recourse. π
So registries can include, in addition to a "Contact" field, an "Assignee" or "Owner" field (also called "Change Controller"). That helps address this situation by giving IANA clear guidance on who the actual owner of the registration is. π― This is strongly advised, especially for registries that don't require RFCs to manage their information (for example, registries with policies such as First Come First Served (Section 4.4), Expert Review (Section 4.5), and Specification Required (Section 4.6)). Alternatively, organizations can put an organizational role into the "Contact" field to make their ownership clear. π’
9.6. Closing or Obsoleting a Registry/Registrations πͺ
Sometimes there's a request to "close" a registry to further registrations. When a registry is closed, no further registrations will be accepted. π The info in the registry will still be valid, and registrations already in it can still be updated.
A closed registry can also be marked as "obsolete", which indicates that the information in the registry is no longer in current use. π°οΈ
Specific entries in a registry can be marked as "obsolete" (no longer in use) or "deprecated" (use is not recommended). π ββοΈ
Changes like these to registries and registered values are subject to normal change controls (see Section 2.3). Any closure, obsolescence, or deprecation just annotates the registry involved. The info stays there for informational and historic purposes. π
10. Appeals βοΈ
Appeals of protocol parameter registration decisions can be made using the normal IETF appeals process described in [RFC2026], Section 6.5. π So an initial appeal goes to the IESG, and then, if necessary, an appeal can go to the IAB.
11. 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. π«§
12. Security Considerations πβ¨
Okay bestie, this part is serious, so brace yourself π Info that creates or updates a registration needs to be authenticated and authorized π. IANA updates registries based on instructions in published RFCs and from the IESG. It may also accept clarifications from document authors, relevant working group chairs, designated experts, and mail list participants π«Ά.
Info about possible security vulnerabilities of a protocol can change over time π. The same goes for security vulnerabilities about how an assigned number gets used. As new vulnerabilities are discovered, info about them may need to be attached to existing registrations so that users aren't misled about the true security issues around using a registered number π. Nobody wants that!
Security needs to be considered when picking a registration policy π§. For some protocols, registering certain parameters has security implications, and registration policies for those registries must ensure that requests get appropriate review with those implications in mind π₯.
An analysis of security issues is generally required for all protocols that use parameters (data types, operation codes, keywords, etc.) documented in IETF protocols or registered by IANA. These security considerations usually live in the protocol document [BCP72] π. It's the job of the IANA considerations for a particular registry to say whether value-specific security considerations must be provided when new values are assigned, and to describe the process for reviewing those claims π.
13. IANA Considerations π
Sitewide, IANA has swapped out references to RFC 5226 for references to this document π.
14. Changes Relative to Earlier Editions of BCP 26 π¦
14.1. 2016: Changes in This Document Relative to RFC 5226 β¨
Okay, the big glow-up additions π:
- Removed RFC 2119 key words, boilerplate, and reference, preferring plain English -- this is not a protocol specification.
- Added Section 1.1, Keep IANA Considerations for IANA
- Added Section 1.2, For Updated Information
- Added Section 2.1, Organization of Registries
- Added best practice for selecting an appropriate policy into Section 4.
- Added Section 4.12, Using Multiple Policies in Combination
- Added Section 2.3, Specifying Change Control for a Registry
- Added Section 3.4, Early Allocations
- Moved each well-known policy into a separate subsection of Section 4.
- Added Section 5.4, Expert Reviews and the Document Lifecycle
- Added Section 7, Documentation References in IANA Registries
- Added Section 8, What to Do in "bis" Documents
- Added Section 9.5, Contact Person vs Assignee or Owner
- Added Section 9.6, Closing or Obsoleting a Registry/Registrations
Clarifications and such π :
- Some reorganization. Text got moved around for clarity and easier reading π§.
- Made clarifications about identification of IANA registries and use of URLs for them π.
- Clarified the distinction between "Unassigned" and "Reserved" π«§.
- Made some clarifications in "Expert Review" about instructions to the designated expert π§.
- Made some clarifications in "Specification Required" about how to declare this policy π.
- Assorted minor clarifications and editorial changes throughout β¨.
14.2. 2008: Changes in RFC 5226 Relative to RFC 2434 πΈ
Here's what changed in RFC 5226 π:
- Major reordering of text to expand descriptions and to better group topics such as "updating registries" vs. "creating new registries", so authors can find the text that fits their needs faster πΊοΈ.
- 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 the list of defined policies π.
- Added 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 π.
- Added a section describing provisional registrations ποΈ.
- Significantly changed the wording in the "Designated Experts" section. The main purpose is to make clear that Expert Reviewers are accountable to the community, and to give some guidance on review criteria in the default case π©βπ».
- Changed the wording to remove any special appeals path. The normal RFC 2026 appeals path is used βοΈ.
- Added a section about reclaiming unused values β»οΈ.
- Added a section on after-the-fact registrations π°οΈ.
- Added a section indicating that mailing lists used to evaluate possible assignments (such as by a designated expert) are subject to normal IETF rules π¬.
15. References π
15.1. Normative References
[RFC2026] Bradner, S., "The Internet Standards Process -- Revision
3", BCP 9, RFC 2026, DOI 10.17487/RFC2026, October 1996,
<http://www.rfc-editor.org/info/rfc2026>.
15.2. Informative References
Okay bestie, these are the informative refs and they're giving a lot of history πβ¨ Every single one is listed with its exact title, authors, BCP number (if it has one), RFC number, DOI, and link, so you can go find any of them. Let's go! π¦
[BCP72] Rescorla, E. and B. Korver, "Guidelines for Writing RFC Text on Security Considerations", BCP 72, RFC 3552, July 2003, <http://www.rfc-editor.org/info/bcp72>.
[RFC791] Postel, J., "Internet Protocol", STD 5, RFC 791, DOI 10.17487/RFC0791, September 1981, <http://www.rfc-editor.org/info/rfc791>.
[RFC1591] Postel, J., "Domain Name System Structure and Delegation", RFC 1591, DOI 10.17487/RFC1591, March 1994, <http://www.rfc-editor.org/info/rfc1591>.
[RFC2434] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA Considerations Section in RFCs", RFC 2434, DOI 10.17487/RFC2434, October 1998, <http://www.rfc-editor.org/info/rfc2434>.
[RFC2860] Carpenter, B., Baker, F., and M. Roberts, "Memorandum of Understanding Concerning the Technical Work of the Internet Assigned Numbers Authority", RFC 2860, DOI 10.17487/RFC2860, June 2000, <http://www.rfc-editor.org/info/rfc2860>.
[RFC2939] Droms, R., "Procedures and IANA Guidelines for Definition of New DHCP Options and Message Types", BCP 43, RFC 2939, DOI 10.17487/RFC2939, September 2000, <http://www.rfc-editor.org/info/rfc2939>.
[RFC3228] Fenner, B., "IANA Considerations for IPv4 Internet Group Management Protocol (IGMP)", BCP 57, RFC 3228, DOI 10.17487/RFC3228, February 2002, <http://www.rfc-editor.org/info/rfc3228>.
[RFC3575] Aboba, B., "IANA Considerations for RADIUS (Remote Authentication Dial In User Service)", RFC 3575, DOI 10.17487/RFC3575, July 2003, <http://www.rfc-editor.org/info/rfc3575>.
[RFC3692] Narten, T., "Assigning Experimental and Testing Numbers Considered Useful", BCP 82, RFC 3692, DOI 10.17487/RFC3692, January 2004, <http://www.rfc-editor.org/info/rfc3692>.
[RFC3748] Aboba, B., Blunk, L., Vollbrecht, J., Carlson, J., and H. Levkowetz, Ed., "Extensible Authentication Protocol (EAP)", RFC 3748, DOI 10.17487/RFC3748, June 2004, <http://www.rfc-editor.org/info/rfc3748>.
[RFC3864] Klyne, G., Nottingham, M., and J. Mogul, "Registration Procedures for Message Header Fields", BCP 90, RFC 3864, DOI 10.17487/RFC3864, September 2004, <http://www.rfc-editor.org/info/rfc3864>.
[RFC3942] Volz, B., "Reclassifying Dynamic Host Configuration Protocol version 4 (DHCPv4) Options", RFC 3942, DOI 10.17487/RFC3942, November 2004, <http://www.rfc-editor.org/info/rfc3942>.
[RFC3968] Camarillo, G., "The Internet Assigned Number Authority (IANA) Header Field Parameter Registry for the Session Initiation Protocol (SIP)", BCP 98, RFC 3968, DOI 10.17487/RFC3968, December 2004, <http://www.rfc-editor.org/info/rfc3968>.
[RFC4025] Richardson, M., "A Method for Storing IPsec Keying Material in DNS", RFC 4025, DOI 10.17487/RFC4025, March 2005, <http://www.rfc-editor.org/info/rfc4025>.
[RFC4044] McCloghrie, K., "Fibre Channel Management MIB", RFC 4044, DOI 10.17487/RFC4044, May 2005, <http://www.rfc-editor.org/info/rfc4044>.
[RFC4124] Le Faucheur, F., Ed., "Protocol Extensions for Support of Diffserv-aware MPLS Traffic Engineering", RFC 4124, DOI 10.17487/RFC4124, June 2005, <http://www.rfc-editor.org/info/rfc4124>.
[RFC4169] Torvinen, V., Arkko, J., and M. Naslund, "Hypertext Transfer Protocol (HTTP) Digest Authentication Using Authentication and Key Agreement (AKA) Version-2", RFC 4169, DOI 10.17487/RFC4169, November 2005, <http://www.rfc-editor.org/info/rfc4169>.
[RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A Border Gateway Protocol 4 (BGP-4)", RFC 4271, DOI 10.17487/RFC4271, January 2006, <http://www.rfc-editor.org/info/rfc4271>.
[RFC4283] Patel, A., Leung, K., Khalil, M., Akhtar, H., and K. Chowdhury, "Mobile Node Identifier Option for Mobile IPv6 (MIPv6)", RFC 4283, DOI 10.17487/RFC4283, November 2005, <http://www.rfc-editor.org/info/rfc4283>.
[RFC4340] Kohler, E., Handley, M., and S. Floyd, "Datagram Congestion Control Protocol (DCCP)", RFC 4340, DOI 10.17487/RFC4340, March 2006, <http://www.rfc-editor.org/info/rfc4340>.
[RFC4422] Melnikov, A., Ed. and K. Zeilenga, Ed., "Simple Authentication and Security Layer (SASL)", RFC 4422, DOI 10.17487/RFC4422, June 2006, <http://www.rfc-editor.org/info/rfc4422>.
[RFC4446] Martini, L., "IANA Allocations for Pseudowire Edge to Edge Emulation (PWE3)", BCP 116, RFC 4446, DOI 10.17487/RFC4446, April 2006, <http://www.rfc-editor.org/info/rfc4446>.
[RFC4520] Zeilenga, K., "Internet Assigned Numbers Authority (IANA) Considerations for the Lightweight Directory Access Protocol (LDAP)", BCP 64, RFC 4520, DOI 10.17487/RFC4520, June 2006, <http://www.rfc-editor.org/info/rfc4520>.
[RFC4589] Schulzrinne, H. and H. Tschofenig, "Location Types Registry", RFC 4589, DOI 10.17487/RFC4589, July 2006, <http://www.rfc-editor.org/info/rfc4589>.
[RFC4727] Fenner, B., "Experimental Values In IPv4, IPv6, ICMPv4, ICMPv6, UDP, and TCP Headers", RFC 4727, DOI 10.17487/RFC4727, November 2006, <http://www.rfc-editor.org/info/rfc4727>.
[RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security (TLS) Protocol Version 1.2", RFC 5246, DOI 10.17487/RFC5246, August 2008, <http://www.rfc-editor.org/info/rfc5246>.
[RFC5378] Bradner, S., Ed. and J. Contreras, Ed., "Rights Contributors Provide to the IETF Trust", BCP 78, RFC 5378, DOI 10.17487/RFC5378, November 2008, <http://www.rfc-editor.org/info/rfc5378>.
[RFC5742] Alvestrand, H. and R. Housley, "IESG Procedures for Handling of Independent and IRTF Stream Submissions", BCP 92, RFC 5742, DOI 10.17487/RFC5742, December 2009, <http://www.rfc-editor.org/info/rfc5742>.
[RFC5771] Cotton, M., Vegoda, L., and D. Meyer, "IANA Guidelines for IPv4 Multicast Address Assignments", BCP 51, RFC 5771, DOI 10.17487/RFC5771, March 2010, <http://www.rfc-editor.org/info/rfc5771>.
[RFC5795] Sandlund, K., Pelletier, G., and L-E. Jonsson, "The RObust Header Compression (ROHC) Framework", RFC 5795, DOI 10.17487/RFC5795, March 2010, <http://www.rfc-editor.org/info/rfc5795>.
[RFC6014] Hoffman, P., "Cryptographic Algorithm Identifier Allocation for DNSSEC", RFC 6014, DOI 10.17487/RFC6014, November 2010, <http://www.rfc-editor.org/info/rfc6014>.
[RFC6230] Boulton, C., Melanchuk, T., and S. McGlashan, "Media Control Channel Framework", RFC 6230, DOI 10.17487/RFC6230, May 2011, <http://www.rfc-editor.org/info/rfc6230>.
[RFC6275] Perkins, C., Ed., Johnson, D., and J. Arkko, "Mobility Support in IPv6", RFC 6275, DOI 10.17487/RFC6275, July 2011, <http://www.rfc-editor.org/info/rfc6275>.
[RFC6698] Hoffman, P. and J. Schlyter, "The DNS-Based Authentication of Named Entities (DANE) Transport Layer Security (TLS) Protocol: TLSA", RFC 6698, DOI 10.17487/RFC6698, August 2012, <http://www.rfc-editor.org/info/rfc6698>.
[RFC6709] Carpenter, B., Aboba, B., Ed., and S. Cheshire, "Design Considerations for Protocol Extensions", RFC 6709, DOI 10.17487/RFC6709, September 2012, <http://www.rfc-editor.org/info/rfc6709>.
[RFC6838] Freed, N., Klensin, J., and T. Hansen, "Media Type Specifications and Registration Procedures", BCP 13, RFC 6838, DOI 10.17487/RFC6838, January 2013, <http://www.rfc-editor.org/info/rfc6838>.
[RFC6895] Eastlake 3rd, D., "Domain Name System (DNS) IANA Considerations", BCP 42, RFC 6895, DOI 10.17487/RFC6895, April 2013, <http://www.rfc-editor.org/info/rfc6895>.
[RFC6994] Touch, J., "Shared Use of Experimental TCP Options", RFC 6994, DOI 10.17487/RFC6994, August 2013, <http://www.rfc-editor.org/info/rfc6994>.
[RFC7120] Cotton, M., "Early IANA Allocation of Standards Track Code Points", BCP 100, RFC 7120, DOI 10.17487/RFC7120, January 2014, <http://www.rfc-editor.org/info/rfc7120>.
[RFC7564] Saint-Andre, P. and M. Blanchet, "PRECIS Framework: Preparation, Enforcement, and Comparison of Internationalized Strings in Application Protocols", RFC 7564, DOI 10.17487/RFC7564, May 2015, <http://www.rfc-editor.org/info/rfc7564>.
[RFC7595] Thaler, D., Ed., Hansen, T., and T. Hardie, "Guidelines and Registration Procedures for URI Schemes", BCP 35, RFC 7595, DOI 10.17487/RFC7595, June 2015, <http://www.rfc-editor.org/info/rfc7595>.
[RFC7752] Gredler, H., Ed., Medved, J., Previdi, S., Farrel, A., and S. Ray, "North-Bound Distribution of Link-State and Traffic Engineering (TE) Information Using BGP", RFC 7752, DOI 10.17487/RFC7752, March 2016, <http://www.rfc-editor.org/info/rfc7752>.
[RFC8141] Saint-Andre, P. and J. Klensin, "Uniform Resource Names (URNs)", RFC 8141, DOI 10.17487/RFC8141, April 2017, <http://www.rfc-editor.org/info/rfc8141>.
Acknowledgments for This Document (2017)
Thomas Narten and Harald Tveit Alvestrand edited the two earlier editions of this document (RFCs 2434 and 5226), and Thomas continues his role in this third edition. Much of the text from RFC 5226 remains in this edition.
Thank you to Amanda Baber and Pearl Liang for their multiple reviews and suggestions for making this document as thorough as possible.
This document has benefited from thorough review and comments by many people, including Benoit Claise, Alissa Cooper, Adrian Farrel, Stephen Farrell, Tony Hansen, John Klensin, Kathleen Moriarty, Mark Nottingham, Pete Resnick, and Joe Touch.
Special thanks to Mark Nottingham for reorganizing some of the text for better organization and readability, to Tony Hansen for acting as document shepherd, and to Brian Haberman and Terry Manderson for acting as sponsoring ADs. π«Ά
Acknowledgments from the Second Edition (2008)
The original acknowledgments section in RFC 5226 was:
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. π
Acknowledgments from the First Edition (1998) β¨
okay bestie, the original thank-you list lived in RFC 2434 π and it's giving "the people who made this possible." Jon Postel and Joyce Reynolds explained what IANA actually needs to manage assignments efficiently, and they were so patient π₯Ή with comments on multiple versions of this doc. Brian Carpenter also left super helpful notes on earlier drafts π. And one paragraph in the Security Considerations section was borrowed from RFC 4288 π, so credit where it's due, periodt π .
Authors' Addresses
these are the three legends who wrote the thing π and yes, their contact info is right here, exactly as it was written:
Michelle Cotton π¦
Michelle Cotton
PTI, an affiliate of ICANN
12025 Waterfront Drive, Suite 300
Los Angeles, CA 90094-2536
United States of America
Phone: +1-424-254-5300
Email: michelle.cotton@iana.org
URI: https://www.iana.org/
Barry Leiba πΈ
Barry Leiba
Huawei Technologies
Phone: +1 646 827 0648
Email: barryleiba@computer.org
URI: http://internetmessagingtechnology.org/
Thomas Narten π§
Thomas Narten
IBM Corporation
3039 Cornwallis Ave., PO Box 12195 - BRQA/502
Research Triangle Park, NC 27709-2195
United States of America
Phone: +1 919 254 7798
Email: narten@us.ibm.com
that's the whole doc, bestie π«Ά you made it through the registries, the policies and all the security stuff ππ
π¦ where this page comes from
- ietf: rfc8126 2017-06
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms