DHCPv4 Option Reclass: Reclassifying Dynamic Host Configuration Protocol version 4 (DHCPv4) Options
How DHCPv4 gained room for more public option codes by taking them from the little-used site-specific range.
Volz, B., "Reclassifying Dynamic Host Configuration Protocol version 4 (DHCPv4) Options", RFC 3942, DOI 10.17487/RFC3942, November 2004, <https://www.rfc-editor.org/info/rfc3942>.
@misc{rfc3942,
series = {Request for Comments},
number = 3942,
howpublished = {RFC 3942},
publisher = {RFC Editor},
doi = {10.17487/RFC3942},
url = {https://www.rfc-editor.org/info/rfc3942},
author = {B. Volz},
title = {{Reclassifying Dynamic Host Configuration Protocol version 4 (DHCPv4) Options}},
pagetotal = 7,
year = 2004,
month = nov,
} RFC text
Contents
Network Working Group B. Volz
Request for Comments: 3942 Cisco Systems, Inc.
Updates: 2132 November 2004
Category: Standards Track
Reclassifying Dynamic Host Configuration Protocol
version 4 (DHCPv4) Options
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) The Internet Society (2004).
Abstract
This document updates RFC 2132 to reclassify Dynamic Host
Configuration Protocol version 4 (DHCPv4) option codes 128 to 223
(decimal) as publicly defined options to be managed by IANA in
accordance with RFC 2939. This document directs IANA to make these
option codes available for assignment as publicly defined DHCP
options for future options.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Requirements Notation . . . . . . . . . . . . . . . . . . . . 2
3. Background . . . . . . . . . . . . . . . . . . . . . . . . . . 2
3.1. Publicly Defined Options Range . . . . . . . . . . . . . 2
3.2. Site-Specific Options Range . . . . . . . . . . . . . . 3
4. Reclassifying Options . . . . . . . . . . . . . . . . . . . . 3
5. Security Considerations . . . . . . . . . . . . . . . . . . . 4
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5
7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 5
8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 5
8.1. Normative References . . . . . . . . . . . . . . . . . . 5
8.2. Informative References . . . . . . . . . . . . . . . . . 6
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 6
Full Copyright Statement . . . . . . . . . . . . . . . . . . . . . 7
1. Introduction
The DHCPv4 [RFC2131] publicly defined options range, options 1 - 127,
is nearly used up. Efforts such as [RFC3679] help extend the life of
this space, but ultimately the space will be exhausted.
This document reclassifies much of the site-specific option range,
which has not been widely used for its original intended purpose, to
extend the publicly defined options space.
2. Requirements Notation
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119].
3. Background
The DHCP option space (0 - 255) is divided into two ranges [RFC2132]:
1. 1 - 127 are publicly defined options, now allocated in accordance
with [RFC2939].
2. 128 - 254 are site-specific options.
Options 0 (pad) and 255 (end) are special and defined in [RFC2131].
3.1. Publicly Defined Options Range
The publicly defined options space (1 - 127) is nearly exhausted.
Recent work [RFC3679] will buy more time, as several allocated but
unused option codes have been reclaimed. A review could be made from
time to time to determine whether there are other option codes that
can be reclaimed.
A longer-term solution to the eventual exhaustion of the publicly
defined options space is desired. The DHC WG evaluated several
solutions:
1. Using options 126 and 127 to carry 16-bit options as originally
proposed by Ralph Droms in late 1996. However, this significantly
penalizes the first option assigned to this new space, as it
requires implementing the 16-bit option support. Because of this,
options 126 and 127 have been reclaimed [RFC3679].
2. Using a new magic cookie and 16-bit option code format. However,
this proposal
* penalizes the first option assigned to this new space, as it
requires significant changes to clients, servers, and relay
agents,
* could adversely impact existing clients, servers, and relay
agents that fail to properly check the magic cookie value,
* requires support of both message formats for the foreseeable
future, and
* requires clients to send multiple DHCPDISCOVER messages -- one
for each magic cookie.
3. Reclassifying a portion of the site-specific option codes as
publicly defined. The impact is minimal, as only those sites
presently using options in the reclassified range need to renumber
their options.
3.2. Site-Specific Options Range
The site-specific option range is rather large (127 options in all)
and little used. The original intent of the site-specific option
range was to support local (to a site) configuration options, and it
is difficult to believe a site would need 127 options for this
purpose. Further, many DHCP client implementations do not provide a
well documented means to request site-specific options from a server
or to allow applications to extract the returned option values.
Some vendors have made use of site-specific option codes that violate
the intent of the site-specific options, as the options are used to
configure features of their products and thus are specific to many
sites. This usage could potentially cause problems if a site that
has been using the same site-specific option codes for other purposes
deploys products from one of the vendors, or if two vendors pick the
same site-specific options.
4. Reclassifying Options
The site-specific option codes 128 to 223 are hereby reclassified as
publicly defined options. This leaves 31 site-specific options, 224
to 254.
To allow vendors that have made use of site-specific options within
the reclassified range to publish their option usage and to request
an official assignment of the option number to that usage, the
following procedure will be used to reclassify these options:
1. The reclassified options (128 to 223) will be placed in the
"Unavailable" state by IANA. These options are not yet available
for assignment to publicly defined options.
2. Vendors that currently use one or more of the reclassified options
have 6 months following this RFC's publication date to notify the
DHC WG and IANA that they are using particular options numbers and
agree to document that usage in an RFC. IANA will move these
options from the "Unavailable" to "Tentatively Assigned" state.
Vendors have 18 months from this RFC's publication date to start
the documentation process by submitting an Internet-Draft.
NOTE: If multiple vendors of an option number come forward and can
demonstrate that their usage is in reasonably wide use, none of
the vendors will be allowed to keep the current option number, and
they MUST go through the normal process of getting a publicly
assigned option [RFC2939].
3. Any options still classified as "Unavailable" 6 months after the
RFC publication date will be moved to the "Unassigned" state by
IANA. These options may then be assigned to any new publicly
defined options in accordance with [RFC2939].
4. For those options in the "Tentatively Assigned" state, vendors
have 18 months following this RFC's publication date to submit an
Internet-Draft documenting the option. The documented usage MUST
be consistent with the existing usage. When the option usage is
published as an RFC, IANA will move the option to the "Assigned"
state.
If no Internet-Draft is published within the 18 months or should
one of these Internet-Drafts expire after the 18 months, IANA will
move the option to the "Unassigned" state, and the option may then
be assigned to any new publicly defined options in accordance with
[RFC2939].
Sites presently using site-specific option codes within the
reclassified range SHOULD take steps to renumber these options to
values within the remaining range. If a site needs more than 31
site-specific options, the site must switch to using suboptions, as
has been done for other options, such as the Relay Agent Information
Option [RFC3046].
5. Security Considerations
This document in and by itself provides no security, nor does it
impact existing DCHP security as described in [RFC2131].
6. IANA Considerations
IANA is requested to
1. expand the publicly defined DHCPv4 options space from 1 - 127 to 1
- 223. The new options (128 - 223) are to be listed as
"Unavailable" and MUST NOT be assigned to any publicly defined
options.
2. receive notices from vendors that have been using one or more of
the options in the 128-223 range that they are using the option
and are willing to document that usage. IANA will list these
options as "Tentatively Assigned".
3. change the listing of any options listed as "Unavailable" to
"Available" 6 months from this RFC's publication date. These
options may now be assigned in accordance with [RFC2939].
4. change the listing of any options listed as "Tentatively-Assigned"
to "Unavailable" 18 months from this RFC's publication date and
periodically thereafter as long as there is an option listed as
"Tentatively-Assigned", if no un-expired Internet-Draft exists
documenting the usage.
7. Acknowledgements
Many thanks to Ralph Droms and Ted Lemon for their valuable input and
earlier work on the various alternatives.
8. References
8.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[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.
[RFC2939] Droms, R., "Procedures and IANA Guidelines for Definition
of New DHCP Options and Message Types", BCP 43, RFC 2939,
September 2000.
8.2. Informative References
[RFC3046] Patrick, M., "DHCP Relay Agent Information Option", RFC
3046, January 2001.
[RFC3679] Droms, R., "Unused Dynamic Host Configuration Protocol
(DHCP) Option Codes", RFC 3679, January 2004.
Author's Address
Bernard Volz
Cisco Systems, Inc.
1414 Massachusetts Ave.
Boxborough, MA 01719
USA
Phone: +1 978 936 0382
EMail: volz@cisco.com
Full Copyright Statement
Copyright (C) The Internet Society (2004).
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.
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.
Intellectual Property
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 IETF's procedures with respect to rights in IETF 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.
Acknowledgement
Funding for the RFC Editor function is currently provided by the
Internet Society.
AI ELI5
On this page
§1Introduction
A DHCPv4 message can carry options, each identified by a code. The publicly defined range, options 1 to 127, is nearly used up. Efforts such as RFC 3679 help extend its life, but the space will eventually run out.
RFC 3942 extends that public space by reclassifying much of the site-specific option range, which has not been widely used for its original purpose. It updates RFC 2132 and uses the key words MUST, SHOULD and MAY as defined in RFC 2119.
The public list of numbered slots was almost full. This note makes more slots by borrowing from a private list that was barely used.
§3How the Option Space Was Divided
The option space runs from 0 to 255. Per RFC 2132, options 1 to 127 are publicly defined and are now allocated under RFC 2939, and options 128 to 254 are site-specific. Options 0 (pad) and 255 (end) are special and are defined in RFC 2131.
The site-specific range has 127 options. It was meant for configuration local to one site, and the RFC finds it hard to believe that a site needs that many. It also notes that many DHCP client implementations offer no well documented way to request site-specific options from a server or to let applications read the returned values.
Some vendors used site-specific codes to configure features of their products. That goes against the intent of the range, because such options are then specific to many sites. Trouble could follow if a site already used the same codes for something else, or if two vendors picked the same codes.
The private section was meant for one building's own needs, but some companies used it for products sold everywhere. That could cause mix-ups when two uses picked the same number.
§3.1The Alternatives the DHC Working Group Weighed
The DHC working group evaluated three ways to get a longer-term solution. Two were rejected.
- 16-bit options in codes 126 and 127. Proposed by Ralph Droms in late 1996, but it penalizes the first option assigned to the new space, since it forces implementation of 16-bit option support. Options 126 and 127 were instead reclaimed by RFC 3679.
- A new magic cookie and a 16-bit option code format. It also penalizes the first option, needs significant changes to clients, servers and relay agents, could hurt existing implementations that do not check the magic cookie value, requires both message formats to be supported for the foreseeable future, and makes clients send multiple DHCPDISCOVER messages, one per magic cookie.
- Reclassifying part of the site-specific codes as public. The impact is minimal, as only sites presently using options in the reclassified range need to renumber them.
The third approach is the one this RFC adopts.
They could have invented a whole new numbering system, which would have forced everyone to change. Moving a few slots from the private list to the public list bothered far fewer people, so they chose that.
§4Reclassifying Options 128 to 223
- 0Pad — Special option defined in RFC 2131.
- 1 - 127Publicly defined — Allocated under RFC 2939.
- 128 - 223Reclassified as publicly defined — Starts as Unavailable; moved from the site-specific range.
- 224 - 254Site-specific — The 31 codes that remain for local use.
- 255End — Special option defined in RFC 2131.
Site-specific option codes 128 to 223 are reclassified as publicly defined, which leaves 31 site-specific options, 224 to 254. To let vendors that already use codes in that range publish their usage and request an official assignment, the RFC sets a staged procedure.
- IANA places codes 128 to 223 in the Unavailable state. They cannot yet be assigned as public options.
- Vendors using one or more of these codes have 6 months from the RFC's publication date to notify the DHC working group and IANA and agree to document the usage in an RFC. IANA then moves those codes to Tentatively Assigned. Vendors have 18 months to start documentation by submitting an Internet-Draft.
- Codes still Unavailable after 6 months move to Unassigned and may then be assigned as new public options under RFC 2939.
- For Tentatively Assigned codes, the documented usage MUST be consistent with the existing usage. When the usage is published as an RFC, IANA moves the code to Assigned. If no Internet-Draft is published within 18 months, or one expires after 18 months, IANA moves the code to Unassigned.
If several vendors of the same option number come forward and can show reasonably wide use, none of them may keep the current number. They MUST go through the normal process for a publicly assigned option under RFC 2939.
Sites presently using codes in the reclassified range SHOULD renumber those options to values within the remaining range. A site that needs more than 31 site-specific options must switch to suboptions, as has been done for other options such as the Relay Agent Information Option (RFC 3046).
Everyone is told the numbers are on hold. Anyone who already uses one has six months to raise a hand, and then about a year and a half to write it down properly. Numbers nobody claims go back into the pool.
- Unavailable start
- Tentatively Assigned
- Assigned
- Unassigned
| From | To | Event |
|---|---|---|
| Unavailable | Tentatively Assigned | vendor claims within 6 months |
| Unavailable | Unassigned | no claim after 6 months |
| Tentatively Assigned | Assigned | usage published as an RFC |
| Tentatively Assigned | Unassigned | no Internet-Draft by 18 months or draft expires |
§6IANA Actions and Security
The IANA section asks IANA to expand the publicly defined DHCPv4 option space from 1 to 127 up to 1 to 223. The new options, 128 to 223, are listed as Unavailable and MUST NOT be assigned to any publicly defined option at first. IANA is also asked to list claimed options as Tentatively Assigned, to make remaining Unavailable options available after 6 months, and to return Tentatively Assigned options to Unavailable after 18 months when no unexpired Internet-Draft documents the usage.
The wording of that section differs slightly from the main procedure: it says Available where Section 4 says Unassigned, and says a lapsed Tentatively Assigned code goes back to Unavailable. The intended flow is the same.
The security section is short. The document provides no security by itself and does not affect the existing DHCP security described in RFC 2131.
The registrar is asked to update the official list to match, and nothing here makes DHCP more or less safe.