Network Working Group B. Fenner Internet-Draft AT&T Labs - Research Expires: July 27, 2006 January 23, 2006 Experimental Values In IPv4, IPv6, ICMPv4, ICMPv6, UDP and TCP Headers draft-fenner-iana-exp-2780-02 Status of this Memo By submitting this Internet-Draft, each author represents that any applicable patent or other IPR claims of which he or she is aware have been or will be disclosed, and any of which he or she becomes aware will be disclosed, in accordance with Section 6 of BCP 79. 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 material 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 will expire on July 27, 2006. Copyright Notice Copyright (C) The Internet Society (2006). Abstract When experimenting with or extending protocols, it is often necessary to use some sort of protocol number or constant in order to actually test or experiment with the new function, even when testing in a closed environment. This document reserves some ranges of numbers for experimentation purposes in specific protocols where the need to support experimentation has been identified, and describes the numbers that have already been reserved by other documents. Fenner Expires July 27, 2006 [Page 1] Internet-Draft Experimental Values January 2006 1. Introduction [RFC3692] recommends assigning option numbers for experiments and testing. This document requests [[anchor2: documents --(when assigned)]] such assignments for the number spaces whose IANA considerations are documented in [RFC2780]. This document generally follows the form of [RFC2780]. When using these values, carefully consider the advice in Sections 1 and 1.1 of [RFC3692]. It is not appropriate to simply select one of these values and hard code it into a system. 2. Fields in the IPv4 header The IPv4 header [RFC0791] contains the following fields that carry values assigned by the IANA: Version, Type of Service, Protocol, Source Address, Destination Address, and Option Type. 2.1. IPv4 IP Version field The IPv4 Version field is always 4. 2.2. IPv4 Type of Service field [RFC2474] defines Pool 2 (all code points xxxx11, where 'x' refers to either '0' or '1') as Experimental / Local Use, so no additional code points should be needed. The ECN field [RFC3168] has no free code points to assign. 2.3. IPv4 Protocol field [RFC3692] allocates two experimental code points (253 and 254) for the IPv4 Protocol field. 2.4. IPv4 Source and Destination addresses 2.4.1. IPv4 Unicast No experimental IPv4 addresses are defined. For certain experiments, the address ranges set aside for Private Internets in [RFC1918] may be useful. It is not appropriate to use other special-purpose IPv4 addresses [RFC3330] for experimentation. 2.4.2. IPv4 Multicast The globally routable group 224.0.1.20 is set aside for experimentation. For certain experiments, the administratively Fenner Expires July 27, 2006 [Page 2] Internet-Draft Experimental Values January 2006 scoped multicast groups defined in [RFC2365] may be useful. This document assigns a single link-local scoped group, 224.0.0.TBD, and a single scope-relative group, TBD. 2.5. IPv4 Option Type field This document assigns a single option number, with all defined values of the "copy" and "class" fields, resulting in four distinct option type codes. See Section 8 for the assigned values. 3. Fields in the IPv6 header The IPv6 header [RFC2460] contains the following fields that carry values assigned from IANA-managed name spaces: Version, Traffic Class, Next Header, Source and Destination Address. In addition, the IPv6 Hop-by-Hop Options and Destination Options extension headers include an Option Type field with values assigned from an IANA- managed name space. 3.1. IPv6 Version field The IPv6 Version field is always 6. 3.2. IPv6 Traffic Class field [RFC2474] defines Pool 2 (all code points xxxx11, where 'x' refers to either '0' or '1') as Experimental / Local Use, so no additional code points should be needed. The ECN field [RFC3168] has no free code points to assign. 3.3. IPv6 Next Header field [RFC3692] allocates two experimental code points (253 and 254) for the IPv6 Next Header field. 3.4. IPv6 Source and Destination Addresses 3.4.1. IPv6 Unicast Addresses No experimental IPv6 addresses are defined. For certain experiments, Unique Local Addresses [RFC4193] may be useful. It is not appropriate to use addresses in the documentation prefix [RFC3849] for experimentation. 3.4.2. IPv6 Multicast Addresses The group FF0X::114 is set aside for experimentation at all scope Fenner Expires July 27, 2006 [Page 3] Internet-Draft Experimental Values January 2006 levels. Smaller scopes may be particularly useful for experimentation, since they are defined not to leak out of a given defined boundary which can be set to be the boundary of the experiment. For certain experiments, other multicast addresses with the T (non-permanently-assigned or "transient" address) bit [RFC3513] set may be useful. 3.5. IPv6 Hop-by-Hop and Destination Option Fields This document assigns a single option type, with all possible values of the "act" and "chg" fields, resulting in eight distinct option type codes. See Section 8 for the assigned values. 3.6. IPv6 Neighbor Discovery Fields The IPv6 Neighbor Discovery header [RFC2461] contains the following fields that carry values assigned from IANA-managed name spaces: Type, Code and Option Type. 3.6.1. IPv6 Neighbor Discovery Type The Neighbor Discovery Type field is the same as the ICMPv6 Type field. See Section 5 for those code points. 3.6.2. IPv6 Neighbor Discovery Code The ICMPv6 Code field is not used in IPv6 Neighbor Discovery, so no experimental code points are necessary. 3.6.3. IPv6 Neighbor Discovery Option Type This document assigns two IPv6 Neighbor Discovery Option Types, TBD1 and TBD2. 4. Fields in the IPv4 ICMP header This document assigns two ICMPv4 type numbers, TBD3 and TBD4. ICMPv4 code values are allocated per-type, so it's not feasible to assign experimental values in this document. 5. Fields in the IPv6 ICMP header [I-D.ietf-ipngwg-icmp-v3] includes experimental ICMPv6 type values for Informational (200, 201) and Error (100, 101) message types. ICMPv6 code values are allocated per-type, so it's not feasible to assign experimental values in this document. Fenner Expires July 27, 2006 [Page 4] Internet-Draft Experimental Values January 2006 6. Fields in the UDP header Two system ports, TBD5 and TBD6, have been reserved for experimentation for UDP and TCP. 7. Fields in the TCP header 7.1. TCP Source and Destination Port fields Two system ports, TBD5 and TBD6, have been reserved for experimentation for UDP and TCP. 7.2. Reserved Bits in TCP Header There are not enough reserved bits to allocate any for experimentation. 7.3. TCP Option Kind field Two TCP options, TBD7 and TBD8, have been reserved for experimentation with TCP Options. 8. IANA Considerations The new assignments are summarized below. IPv4 Multicast Addresses (multicast-addresses (224.0.0/24) Local Network Control Block section) (Section 2.4.2) Group Address Name ------------- ---------------------------- 224.0.0.TBD RFC3692-style Experiment (*) IPv4 Multicast Addresses (multicast-addresses relative addresses section) (Section 2.4.2) Relative Description -------- ---------------------------- TBD RFC3692-style Experiment (*) Fenner Expires July 27, 2006 [Page 5] Internet-Draft Experimental Values January 2006 IPv4 Option Numbers (ipv4-parameters initial section) (Section 2.5) Copy Class Number Value ---- ----- ------ ------- 0 0 ? ??_30_ 0 2 ? ??_94_ 1 0 ? ??_158_ 1 2 ? ??_222_ [all '?' are the same, suggest ? = 11110; '??' calculated from other values] IPv6 Option Types (ipv6-parameters section 5.b.) (Section 3.5) HEX act chg rest ------------ --- --- ----- 0x??_[0x1e]_ 00 0 ????? 0x??_[0x3e]_ 00 1 ????? 0x??_[0x5e]_ 01 0 ????? 0x??_[0x7e]_ 01 1 ????? 0x??_[0x9e]_ 10 0 ????? 0x??_[0xbe]_ 10 1 ????? 0x??_[0xde]_ 11 0 ????? 0x??_[0xfe]_ 11 1 ????? [suggest ????? = 11110] Could be represented in registry as: b BINARY HEX act chg rest --- --- --- ----- ... 1E,3E,5E,7E, [x = don't care] 9E,BE,DE,FE xx x ????? RFC3692-style Experiment (*) [ref-to-this-doc] IPv6 Neighbor Discovery Option Formats (icmpv6-parameters) (Section 3.6.3) Type Description ---- ------------------------------ TBD1 RFC3692-style Experiment 1 (*) TBD2 RFC3692-style Experiment 2 (*) Fenner Expires July 27, 2006 [Page 6] Internet-Draft Experimental Values January 2006 ICMPv4 Type Numbers (icmp-parameters) (Section 4) Type Name ---- ------------------------------ TBD3 RFC3692-style Experiment 1 (*) TBD4 RFC3692-style Experiment 2 (*) System Port Numbers (port-numbers) (Sections 6 and 7.1) Keyword Decimal Description ------- -------- ------------------------------ exp1 TBD5/udp RFC3692-style Experiment 1 (*) exp1 TBD5/tcp RFC3692-style Experiment 1 (*) exp2 TBD6/udp RFC3692-style Experiment 2 (*) exp2 TBD6/tcp RFC3692-style Experiment 2 (*) TCP Option Numbers (tcp-parameters) ( Section 7.3) Kind Length Meaning ---- ------ ------------------------------ TBD7 N RFC3692-style Experiment 1 (*) TBD8 N RFC3692-style Experiment 2 (*) Each of these registrations should be accompanied by the following footnote: * It is only appropriate to use these values in explicitly- configured experiments; they MUST NOT be shipped as defaults in implementations. See RFC 3692 for details. 9. Security Considerations Security analyzers such as firewalls and network intrusion detection monitors often rely on unambiguous interpretations of the fields described in this memo. As new values for the fields are assigned, existing security analyzers that do not understand the new values may fail, resulting in either loss of connectivity if the analyzer declines to forward the unrecognized traffic, or loss of security if it does forward the traffic and the new values are used as part of an attack. Assigning known values for experiments can allow such analyzers to take a known action for explicitly experimental traffic. 10. Normative References [I-D.ietf-ipngwg-icmp-v3] Conta, A., "Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification", Fenner Expires July 27, 2006 [Page 7] Internet-Draft Experimental Values January 2006 draft-ietf-ipngwg-icmp-v3-07 (work in progress), July 2005. [RFC0791] Postel, J., "Internet Protocol", RFC 791, STD 5, September 1981. [RFC1918] Rekhter, Y., Moskowitz, B., Karrenberg, D., J. de Groot, G., and E. Lear, "Address Allocation for Private Internets", RFC 1918, BCP 5, February 1996. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", RFC 2119, BCP 14, March 1997. [RFC2365] Meyer, D., "Administratively Scoped IP Multicast", RFC 2365, BCP 23, July 1998. [RFC2460] Deering, S. and R. Hinden, "Internet Protocol, Version 6 (IPv6) Specification", RFC 2460, December 1998. [RFC2461] Narten, T., Nordmark, E., and W. Simpson, "Neighbor Discovery for IP Version 6 (IPv6)", RFC 2461, December 1998. [RFC2474] Nichols, K., Blake, S., Baker, F., and D. Black, "Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers", RFC 2474, December 1998. [RFC2780] Bradner, S. and V. Paxson, "IANA Allocation Guidelines For Values In the Internet Protocol and Related Headers", RFC 2780, BCP 37, March 2000. [RFC3168] Ramakrishnan, K., Floyd, S., and D. Black, "The Addition of Explicit Congestion Notification (ECN) to IP", RFC 3168, September 2001. [RFC3330] "Special-Use IPv4 Addresses", RFC 3330, September 2002. [RFC3513] Hinden, R. and S. Deering, "Internet Protocol Version 6 (IPv6) Addressing Architecture", RFC 3513, April 2003. [RFC3692] Narten, T., "Assigning Experimental and Testing Numbers Considered Useful", RFC 3692, BCP 82, January 2004. [RFC3849] Huston, G., Lord, A., and P. Smith, "IPv6 Address Prefix Reserved for Documentation", RFC 3849, July 2004. [RFC4193] Hinden, R. and B. Haberman, "Unique Local IPv6 Unicast Fenner Expires July 27, 2006 [Page 8] Internet-Draft Experimental Values January 2006 Addresses", RFC 4193, October 2005. Appendix A. Changes from -01 o Added refs to 3849 and 3330 for things not to use in unicast addresses. o Updated ULA ref to be 4193. o Changed multiple "TBD1+TBD2" to TBD1 thru TBD8 o Added IPv6 multicast addresses with T bit. o Added footnote to be included in all IANA registrations. o Added link-local and scope-relative v4 multicast addresses Fenner Expires July 27, 2006 [Page 9] Internet-Draft Experimental Values January 2006 Author's Address Bill Fenner AT&T Labs - Research 75 Willow Rd Menlo Park, CA 94025 USA Phone: +1 650 330-7893 Email: fenner@research.att.com Fenner Expires July 27, 2006 [Page 10] Internet-Draft Experimental Values January 2006 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 assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at 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 INFORMATION 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 (2006). This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights. Acknowledgment Funding for the RFC Editor function is currently provided by the Internet Society. Fenner Expires July 27, 2006 [Page 11]