draft-ietf-dhc-option-guidelines-04.txt   draft-ietf-dhc-option-guidelines-05.txt 
Dynamic Host Configuration Working D. Hankins Dynamic Host Configuration Working D. Hankins
Group ISC Group ISC
Intended status: Informational Intended status: Informational
Expires: August 21, 2009 Expires: August 28, 2009
Guidelines for Creating New DHCP Options Guidelines for Creating New DHCP Options
draft-ietf-dhc-option-guidelines-04 draft-ietf-dhc-option-guidelines-05
Status of this Memo Status of this Memo
This Internet-Draft is submitted to IETF in full conformance with the This Internet-Draft is submitted to IETF in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet- other groups may also distribute working documents as Internet-
Drafts. Drafts.
skipping to change at page 1, line 33 skipping to change at page 1, line 33
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt. http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on August 21, 2009. This Internet-Draft will expire on August 28, 2009.
Copyright Notice Copyright Notice
Copyright (c) 2009 IETF Trust and the persons identified as the Copyright (c) 2009 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 2, line 21 skipping to change at page 2, line 21
3. General Principles . . . . . . . . . . . . . . . . . . . . . . 4 3. General Principles . . . . . . . . . . . . . . . . . . . . . . 4
4. Reusing Other Options . . . . . . . . . . . . . . . . . . . . 5 4. Reusing Other Options . . . . . . . . . . . . . . . . . . . . 5
5. Conditional Formatting is Hard . . . . . . . . . . . . . . . . 7 5. Conditional Formatting is Hard . . . . . . . . . . . . . . . . 7
6. Avoid Aliasing . . . . . . . . . . . . . . . . . . . . . . . . 7 6. Avoid Aliasing . . . . . . . . . . . . . . . . . . . . . . . . 7
7. New Formats . . . . . . . . . . . . . . . . . . . . . . . . . 8 7. New Formats . . . . . . . . . . . . . . . . . . . . . . . . . 8
8. The Dangers of Sub Options . . . . . . . . . . . . . . . . . . 8 8. The Dangers of Sub Options . . . . . . . . . . . . . . . . . . 8
9. Option Size . . . . . . . . . . . . . . . . . . . . . . . . . 9 9. Option Size . . . . . . . . . . . . . . . . . . . . . . . . . 9
10. Clients Request their Options . . . . . . . . . . . . . . . . 11 10. Clients Request their Options . . . . . . . . . . . . . . . . 11
11. Security Considerations . . . . . . . . . . . . . . . . . . . 11 11. Security Considerations . . . . . . . . . . . . . . . . . . . 11
12. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 12. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12
13. Appendix A: Background on ISC DHCP . . . . . . . . . . . . . . 12 13. Informative References . . . . . . . . . . . . . . . . . . . . 12
13.1. Atomic DHCP . . . . . . . . . . . . . . . . . . . . . . . 14 Appendix A. Background on ISC DHCP . . . . . . . . . . . . . . . 15
14. Informative References . . . . . . . . . . . . . . . . . . . . 15 A.1. Atomic DHCP . . . . . . . . . . . . . . . . . . . . . . . 16
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 17 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 17
1. Introduction 1. Introduction
Most protocol developers ask themselves if a protocol will work, or Most protocol developers ask themselves if a protocol will work, or
work efficiently. These are important questions, but another less work efficiently. These are important questions, but another less
frequently considered question is whether the proposed protocol frequently considered question is whether the proposed protocol
presents itself needless barriers to adoption by deployed software. presents itself needless barriers to adoption by deployed software.
DHCPv4 [RFC2131] and DHCPv6 [RFC3315] software implementors are not DHCPv4 [RFC2131] and DHCPv6 [RFC3315] software implementors are not
merely faced with the task of a given option's format on the wire. merely faced with the task of a given option's format on the wire.
The option must "fit" into every stage of the system's process, which The option must "fit" into every stage of the system's process, which
includes user interface considerations. To help understand the includes user interface considerations. To help understand the
potential implementation challenges of any new DHCP Option, one potential implementation challenges of any new DHCP Option, one
implementation's approach to tackling DHCP Option formats implementation's approach to tackling DHCP Option formats
(Section 13) has been included as an Appendix. (Appendix A) has been included as an Appendix.
Another more frequently overlooked aspect of rapid adoption is the Another more frequently overlooked aspect of rapid adoption is the
question: Would the option would require operators to be intimately question: Would the option would require operators to be intimately
familiar with the option's internal format in order to make use of familiar with the option's internal format in order to make use of
it? Most DHCP software provides a facility for "unknown options" at it? Most DHCP software provides a facility for "unknown options" at
the time of publication to be configured by hand by an operator. But the time of publication to be configured by hand by an operator. But
if doing so requires extensive reading (more than can be covered in a if doing so requires extensive reading (more than can be covered in a
simple FAQ for example), it inhibits adoption. simple FAQ for example), it inhibits adoption.
So although a given solution would work, and might even be space, So although a given solution would work, and might even be space,
skipping to change at page 12, line 45 skipping to change at page 12, line 45
"internal configuration" records of the system, it may be trusted, "internal configuration" records of the system, it may be trusted,
rather than validated. rather than validated.
So it behooves an option's definition to contain any validation So it behooves an option's definition to contain any validation
measures as can reasonably be made. measures as can reasonably be made.
12. IANA Considerations 12. IANA Considerations
This document has no actions for IANA. This document has no actions for IANA.
13. Appendix A: Background on ISC DHCP 13. Informative References
[RFC1035] Mockapetris, P., "Domain names - implementation and
specification", STD 13, RFC 1035, November 1987.
[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.
[RFC2241] Provan, D., "DHCP Options for Novell Directory Services",
RFC 2241, November 1997.
[RFC2242] Droms, R. and K. Fong, "NetWare/IP Domain Name and
Information", RFC 2242, November 1997.
[RFC3011] Waters, G., "The IPv4 Subnet Selection Option for DHCP",
RFC 3011, November 2000.
[RFC3046] Patrick, M., "DHCP Relay Agent Information Option",
RFC 3046, January 2001.
[RFC3118] Droms, R. and W. Arbaugh, "Authentication for DHCP
Messages", RFC 3118, June 2001.
[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.
[RFC3319] Schulzrinne, H. and B. Volz, "Dynamic Host Configuration
Protocol (DHCPv6) Options for Session Initiation Protocol
(SIP) Servers", RFC 3319, July 2003.
[RFC3397] Aboba, B. and S. Cheshire, "Dynamic Host Configuration
Protocol (DHCP) Domain Search Option", RFC 3397,
November 2002.
[RFC3442] Lemon, T., Cheshire, S., and B. Volz, "The Classless
Static Route Option for Dynamic Host Configuration
Protocol (DHCP) version 4", RFC 3442, December 2002.
[RFC3495] Beser, B. and P. Duffy, "Dynamic Host Configuration
Protocol (DHCP) Option for CableLabs Client
Configuration", RFC 3495, March 2003.
[RFC3527] Kinnear, K., Stapp, M., Johnson, R., and J. Kumarasamy,
"Link Selection sub-option for the Relay Agent Information
Option for DHCPv4", RFC 3527, April 2003.
[RFC3634] Luehrs, K., Woundy, R., Bevilacqua, J., and N. Davoust,
"Key Distribution Center (KDC) Server Address Sub-option
for the Dynamic Host Configuration Protocol (DHCP)
CableLabs Client Configuration (CCC) Option", RFC 3634,
December 2003.
[RFC3646] Droms, R., "DNS Configuration options for Dynamic Host
Configuration Protocol for IPv6 (DHCPv6)", RFC 3646,
December 2003.
[RFC3898] Kalusivalingam, V., "Network Information Service (NIS)
Configuration Options for Dynamic Host Configuration
Protocol for IPv6 (DHCPv6)", RFC 3898, October 2004.
[RFC3925] Littlefield, J., "Vendor-Identifying Vendor Options for
Dynamic Host Configuration Protocol version 4 (DHCPv4)",
RFC 3925, October 2004.
[RFC3942] Volz, B., "Reclassifying Dynamic Host Configuration
Protocol version 4 (DHCPv4) Options", RFC 3942,
November 2004.
[RFC4030] Stapp, M. and T. Lemon, "The Authentication Suboption for
the Dynamic Host Configuration Protocol (DHCP) Relay Agent
Option", RFC 4030, March 2005.
[RFC4075] Kalusivalingam, V., "Simple Network Time Protocol (SNTP)
Configuration Option for DHCPv6", RFC 4075, May 2005.
[RFC4174] Monia, C., Tseng, J., and K. Gibbons, "The IPv4 Dynamic
Host Configuration Protocol (DHCP) Option for the Internet
Storage Name Service", RFC 4174, September 2005.
[RFC4280] Chowdhury, K., Yegani, P., and L. Madour, "Dynamic Host
Configuration Protocol (DHCP) Options for Broadcast and
Multicast Control Servers", RFC 4280, November 2005.
[RFC4702] Stapp, M., Volz, B., and Y. Rekhter, "The Dynamic Host
Configuration Protocol (DHCP) Client Fully Qualified
Domain Name (FQDN) Option", RFC 4702, October 2006.
[RFC4704] Volz, B., "The Dynamic Host Configuration Protocol for
IPv6 (DHCPv6) Client Fully Qualified Domain Name (FQDN)
Option", RFC 4704, October 2006.
[RFC4833] Lear, E. and P. Eggert, "Timezone Options for DHCP",
RFC 4833, April 2007.
Appendix A. Background on ISC DHCP
The ISC DHCP software package was mostly written by Ted Lemon in The ISC DHCP software package was mostly written by Ted Lemon in
cooperation with Nominum, Inc. Since then, it has been given to cooperation with Nominum, Inc. Since then, it has been given to
Internet Systems Consortium, Inc. ("ISC") where it has been Internet Systems Consortium, Inc. ("ISC") where it has been
maintained in the public interest by contributors and ISC employees. maintained in the public interest by contributors and ISC employees.
It includes a DHCP Server, Relay, and Client implementation, with a It includes a DHCP Server, Relay, and Client implementation, with a
common library of DHCP protocol handling procedures. common library of DHCP protocol handling procedures.
The DHCP Client may be found on some Linux distributions, and FreeBSD The DHCP Client may be found on some Linux distributions, and FreeBSD
skipping to change at page 14, line 20 skipping to change at page 16, line 25
Another simple trick is to use the same (or very nearly the same) Another simple trick is to use the same (or very nearly the same)
format for persistent storage as is used to convey parameters to format for persistent storage as is used to convey parameters to
applications. This reduces the number of functions again from 3 to applications. This reduces the number of functions again from 3 to
2. 2.
This is still an intractable number of functions per each DHCP This is still an intractable number of functions per each DHCP
option, even without the entire DHCP option space populated. So, we option, even without the entire DHCP option space populated. So, we
need a way to reduce this to small orders. need a way to reduce this to small orders.
13.1. Atomic DHCP A.1. Atomic DHCP
To accomplish these goals, a common "Format String" is used to To accomplish these goals, a common "Format String" is used to
describe, in abstract, all of the above. Each byte in this format describe, in abstract, all of the above. Each byte in this format
string represents a "DHCP Atom". We chain these 'atoms' together, string represents a "DHCP Atom". We chain these 'atoms' together,
forming a sort of molecular structure for a particular DHCP Option. forming a sort of molecular structure for a particular DHCP Option.
The Configuration Syntax allows the user to construct such a format The Configuration Syntax allows the user to construct such a format
string without having to understand how the Atom is encoded on the string without having to understand how the Atom is encoded on the
wire, and how it is configured or presented. wire, and how it is configured or presented.
skipping to change at page 15, line 32 skipping to change at page 17, line 35
Once the options' syntax configuration is out of the way, values to Once the options' syntax configuration is out of the way, values to
be carried in the options may be configured. These acts are be carried in the options may be configured. These acts are
distinct; the previous configuration only prepares the parser system distinct; the previous configuration only prepares the parser system
to accept the configuration below. The below configuration actually to accept the configuration below. The below configuration actually
supplies a value to be transmitted on the wire. supplies a value to be transmitted on the wire.
option dhcp.path-mtu-plataeu-table 4352, 1500, 576; option dhcp.path-mtu-plataeu-table 4352, 1500, 576;
option dhcp.static-routes 10.10.10.10 10.10.10.9, option dhcp.static-routes 10.10.10.10 10.10.10.9,
10.10.10.11 10.10.10.9; 10.10.10.11 10.10.10.9;
14. Informative References
[RFC1035] Mockapetris, P., "Domain names - implementation and
specification", STD 13, RFC 1035, November 1987.
[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.
[RFC2241] Provan, D., "DHCP Options for Novell Directory Services",
RFC 2241, November 1997.
[RFC2242] Droms, R. and K. Fong, "NetWare/IP Domain Name and
Information", RFC 2242, November 1997.
[RFC3011] Waters, G., "The IPv4 Subnet Selection Option for DHCP",
RFC 3011, November 2000.
[RFC3046] Patrick, M., "DHCP Relay Agent Information Option",
RFC 3046, January 2001.
[RFC3118] Droms, R. and W. Arbaugh, "Authentication for DHCP
Messages", RFC 3118, June 2001.
[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.
[RFC3319] Schulzrinne, H. and B. Volz, "Dynamic Host Configuration
Protocol (DHCPv6) Options for Session Initiation Protocol
(SIP) Servers", RFC 3319, July 2003.
[RFC3397] Aboba, B. and S. Cheshire, "Dynamic Host Configuration
Protocol (DHCP) Domain Search Option", RFC 3397,
November 2002.
[RFC3442] Lemon, T., Cheshire, S., and B. Volz, "The Classless
Static Route Option for Dynamic Host Configuration
Protocol (DHCP) version 4", RFC 3442, December 2002.
[RFC3495] Beser, B. and P. Duffy, "Dynamic Host Configuration
Protocol (DHCP) Option for CableLabs Client
Configuration", RFC 3495, March 2003.
[RFC3527] Kinnear, K., Stapp, M., Johnson, R., and J. Kumarasamy,
"Link Selection sub-option for the Relay Agent Information
Option for DHCPv4", RFC 3527, April 2003.
[RFC3634] Luehrs, K., Woundy, R., Bevilacqua, J., and N. Davoust,
"Key Distribution Center (KDC) Server Address Sub-option
for the Dynamic Host Configuration Protocol (DHCP)
CableLabs Client Configuration (CCC) Option", RFC 3634,
December 2003.
[RFC3646] Droms, R., "DNS Configuration options for Dynamic Host
Configuration Protocol for IPv6 (DHCPv6)", RFC 3646,
December 2003.
[RFC3898] Kalusivalingam, V., "Network Information Service (NIS)
Configuration Options for Dynamic Host Configuration
Protocol for IPv6 (DHCPv6)", RFC 3898, October 2004.
[RFC3925] Littlefield, J., "Vendor-Identifying Vendor Options for
Dynamic Host Configuration Protocol version 4 (DHCPv4)",
RFC 3925, October 2004.
[RFC3942] Volz, B., "Reclassifying Dynamic Host Configuration
Protocol version 4 (DHCPv4) Options", RFC 3942,
November 2004.
[RFC4030] Stapp, M. and T. Lemon, "The Authentication Suboption for
the Dynamic Host Configuration Protocol (DHCP) Relay Agent
Option", RFC 4030, March 2005.
[RFC4075] Kalusivalingam, V., "Simple Network Time Protocol (SNTP)
Configuration Option for DHCPv6", RFC 4075, May 2005.
[RFC4174] Monia, C., Tseng, J., and K. Gibbons, "The IPv4 Dynamic
Host Configuration Protocol (DHCP) Option for the Internet
Storage Name Service", RFC 4174, September 2005.
[RFC4280] Chowdhury, K., Yegani, P., and L. Madour, "Dynamic Host
Configuration Protocol (DHCP) Options for Broadcast and
Multicast Control Servers", RFC 4280, November 2005.
[RFC4702] Stapp, M., Volz, B., and Y. Rekhter, "The Dynamic Host
Configuration Protocol (DHCP) Client Fully Qualified
Domain Name (FQDN) Option", RFC 4702, October 2006.
[RFC4704] Volz, B., "The Dynamic Host Configuration Protocol for
IPv6 (DHCPv6) Client Fully Qualified Domain Name (FQDN)
Option", RFC 4704, October 2006.
[RFC4833] Lear, E. and P. Eggert, "Timezone Options for DHCP",
RFC 4833, April 2007.
Author's Address Author's Address
David W. Hankins David W. Hankins
Internet Systems Consortium, Inc. Internet Systems Consortium, Inc.
950 Charter Street 950 Charter Street
Redwood City, CA 94063 Redwood City, CA 94063
US US
Phone: +1 650 423 1307 Phone: +1 650 423 1307
Email: David_Hankins@isc.org Email: David_Hankins@isc.org
 End of changes. 8 change blocks. 
107 lines changed or deleted 107 lines changed or added

This html diff was produced by rfcdiff 1.35. The latest version is available from http://tools.ietf.org/tools/rfcdiff/