INTERNET-DRAFT Thomas Narten IBM Harald Tveit Alvestrand Cisco September 16, 2004 Guidelines for Writing an IANA Considerations Section in RFCs Status of this Memo By submitting this Internet-Draft, I certify that any applicable patent or other IPR claims of which I am aware have been disclosed, and any of which I become aware will be disclosed, in accordance with RFC 3668. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference mate- rial or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. This Internet-Draft expires March, 2005. Copyright Notice Copyright (C) The Internet Society (2004). All Rights Reserved. Abstract Many protocols make use of identifiers consisting of constants and other well-known values. Even after a protocol has been defined and deployment has begun, new values may need to be assigned (e.g., for a new option type in DHCP, or a new encryption or authentication transform for IPsec). To ensure that such quantities have consistent draft-narten-iana-considerations-rfc2434bis-01.txt [Page 1] INTERNET-DRAFT September 16, 2004 values and interpretations in different implementations, their assignment must be administered by a central authority. For IETF protocols, that role is provided by the Internet Assigned Numbers Authority (IANA). In order for the IANA to manage a given name space prudently, it needs guidelines describing the conditions under which new values can be assigned. If the IANA is expected to play a role in the management of a name space, the IANA must be given clear and concise instructions describing that role. This document discusses issues that should be considered in formulating a policy for assigning values to a name space and provides guidelines to document authors on the specific text that must be included in documents that place demands on the IANA. draft-narten-iana-considerations-rfc2434bis-01.txt [Page 2] INTERNET-DRAFT September 16, 2004 Contents Status of this Memo.......................................... 1 1. Introduction............................................. 3 2. Issues To Consider....................................... 4 3. Well-Known IANA Policy Definitions....................... 6 4. Registration maintenance................................. 8 5. What To Put In Documents................................. 8 5.1. When There Are No IANA Actions...................... 9 5.2. Requesting Assignments From an Existing Name Space.. 9 5.3. Creation of New Registries.......................... 10 6. Applicability to Past and Future RFCs.................... 11 7. Security Considerations.................................. 12 8. Changes Relative to RFC 2434............................. 13 8.1. Changes Relative to -00............................. 13 9. Acknowledgments.......................................... 13 10. References.............................................. 13 11. Authors' Addresses...................................... 14 1. Introduction Many protocols make use of fields that contain constants and other well-known values (e.g., the Protocol field in the IP header [IP] or MIME types in mail messages [MIME-REG]). Even after a protocol has been defined and deployment has begun, new values may need to be assigned (e.g., a new option type in DHCP [DHCP] or a new encryption or authentication algorithm for IPsec [IPSEC]). To ensure that such fields have consistent values and interpretations in different implementations, their assignment must be administered by a central authority. For IETF protocols, that role is provided by the Internet Assigned Numbers Authority (IANA) [IANA-MOU]. In this document, we call the set of possible values for such a field a "name space"; its actual content may be a name, a number or another kind of value. The assignment of a specific value to a name space is called an assigned number (or assigned value). Each assignment of a draft-narten-iana-considerations-rfc2434bis-01.txt [Page 3] INTERNET-DRAFT September 16, 2004 number in a name space is called a registration. In order for the IANA to manage a given name space prudently, it needs guidelines describing the conditions under which new values should be assigned. This document provides guidelines to authors on what sort of text should be added to their documents, and reviews issues that should be considered in formulating an appropriate policy for assigning numbers to name spaces. Not all name spaces require centralized administration. In some cases, it is possible to delegate a name space in such a way that further assignments can be made independently and with no further (central) coordination. In the Domain Name System, for example, the IANA only deals with assignments at the higher-levels, while subdomains are administered by the organization to which the space has been delegated. As another example, Object Identifiers (OIDs) as defined by the ITU are also delegated [ASSIGNED]. When a name space can be delegated, the IANA only deals with assignments at the top level. This document uses the terms 'MUST', 'SHOULD' and 'MAY', and their negatives, in the way described in RFC 2119 [KEYWORDS]. In this case, "the specification" as used by RFC 2119 refers to the processing of protocols being submitted to the IETF standards process. 2. Issues To Consider One issue to consider in managing a name space is its size. If the space is small and limited in size, assignments must be made carefully to ensure that the space doesn't become exhausted. If the space is essentially unlimited, on the other hand, it may be perfectly reasonable to hand out new values to anyone that wants one. Even when the space is essentially unlimited, however, it is usually desirable to have at least minimal review to prevent the hoarding of or unnecessary wasting of a space. For example, if the space consists of text strings, it may be desirable to prevent organizations from obtaining large sets of strings that correspond to the "best" names (e.g., existing company names). Experience has also shown that some level of minimal review is useful to prevent assignments in cases where the request is malformed or not actually needed (this may not always be immediately obvious to a non-subject- matter expert). A second consideration is whether it makes sense to delegate the name space in some manner. This route should be pursued when appropriate, as it lessens the burden on the IANA for dealing with assignments. draft-narten-iana-considerations-rfc2434bis-01.txt [Page 4] INTERNET-DRAFT September 16, 2004 A third, and perhaps most important consideration, concerns potential impact on interoperability of unreviewed extensions. Proposed protocol extensions generally benefit from community review; indeed, review is often essential to prevent future interoperability problems. [VENDOR-EXT] discusses this topic in considerable detail. In some cases, the name space is essentially unlimited, there are no potential interoperability issues, and assigned numbers can safely be given out to anyone. When no subjective review is needed, the IANA can make assignments directly, provided that the IANA is given specific instructions on what types of requests it should grant, and what information must be provided before a request for an assigned number will be considered. Note that the IANA will not define an assignment policy; it should be given a set of guidelines that allow it to make allocation decisions with minimal subjectivity. In most cases, some review of prospective allocations is appropriate, and the question becomes who should perform the review and how rigorous the review needs to be. In many cases, one might think that an IETF Working Group (WG) familiar with the name space at hand should be consulted. In practice, however, WGs eventually disband, so they cannot be considered a permanent evaluator. It is also possible for name spaces to be created through individual submission documents, for which no WG is ever formed. One way to ensure community review of prospective assignments is to have the requester submit a document for publication as an RFC. Such an action helps ensure that the IESG and relevant WGs review the assignment. [XXX update wrt draft-iesg-rfced-documents?] This is the preferred way of ensuring review, and is particularly important if any potential interoperability issues can arise. For example, many assignments are not just assignments, but also involve an element of protocol specification. A new option may define fields that need to be parsed and acted on, which (if specified poorly) may not fit cleanly with the architecture of other options or the base protocols on which they are built. In some cases, however, the burden of publishing an RFC in order to get an assignment is excessive. However, it is generally still useful (and sometimes necessary) to discuss proposed additions on a mailing list dedicated to the purpose (e.g., the ietf-types@iana.org for media types) or on a more general mailing list (e.g., that of a current or former IETF WG). Such a mailing list provides a way for new registrations to be publicly reviewed prior to getting assigned, or to give advice for persons who want help in understanding what a proper registration should contain. While discussion on a mailing list can provide valuable technical draft-narten-iana-considerations-rfc2434bis-01.txt [Page 5] INTERNET-DRAFT September 16, 2004 expertise, opinions may vary and discussions may continue for some time without clear resolution. In addition, the IANA cannot participate in all of these mailing lists and cannot determine if or when such discussions reach consensus. Therefore, the IANA cannot allow general mailing lists to fill the role of providing definitive recommendations regarding a registration question. Instead, the IANA will rely on a "designated expert" to advise it in assignment matters. That is, the IANA forwards the requests it receives to a specific point-of-contact (one or a small number of individuals) and acts upon the returned recommendation from the designated expert. The designated expert can initiate and coordinate as wide a review of an assignment request as may be necessary to evaluate it properly. Designated experts are appointed by the relevant Area Director of the IESG. They are typically named at the time a document that creates a new numbering space is published as an RFC, but as experts originally appointed may later become unavailable, the relevant Area Director will appoint replacements if necessary. Any decisions made by the designated expert can be appealed using the normal IETF appeals process as outlined in Section 6.5 of [IETF- PROCESS]. Since the designated experts are appointed by the IESG, they may be removed by the IESG. 3. Well-Known IANA Policy Definitions The following are some defined policies, some of which are in use today. These cover a range of typical policies that have been used to date. It is not required that documents use these terms; the actual requirement is that the instructions to IANA are clear and unambigous. However, it is preferable to use these terms where possible, since there meaning is widely understood. Private Use - For private or local use only, with the type and purpose defined by the local site. No attempt is made to prevent multiple sites from using the same value in different (and incompatible) ways. There is no need for IANA to review such assignments and assignments are not generally useful for interoperability. Examples: Site-specific options in DHCP [DHCP] have significance only within a single site. "X-foo:" header lines in email messages. Experimental Use - Similar to private or local use only, with the purpose being to facilitate experimentation. See [EXPERIMENTATION] for details. draft-narten-iana-considerations-rfc2434bis-01.txt [Page 6] INTERNET-DRAFT September 16, 2004 Hierarchical allocation - Delegated managers can assign values provided they have been given control over that part of the name space. IANA controls the higher levels of the namespace according to one of the other policies. Examples: DNS names, Object Identifiers First Come First Served - Anyone can obtain an assigned number, so long as they provide a point of contact and a brief description of what the value would be used for. For numbers, the exact value is generally assigned by the IANA; with names, specific names are usually requested. Examples: vnd. (vendor assigned) MIME types [MIME-REG], TCP and UDP port numbers. Expert Review (or Designated Expert) - approval by a Designated Expert is required. Specification Required - Values and their meaning must be documented in an RFC or other permanent and readily available reference, in sufficient detail so that interoperability between independent implementations is possible. Examples: SCSP [SCSP] IESG Approval - New assignments must be approved by the IESG. Although there is no requirement that the request be documented in an RFC, the IESG has discretion to request documents or other supporting materials on a case-by-case basis. IETF Review - (Formerly "IETF Consensus" [IANA-CONSIDERATIONS]) New values are assigned only through RFC publication of documents that have been shepherded through the IESG as AD- Sponsored documents [XXX need ref]. The intention is that the document and proposed assignment will be reviewed by the IESG and appropriate IETF WGs (or experts, if suitable working groups no longer exist) to ensure that the proposed assignment will not negatively impact interoperability or otherwise extend IETF protocols in an inappropriate manner. [XXX: should an explicit last call be required?] Examples: SMTP extensions [SMTP-EXT], BGP Subsequent Address Family Identifiers [BGP4-EXT]. draft-narten-iana-considerations-rfc2434bis-01.txt [Page 7] INTERNET-DRAFT September 16, 2004 Standards Action - Values are assigned only for Standards Track RFCs approved by the IESG. Examples: MIME top level types [MIME-REG] It should be noted that it often makes sense to partition a name space into several categories, with assignments out of each category handled differently. For example, the DHCP option space [DHCP] is split into two parts. Option numbers in the range of 1-127 are globally unique and assigned according to the Specification Required policy described above, while options number 128-254 are "site specific", i.e., Private Use. Dividing the name space up makes it possible to have different policies in place for different ranges. 4. Registration maintenance Registrations are a request for an assigned number, including the related information needed to evaluate and document the request. Even after a number has been assigned, some types of registrations contain additional information that may need to be updated over time. For example, mime types, character sets, language tags, etc. typically include more information than just the registered value itself. Example information can include point of contact information, security issues, pointers to updates, literature references, etc. In such cases, the document must clearly state who is responsible for maintaining and updating a registration. It is appropriate to: - Let the author update the registration, subject to the same constraints and review as with new registrations. - Allow some mechanism to attach comments to the registration, for cases where others have significant objections to claims in a registration, but the author does not agree to change the registration. - Designate the IESG or another authority as having the right to reassign ownership of a registration. This is mainly to get around the problem when some registration owner cannot be reached in order to make necessary updates. 5. What To Put In Documents The previous sections presented some issues that should be considered in formulating a policy for assigning well-known numbers and other protocol constants. It is the Working Group and/or document author's draft-narten-iana-considerations-rfc2434bis-01.txt [Page 8] INTERNET-DRAFT September 16, 2004 job to formulate an appropriate policy and specify it in the appropriate document. In almost all cases, having an explicit "IANA Considerations" section is appropriate. The following subsections define what is needed for the different types of IANA actions. 5.1. When There Are No IANA Actions Before an Internet-Draft can be published as an RFC, IANA needs to know what actions (if any) it needs to perform. Experience has shown that it is not always immediately obvious whether a document has no IANA actions, without reviewing a document in some detail. In order to make it clear to IANA that it has no actions to perform (and that the author has consciously made such a determination!), such docu- ments should include an IANA Considerations section that states: This document has no IANA Actions. 5.2. Requesting Assignments From an Existing Name Space Often, a document requests the assignment of a code point from an already existing name space (i.e., one created by a previously-pub- lished RFC). In such cases documents should make clear: - From what name space is a value is being requested? List the exact name space listed on the IANA web page (and RFC), and cite the RFC where the name space is defined. (Note: There is no need to men- tion what the allocation policy for new assignments is, as that should be clear from the references.) - For each value being requested, give it a unique name, e.g., TBD1, TBD2, etc. Throughout the document where the actual IANA-assigned value should be filled in, use "TDBx" notation. This helps ensure that the final RFC has the correct assigned value filled in in all of the relevant places where the value is listed in the final doc- ument. - Normally, the values to be used are chosen by IANA; documents shouldn't pick values themselves. However, in some cases a value may have been used for testing or in early implementations. In such cases, it is acceptable to include text suggesting what spe- cific value should be used (e.g., include the text "the value XXX is suggested"). However, it should be noted that suggested values are just that; IANA will attempt to assign them, but may find that impossible, if the proposed number has already been assigned for some other use. draft-narten-iana-considerations-rfc2434bis-01.txt [Page 9] INTERNET-DRAFT September 16, 2004 - The IANA Considerations section should summarize all of the IANA actions, with pointers to the relevant sections as appropriate. When multiple values are requested, it is generally helpful to include a summary table. As an example, the following text could be used to request assignment of a DHCPv6 option number: IANA has assigned an option code value of TBD1 to the DNS Recur- sive Name Server option and an option code value of TBD2 to the Domain Search List option from the DHCP option code space defined in section 24.3 of RFC 3315. 5.3. Creation of New Registries Documents that create a new name space (or modify the definition of an existing space) and that expect the IANA to play a role in main- taining that space (e.g., serving as a repository for registered val- ues) MUST provide clear instructions on details of the name space. In particular, instructions MUST include: 1) The name of the registry being created and/or maintained. The name will appear on the IANA web page and will be refered to in future Internet Drafts that need to allocate a value from the new space. 2) What information must be provided in order to assign a new value. 3) The process through which future assignments are made (see Sec- tion 3). Note: When a Designated Expert is used, documents MUST NOT name the Designated Expert in the document itself; instead, the name should be relayed to the appropriate IESG Area Director at the time the document is sent to the IESG for approval. If the request should also be reviewed on a specific public mailing list (such as the ietf-types@iana.org for media types), that mailing address should be specified. Note, however, that use of a Designated Expert MUST also be specified. If the IANA is expected to make assignments without requiring an outside review, sufficient guidance MUST be provided so that the requests can be evaluated with minimal subjectivity. draft-narten-iana-considerations-rfc2434bis-01.txt [Page 10] INTERNET-DRAFT September 16, 2004 When specifying the process for making future assignments, it is quite acceptable to pick one of the example policies listed in Sec- tion 3 and refer to it by name. Indeed, this is the preferred mecha- nism in those cases where the sample policies provide the desired level of review. It is also acceptable to cite one of the above poli- cies and include additional guidelines for what kind of considera- tions should be taken into account by the review process. For exam- ple, RADIUS [RFC3575] specifies the use of a Designated Expert, but includes additional criteria the Designated Expert should follow. For example, a document could say something like: This document defines a new DHCP option, entitled "FooBar" (see Section y), assigned a value of TBD1 from the DCHP Option space [RFCXXX]. The FooBar option also contains an 8-bit FooType field, for which IANA is to create and maintain a registry enti- tled "FooType values". Initial values for FooType field are given below; future assignments are to be made through Expert Review [IANA-CONSIDERATIONS]. Assignments consist of a name and the value. Name Value Definition ---- ----- ---------- Frobnitz 1 See Section y.1 NitzFrob 2 See Section y.2 For examples of documents that provide good and detailed guidance to the IANA on the issue of assigning numbers, consult [MIME-REG, MIME- LANG, RFC3757, RFC3749, RFC3575]. 6. Applicability to Past and Future RFCs For all existing RFCs that either explicitly or implicitly rely on the IANA to evaluate assignments without specifying a precise evaluation policy, the IANA (in consultation with the IESG) will continue to decide what policy is appropriate. Changes to existing policies can always be initiated through the normal IETF consensus process. Any decisions made by the IANA can be appealed using the normal IETF appeals process as outlined in Section 6.5 of [IETF-PROCESS]. Specifically, appeals should be directed to the IESG, followed (if necessary) by an appeal to the IAB. By virtue of the IAB's role as overseer of IANA administration [RFC 1602], the IAB's decision is final. All future RFCs that either explicitly or implicitly rely on the IANA draft-narten-iana-considerations-rfc2434bis-01.txt [Page 11] INTERNET-DRAFT September 16, 2004 to register or otherwise manage assignments MUST provide guidelines for managing the name space. [XXX: following is new text w.r.t. 2434. Is this something that is appropriate to include??] Since RFC 2434 was published, experience has shown that the documented IANA considerations for individual protocols do not always adequately cover the reality on the ground. For example, many older routing protocols do not have documented, detailed IANA considerations. In addition, documented IANA considerations are sometimes found to be too stringent to allow even working group documents (for which there is strong consensus) to obtain code points from IANA in advance of actual RFC publication. In other cases, the documented procedures are unclear or neglected to cover all the cases. In order to allow assignments in individual cases where there is strong IETF consensus that an allocation should go forward, but the documented procedures do not support such an assignment, the IESG is granted authority to approve assignments in such cases. The intention is not to overule documented procedures, or to obviate the need for protocols to properly document their IANA Considerations, but to permit assignments in individual cases where it is obvious that the assignment should just be made, but updating the IANA process just to assign a particular code point is viewed as too heavy a burden. 7. Security Considerations Information that creates or updates a registration needs to be authenticated. Information concerning possible security vulnerabilities of a protocol may change over time. Likewise, security vulnerabilities related to how an assigned number is used (e.g., if it identifies a protocol) may change as well. As new vulnerabilities are discovered, information about such vulnerabilities may need to be attached to existing registrations, so that users are not mislead as to the true security issues surrounding the use of a registered number. An analysis of security issues is required for all parameters (data types, operation codes, keywords, etc.) used in IETF protocols or registered by the IANA. All descriptions of security issues must be as accurate as possible regardless of level of registration. In particular, a statement that there are "no security issues associated with this type" must not given when it would be more accurate to state that "the security issues associated with this type have not been assessed". draft-narten-iana-considerations-rfc2434bis-01.txt [Page 12] INTERNET-DRAFT September 16, 2004 8. Changes Relative to RFC 2434 TBD 8.1. Changes Relative to -00 - Revised Section 5.3 to try and make it even more clear. 9. Acknowledgments From RFC 2434: Jon Postel and Joyce Reynolds provided a detailed explanation on what the IANA needs in order to manage assignments efficiently, and patiently provided comments on multiple versions of this document. Brian Carpenter provided helpful comments on earlier versions of the document. One paragraph in the Security Considerations section was borrowed from [MIME-REG]. 10. References [ASSIGNED] Reynolds, J., and J. Postel, "Assigned Numbers", STD 2, RFC 1700, October 1994. See also: http://www.iana.org/numbers.html [BGP4-EXT] Bates. T., Chandra, R., Katz, D. and Y. Rekhter, "Multiprotocol Extensions for BGP-4", RFC 2283, February 1998. [DHCP-OPTIONS] Alexander, S. and R. Droms, "DHCP Options and BOOTP Vendor Extensions", RFC 2132, March 1997. [EXPERIMENTATION] "Assigning Experimental and Testing Numbers Considered Useful". T. Narten, RFC 3692, January 2004. [IANA-CONSIDERATIONS] Alvestrand, H. and T. Narten, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 2434, October 1998. [IANA-MOU] Memorandum of Understanding Concerning the Technical Work of the Internet Assigned Numbers Authority. B. Carpenter, F. Baker, M. Roberts, RFC 2860, June 2000. draft-narten-iana-considerations-rfc2434bis-01.txt [Page 13] INTERNET-DRAFT September 16, 2004 [IETF-PROCESS] Bradner, S., "The Internet Standards Process -- Revision 3", BCP 9, RFC 2026, October 1996. [IP] Postel, J., "Internet Protocol", STD 5, RFC 791, September 1981. [IPSEC] Atkinson, R., "Security Architecture for the Internet Protocol", RFC 1825, August 1995. [KEYWORDS] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [MIME-LANG] Freed, N. and K. Moore, "MIME Parameter Value and Encoded Word Extensions: Character Sets, Languages, and Continuations", RFC 2184, August 1997. [MIME-REG] Freed, N., Klensin, J. and J. Postel, "Multipurpose Internet Mail Extension (MIME) Part Four: Registration Procedures", RFC 2048, November 1996. [SCSP] Luciani, J., Armitage, G. and J. Halpern, "Server Cache Synchronization Protocol (SCSP)", RFC 2334, April 1998. [SMTP-EXT] Klensin, J., Freed, N., Rose, M., Stefferud, E. and D. Crocker, "SMTP Service Extensions", RFC 1869, November 1995. [VENDOR-EXT] "Considerations on the Extensibility of IETF protocols", draft-iesg-vendor-extensions-02.txt [RFC3575] IANA Considerations for RADIUS (Remote Authentication Dial In User Service). B. Aboba. RFC 3575, July 2003. 11. Authors' Addresses Thomas Narten IBM Corporation 3039 Cornwallis Ave. PO Box 12195 - BRQA/502 Research Triangle Park, NC 27709-2195 Phone: 919-254-7798 EMail: narten@us.ibm.com draft-narten-iana-considerations-rfc2434bis-01.txt [Page 14] INTERNET-DRAFT September 16, 2004 Harald Tveit Alvestrand Cisco Systems 5245 Arboretum Dr Los Altos, CA USA Email: Harald@Alvestrand.no Intellectual Property Statement The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79. Copies of IPR disclosures made to the IETF Secretariat and any assur- ances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf- ipr@ietf.org. Disclaimer of Validity This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFOR- MATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Copyright Statement Copyright (C) The Internet Society (2004). This document is subject to the rights, licenses and restrictions contained in BCP 78, and draft-narten-iana-considerations-rfc2434bis-01.txt [Page 15] INTERNET-DRAFT September 16, 2004 except as set forth therein, the authors retain all their rights. draft-narten-iana-considerations-rfc2434bis-01.txt [Page 16]