draft-ietf-dhc-options-02.txt   rfc1533.txt 
Network Working Group Internet Engineering Task Force Network Working Group S. Alexander
Internet-Draft S. Alexander Request for Comments: 1533 Lachman Technology, Inc.
INTERACTIVE Systems Obsoletes: 1497, 1395, 1084, 1048 R. Droms
R. Droms Category: Standards Track Bucknell University
Bucknell University October 1993
November 1992
DHCP Options and BOOTP Vendor Extensions DHCP Options and BOOTP Vendor Extensions
Status of this Memo Status of this Memo
This document is an Internet Draft. Internet Drafts are working This RFC specifies an Internet standards track protocol for the
documents of the Internet Engineering Task Force (IETF), its Areas, Internet community, and requests discussion and suggestions for
and its Working Groups. Note that other groups may also distribute improvements. Please refer to the current edition of the "Internet
working documents as Internet Drafts. Official Protocol Standards" for the standardization state and status
of this protocol. Distribution of this memo is unlimited.
Internet Drafts are draft documents valid for a maximum of six
months. Internet Drafts may be updated, replaced, or obsoleted by
other documents at any time. It is not appropriate to use Internet
Drafts as reference material or to cite them other than as a "working
draft" or "work in progress."
Please check the 1id-abstracts.txt listing contained in the
internet-drafts Shadow Directories on nic.ddn.mil, nnsc.nsf.net,
nic.nordu.net, ftp.nisc.sri.com, or munnari.oz.au to learn the
current status of any Internet Draft.
Distribution of this memo is unlimited.
Abstract Abstract
The Dynamic Host Configuration Protocol (DHCP) [1] provides a The Dynamic Host Configuration Protocol (DHCP) [1] provides a
framework for passing configuration information to hosts on a TCP/IP framework for passing configuration information to hosts on a TCP/IP
network. Configuration parameters and other control information are network. Configuration parameters and other control information are
carried in tagged data items that are stored in the "options" field carried in tagged data items that are stored in the "options" field
of the DHCP message. The data items themselves are also called of the DHCP message. The data items themselves are also called
"options." "options."
This document specifies the current set of DHCP options. This This document specifies the current set of DHCP options. This
document will be periodically updated as new options are defined. document will be periodically updated as new options are defined.
Each superseding document will include the entire current list of Each superseding document will include the entire current list of
valid options. valid options.
All of the vendor information extensions defined in RFC 1497 [2] may
be used as DHCP options. The definitions given in RFC 1497 are
included in this document, which supersedes RFC 1497. All of the
DHCP options defined in this document, except for those specific to
DHCP as defined in section 9, may be used as BOOTP vendor information
extensions.
Table of Contents Table of Contents
1. DHCP Option Fields ........................................ 2 1. Introduction .............................................. 2
2. RFC 1084 Vendor Extensions ................................ 2 2. BOOTP Extension/DHCP Option Field Format .................. 2
3. IP Layer Parameters per Host .............................. 6 3. RFC 1497 Vendor Extensions ................................ 3
4. IP Layer Parameters per Interface ......................... 9 4. IP Layer Parameters per Host .............................. 10
5. Link Layer Parameters per Interface ....................... 11 5. IP Layer Parameters per Interface ........................ 13
6. TCP Parameters ............................................ 12 6. Link Layer Parameters per Interface ....................... 16
7. DHCP Extensions ........................................... 13 7. TCP Parameters ............................................ 17
8. Security Considerations ................................... 16 8. Application and Service Parameters ........................ 18
9. References ................................................ 16 9. DHCP Extensions ........................................... 23
10. Authors' Address .......................................... 17 10. Extensions ................................................ 27
11. Acknowledgements .......................................... 28
12. References ................................................ 28
13. Security Considerations ................................... 19
14. Authors' Addresses ........................................ 30
1. DHCP Option Fields 1. Introduction
This document specifies options for use with both the Dynamic Host
Configuration Protocol and the Bootstrap Protocol.
The full description of DHCP packet formats may be found in the DHCP
specification document [1], and the full description of BOOTP packet
formats may be found in the BOOTP specification document [3]. This
document defines the format of information in the last field of DHCP
packets ('options') and of BOOTP packets ('vend'). The remainder of
this section defines a generalized use of this area for giving
information useful to a wide class of machines, operating systems and
configurations. Sites with a single DHCP or BOOTP server that is
shared among heterogeneous clients may choose to define other, site-
specific formats for the use of the 'options' field.
Section 2 of this memo describes the formats of DHCP options and
BOOTP vendor extensions. Section 3 describes options defined in
previous documents for use with BOOTP (all may also be used with
DHCP). Sections 4-8 define new options intended for use with both
DHCP and BOOTP. Section 9 defines options used only in DHCP.
References further describing most of the options defined in sections
2-6 can be found in section 12. The use of the options defined in
section 9 is described in the DHCP specification [1].
Information on registering new options is contained in section 10.
2. BOOTP Extension/DHCP Option Field Format
DHCP options have the same format as the BOOTP "vendor extensions" DHCP options have the same format as the BOOTP "vendor extensions"
defined in RFC 1084 [2]. Options may be fixed length or variable defined in RFC 1497 [2]. Options may be fixed length or variable
length. All options begin with a tag octet, which uniquely length. All options begin with a tag octet, which uniquely
identifies the option. Fixed length options without data consist of identifies the option. Fixed-length options without data consist of
only a tag octet. For fixed length options with data, the data only a tag octet. Only options 0 and 255 are fixed length. All
immediately follows the tag octet. For variable length options, a other options are variable-length with a length octet following the
length octet follows the tag octet. The length octet is followed by tag octet. The value of the length octet does not include the two
length octets of data. octets specifying the tag and length. The length octet is followed
by "length" octets of data. In the case of some variable-length
options the length field is a constant but must still be specified.
Any options defined subsequent to this document should contain a
length octet even if the length is fixed or zero.
All multi-octet quantities are in network byte-order. All multi-octet quantities are in network byte-order.
All of the "vendor extensions" defined in RFC 1084 are also DHCP When used with BOOTP, the first four octets of the vendor information
field have been assigned to the "magic cookie" (as suggested in RFC
951). This field identifies the mode in which the succeeding data is
to be interpreted. The value of the magic cookie is the 4 octet
dotted decimal 99.130.83.99 (or hexadecimal number 63.82.53.63) in
network byte order.
All of the "vendor extensions" defined in RFC 1497 are also DHCP
options. options.
Option codes 128 to 254 (decimal) are reserved for site-specific Option codes 128 to 254 (decimal) are reserved for site-specific
options. options.
Except for the options in section 7, all options may be used with Except for the options in section 9, all options may be used with
either DHCP or BOOTP. either DHCP or BOOTP.
Many of these options may have default values specified in other Many of these options have their default values specified in other
documents. In particular, RFC 1122 [3] specifies default values for documents. In particular, RFC 1122 [4] specifies default values for
many aspects of IP and TCP behavior. most IP and TCP configuration parameters.
2. RFC 1084 Vendor Extensions 3. RFC 1497 Vendor Extensions
This section lists the vendor extensions as defined in RFC 1084. This section lists the vendor extensions as defined in RFC 1497.
They are defined here for completeness. They are defined here for completeness.
2.1. Pad Option 3.1. Pad Option
The pad option can be used to cause subsequent fields to align on The pad option can be used to cause subsequent fields to align on
word boundaries. The code for the pad option is 0, and its length is word boundaries.
1 octet.
The code for the pad option is 0, and its length is 1 octet.
Code Code
+-----+ +-----+
| 0 | | 0 |
+-----+ +-----+
2.2. End Option 3.2. End Option
The end option marks the end of valid information in the vendor The end option marks the end of valid information in the vendor
field. Subsequent octets should be filled with pad options. The field. Subsequent octets should be filled with pad options.
code for the end option is 255, and its length is 1 octet.
The code for the end option is 255, and its length is 1 octet.
Code Code
+-----+ +-----+
| 255 | | 255 |
+-----+ +-----+
2.3. Subnet Mask 3.3. Subnet Mask
The subnet mask option specifies the local subnet mask as per RFC 950 The subnet mask option specifies the client's subnet mask as per RFC
[4]. The code for the subnet mask option is 1, and its length is 4 950 [5].
octets.
If both the subnet mask and the router option are specified in a DHCP If both the subnet mask and the router option are specified in a DHCP
reply, the subnet mask option MUST be first. reply, the subnet mask option MUST be first.
Code Subnet Mask The code for the subnet mask option is 1, and its length is 4 octets.
+-----+-----+-----+-----+-----+
| 1 | m1 | m2 | m3 | m4 |
+-----+-----+-----+-----+-----+
2.4. Time Offset Code Len Subnet Mask
+-----+-----+-----+-----+-----+-----+
| 1 | 4 | m1 | m2 | m3 | m4 |
+-----+-----+-----+-----+-----+-----+
The time offset field specifies the offset of the local subnet in 3.4. Time Offset
The time offset field specifies the offset of the client's subnet in
seconds from Coordinated Universal Time (UTC). The offset is seconds from Coordinated Universal Time (UTC). The offset is
expressed as a signed 32-bit integer. The code for the time offset expressed as a signed 32-bit integer.
option is 2, and its length is 4 octets.
Code Time Offset The code for the time offset option is 2, and its length is 4 octets.
+-----+-----+-----+-----+-----+
| 2 | n1 | n2 | n3 | n4 |
+-----+-----+-----+-----+-----+
2.5. Router Option Code Len Time Offset
+-----+-----+-----+-----+-----+-----+
| 2 | 4 | n1 | n2 | n3 | n4 |
+-----+-----+-----+-----+-----+-----+
3.5. Router Option
The router option specifies a list of IP addresses for routers on the The router option specifies a list of IP addresses for routers on the
local subnet. If one of the routers is preferred, it SHOULD be client's subnet. Routers SHOULD be listed in order of preference.
listed first. The code for the router option is 3. The minimum
length for the router option is 4 octets, and the length MUST always The code for the router option is 3. The minimum length for the
be a multiple of 4. router option is 4 octets, and the length MUST always be a multiple
of 4.
Code Len Address 1 Address 2 Code Len Address 1 Address 2
+-----+-----+-----+-----+-----+-----+-----+-----+-- +-----+-----+-----+-----+-----+-----+-----+-----+--
| 3 | n | a1 | a2 | a3 | a4 | a1 | a2 | ... | 3 | n | a1 | a2 | a3 | a4 | a1 | a2 | ...
+-----+-----+-----+-----+-----+-----+-----+-----+-- +-----+-----+-----+-----+-----+-----+-----+-----+--
2.6. Time Server Option 3.6. Time Server Option
The time server option specifies a list of RFC 868 [5] time servers The time server option specifies a list of RFC 868 [6] time servers
on the local subnet. If one of the servers is preferred, it SHOULD available to the client. Servers SHOULD be listed in order of
be listed first. The code for the time server option is 4. The preference.
minimum length for this option is 4 octets, and the length MUST
always be a multiple of 4. The code for the time server option is 4. The minimum length for
this option is 4 octets, and the length MUST always be a multiple of
4.
Code Len Address 1 Address 2 Code Len Address 1 Address 2
+-----+-----+-----+-----+-----+-----+-----+-----+-- +-----+-----+-----+-----+-----+-----+-----+-----+--
| 4 | n | a1 | a2 | a3 | a4 | a1 | a2 | ... | 4 | n | a1 | a2 | a3 | a4 | a1 | a2 | ...
+-----+-----+-----+-----+-----+-----+-----+-----+-- +-----+-----+-----+-----+-----+-----+-----+-----+--
2.7. Name Server Option 3.7. Name Server Option
The name server option specifies a list of IEN 116 [6] name servers The name server option specifies a list of IEN 116 [7] name servers
on the local subnet. If one of the servers is preferred, it SHOULD available to the client. Servers SHOULD be listed in order of
be listed first. The code for the name server option is 5. The preference.
minimum length for this option is 4 octets, and the length MUST
always be a multiple of 4. The code for the name server option is 5. The minimum length for
this option is 4 octets, and the length MUST always be a multiple of
4.
Code Len Address 1 Address 2 Code Len Address 1 Address 2
+-----+-----+-----+-----+-----+-----+-----+-----+-- +-----+-----+-----+-----+-----+-----+-----+-----+--
| 5 | n | a1 | a2 | a3 | a4 | a1 | a2 | ... | 5 | n | a1 | a2 | a3 | a4 | a1 | a2 | ...
+-----+-----+-----+-----+-----+-----+-----+-----+-- +-----+-----+-----+-----+-----+-----+-----+-----+--
2.8. Domain Name Server Option 3.8. Domain Name Server Option
The domain name server option specifies a list of Domain Name System The domain name server option specifies a list of Domain Name System
(RFC 1035 [7]) name servers on the local subnet. If one of the (STD 13, RFC 1035 [8]) name servers available to the client. Servers
servers is preferred, it SHOULD be listed first. The code for the SHOULD be listed in order of preference.
domain name server option is 6. The minimum length for this option
is 4 octets, and the length MUST always be a multiple of 4. The code for the domain name server option is 6. The minimum length
for this option is 4 octets, and the length MUST always be a multiple
of 4.
Code Len Address 1 Address 2 Code Len Address 1 Address 2
+-----+-----+-----+-----+-----+-----+-----+-----+-- +-----+-----+-----+-----+-----+-----+-----+-----+--
| 6 | n | a1 | a2 | a3 | a4 | a1 | a2 | ... | 6 | n | a1 | a2 | a3 | a4 | a1 | a2 | ...
+-----+-----+-----+-----+-----+-----+-----+-----+-- +-----+-----+-----+-----+-----+-----+-----+-----+--
2.9. Log Server Option 3.9. Log Server Option
The log server option specifies a list of MIT-LCS UDP log servers on The log server option specifies a list of MIT-LCS UDP log servers
the local subnet. If one of the servers is preferred, it SHOULD be available to the client. Servers SHOULD be listed in order of
listed first. The code for the log server option is 7. The minimum preference.
length for this option is 4 octets, and the length MUST always be a
multiple of 4.
Code Len Address 1 Address 2 The code for the log server option is 7. The minimum length for this
option is 4 octets, and the length MUST always be a multiple of 4.
Code Len Address 1 Address 2
+-----+-----+-----+-----+-----+-----+-----+-----+-- +-----+-----+-----+-----+-----+-----+-----+-----+--
| 7 | n | a1 | a2 | a3 | a4 | a1 | a2 | ... | 7 | n | a1 | a2 | a3 | a4 | a1 | a2 | ...
+-----+-----+-----+-----+-----+-----+-----+-----+-- +-----+-----+-----+-----+-----+-----+-----+-----+--
2.10. Cookie Server Option 3.10. Cookie Server Option
The cookie server option specifies a list of RFC 865 [8] cookie The cookie server option specifies a list of RFC 865 [9] cookie
servers on the local subnet. If one of the servers is preferred, it servers available to the client. Servers SHOULD be listed in order
SHOULD be listed first. The code for the log server option is 8. The of preference.
minimum length for this option is 4 octets, and the length MUST
always be a multiple of 4. The code for the log server option is 8. The minimum length for this
option is 4 octets, and the length MUST always be a multiple of 4.
Code Len Address 1 Address 2 Code Len Address 1 Address 2
+-----+-----+-----+-----+-----+-----+-----+-----+-- +-----+-----+-----+-----+-----+-----+-----+-----+--
| 8 | n | a1 | a2 | a3 | a4 | a1 | a2 | ... | 8 | n | a1 | a2 | a3 | a4 | a1 | a2 | ...
+-----+-----+-----+-----+-----+-----+-----+-----+-- +-----+-----+-----+-----+-----+-----+-----+-----+--
2.11. LPR Server Option 3.11. LPR Server Option
The LPR server option specifies a list of RFC 1179 [9] line printer The LPR server option specifies a list of RFC 1179 [10] line printer
servers on the local subnet. If one of the servers is preferred, it servers available to the client. Servers SHOULD be listed in order
SHOULD be listed first. The code for the LPR server option is 9. The of preference.
minimum length for this option is 4 octets, and the length MUST
always be a multiple of 4. The code for the LPR server option is 9. The minimum length for this
option is 4 octets, and the length MUST always be a multiple of 4.
Code Len Address 1 Address 2 Code Len Address 1 Address 2
+-----+-----+-----+-----+-----+-----+-----+-----+-- +-----+-----+-----+-----+-----+-----+-----+-----+--
| 9 | n | a1 | a2 | a3 | a4 | a1 | a2 | ... | 9 | n | a1 | a2 | a3 | a4 | a1 | a2 | ...
+-----+-----+-----+-----+-----+-----+-----+-----+-- +-----+-----+-----+-----+-----+-----+-----+-----+--
2.12. Impress Server Option 3.12. Impress Server Option
The Impress server option specifies a list of Imagen Impress servers The Impress server option specifies a list of Imagen Impress servers
on the local subnet. If one of the servers is preferred, it SHOULD available to the client. Servers SHOULD be listed in order of
be listed first. The code for the Impress server option is 10. The preference.
minimum length for this option is 4 octets, and the length MUST
always be a multiple of 4. The code for the Impress server option is 10. The minimum length for
this option is 4 octets, and the length MUST always be a multiple of
4.
Code Len Address 1 Address 2 Code Len Address 1 Address 2
+-----+-----+-----+-----+-----+-----+-----+-----+-- +-----+-----+-----+-----+-----+-----+-----+-----+--
| 10 | n | a1 | a2 | a3 | a4 | a1 | a2 | ... | 10 | n | a1 | a2 | a3 | a4 | a1 | a2 | ...
+-----+-----+-----+-----+-----+-----+-----+-----+-- +-----+-----+-----+-----+-----+-----+-----+-----+--
2.13. Resource Location Server Option 3.13. Resource Location Server Option
This option specifies a list of RFC 887 [10] Resource Location This option specifies a list of RFC 887 [11] Resource Location
servers on the local subnet. If one of the servers is preferred, it servers available to the client. Servers SHOULD be listed in order
SHOULD be listed first. The code for this option is 11. The minimum of preference.
length for this option is 4 octets, and the length MUST always be a
multiple of 4. The code for this option is 11. The minimum length for this option
is 4 octets, and the length MUST always be a multiple of 4.
Code Len Address 1 Address 2 Code Len Address 1 Address 2
+-----+-----+-----+-----+-----+-----+-----+-----+-- +-----+-----+-----+-----+-----+-----+-----+-----+--
| 11 | n | a1 | a2 | a3 | a4 | a1 | a2 | ... | 11 | n | a1 | a2 | a3 | a4 | a1 | a2 | ...
+-----+-----+-----+-----+-----+-----+-----+-----+-- +-----+-----+-----+-----+-----+-----+-----+-----+--
2.14. Host Name Option 3.14. Host Name Option
This option specifies the name of the DHCP client. The name may or This option specifies the name of the client. The name may or may
may not be qualified with the local domain name. See RFC 1035 for not be qualified with the local domain name (see section 3.17 for the
character set restrictions. The code for this option is 12, and its preferred way to retrieve the domain name). See RFC 1035 for
minimum length is 1. character set restrictions.
The code for this option is 12, and its minimum length is 1.
Code Len Host Name Code Len Host Name
+-----+-----+-----+-----+-----+-----+-----+-----+-- +-----+-----+-----+-----+-----+-----+-----+-----+--
| 12 | n | h1 | h2 | h3 | h4 | h5 | h6 | ... | 12 | n | h1 | h2 | h3 | h4 | h5 | h6 | ...
+-----+-----+-----+-----+-----+-----+-----+-----+-- +-----+-----+-----+-----+-----+-----+-----+-----+--
2.15. Boot File Size Option 3.15. Boot File Size Option
This option specifies the length in 512-octet blocks of the default This option specifies the length in 512-octet blocks of the default
boot image for the DHCP client. The file length is specified as an boot image for the client. The file length is specified as an
unsigned 16-bit integer. The code for this option is 13, and its unsigned 16-bit integer.
length is 2.
The code for this option is 13, and its length is 2.
Code Len File Size Code Len File Size
+-----+-----+-----+-----+ +-----+-----+-----+-----+
| 13 | 2 | l1 | l2 | | 13 | 2 | l1 | l2 |
+-----+-----+-----+-----+ +-----+-----+-----+-----+
3. IP Layer Parameters per Host 3.16. Merit Dump File
This option specifies the path-name of a file to which the client's
core image should be dumped in the event the client crashes. The
path is formatted as a character string consisting of characters from
the NVT ASCII character set.
The code for this option is 14. Its minimum length is 1.
Code Len Dump File Pathname
+-----+-----+-----+-----+-----+-----+---
| 14 | n | n1 | n2 | n3 | n4 | ...
+-----+-----+-----+-----+-----+-----+---
3.17. Domain Name
This option specifies the domain name that client should use when
resolving hostnames via the Domain Name System.
The code for this option is 15. Its minimum length is 1.
Code Len Domain Name
+-----+-----+-----+-----+-----+-----+--
| 15 | n | d1 | d2 | d3 | d4 | ...
+-----+-----+-----+-----+-----+-----+--
3.18. Swap Server
This specifies the IP address of the client's swap server.
The code for this option is 16 and its length is 4.
Code Len Swap Server Address
+-----+-----+-----+-----+-----+-----+
| 16 | n | a1 | a2 | a3 | a4 |
+-----+-----+-----+-----+-----+-----+
3.19. Root Path
This option specifies the path-name that contains the client's root
disk. The path is formatted as a character string consisting of
characters from the NVT ASCII character set.
The code for this option is 17. Its minimum length is 1.
Code Len Root Disk Pathname
+-----+-----+-----+-----+-----+-----+---
| 17 | n | n1 | n2 | n3 | n4 | ...
+-----+-----+-----+-----+-----+-----+---
3.20. Extensions Path
A string to specify a file, retrievable via TFTP, which contains
information which can be interpreted in the same way as the 64-octet
vendor-extension field within the BOOTP response, with the following
exceptions:
- the length of the file is unconstrained;
- all references to Tag 18 (i.e., instances of the
BOOTP Extensions Path field) within the file are
ignored.
The code for this option is 18. Its minimum length is 1.
Code Len Extensions Pathname
+-----+-----+-----+-----+-----+-----+---
| 18 | n | n1 | n2 | n3 | n4 | ...
+-----+-----+-----+-----+-----+-----+---
4. IP Layer Parameters per Host
This section details the options that affect the operation of the IP This section details the options that affect the operation of the IP
layer on a per-host basis. layer on a per-host basis.
3.1. IP Forwarding Enable/Disable Option 4.1. IP Forwarding Enable/Disable Option
This option specifies whether the DHCP client should configure its IP This option specifies whether the client should configure its IP
layer for packet forwarding. A value of 0 means disable IP layer for packet forwarding. A value of 0 means disable IP
forwarding, and a value of 1 means enable IP forwarding. The code forwarding, and a value of 1 means enable IP forwarding.
for this option is 20, and its length is 1.
The code for this option is 19, and its length is 1.
Code Len Value Code Len Value
+-----+-----+-----+ +-----+-----+-----+
| 20 | 1 | 0/1 | | 19 | 1 | 0/1 |
+-----+-----+-----+ +-----+-----+-----+
3.2. Non-Local Source Routing Enable/Disable Option 4.2. Non-Local Source Routing Enable/Disable Option
This option specifies whether the DHCP client should configure its IP This option specifies whether the client should configure its IP
layer to allow forwarding of datagrams with non-local source routes. layer to allow forwarding of datagrams with non-local source routes
(see Section 3.3.5 of [4] for a discussion of this topic). A value
of 0 means disallow forwarding of such datagrams, and a value of 1
means allow forwarding.
A value of 0 means disallow forwarding of such datagrams, and a value The code for this option is 20, and its length is 1.
of 1 means allow forwarding. The code for this option is 21, and its
length is 1.
Code Len Value Code Len Value
+-----+-----+-----+ +-----+-----+-----+
| 21 | 1 | 0/1 | | 20 | 1 | 0/1 |
+-----+-----+-----+ +-----+-----+-----+
3.3. Policy Filter Option 4.3. Policy Filter Option
This option specifies policy filters for non-local source routing. This option specifies policy filters for non-local source routing.
The filters consist of a list of IP addresses and masks which specify The filters consist of a list of IP addresses and masks which specify
destination/mask pairs with which to filter incoming source routes. destination/mask pairs with which to filter incoming source routes.
See RFC 1009 [11] for details.
The code for this option is 22. The minimum length of this option is Any source routed datagram whose next-hop address does not match one
of the filters should be discarded by the client.
See [4] for further information.
The code for this option is 21. The minimum length of this option is
8, and the length MUST be a multiple of 8. 8, and the length MUST be a multiple of 8.
Code Len Address 1 Mask 1 Code Len Address 1 Mask 1
+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+ +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
| 22 | n | a1 | a2 | a3 | a4 | m1 | m2 | m3 | m4 | | 21 | n | a1 | a2 | a3 | a4 | m1 | m2 | m3 | m4 |
+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+ +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
Address 2 Mask 2 Address 2 Mask 2
+-----+-----+-----+-----+-----+-----+-----+-----+--- +-----+-----+-----+-----+-----+-----+-----+-----+---
| a1 | a2 | a3 | a4 | m1 | m2 | m3 | m4 | ... | a1 | a2 | a3 | a4 | m1 | m2 | m3 | m4 | ...
+-----+-----+-----+-----+-----+-----+-----+-----+--- +-----+-----+-----+-----+-----+-----+-----+-----+---
3.4. Maximum Datagram Reassembly Size 4.4. Maximum Datagram Reassembly Size
This option specifies the maximum size datagram that the client This option specifies the maximum size datagram that the client
should be prepared to reassemble. The size is specified as a 16-bit should be prepared to reassemble. The size is specified as a 16-bit
unsigned integer. unsigned integer. The minimum value legal value is 576.
The code for this option is 23, and its length is 2. The code for this option is 22, and its length is 2.
Code Len Size Code Len Size
+-----+-----+-----+-----+ +-----+-----+-----+-----+
| 23 | 2 | s1 | s2 | | 22 | 2 | s1 | s2 |
+-----+-----+-----+-----+ +-----+-----+-----+-----+
3.5. Default IP Time-to-live 4.5. Default IP Time-to-live
This option specifies the default time-to-live that the client should This option specifies the default time-to-live that the client should
use on outgoing datagrams. The TTL is specified as an octet with a use on outgoing datagrams. The TTL is specified as an octet with a
value between 1 and 255. value between 1 and 255.
The code for this option is 24, and its length is 1. The code for this option is 23, and its length is 1.
Code Len TTL Code Len TTL
+-----+-----+-----+ +-----+-----+-----+
| 24 | 1 | ttl | | 23 | 1 | ttl |
+-----+-----+-----+ +-----+-----+-----+
3.6. Path MTU Aging Timeout Option 4.6. Path MTU Aging Timeout Option
This option specifies the timeout to use when aging Path MTU values This option specifies the timeout (in seconds) to use when aging Path
discovered by the mechanism defined in RFC 1191 [12]. The timeout is MTU values discovered by the mechanism defined in RFC 1191 [12]. The
specified as a 32-bit unsigned integer. timeout is specified as a 32-bit unsigned integer.
The code for this option is 25, and its length is 4. The code for this option is 24, and its length is 4.
Code Len Timeout Code Len Timeout
+-----+-----+-----+-----+-----+-----+ +-----+-----+-----+-----+-----+-----+
| 25 | 4 | t1 | t2 | t3 | t4 | | 24 | 4 | t1 | t2 | t3 | t4 |
+-----+-----+-----+-----+-----+-----+ +-----+-----+-----+-----+-----+-----+
3.7. Path MTU Plateau Table Option 4.7. Path MTU Plateau Table Option
This option specifies a table of MTU sizes to use when performing This option specifies a table of MTU sizes to use when performing
Path MTU Discovery as defined in RFC 1191. The table is formatted as Path MTU Discovery as defined in RFC 1191. The table is formatted as
a list of 16-bit unsigned integers, ordered from smallest to largest. a list of 16-bit unsigned integers, ordered from smallest to largest.
The minimum MTU value cannot be smaller than 68. The minimum MTU value cannot be smaller than 68.
The code for this option is 26. Its minimum length is 2, and the The code for this option is 25. Its minimum length is 2, and the
length MUST be a multiple of 2. length MUST be a multiple of 2.
Code Len Size 1 Size 2 Code Len Size 1 Size 2
+-----+-----+-----+-----+-----+-----+--- +-----+-----+-----+-----+-----+-----+---
| 26 | n | s1 | s2 | s1 | s2 | ... | 25 | n | s1 | s2 | s1 | s2 | ...
+-----+-----+-----+-----+-----+-----+---
3.8. Network Information Service Domain Option
This option specifies the name of the client's NIS [13] domain. The
domain is formatted as a character string consisting of characters
from the NVT ASCII character set.
The code for this option is 56. Its minimum length is 1.
Code Len NIS Domain Name
+-----+-----+-----+-----+-----+-----+---
| 56 | n | n1 | n2 | n3 | s4 | ...
+-----+-----+-----+-----+-----+-----+--- +-----+-----+-----+-----+-----+-----+---
3.9. Network Information Servers Option 5. IP Layer Parameters per Interface
This option specifies a list of IP addresses indicating NIS servers
on the local subnet. If one address is preferred, it SHOULD be
listed first.
The code for this option is 57. Its minimum length is 4, and the
length MUST be a multiple of 4..
Code Len Address 1 Address 2
+-----+-----+-----+-----+-----+-----+-----+-----+--
| 57 | n | a1 | a2 | a3 | a4 | a1 | a2 | ...
+-----+-----+-----+-----+-----+-----+-----+-----+--
3.10. Network Time Protocol Servers Option
This option specifies a list of IP addresses indicating NTP [14]
servers on the local subnet. If one address is preferred, it SHOULD
be listed first.
The code for this option is 58. Its minimum length is 4, and the
length MUST be a multiple of 4.
Code Len Address 1 Address 2
+-----+-----+-----+-----+-----+-----+-----+-----+--
| 58 | n | a1 | a2 | a3 | a4 | a1 | a2 | ...
+-----+-----+-----+-----+-----+-----+-----+-----+--
4. IP Layer Parameters per Interface
This section details the options that affect the operation of the IP This section details the options that affect the operation of the IP
layer on a per-interface basis. It is expected that a DHCP client layer on a per-interface basis. It is expected that a client can
can issue multiple requests, one per interface, in order to configure issue multiple requests, one per interface, in order to configure
interfaces with their specific parameters. interfaces with their specific parameters.
4.1. Interface MTU Option 5.1. Interface MTU Option
This option specifies the MTU to use on this interface. The MTU is This option specifies the MTU to use on this interface. The MTU is
specified as a 16-bit unsigned integer. The minimum legal value for specified as a 16-bit unsigned integer. The minimum legal value for
the MTU is 68. the MTU is 68.
The code for this option is 29, and its length is 2. The code for this option is 26, and its length is 2.
Code Len MTU Code Len MTU
+-----+-----+-----+-----+ +-----+-----+-----+-----+
| 29 | 2 | m1 | m2 | | 26 | 2 | m1 | m2 |
+-----+-----+-----+-----+ +-----+-----+-----+-----+
4.2. All Subnets are Local Option 5.2. All Subnets are Local Option
This option specifies whether or not the client can treat all subnets This option specifies whether or not the client may assume that all
as having the local MTU. A value of 0 indicates that the client subnets of the IP network to which the client is connected use the
should not treat subnets as being local for purposes of MTU same MTU as the subnet of that network to which the client is
computation. A value of 1 means that the client may treat all directly connected. A value of 1 indicates that all subnets share
subnets as being local. the same MTU. A value of 0 means that the client should assume that
some subnets of the directly connected network may have smaller MTUs.
The code for this option is 27, and its length is 1.
The code for this option is 30, and its length is 1.
Code Len Value Code Len Value
+-----+-----+-----+ +-----+-----+-----+
| 30 | 1 | 0/1 | | 27 | 1 | 0/1 |
+-----+-----+-----+ +-----+-----+-----+
4.3. Broadcast Address Option 5.3. Broadcast Address Option
This option specifies whether or not the host portion of the This option specifies the broadcast address in use on the client's
broadcast address for this interface should be all ones or all subnet. Legal values for broadcast addresses are specified in
zeroes. A value of 0 indicates that the client should use zeroes section 3.2.1.3 of [4].
(e.g. 128.212.64.0). A value of 1 means that the client should use
ones (e.g. 128.212.64.255).
The code for this option is 31, and its length is 1. The code for this option is 28, and its length is 4.
Code Len Value
+-----+-----+-----+
| 31 | 1 | 0/1 |
+-----+-----+-----+
4.4. Perform Mask Discovery Option Code Len Broadcast Address
+-----+-----+-----+-----+-----+-----+
| 28 | 4 | b1 | b2 | b3 | b4 |
+-----+-----+-----+-----+-----+-----+
5.4. Perform Mask Discovery Option
This option specifies whether or not the client should perform subnet This option specifies whether or not the client should perform subnet
mask discovery using ICMP. A value of 0 indicates that the client mask discovery using ICMP. A value of 0 indicates that the client
should not perform mask discovery. A value of 1 means that the should not perform mask discovery. A value of 1 means that the
client should perform mask discovery. client should perform mask discovery.
The code for this option is 32, and its length is 1. The code for this option is 29, and its length is 1.
Code Len Value Code Len Value
+-----+-----+-----+ +-----+-----+-----+
| 32 | 1 | 0/1 | | 29 | 1 | 0/1 |
+-----+-----+-----+ +-----+-----+-----+
4.5. Mask Supplier Option 5.5. Mask Supplier Option
This option specifies whether or not the client should respond to This option specifies whether or not the client should respond to
subnet mask requests using ICMP. A value of 0 indicates that the subnet mask requests using ICMP. A value of 0 indicates that the
client should not respond. A value of 1 means that the client should client should not respond. A value of 1 means that the client should
respond. respond.
The code for this option is 33, and its length is 1. The code for this option is 30, and its length is 1.
Code Len Value Code Len Value
+-----+-----+-----+ +-----+-----+-----+
| 33 | 1 | 0/1 | | 30 | 1 | 0/1 |
+-----+-----+-----+ +-----+-----+-----+
4.6. Perform Router Discovery Option 5.6. Perform Router Discovery Option
This option specifies whether or not the client should solicit This option specifies whether or not the client should solicit
routers using the Router Discovery mechanism defined in RFC 1256 routers using the Router Discovery mechanism defined in RFC 1256
[15]. A value of 0 indicates that the client should not perform [13]. A value of 0 indicates that the client should not perform
router discovery. A value of 1 means that the client should perform router discovery. A value of 1 means that the client should perform
router discovery. router discovery.
The code for this option is 34, and its length is 1. The code for this option is 31, and its length is 1.
Code Len Value Code Len Value
+-----+-----+-----+ +-----+-----+-----+
| 34 | 1 | 0/1 | | 31 | 1 | 0/1 |
+-----+-----+-----+ +-----+-----+-----+
4.7. Router Solicitation Address Option 5.7. Router Solicitation Address Option
This option specifies the address to which the client should transmit This option specifies the address to which the client should transmit
router solicitation requests. router solicitation requests.
The code for this option is 35, and its length is 4. The code for this option is 32, and its length is 4.
Code Len Address Code Len Address
+-----+-----+-----+-----+-----+-----+ +-----+-----+-----+-----+-----+-----+
| 35 | 4 | a1 | a2 | a3 | a4 | | 32 | 4 | a1 | a2 | a3 | a4 |
+-----+-----+-----+-----+-----+-----+ +-----+-----+-----+-----+-----+-----+
4.8. Static Route Option 5.8. Static Route Option
This option specifies a list of static routes that the client should This option specifies a list of static routes that the client should
install in its routing cache. The routes consist of a list of IP install in its routing cache. If multiple routes to the same
address pairs. The first address is the destination address, and the destination are specified, they are listed in descending order of
second address is the router to the destination. priority.
The code for this option is 37. The minimum length of this option is The routes consist of a list of IP address pairs. The first address
is the destination address, and the second address is the router for
the destination.
The default route (0.0.0.0) is an illegal destination for a static
route. See section 3.5 for information about the router option.
The code for this option is 33. The minimum length of this option is
8, and the length MUST be a multiple of 8. 8, and the length MUST be a multiple of 8.
Code Len Destination 1 Router 1 Code Len Destination 1 Router 1
+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+ +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
| 37 | n | d1 | d2 | d3 | d4 | r1 | r2 | r3 | r4 | | 33 | n | d1 | d2 | d3 | d4 | r1 | r2 | r3 | r4 |
+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+ +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
Destination 2 Router 2 Destination 2 Router 2
+-----+-----+-----+-----+-----+-----+-----+-----+--- +-----+-----+-----+-----+-----+-----+-----+-----+---
| d1 | d2 | d3 | d4 | r1 | r2 | r3 | r4 | ... | d1 | d2 | d3 | d4 | r1 | r2 | r3 | r4 | ...
+-----+-----+-----+-----+-----+-----+-----+-----+--- +-----+-----+-----+-----+-----+-----+-----+-----+---
5. Link Layer Parameters per Interface 6. Link Layer Parameters per Interface
This section lists the options that affect the operation of the data This section lists the options that affect the operation of the data
link layer on a per-interface basis. link layer on a per-interface basis.
5.1. Trailer Encapsulation Option 6.1. Trailer Encapsulation Option
This option specifies whether or not the client should negotiate the This option specifies whether or not the client should negotiate the
use of trailers [16] when using the ARP protocol. A value of 0 use of trailers (RFC 893 [14]) when using the ARP protocol. A value
indicates that the client should not attempt to use trailers. A of 0 indicates that the client should not attempt to use trailers. A
value of 1 means that the client should attempt to use trailers. value of 1 means that the client should attempt to use trailers.
The code for this option is 38, and its length is 1. The code for this option is 34, and its length is 1.
Code Len Value
Code Len Value
+-----+-----+-----+ +-----+-----+-----+
| 38 | 1 | 0/1 | | 34 | 1 | 0/1 |
+-----+-----+-----+ +-----+-----+-----+
5.2. ARP Cache Timeout Option 6.2. ARP Cache Timeout Option
This option specifies the timeout in seconds for ARP cache entries. This option specifies the timeout in seconds for ARP cache entries.
The time is specified as a 32-bit unsigned integer. The time is specified as a 32-bit unsigned integer.
The code for this option is 39, and its length is 4. The code for this option is 35, and its length is 4.
Code Len Time Code Len Time
+-----+-----+-----+-----+-----+-----+ +-----+-----+-----+-----+-----+-----+
| 39 | 4 | t1 | t2 | t3 | t4 | | 35 | 4 | t1 | t2 | t3 | t4 |
+-----+-----+-----+-----+-----+-----+ +-----+-----+-----+-----+-----+-----+
5.3. Ethernet Encapsulation Option 6.3. Ethernet Encapsulation Option
This option specifies whether or not the client should use Ethernet This option specifies whether or not the client should use Ethernet
Version 2 (RFC 894 [17]) or IEEE 802.3 (RFC 1042 [18]) encapsulation Version 2 (RFC 894 [15]) or IEEE 802.3 (RFC 1042 [16]) encapsulation
if the interface is an Ethernet. A value of 0 indicates that the if the interface is an Ethernet. A value of 0 indicates that the
client should use RFC 894 encapsulation. A value of 1 means that the client should use RFC 894 encapsulation. A value of 1 means that the
client should use RFC 1042 encapsulation. client should use RFC 1042 encapsulation.
The code for this option is 40, and its length is 1. The code for this option is 36, and its length is 1.
Code Len Value Code Len Value
+-----+-----+-----+ +-----+-----+-----+
| 40 | 1 | 0/1 | | 36 | 1 | 0/1 |
+-----+-----+-----+ +-----+-----+-----+
6. TCP Parameters 7. TCP Parameters
This section lists the options that affect the operation of the TCP This section lists the options that affect the operation of the TCP
layer on a per-interface basis. layer on a per-interface basis.
6.1. TCP Default TTL Option 7.1. TCP Default TTL Option
This option specifies the default TTL that the client should use when This option specifies the default TTL that the client should use when
sending TCP segments. The value is represented as an 8-bit unsigned sending TCP segments. The value is represented as an 8-bit unsigned
integer. The minimum value is 1. integer. The minimum value is 1.
The code for this option is 41, and its length is 1. The code for this option is 37, and its length is 1.
Code Len TTL Code Len TTL
+-----+-----+-----+ +-----+-----+-----+
| 41 | 1 | n | | 37 | 1 | n |
+-----+-----+-----+ +-----+-----+-----+
6.2. TCP Keepalive Interval Option 7.2. TCP Keepalive Interval Option
This option specifies the interval that the client TCP should wait This option specifies the interval (in seconds) that the client TCP
before sending a keepalive message on a TCP connection. The time is should wait before sending a keepalive message on a TCP connection.
specified as a 32-bit unsigned integer. A value of zero indicates The time is specified as a 32-bit unsigned integer. A value of zero
that the client should not generate keepalive messages on connections indicates that the client should not generate keepalive messages on
unless specifically requested by an application. connections unless specifically requested by an application.
The code for this option is 38, and its length is 4.
The code for this option is 42, and its length is 4.
Code Len Time Code Len Time
+-----+-----+-----+-----+-----+-----+ +-----+-----+-----+-----+-----+-----+
| 42 | 4 | t1 | t2 | t3 | t4 | | 38 | 4 | t1 | t2 | t3 | t4 |
+-----+-----+-----+-----+-----+-----+ +-----+-----+-----+-----+-----+-----+
6.3. TCP Keepalive Garbage Option 7.3. TCP Keepalive Garbage Option
This option specifies the whether or not the client should send TCP This option specifies the whether or not the client should send TCP
keepalive messages with a octet of garbage for compatibility with keepalive messages with a octet of garbage for compatibility with
older implementations. A value of 0 indicates that a garbage octet older implementations. A value of 0 indicates that a garbage octet
should not be sent. A value of 1 indicates that a garbage octet should not be sent. A value of 1 indicates that a garbage octet
should be sent. should be sent.
The code for this option is 43, and its length is 1. The code for this option is 39, and its length is 1.
Code Len Value Code Len Value
+-----+-----+-----+ +-----+-----+-----+
| 43 | 1 | 0/1 | | 39 | 1 | 0/1 |
+-----+-----+-----+ +-----+-----+-----+
7. DHCP Extensions 8. Application and Service Parameters
This section details some miscellaneous options used to configure
miscellaneous applications and services.
8.1. Network Information Service Domain Option
This option specifies the name of the client's NIS [17] domain. The
domain is formatted as a character string consisting of characters
from the NVT ASCII character set.
The code for this option is 40. Its minimum length is 1.
Code Len NIS Domain Name
+-----+-----+-----+-----+-----+-----+---
| 40 | n | n1 | n2 | n3 | n4 | ...
+-----+-----+-----+-----+-----+-----+---
8.2. Network Information Servers Option
This option specifies a list of IP addresses indicating NIS servers
available to the client. Servers SHOULD be listed in order of
preference.
The code for this option is 41. Its minimum length is 4, and the
length MUST be a multiple of 4.
Code Len Address 1 Address 2
+-----+-----+-----+-----+-----+-----+-----+-----+--
| 41 | n | a1 | a2 | a3 | a4 | a1 | a2 | ...
+-----+-----+-----+-----+-----+-----+-----+-----+--
8.3. Network Time Protocol Servers Option
This option specifies a list of IP addresses indicating NTP [18]
servers available to the client. Servers SHOULD be listed in order
of preference.
The code for this option is 42. Its minimum length is 4, and the
length MUST be a multiple of 4.
Code Len Address 1 Address 2
+-----+-----+-----+-----+-----+-----+-----+-----+--
| 42 | n | a1 | a2 | a3 | a4 | a1 | a2 | ...
+-----+-----+-----+-----+-----+-----+-----+-----+--
8.4. Vendor Specific Information
This option is used by clients and servers to exchange vendor-
specific information. The information is an opaque object of n
octets, presumably interpreted by vendor-specific code on the clients
and servers. The definition of this information is vendor specific.
The vendor is indicated in the class-identifier option. Servers not
equipped to interpret the vendor-specific information sent by a
client MUST ignore it (although it may be reported). Clients which
do not receive desired vendor-specific information SHOULD make an
attempt to operate without it, although they may do so (and announce
they are doing so) in a degraded mode.
If a vendor potentially encodes more than one item of information in
this option, then the vendor SHOULD encode the option using
"Encapsulated vendor-specific options" as described below:
The Encapsulated vendor-specific options field SHOULD be encoded as a
sequence of code/length/value fields of identical syntax to the DHCP
options field with the following exceptions:
1) There SHOULD NOT be a "magic cookie" field in the encapsulated
vendor-specific extensions field.
2) Codes other than 0 or 255 MAY be redefined by the vendor within
the encapsulated vendor-specific extensions field, but SHOULD
conform to the tag-length-value syntax defined in section 2.
3) Code 255 (END), if present, signifies the end of the
encapsulated vendor extensions, not the end of the vendor
extensions field. If no code 255 is present, then the end of
the enclosing vendor-specific information field is taken as the
end of the encapsulated vendor-specific extensions field.
The code for this option is 43 and its minimum length is 1.
Code Len Vendor-specific information
+-----+-----+-----+-----+---
| 43 | n | i1 | i2 | ...
+-----+-----+-----+-----+---
When encapsulated vendor-specific extensions are used, the
information bytes 1-n have the following format:
Code Len Data item Code Len Data item Code
+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
| T1 | n | d1 | d2 | ... | T2 | n | D1 | D2 | ... | ... |
+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
8.5. NetBIOS over TCP/IP Name Server Option
The NetBIOS name server (NBNS) option specifies a list of RFC
1001/1002 [19] [20] NBNS name servers listed in order of preference.
The code for this option is 44. The minimum length of the option is
4 octets, and the length must always be a multiple of 4.
Code Len Address 1 Address 2
+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+----
| 44 | n | a1 | a2 | a3 | a4 | b1 | b2 | b3 | b4 | ...
+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+----
8.6. NetBIOS over TCP/IP Datagram Distribution Server Option
The NetBIOS datagram distribution server (NBDD) option specifies a
list of RFC 1001/1002 NBDD servers listed in order of preference. The
code for this option is 45. The minimum length of the option is 4
octets, and the length must always be a multiple of 4.
Code Len Address 1 Address 2
+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+----
| 45 | n | a1 | a2 | a3 | a4 | b1 | b2 | b3 | b4 | ...
+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+----
8.7. NetBIOS over TCP/IP Node Type Option
The NetBIOS node type option allows NetBIOS over TCP/IP clients which
are configurable to be configured as described in RFC 1001/1002. The
value is specified as a single octet which identifies the client type
as follows:
Value Node Type
----- ---------
0x1 B-node
0x2 P-node
0x4 M-node
0x8 H-node
In the above chart, the notation '0x' indicates a number in base-16
(hexadecimal).
The code for this option is 46. The length of this option is always
1.
Code Len Node Type
+-----+-----+-----------+
| 46 | 1 | see above |
+-----+-----+-----------+
8.8. NetBIOS over TCP/IP Scope Option
The NetBIOS scope option specifies the NetBIOS over TCP/IP scope
parameter for the client as specified in RFC 1001/1002. See [19],
[20], and [8] for character-set restrictions.
The code for this option is 47. The minimum length of this option is
1.
Code Len NetBIOS Scope
+-----+-----+-----+-----+-----+-----+----
| 47 | n | s1 | s2 | s3 | s4 | ...
+-----+-----+-----+-----+-----+-----+----
8.9. X Window System Font Server Option
This option specifies a list of X Window System [21] Font servers
available to the client. Servers SHOULD be listed in order of
preference.
The code for this option is 48. The minimum length of this option is
4 octets, and the length MUST be a multiple of 4.
Code Len Address 1 Address 2
+-----+-----+-----+-----+-----+-----+-----+-----+---
| 48 | n | a1 | a2 | a3 | a4 | a1 | a2 | ...
+-----+-----+-----+-----+-----+-----+-----+-----+---
8.10. X Window System Display Manager Option
This option specifies a list of IP addresses of systems that are
running the X Window System Display Manager and are available to the
client.
Addresses SHOULD be listed in order of preference.
The code for the this option is 49. The minimum length of this option
is 4, and the length MUST be a multiple of 4.
Code Len Address 1 Address 2
+-----+-----+-----+-----+-----+-----+-----+-----+---
| 49 | n | a1 | a2 | a3 | a4 | a1 | a2 | ...
+-----+-----+-----+-----+-----+-----+-----+-----+---
9. DHCP Extensions
This section details the options that are specific to DHCP. This section details the options that are specific to DHCP.
7.1. Requested IP Address 9.1. Requested IP Address
This option is used in a client request (DHCPDISCOVER) to allow the This option is used in a client request (DHCPDISCOVER) to allow the
client to request that a particular IP address be assigned. In a client to request that a particular IP address be assigned.
server reply (DHCPOFFER), this option indicates the IP address that
the server is willing to offer. The code for this option is 50, and its length is 4.
The code for this option is 46, and its length is 4.
Code Len Address Code Len Address
+-----+-----+-----+-----+-----+-----+ +-----+-----+-----+-----+-----+-----+
| 46 | 4 | a1 | a2 | a3 | a4 | | 50 | 4 | a1 | a2 | a3 | a4 |
+-----+-----+-----+-----+-----+-----+ +-----+-----+-----+-----+-----+-----+
7.2. IP Address Lease Time 9.2. IP Address Lease Time
This option is used in a client request (DHCPDISCOVER or DHCPREQUEST) This option is used in a client request (DHCPDISCOVER or DHCPREQUEST)
to allow the client a lease time for the IP address. In a server to allow the client to request a lease time for the IP address. In a
reply (DHCPOFFER), a DHCP server uses this option to specify the server reply (DHCPOFFER), a DHCP server uses this option to specify
lease time it is willing to offer. the lease time it is willing to offer.
The code for this option is 47, and its length is 4. The time is in units of seconds, and is specified as a 32-bit
Code Len Lease Time unsigned integer.
The code for this option is 51, and its length is 4.
Code Len Lease Time
+-----+-----+-----+-----+-----+-----+ +-----+-----+-----+-----+-----+-----+
| 47 | 4 | t1 | t2 | t3 | t4 | | 51 | 4 | t1 | t2 | t3 | t4 |
+-----+-----+-----+-----+-----+-----+ +-----+-----+-----+-----+-----+-----+
7.3. Option Overload 9.3. Option Overload
This option is used to indicate that the DHCP "sname" or "file" This option is used to indicate that the DHCP "sname" or "file"
fields are being overloaded by using them to carry DHCP options. A fields are being overloaded by using them to carry DHCP options. A
DHCP server inserts this option if the returned parameters will DHCP server inserts this option if the returned parameters will
exceed the usual space allotted for options. exceed the usual space allotted for options.
If this option is present, the DHCP client interprets the specified If this option is present, the client interprets the specified
additional fields after it concludes interpretation of the standard additional fields after it concludes interpretation of the standard
option fields. option fields.
The code for this option is 48, and its length is 1. Legal values The code for this option is 52, and its length is 1. Legal values
for this option are: for this option are:
Value Meaning Value Meaning
----- -------- ----- --------
1 use the "file" field to hold options 1 the "file" field is used to hold options
2 use the "sname" field to hold options 2 the "sname" field is used to hold options
3 use both fields to hold options 3 both fields are used to hold options
Code Len Value Code Len Value
+-----+-----+-----+ +-----+-----+-----+
| 48 | 1 |1/2/3| | 52 | 1 |1/2/3|
+-----+-----+-----+ +-----+-----+-----+
7.4. DHCP Message Type 9.4. DHCP Message Type
This option is used to convey the type of the DHCP message. The code This option is used to convey the type of the DHCP message. The code
for this option is 51, and its length is 1. Legal values for this for this option is 53, and its length is 1. Legal values for this
option are: option are:
Value Message Type Value Message Type
----- ------------ ----- ------------
1 DHCPDISCOVER 1 DHCPDISCOVER
2 DHCPOFFER 2 DHCPOFFER
3 DHCPREQUEST 3 DHCPREQUEST
4 DHCPDECLINE 4 DHCPDECLINE
5 DHCPACK 5 DHCPACK
6 DHCPNAK 6 DHCPNAK
7 DHCPRELEASE 7 DHCPRELEASE
skipping to change at page 14, line 50 skipping to change at page 24, line 34
1 DHCPDISCOVER 1 DHCPDISCOVER
2 DHCPOFFER 2 DHCPOFFER
3 DHCPREQUEST 3 DHCPREQUEST
4 DHCPDECLINE 4 DHCPDECLINE
5 DHCPACK 5 DHCPACK
6 DHCPNAK 6 DHCPNAK
7 DHCPRELEASE 7 DHCPRELEASE
Code Len Type Code Len Type
+-----+-----+-----+ +-----+-----+-----+
| 51 | 1 | 1-7 | | 53 | 1 | 1-7 |
+-----+-----+-----+ +-----+-----+-----+
7.5. Lease Identifier Cookie 9.5. Server Identifier
This option is used by a DHCP server to indicate the unique
identifier for an address lease. The cookie is an opaque object of n
octets. The cookie is used by the client to identify the lease in
future protocol transactions.
The code for this option is 52. This option is used in DHCPOFFER and DHCPREQUEST messages, and may
Code Len Cookie Data optionally be included in the DHCPACK and DHCPNAK messages. DHCP
+-----+-----+-----+-----+--- servers include this option in the DHCPOFFER in order to allow the
| 52 | n | c1 | c2 | ... client to distinguish between lease offers. DHCP clients indicate
+-----+-----+-----+-----+--- which of several lease offers is being accepted by including this
option in a DHCPREQUEST message.
7.6. Server Identifier The identifier is the IP address of the selected server.
This option is used by a DHCP client to indicate which of several The code for this option is 54, and its length is 4.
lease offers it is accepting. The identifier is the IP address of
the selected server.
The code for this option is 53, and its length is 4.
Code Len Address Code Len Address
+-----+-----+-----+-----+-----+-----+ +-----+-----+-----+-----+-----+-----+
| 53 | 4 | a1 | a2 | a3 | a4 | | 54 | 4 | a1 | a2 | a3 | a4 |
+-----+-----+-----+-----+-----+-----+ +-----+-----+-----+-----+-----+-----+
7.7. Parameter Request Vector 9.6. Parameter Request List
This option is used by a DHCP client to request values for specified
configuration parameters. The options are specified as a 32-octet
bit vector, where each bit that is set indicates the the client is
requesting a parameter for that option. The order of bits in the
vector is big-endian within octets. This means that the bit for
parameter code 0 is the left-most bit of the first octet.
The code for this option is 54, and its length is 32.
Code Len Bit Vector
+-----+-----+-----+-----+---
| 54 | 32 | c1 | c2 | ... 30 more octets ...
+-----+-----+-----+-----+---
7.8. Parameter Request List
This option is used by a DHCP client to request values for specified This option is used by a DHCP client to request values for specified
configuration parameters. The list of requested parameters is configuration parameters. The list of requested parameters is
specified as n octets, where each octet is a valid DHCP option code specified as n octets, where each octet is a valid DHCP option code
as defined in this document. The client may order the option codes as defined in this document.
as it desires. The DHCP server is not required to return the options
in the requested order. 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 55. Its minimum length is 1.
The code for this option is 55.
Code Len Option Codes Code Len Option Codes
+-----+-----+-----+-----+--- +-----+-----+-----+-----+---
| 55 | n | c1 | c2 | ... | 55 | n | c1 | c2 | ...
+-----+-----+-----+-----+--- +-----+-----+-----+-----+---
7.9. Message 9.7. Message
This option is used by a DHCP server to provide an error message to a This option is used by a DHCP server to provide an error message to a
DHCP client in the event of a failure. The message consists of n DHCP client in a DHCPNAK message in the event of a failure. A client
may use this option in a DHCPDECLINE message to indicate the why the
client declined the offered parameters. The message consists of n
octets of NVT ASCII text, which the client may display on an octets of NVT ASCII text, which the client may display on an
available output device. available output device.
The code for this option is 59. The code for this option is 56 and its minimum length is 1.
Code Len Text Code Len Text
+-----+-----+-----+-----+--- +-----+-----+-----+-----+---
| 59 | n | c1 | c2 | ... | 56 | n | c1 | c2 | ...
+-----+-----+-----+-----+--- +-----+-----+-----+-----+---
7.10. Maximum DHCP Message Size 9.8. Maximum DHCP Message Size
This option specifies the maximum length DHCP message that it is This option specifies the maximum length DHCP message that it is
willing to accept. The length is specified as an unsigned 16-bit willing to accept. The length is specified as an unsigned 16-bit
integer. The code for this option is 60, and its length is 2. The integer. A client may use the maximum DHCP message size option in
minimum legal value is 267 octets (264 octets for the DHCP header + 3 DHCPDISCOVER or DHCPREQUEST messages, but should not use the option
octets for the DHCP message type). in DHCPDECLINE messages.
The code for this option is 57, and its length is 2. The minimum
legal value is 576 octets.
Code Len Length Code Len Length
+-----+-----+-----+-----+ +-----+-----+-----+-----+
| 60 | 2 | l1 | l2 | | 57 | 2 | l1 | l2 |
+-----+-----+-----+-----+ +-----+-----+-----+-----+
8. Security Considerations 9.9. Renewal (T1) Time Value
Security considerations are not addressed in this memo. This option specifies the time interval from address assignment until
the client transitions to the RENEWING state.
9. References The value is in units of seconds, and is specified as a 32-bit
unsigned integer.
[1] Droms, R., "Dynamic Host Configuration Protocol", Internet Draft, The code for this option is 58, and its length is 4.
August 1992.
[2] Reynolds, J.K., "BOOTP Vendor Information Extensions", RFC 1084, Code Len T1 Interval
December 1988. +-----+-----+-----+-----+-----+-----+
| 58 | 4 | t1 | t2 | t3 | t4 |
+-----+-----+-----+-----+-----+-----+
[3] Braden, R.T., "Requirements for Internet Hosts - Communication 9.10. Rebinding (T2) Time Value
Layers", RFC 1122,November 1989.
[4]
Mogul, J., "Internet Standard Subnetting Procedure", RFC 950, This option specifies the time interval from address assignment until
the client transitions to the REBINDING state.
The value is in units of seconds, and is specified as a 32-bit
unsigned integer.
The code for this option is 59, and its length is 4.
Code Len T2 Interval
+-----+-----+-----+-----+-----+-----+
| 59 | 4 | t1 | t2 | t3 | t4 |
+-----+-----+-----+-----+-----+-----+
9.11. Class-identifier
This option is used by DHCP clients to optionally identify the type
and configuration of a DHCP client. The information is a string of n
octets, interpreted by servers. Vendors and sites may choose to
define specific class identifiers to convey particular configuration
or other identification information about a client. For example, the
identifier may encode the client's hardware configuration. Servers
not equipped to interpret the class-specific information sent by a
client MUST ignore it (although it may be reported).
The code for this option is 60, and its minimum length is 1.
Code Len Class-Identifier
+-----+-----+-----+-----+---
| 60 | n | i1 | i2 | ...
+-----+-----+-----+-----+---
9.12. Client-identifier
This option is used by DHCP clients to specify their unique
identifier. DHCP servers use this value to index their database of
address bindings. This value is expected to be unique for all
clients in an administrative domain.
Identifiers consist of a type-value pair, similar to the
It is expected that this field will typically contain a hardware type
and hardware address, but this is not required. Current legal values
for hardware types are defined in [22].
The code for this option is 61, and its minimum length is 2.
Code Len Type Client-Identifier
+-----+-----+-----+-----+-----+---
| 61 | n | t1 | i1 | i2 | ...
+-----+-----+-----+-----+-----+---
10. Extensions
Additional generic data fields may be registered by contacting:
Internet Assigned Numbers Authority (IANA)
USC/Information Sciences Institute
4676 Admiralty Way
Marina del Rey, California 90292-6695
or by email as: iana@isi.edu
Implementation specific use of undefined generic types (those in the
range 61-127) may conflict with other implementations, and
registration is required.
11. Acknowledgements
The authors would like to thank Philip Almquist for his feedback on
this document. The comments of the DHCP Working Group are also
gratefully acknowledged. In particular, Mike Carney and Jon Dreyer
from SunSelect suggested the current format of the Vendor-specific
Information option.
RFC 1497 is based on earlier work by Philip Prindeville, with help
from Drew Perkins, Bill Croft, and Steve Deering.
12. References
[1] Droms, R., "Dynamic Host Configuration Protocol", RFC 1531,
Bucknell University, October 1993.
[2] Reynolds, J., "BOOTP Vendor Information Extensions", RFC 1497,
USC/Information Sciences Institute, August 1993.
[3] Croft, W., and J. Gilmore, "Bootstrap Protocol", RFC 951,
Stanford University and Sun Microsystems, September 1985.
[4] Braden, R., Editor, "Requirements for Internet Hosts -
Communication Layers", STD 3, RFC 1122, USC/Information Sciences
Institute, October 1989.
[5] Mogul, J., and J. Postel, "Internet Standard Subnetting
Procedure", STD 5, RFC 950, USC/Information Sciences Institute,
August 1985. August 1985.
[5] Postel, J.B., and K. Harrenstien, "Time Protocol", RFC 868, May
1983.
[6] Postel, J.B., "Name Server", IEN 116, August 1979. [6] Postel, J., and K. Harrenstien, "Time Protocol", STD 26, RFC
868, USC/Information Sciences Institute, SRI, May 1983.
[7] Mockapetris, P.V., "Domain Names - Implementation and [7] Postel, J., "Name Server", IEN 116, USC/Information Sciences
Specification", RFC 1035, November 1987. Institute, August 1979.
[8] Postel, J.B., "Quote of the Day Protocol", RFC 865, May 1983. [8] Mockapetris, P., "Domain Names - Implementation and
Specification", STD 13, RFC 1035, USC/Information Sciences
Institute, November 1987.
[9] McLaughlin, L., "Line Printer Daemon Protocol", RFC 1179, August [9] Postel, J., "Quote of the Day Protocol", STD 23, RFC 865,
1990. USC/Information Sciences Institute, May 1983.
[10] Accetta, M., "Resource Location Protocol", RFC 887, December [10] McLaughlin, L., "Line Printer Daemon Protocol", RFC 1179, The
1983. Wollongong Group, August 1990.
[11] Braden, R.T. and J.B. Postel, "Requirements for Internet [11] Accetta, M., "Resource Location Protocol", RFC 887, CMU,
Gateways", RFC 1009, June 1987. December 1983.
[12] Mogul, J. and S. Deering, "Path MTU Discovery", RFC 1191, [12] Mogul, J. and S. Deering, "Path MTU Discovery", RFC 1191,
November 1990. DECWRL, Stanford University, November 1990.
[13] Sun Microsystems, "System and Network Administration", March [13] Deering, S., "ICMP Router Discovery Messages", RFC 1256,
1990. Xerox PARC, September 1991.
[14] Mills, D.L., "Internet Time Synchronization: The Network Time [14] Leffler, S. and M. Karels, "Trailer Encapsulations", RFC 893,
Protocol", RFC 1129,November 1989. U. C. Berkeley, April 1984.
[15] Deering, S.E., "ICMP Router Discovery Messages", RFC 1256, [15] Hornig, C., "Standard for the Transmission of IP Datagrams over
September 1991. Ethernet Networks", RFC 894, Symbolics, April 1984.
[16] Leffler, S. and M.J. Karels, "Trailer Encapsulations", RFC 893, [16] Postel, J. and J. Reynolds, "Standard for the Transmission of
April 1984. IP Datagrams Over IEEE 802 Networks", RFC 1042, USC/Information
Sciences Institute, February 1988.
[17] Hornig, C, "Standard for the Transmission of IP Datagrams over [17] Sun Microsystems, "System and Network Administration", March
Ethernet Networks", RFC 894, April 1984. 1990.
[18] Postel, J.B. and J.K. Reynolds, "Standard for the Transmission of [18] Mills, D., "Internet Time Synchronization: The Network Time
IP Datagrams Over IEEE 802 Networks", RFC 1042, February 1988. Protocol", RFC 1305, UDEL, March 1992.
10. Authors' Address [19] NetBIOS Working Group, "Protocol Standard for a NetBIOS Service
on a TCP/UDP transport: Concepts and Methods", STD 19, RFC 1001,
March 1987.
[20] NetBIOS Working Group, "Protocol Standard for a NetBIOS Service
on a TCP/UDP transport: Detailed Specifications", STD 19, RFC
1002, March 1987.
[21] Scheifler, R., "FYI On the X Window System", FYI 6, RFC 1198,
MIT Laboratory for Computer Science, January 1991.
[22] Reynolds, J., and J. Postel, "Assigned Numbers", STD 2, RFC 1340,
USC/Information Sciences Institute, July 1992.
13. Security Considerations
Security issues are not discussed in this memo.
14. Authors' Addresses
Steve Alexander Steve Alexander
INTERACTIVE Systems Corporation Lachman Technology, Inc.
1901 North Naper Boulevard 1901 North Naper Boulevard
Naperville, IL 60563-8895 Naperville, IL 60563-8895
Phone: (708) 505-9100 x256 Phone: (708) 505-9555 x256
EMail: stevea@isc.com EMail: stevea@lachman.com
Ralph Droms Ralph Droms
Computer Science Department Computer Science Department
323 Dana Engineering 323 Dana Engineering
Bucknell University Bucknell University
Lewisburg, PA 17837 Lewisburg, PA 17837
Phone: (717) 524-1145 Phone: (717) 524-1145
EMail: droms@bucknell.edu EMail: droms@bucknell.edu
 End of changes. 192 change blocks. 
388 lines changed or deleted 797 lines changed or added

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