[Docs] [txt|pdf] [Tracker] [WG] [Email] [Nits]
Versions: 00
2000-07-14 13:33 New Option Review Carney Page 1
Network Working Group Michael Carney
Dynamic Host Configuration Working Group Sun Microsystems, Inc
Category: Standards Track July 2000
INTERNET-DRAFT Expires: January 2001
New Option Review Guidelines for DHCP
<draft-ietf-dhc-new-opt-review-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.
Comments regarding this draft should be sent to dhcp-v4@bucknell.edu
Abstract
This document outlines deficiencies that have become evident since
RFC 2131 and RFC 2132 were published regarding the allocation of
new option codes, the review of drafts covering these new option
codes, and the availability of option codes for new parameters. The
document then presents proposals for correcting these deficiencies.
1. Introduction
The rapid and wide-spread adoption of DHCP for IPv4 has lead to an
increasing number of new DHCP option and message type drafts under
DHC WG review. Experience with the current IANA option code
allocation process and the DHC WG draft review process has
identified a number of deficiencies, namely:
* We're rapidly going through the remaining option codes, and face
the possibility of exhausting the remaining codes before the
wide-spread adoption of IPv6 is achieved.
2000-07-14 13:33 New Option Review Carney Page 2
* There are no guidelines to help the DHC WG and the DHCP
community at large gauge the impact of the addition of new
message types and options. Some message types and options that
have been proposed require changes to the DHCP protocol itself
and/or current implementations. Because the adoption of such
message types or options has a greater impact on the DHCP
community, these message types and options require more
scrutiny by the DHC WG and IESG.
* Because some options or message types could change the DHCP
protocol itself, we need a method of explicitly communicating
the change of DHCP versions among implementations. Today, we
have no such method.
* There is no provision to preserve compatibility with earlier
versions of the protocol.
Inter-operability testing at Connectathon (1997-2000) has shown a
reduction in the level of interoperability between
implementations. These interoperability problems were found to
be due to confusion among implementors about how certain features
of the protocol should be implemented. Improvement (tightening)
of the general RFC 2131 and RFC 2132 drafts as well as the
tightening of new option drafts (using the guidelines defined in
this document) will help prevent these interoperability problems
from occurring as new implementations appear.
The specification of a RFC 2132-form option to carry the DHCP
protocol version and a proposal for a new, larger option namespace
is discussed in a companion document, "A New Option Namespace for
DHCP" [8].
1.1 Conventions Used in the Document
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 RFC 2119 [5].
2. Review Guidelines
We tackle the message type and option code review problem by
defining a set of categories based upon the impact the adoption
of an option or new message type will have on the DHCP community.
Option or new message drafts appropriately categorized aid
reviewers by helping them evaluate the draft. Once the DHC WG
and the draft author(s) agree on the category of the proposed
option or message type, that category will be listed explicitly
in the abstract of the option or message draft.
2000-07-14 13:33 New Option Review Carney Page 3
2.1. Hints for selecting the correct review category
Read the following hints and select the one which best describes
your option or message type, then proceed to Table 1 at the end of
this section for the suggested option review category. If, after
reading the following hints, you cannot find one that fits your
option or message type, read each of the category sections (2.2-2.5)
carefully. If you still are not sure which category your option
or message type belongs in, you can ask the DHC WG (if it still
exists) or the IESG for help in selecting the right category.
A) This option has no relationship to other existing or proposed
options. It would not require change of existing DHCP client,
server, or BOOTP relay agent implementations. It would not
change the version of the DHCP protocol. Its introduction
would not invalidate previous version(s) of the DHCP
protocol. The proposed option provides data which is
non-implementation specific and unrelated to network
configuration.
B) This message type has no relationship to other existing or
proposed message types. It would not require change of
existing DHCP client, server, or BOOTP relay agent
implementations. It would not change the version of the DHCP
protocol. The message type is useful to the DHCP community at
large.
C) This option has no relationship to other existing or
proposed options or message types. It would not require
change of existing DHCP client, server, or BOOTP relay
agent implementations. It would not change the version of the
DHCP protocol. Its introduction would not invalidate previous
version(s) of the DHCP protocol [8]. The information it carries
is network or system configuration related, but only for a
particular implementation or set of implementations from the
same vendor.
D) This option has no relationship to other existing or
proposed options or message types. It would not require change
of existing DHCP client, server, or BOOTP relay agent
implementations. It would not change the version of the DHCP
protocol. Its introduction would not invalidate previous
version(s) of the DHCP protocol [8]. It carries network or
system configuration data with is of general usefulness.
E) This option would have a implicit or explicit relationship
between it and other existing options or other proposed
options. It MAY change the behavior of existing DHCP client,
server, and/or BOOTP relay agent implementations. It would
not change the DHCP protocol version. Its introduction would
not invalidate previous version(s) of the DHCP protocol [8].
2000-07-14 13:33 New Option Review Carney Page 4
Examples of implicit/explicit option relationships:
Option Related Options
------ ---------------
Vendor Class Identifier Encapsulated vendor option(s)
User Class Identifier Standard option's scope
F) This message type would have a implicit or explicit
relationship between it and other existing message types or
options. Its adoption MAY change the behavior of existing DHCP
client, server, and/or BOOTP relay agent implementations. It
would not change the DHCP protocol version. Its introduction
would not invalidate previous version(s) of the DHCP
protocol [8].
G) The addition of this option would change Table 3, "Fields and
options used by DHCP servers" and/or Table 5, "Fields and
options used by DHCP clients" in RFC 2131 [1], and thus
change the DHCP protocol. Pre-existing versions /
implementations would continue to interoperate.
H) The addition of this option or message type would invalidate
previous versions of the DHCP protocol [8], preventing client,
server, and/or BOOTP relay agents implementing the earlier
version(s) from functioning.
Table 1: Linking Hints to Review Category
Guidelines Review Category
---------- ---------------
A None. Use SLP or an other alternative to
to register and deliver your information.
B Category One
C None. Use your Vendor-specific
option space for your option.
D Category One
E Category Two
F Category Two
G Category Three
H Category Four
2000-07-14 13:33 New Option Review Carney Page 5
2.2. Category One
Options in this category MUST NOT require changes to the DHCP
protocol, server, client, or BOOTP relay agent implementations.
They MUST NOT be dependent on other options being present or
absent. Earlier versions/implementations of the protocol continue
to interoperate in the presence of these options. Administrative
tools and DHCP protocol debugging tools which generically support
the default option types MAY need to be reconfigured in order to
permit management of the new option. Options of this type are
"payload" options, and MUST be of one of the default option types
for the option block form (RFC 2132 or RFC TBD_NS [8]).
Acceptance criteria:
Working group/IETF community review: Yes.
IANA option number registration: Yes.
Inter-operability testing (2 or more implementations) No.
DHCP protocol version change [8]: No.
2.3. Category Two
Options in this category MUST NOT require changes to the DHCP
protocol. They MAY require changes to server, client, relay agent
implementations, administrative tools, and DHCP protocol debugging
tools. They MAY depend on the presence or absence of other options,
as long as those other options are NOT in Table 3 or Table 5 of
RFC 2131 [1]. Any dependence on other options MUST be made
explicit in the new options draft. Existing versions /
implementations of the protocol continue to interoperate in the
presence of messages containing category two options. Options of
this type are "affect implementation" options.
An option MUST be designed in such a way as a reply/response from
non-compliant implementations can be easily distinguished from
those of compliant implementations. An option MUST NEVER change the
interpretation of existing options. The option draft author MUST
specify a compliant implementation's behavior if that implement-
ation receives a reply/response from a non-compliant implementation.
Acceptance criteria:
Working group/IETF community review: Yes.
IANA option number registration: Yes.
Inter-operability testing (2 or more implementations) Yes.
DHCP protocol version change [8]: No.
2000-07-14 13:33 New Option Review Carney Page 6
2.4. Category Three
Options in this category EXPLICITLY change the DHCP protocol. They
WILL require changes to server, client, and/or relay agent
implementations. They MAY depend on the presence or absence of
other options. Any dependence on other options MUST be made
explicit in the new option draft. The addition of such options
result in changes to Table 3, "Fields and options used by DHCP
servers" and/or Table 5, "Fields and options used by DHCP clients"
in RFC 2131 [1]. Existing versions / implementations of the
protocol continue to interoperate in the presence of traffic
containing category three options. Administrative tools MUST be
changed to support options of this type. DHCP protocol debugging
tools would need to be updated to recognize these options. Options
of this type are known as "affect protocol" options. The acceptance
of a Category Three option results in incrementing the DHCP version
option value (see a companion document, "A New Option Namespace
for DHCP" for details on the DHCP version option [8].
An option MUST be designed in such a way as a reply/response from
non-compliant implementations can be easily distinguished from
those of compliant implementations. The option draft author MUST
specify a compliant implementation's behavior if that implement-
ation receives a reply/response from a non-compliant
implementation. An option MUST NEVER change the interpretation of
existing options. Category Three option implementations can easily
detect a non-compliant implementation due to the absence of the
DHCP version option or a lower than expected version number [8].
Acceptance criteria:
Working group/IETF community review: Yes.
IANA option number registration: Yes.
Inter-operability testing (2 or more implementations) Yes.
DHCP protocol version change [8]: Yes.
2.5. Category Four
Options in this category would EXPLICITLY change the DHCP
protocol in a non-backward compatible manner. They would require
changes to ALL DHCP client, server, and/or BOOTP relay agent
implementations. They INVALIDATE one or more of the previous
versions of the BOOTP/DHCP protocol.
Because category four options invalidate previous versions of the
protocol, they are NOT candidates for acceptance. Changes to the
the DHCP protocol MUST BE backward compatible.
Acceptance criteria:
Working group/IETF community review: N/A.
IANA option number registration: N/A.
Inter-operability testing (2 or more implementations) N/A.
DHCP protocol version change [8]: N/A.
2000-07-14 13:33 New Option Review Carney Page 7
3. Security Considerations
Not Applicable.
4. Acknowledgements
The author would like to gratefully acknowledge the active
participation of the following DHCP future panel members:
Ralph Droms, Kester Fong, Pratik Gupta, Barr Hibbs, Kim Kinnear,
Ted Lemon, Nathan Lane, and Glenn Waters. The author would also
like to thank Thomas Narten and Bernie Volz for their review
comments.
5. Copyright
Copyright (C) The Internet Society (2000). 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.
6. References
[1] Droms, R. "Dynamic Host Configuration Protocol", RFC 2131,
Bucknell University, March 1997.
<ftp://ds.internic.net/rfc/rfc2131.txt>
[2] Alexander, S. and Droms, R., "DHCP Options and BOOTP
Vendor Extension", RFC 2132, March 1997.
<ftp://ds.internic.net/rfc/rfc2132.txt>
2000-07-14 13:33 New Option Review Carney Page 8
[3] Prindeville, P. "BOOTP Vendor Information Extensions", RFC 1048,
McGill University, February 1988.
<ftp://ds.internic.net/rfc/rfc1048.txt>
[4] Droms, R. "Procedure for Defining New DHCP Options",
INTERNET-DRAFT, August 1998
<ftp://www.ietf.org/internet-drafts/draft-ietf-dhc-new-options-02.txt>
[5] Bradner, "Key words for use in RFCs to Indicate Requirement
Levels", RFC 2119, Harvard University, March 1997.
<ftp://ds.internic.net/rfc/rfc2119.txt>
[6] Hinden R. and Deering, S., "IP Version 6 Addressing
Architecture", RFC 2373, Nokia and Cisco Systems, July 1998.
<ftp://ds.internic.net/rfc/rfc2373.txt>
[7] Guttman E., Perkins C., Veizades J., and Day M., "Service
Location Protocol, Version 2", April 1999.
<ftp://www.ietf.org/internet-drafts/draft-ietf-svrloc-protocol-v2-16.txt>
[8] Carney, M., "A New Option Namespace for DHCP", RFC TBD_NS,
July 2000. <ftp://ds.internic.net/rfc/rfcTBD_NS>
7. Author's Address
Michael Carney
Sun Microsystems, Inc.
901 San Antonio Road
Palo Alto, CA 94303-4900
Phone: (650) 786-4171
Fax: (650) 786-5896
Email: Michael.Carney@sun.com
8. Expiration
This document will expire on January 31, 2001.
Html markup produced by rfcmarkup 1.129d, available from
https://tools.ietf.org/tools/rfcmarkup/