Internet Engineering Task Force B. Volz
INTERNET DRAFT Ericsson
Expires: August 2003 R. Droms
Cisco
T. Lemon
Nominum
May 2003
Extending DHCP Options Codes
draft-ietf-dhc-extended-optioncodes-00.txt
Status of this Memo
This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026.
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 November 7, 2003.
Copyright Notice
Copyright (C) The Internet Society (2003). All Rights Reserved.
Abstract
RFC 2132 defines the DHCP for IPv4 options 1 to 127 as the DHCP
public option space which is managed by IANA as documented in RFC
2939. As this public option space has few unassigned options at this
time, it is prudent to define a mechanism to extend this option space
before it is too late. This Internet-Draft proposes several means to
extend this option space.
Volz, et al. Expires 7 Nov 2003 [Page 1]
Internet Draft Extending DHCP Options Codes May 7, 2003
1. Introduction
RFC 2132 defines the DHCP public option space as options 1 to 127
(decimal). This option space has a limited number of unassigned
option numbers at the present time. Work is in progress
[unused-optioncodes] to recover options that were assigned before
RFC 2489 (since updated by 2939) was published and never formally
documented. Approximately 20 unused option codes should be available
after the recovery initiative is completed and currently pending
options are assigned codes.
However, even with this effort, the current public space is likely to
be exhausted over the expected lifetime of DHCPv4 and so some actions
are needed to plan for this before it is too late.
This document proposes four means to extend this option space:
1. Use already allocated options 126 and 127 as previously proposed
by Ralph Droms.
2. Use option numbers from the site-specific option space as defined
by RFC 2132 (options 128 to 254).
3. Reclaim publicly assigned DHCP option numbers that are not in
active use.
4. Use 16-bit options and a new magic cookie to identify use of the
16-bit option format.
2. Requirements
The requirements for any proposal to extend the public options space
should include:
o The mechanism must interoperate with existing clients and servers.
Existing clients should be able to continue operating with servers
that implement the mechanism, and vice versa.
o The mechanism must interoperate with existing relay agents. Relay
agents must not need to be updated in order for clients and
servers to use the mechanism.
o The mechanism must not create an undue burden to DHCP client and
server implementations for the first few options that need to make
use of this option space.
o The mechanism must not negatively impact existing DHCP uses.
o The mechanism must not negatively impact existing
standards-compliant uses of DHCP.
Volz, et al. Expires 7 Nov 2003 [Page 2]
Internet Draft Extending DHCP Options Codes May 7, 2003
3. Use of 16-bit Options
The first proposal, originally submitted in late 1996 by Ralph Droms
proposed the use of two "extension options" and requested IANA to
reserve options 126 and 127 for this purpose. As this pre-dated
RFC 2489 procedures, these option codes were assigned without formal
review and are now being considered to be returned to the available
list [unused-optioncodes].
3.1 Definition of option 127
Option code 127 indicates that the DHCP option has a two-octet
extended option code. The format of these options is:
Extended
Code Len option code Data...
+-----+-----+-----+-----+-----+-----+----
| 127 | XXX | oh | ol | d1 | d2 | ...
+-----+-----+-----+-----+-----+-----+----
3.2 Definition of option 126
This option is used by a DHCP client to request values for specified
configuration parameters that are identified by extended option codes
as defined above. The list of n requested parameters is specified as
2n octets, where each pair of octets is a valid extended option code.
The client MAY list the options in order of preference. The DHCP
server is not required to return the options in the requested order,
but MUST try to insert the requested options in the order requested
by the client.
The code for this option is 126. Its minimum length is 2.
Extended
Code Len option codes
+-----+-----+-----+-----+-----+-----+----
| 126 | XXX | c1h | c1l | c2h | c2l | ...
+-----+-----+-----+-----+-----+-----+----
4. Using Site-Specific Options
The site-specific option range is rather large (127 options in all)
and has, in general, been little used. Ideally, DHCP options in wide
use should be in the public option space rather than in the
site-specific space (since these options are not site specific).
The use of option codes in the site-specific option code range (128 -
254 decimal) for other purposes such as vendor defined options that
have not been part of the IETF standards process is not compliant
with the DHCP Internet Standard as described in RFC2132.
Volz, et al. Expires 7 Nov 2003 [Page 3]
Internet Draft Extending DHCP Options Codes May 7, 2003
This proposal is to reclassify site specific options 128 to 223 as
public options, leaving options 224 to 254 as site specific options.
As proper use of site-specific options likely requires very few
actual options, this proposal leaves 31 site-specific options.
4.1 Impact To Existing Site-Specific Options
There are known to be uses of option codes that are not
standards-compliant and there are likely sites legitimately using
option codes in the range being proposed for reclassification. These
sites and users will be impacted by this action when IANA begins to
assign the options numbers to new uses.
Users would be encouraged to move to alternative site-specific option
numbers (224 to 254), switch to using the vendor-specific option, or
document the existing usage and request a public option number using
the process described in RFC 2939 (IANA should be requested to
allocate the existing site-specific option number if in the
reclassified public option space and still available).
IANA would be requested to assign the reclassified options only after
the original public option space (1 to 127) has been exhausted. And,
further IANA should assign options from this reclassified range
starting at the lowest value (128).
This should give a reasonable amount of time for corrective action to
be taken.
If there are existing uses of these options and some of the systems
can not be updated, there is a potential for confusion at some point.
4.2. Resultant IANA Recommendations
IANA is requested to increase the DHCP public option space from 1 to
127 to 1 to 223. IANA is requested not to assign any options from the
new space (128 to 223) until such time as all options from 1 to 127
have been assigned. At such time, IANA is further requested to assign
options starting at 128 on up.
IANA should allow an exception to the above when an existing usage of
a site-specific option in the 128 to 223 range is approved (per RFC
2939) and the approved usage is consistent with the existing usage,
IANA should assign the existing site-specific option number if
available.
5. Reclaiming Unused Options
There are some DHCP options specified in [RFC2132] or since assigned
by IANA that are believed not to be in use today and these could be
reclaimed and made available for reassignment to future options.
Volz, et al. Expires 7 Nov 2003 [Page 4]
Internet Draft Extending DHCP Options Codes May 7, 2003
Research would be needed to create a list of these options and
solicit feedback from the IETF community to confirm if these options
are not in active use.
This is already being done for options assigned by IANA but never
officially documented [unused-optioncodes].
6. New Magic Cookie with 16-bit Options
This proposal would use a new magic cookie (the current is defined
in [RFC1497]) for DHCP messages and messages using this new cookie
would use 16-bit options (16-bit option code and length fields).
The existing 8-bit options would use the first 256 codes in the new
16-bit option space.
This proposal would require clients, servers, and relays agents to
support both 8-bit and 16-bit option formats for a time. The first
option to use the 16-bit options would require significant
implementation work in client, server, and relay agent code to add
the required support.
This proposal would require a client to send the new magic cookie
formatted message and if no server responded, try the old magic
cookie formatted messages. A client might send both simultaneously to
speed up the process, at the expends of increased broadcast traffic.
7. Analysis of the Proposals
7.1 Use of 16-bit Options
This proposal allows for a very large number of DHCP options and with
the definition of the procedure for encoding large options [RFC3396],
the data in Option 127 would not be restricted to 255 octets.
The proposal meets all of the requirements listed in section 2 with
one exception, "the mechanism must not create an undue burden to DHCP
client and server implements for the first few options that need to
make use of this option space." The first option using this proposal
will require implementing two other options (in addition to the
desired option) - option 127 and 126 as defined by the proposal - and
also the encoding large options [RFC3396] if not already implemented.
The encoding of large options is needed to allow option 127 to carry
multiple 16-bit options and allow these options (either singly or in
aggregate) to exceed 255 bytes.
7.2 Using Site-Specific Options
This proposal adds 96 additional DHCP options to the public options
space, which is about 75% of the original space. The original space
Volz, et al. Expires 7 Nov 2003 [Page 5]
Internet Draft Extending DHCP Options Codes May 7, 2003
has lasted 10+ years (based on the publication of RFC 1531) and is
not yet exhausted. This original space also included many options
inherited from BOOTP and to support the basic DHCP protocol. Thus, 96
additional option codes should last for a long time.
The proposal meets all of the requirements listed in section 2 with
one exception, "The mechanism must not negatively impact existing
DHCP uses." As stated in section 4.1, existing uses of site-specific
options in the reclassified range are impacted and these uses must
be moved to the newly proposed site-specific option range, to a
vendor specific option, or documented and to a public option.
However, there are believed to be few sites that make heavy use of
site-specific options and they would have many years to redeploy.
7.3 Reclaiming Options
This proposal would likely result in few options being reclaimed.
Therefore, while nothing precludes doing this in parallel with one of
the other proposals, the benefit is believed to be fairly minor. And,
there is a risk that a reused option might conflict with an earlier
use of the option in some client, server, relay agent, or other
implementations and result in unexpected problems or at best
confusion.
Note that this is somewhat different than the work being done to
reclaim undocumented options ([unused-optioncodes]), as these options
were not officially adopted and documented by the IETF.
7.4 New Magic Cookie with 16-bit Options
This proposal requires client, servers, and relay agents to likely
support both the current DHCP message format with 8-bit options as
well as the new 16-bit options. It would require clients to send
both types of messages, perhaps favoring the new format and if no
response is received causing the client to send the old format.
It is not known how existing clients, servers, and relay agents
would behave if they received messages with the new magic cookie
values. Presumably, the messages would be dropped. In the worst
case, it could cause significant failures (though in these cases
it could be argued that these devices should be promptly corrected
as this presents an easy denial of service attack).
This proposal fails to interoperate with existing clients, servers,
and relays. It also impacts other devices that monitor DHCP traffic
(such as packet sniffers).
This proposal creates an undue burden for the first few options that
need to make use of the 16-bit option space.
Volz, et al. Expires 7 Nov 2003 [Page 6]
Internet Draft Extending DHCP Options Codes May 7, 2003
This proposal also impacts networks for a long time as clients and
servers may need to send messages with both the new and old magic
cookie values.
7.5 Recommendations
TBD
8. Security Considerations
This document in and by itself provides no security, nor does it
impact existing security.
References
[RFC1497] Reynolds, J., "BOOTP Vendor Information Extensions", RFC
1497, USC/Information Sciences Institute, August 1993.
[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.
[RFC3396] Lemon, T. and S. Cheshire, "Encoding Long DHCP Options",
RFC 3396, November 2002.
[unused-optioncodes] Droms, "Unused DHCP Option Codes", Work in
Progress.
Author's Address
Ralph Droms
Cisco Systems
300 Apollo Drive
Chelmsford, MA 01824
Phone: +1 978.497.4733
EMail: rdroms@cisco.com
Ted Lemon
Nominum, Inc.
950 Charter Street
Redwood City, CA 94043
USA
E-mail: Ted.Lemon@nominum.com
Volz, et al. Expires 7 Nov 2003 [Page 7]
Internet Draft Extending DHCP Options Codes May 7, 2003
Bernie Volz
Ericsson
959 Concord Street
Framingham, MA 01701
Phone: +1 508 875 3162
EMail: bernie.volz@ericsson.com
Volz, et al. Expires 7 Nov 2003 [Page 8]
Internet Draft Extending DHCP Options Codes May 7, 2003
Full Copyright Statement
Copyright (C) The Internet Society (2003). All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS 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.
Acknowledgement
Funding for the RFC Editor function is currently provided by the
Internet Society.
Volz, et al. Expires 7 Nov 2003 [Page 9]