RFC 3942 PROPOSED STANDARD DHCP · IANA · REGISTRIES

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.

On rfc-editor.org ↗
PUBLISHED
November 2004
AUTHORS
B. Volz
STREAM
IETF
BUILDS ON
RFC 2132 — DHCP Options
RECLASSIFIED CODES
128 to 223
SITE-SPECIFIC CODES LEFT
31 (224 to 254)
TIME TO CLAIM A CODE
6 months
TIME TO START DOCUMENTING
18 months
DOI
10.17487/RFC3942
ERRATA
Reported errata

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
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
PROBLEMThe publicly defined DHCPv4 option codes, 1 to 127, were nearly used up, while the site-specific range of 128 to 254 was large and little used for its intended purpose.
MECHANISMThe RFC reclassifies option codes 128 to 223 as publicly defined, leaving 224 to 254 site-specific, and sets a staged IANA procedure that lets vendors already using a code claim it if they document it in time.
WHY IT MATTERSCodes 128 to 223 became available for future public assignment under RFC 2939, and RFC 3942 updates RFC 2132.

§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

DHCPV4 OPTION CODE RANGES AFTER RFC 3942
  • 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.

  1. IANA places codes 128 to 223 in the Unavailable state. They cannot yet be assigned as public options.
  2. 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.
  3. Codes still Unavailable after 6 months move to Unassigned and may then be assigned as new public options under RFC 2939.
  4. 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.

IANA STATES FOR A RECLASSIFIED OPTION CODE
  • Unavailable start
  • Tentatively Assigned
  • Assigned
  • Unassigned
FromToEvent
UnavailableTentatively Assignedvendor claims within 6 months
UnavailableUnassignedno claim after 6 months
Tentatively AssignedAssignedusage published as an RFC
Tentatively AssignedUnassignedno 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.

§6References