ARP IANA guidelines: IANA Allocation Guidelines for the Address Resolution Protocol (ARP)
Rules for how IANA hands out new numbers in the Address Resolution Protocol and related protocols
Arkko, J. and C. Pignataro, "IANA Allocation Guidelines for the Address Resolution Protocol (ARP)", RFC 5494, DOI 10.17487/RFC5494, April 2009, <https://www.rfc-editor.org/info/rfc5494>.
@misc{rfc5494,
series = {Request for Comments},
number = 5494,
howpublished = {RFC 5494},
publisher = {RFC Editor},
doi = {10.17487/RFC5494},
url = {https://www.rfc-editor.org/info/rfc5494},
author = {J. Arkko and C. Pignataro},
title = {{IANA Allocation Guidelines for the Address Resolution Protocol (ARP)}},
pagetotal = 7,
year = 2009,
month = apr,
} RFC text
Contents
Network Working Group J. Arkko
Request for Comments: 5494 Ericsson
Updates: 826, 951, 1044, 1329, 2131, C. Pignataro
2132, 2176, 2225, 2834, 2835, Cisco Systems
3315, 4338, 4361, 4701 April 2009
Category: Standards Track
IANA Allocation Guidelines for the Address Resolution Protocol (ARP)
Status of This Memo
This document specifies an Internet standards track protocol for the
Internet community, and requests discussion and suggestions for
improvements. Please refer to the current edition of the "Internet
Official Protocol Standards" (STD 1) for the standardization state
and status of this protocol. Distribution of this memo is unlimited.
Copyright Notice
Copyright (c) 2009 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 in effect on the date of
publication of this document (http://trustee.ietf.org/license-info).
Please review these documents carefully, as they describe your rights
and restrictions with respect to this document.
Abstract
This document specifies the IANA guidelines for allocating new values
in the Address Resolution Protocol (ARP). This document also
reserves some numbers for experimentation purposes. The changes also
affect other protocols that employ values from the ARP name spaces.
1. Introduction
This document specifies the IANA guidelines [RFC5226] for allocating
new values for various fields in the Address Resolution Protocol
(ARP) [RFC0826]. The change is also applicable to extensions of ARP
that use the same message format, such as [RFC0903], [RFC1931], and
[RFC2390].
The change also affects other protocols that employ values from the
ARP name spaces. For instance, the ARP hardware address type
(ar$hrd) number space is also used in the "htype" (hardware address
type) fields in the Bootstrap Protocol (BOOTP) [RFC0951] and Dynamic
Host Configuration Protocol (DHCP) [RFC2131], as well as in the
"hardware type" field in the DHCP Unique Identifiers in DHCPv6
[RFC3315]. These protocols are therefore affected by the update in
the IANA rules. Other affected specifications include the
specialized address resolution mechanisms in:
o HYPERchannel [RFC1044]
o DHCP options [RFC2132] [RFC4361]
o ATM (Asynchronous Transfer Mode) ARP [RFC2225]
o HARP (High-Performance Parallel Interface ARP) [RFC2834] [RFC2835]
o Dual MAC (Media Access Control) FDDI (Fiber Distributed Data
Interface) ARP [RFC1329]
o MAPOS (Multiple Access Protocol over Synchronous Optical Network/
Synchronous Digital Hierarchy) ARP [RFC2176]
o FC (Fibre Channel) ARP [RFC4338]
o DNS DHCID Resource Record [RFC4701]
The IANA guidelines are given in Section 2. Previously, no IANA
guidance existed for such allocations. The purpose of this document
is to allow IANA to manage number assignments based on these
guidelines in a consistent manner.
This document also reserves some numbers for experimentation
purposes. These numbers are given in Section 3.
2. IANA Considerations
The following rules apply to the fields of ARP:
ar$hrd (16 bits) Hardware address space
Requests for ar$hrd values below 256 or for a batch of more than
one new value are made through Expert Review [RFC5226].
Note that certain protocols, such as BOOTP and DHCPv4, employ
these values within an 8-bit field. The expert should determine
that a need to allocate the new values exists and that the
existing values are insufficient to represent the new hardware
address types. The expert should also determine the applicability
of the request and assign values higher than 255 for requests that
do not apply to BOOTP/DHCPv4. Similarly, the expert should assign
1-octet values for requests that apply to BOOTP/DHCPv4, as for
example the "IPsec tunnel" with value 31 [RFC3456]. Conversely,
ARP-only uses, without a foreseeable reason to use the same value
in BOOTP/DHCPv4, should favor 2-octet values.
Requests for individual new ar$hrd values that do not specify a
value, or where the requested value is greater than 255, are made
through First Come First Served [RFC5226]. The assignment will
always result in a 2-octet value.
ar$pro (16 bits) Protocol address space
These numbers share the Ethertype space. The Ethertype space is
administered as described in [RFC5342].
ar$op (16 bits) Opcode
Requests for new ar$op values are made through IETF Review or IESG
Approval [RFC5226].
3. Allocations Defined in This Document
When testing new protocol extension ideas, it is often necessary to
use an actual constant in order to use the new function, even when
testing in a closed environment. This document reserves the
following numbers for experimentation purposes in ARP:
o Two new ar$hrd values are allocated for experimental purposes:
HW_EXP1 (36) and HW_EXP2 (256). Note that these two new values
were purposely chosen so that one would be below 256 and the other
would be above 255, and so that there would be different values in
the least and most significant octets.
o Two new values for the ar$op are allocated for experimental
purposes: OP_EXP1 (24) and OP_EXP2 (25).
Note that Appendix B.2 of [RFC5342] lists two Ethertypes that can be
used for experimental purposes.
In addition, for both ar$hrd and ar$op, the values 0 and 65535 are
marked as reserved. This means that they are not available for
allocation.
4. Security Considerations
This specification does not change the security properties of the
affected protocols.
However, a few words are necessary about the use of the experimental
code points defined in Section 3. Potentially harmful side effects
from the use of the experimental values need to be carefully
evaluated before deploying any experiment across networks that the
owner of the experiment does not entirely control. Guidance given in
[RFC3692] about the use of experimental values needs to be followed.
5. Acknowledgments
The lack of any current rules has come up as new values were
requested from IANA, who contacted the IESG for advice. The author
would like to thank Michelle Cotton in particular for bringing up
this issue. The author would also like to thank Brian Carpenter,
Thomas Narten, Scott Bradner, Donald Eastlake, Andrew G. Malis, Brian
Haberman, Robert Sparks, Larry Zhu, and Dave Thaler for feedback.
6. References
6.1. Normative References
[RFC0826] Plummer, D., "Ethernet Address Resolution Protocol: Or
converting network protocol addresses to 48.bit Ethernet
address for transmission on Ethernet hardware", STD 37,
RFC 826, November 1982.
[RFC0951] Croft, B. and J. Gilmore, "Bootstrap Protocol", RFC 951,
September 1985.
[RFC1044] Hardwick, K. and J. Lekashman, "Internet Protocol on
Network System's HYPERchannel: Protocol specification",
STD 45, RFC 1044, February 1988.
[RFC1329] Kuehn, P., "Thoughts on Address Resolution for Dual MAC
FDDI Networks", RFC 1329, May 1992.
[RFC2131] Droms, R., "Dynamic Host Configuration Protocol",
RFC 2131, March 1997.
[RFC2132] Alexander, S. and R. Droms, "DHCP Options and BOOTP Vendor
Extensions", RFC 2132, March 1997.
[RFC2176] Murakami, K. and M. Maruyama, "IPv4 over MAPOS Version 1",
RFC 2176, June 1997.
[RFC2225] Laubach, M. and J. Halpern, "Classical IP and ARP over
ATM", RFC 2225, April 1998.
[RFC2834] Pittet, J., "ARP and IP Broadcast over HIPPI-800",
RFC 2834, May 2000.
[RFC2835] Pittet, J., "IP and ARP over HIPPI-6400 (GSN)", RFC 2835,
May 2000.
[RFC3315] Droms, R., Bound, J., Volz, B., Lemon, T., Perkins, C.,
and M. Carney, "Dynamic Host Configuration Protocol for
IPv6 (DHCPv6)", RFC 3315, July 2003.
[RFC3692] Narten, T., "Assigning Experimental and Testing Numbers
Considered Useful", BCP 82, RFC 3692, January 2004.
[RFC4338] DeSanti, C., Carlson, C., and R. Nixon, "Transmission of
IPv6, IPv4, and Address Resolution Protocol (ARP) Packets
over Fibre Channel", RFC 4338, January 2006.
[RFC4361] Lemon, T. and B. Sommerfeld, "Node-specific Client
Identifiers for Dynamic Host Configuration Protocol
Version Four (DHCPv4)", RFC 4361, February 2006.
[RFC4701] Stapp, M., Lemon, T., and A. Gustafsson, "A DNS Resource
Record (RR) for Encoding Dynamic Host Configuration
Protocol (DHCP) Information (DHCID RR)", RFC 4701,
October 2006.
[RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an
IANA Considerations Section in RFCs", BCP 26, RFC 5226,
May 2008.
[RFC5342] Eastlake. , D., "IANA Considerations and IETF Protocol
Usage for IEEE 802 Parameters", BCP 141, RFC 5342,
September 2008.
6.2. Informative References
[RFC0903] Finlayson, R., Mann, T., Mogul, J., and M. Theimer,
"Reverse Address Resolution Protocol", STD 38, RFC 903,
June 1984.
[RFC1931] Brownell, D., "Dynamic RARP Extensions for Automatic
Network Address Acquisition", RFC 1931, April 1996.
[RFC2390] Bradley, T., Brown, C., and A. Malis, "Inverse Address
Resolution Protocol", RFC 2390, September 1998.
[RFC3456] Patel, B., Aboba, B., Kelly, S., and V. Gupta, "Dynamic
Host Configuration Protocol (DHCPv4) Configuration of
IPsec Tunnel Mode", RFC 3456, January 2003.
Appendix A. Changes from the Original RFCs
This document specifies only the IANA rules associated with various
fields in ARP. The specification of these rules also affects the
allocation of corresponding fields in protocols listed in Section 1
that share the registry. This document does not make any changes in
the operation of these protocols themselves.
Authors' Addresses
Jari Arkko
Ericsson
Jorvas 02420
Finland
EMail: jari.arkko@piuha.net
Carlos Pignataro
Cisco Systems
7200-12 Kit Creek Road
Research Triangle Park, NC 27709
USA
EMail: cpignata@cisco.com
AI ELI5
On this page
§1Overview of ARP and Its Number Spaces
The Address Resolution Protocol (ARP) is used to discover the hardware address (like a MAC address) associated with an IP address. ARP messages contain several fields that use numbered values, and these numbers come from registries maintained by IANA.
Before this RFC, ARP did not have clear allocation guidelines. This created confusion when new values were requested. The problem was made worse because other important protocols also use the same number registries: DHCP, DHCPv6, BOOTP, and several specialized address resolution protocols for things like ATM, Fibre Channel, and MAPOS.
This RFC establishes clear allocation procedures for ARP's main fields and explains how those procedures affect the related protocols.
ARP uses lists of numbers, and other protocols use the same lists. Before this, nobody knew how to hand out new numbers fairly, so this document sets the rules.
§2ARP's Number Fields
ARP has three main fields that contain numbered values:
ar$hrd (Hardware address type): A 16-bit field identifying the hardware interface type, such as Ethernet (1), ARCNET (7), or token ring (6). This field is used in several other protocols, including BOOTP and DHCP.
ar$pro (Protocol address type): A 16-bit field that shares values with the Ethertype space (a separate registry for protocol identification numbers).
ar$op (Opcode): A 16-bit field identifying the ARP operation, such as REQUEST (1) or REPLY (2).
Each field has different allocation rules depending on how widely it is used and the need for new values.
ARP messages have three fields that contain numbers. Each field is a list that IANA keeps.
§3Allocation Rules for Each Field
For ar$hrd (hardware types): Values below 256 or requests for multiple new values require Expert Review. An expert must verify that a need exists and that existing values do not suffice. The expert should assign values above 255 to hardware types that do not need to fit in the 8-bit field of BOOTP/DHCPv4 (since some implementations of those protocols only use 8 bits). For individual new values above 255, First Come First Served allocation is used, and these always get 2-octet values. The expert should assign 1-octet values to types that need to work with BOOTP/DHCPv4.
For ar$pro (protocol types): These numbers are administered through the Ethertype registry (RFC 5342), so ARP allocation rules point to that registry.
For ar$op (opcodes): New values require IETF Review or IESG Approval, the highest level of scrutiny, because opcodes are less frequently requested and changing them is a significant decision.
Different fields have different approval levels. Some need expert sign-off, some need IETF approval, and some can be handed out on a first-come basis.
§4Reserved Numbers for Experiments
This RFC reserves certain values for experimental and testing purposes. Researchers and implementers can use these values to test new protocol extensions without using permanently allocated values:
For ar$hrd: Two experimental hardware type values are reserved: HW_EXP1 (36) and HW_EXP2 (256). These were chosen deliberately to test both small values (below 256) and large values (above 255), ensuring that implementations handle the full range correctly.
For ar$op: Two experimental opcode values are reserved: OP_EXP1 (24) and OP_EXP2 (25).
Additionally, the values 0 and 65535 are marked as reserved in both ar$hrd and ar$op, meaning they cannot be allocated to any protocol.
The document saves a few special numbers that people can use to test new ideas without asking permission.
- 24OP_EXP1 — Experimental ARP opcode
- 25OP_EXP2 — Experimental ARP opcode
- 36HW_EXP1 — Experimental hardware type (below 256)
- 256HW_EXP2 — Experimental hardware type (above 255)
§5How This Affects Other Protocols
Because BOOTP and DHCP use the same hardware address type field as ARP, and DHCPv6 uses a similar field, allocation decisions for ARP's ar$hrd registry affect all of these protocols. If a new hardware type is allocated with a value above 255, it cannot be used in BOOTP or DHCPv4, which only support 8 bits.
Other specialized address resolution protocols also share these registries: they include ATM ARP, HARP (High-Performance Parallel Interface ARP), Fibre Channel ARP, and MAPOS (Multiple Access Protocol over Synchronous Optical Network) ARP. All of these protocols are therefore affected by the allocation guidelines.
This document ensures that allocation decisions take all of these protocols into account, preventing conflicts and ensuring consistent management.
When one protocol's number list is shared by many other protocols, the rules have to make sure nothing breaks in any of them.
§6Security Implications
The allocation rules themselves do not change the security properties of ARP or the affected protocols. However, the RFC warns about experimental values: when someone uses the reserved experimental numbers (HW_EXP1, HW_EXP2, OP_EXP1, OP_EXP2), they must be careful not to deploy experimental code across networks they do not control.
Experimental code points, if deployed carelessly, could cause harmful side effects or unexpected protocol behavior in production networks. The RFC points to RFC 3692 for guidance on the careful use of experimental values.
New experimental numbers are allowed for testing, but people need to be careful not to break real networks while testing.
§7Why These Rules Matter
Before this RFC, IANA received requests for new ARP values but had no clear procedure. This RFC provides consistency and ensures that allocation decisions are made with full knowledge of the protocols affected. The use of expert review for hardware types ensures that implementations do not pile up with values they cannot use, while IETF review for opcodes ensures that core ARP behavior changes are made deliberately.
By reserving experimental values, the RFC allows the research community to test protocol ideas without consuming allocated values, supporting innovation while maintaining registry discipline.
Having clear rules means IANA can say yes or no to requests without guessing, and everyone knows what the rules are.