summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorTed Lemon <source@isc.org>1996-05-24 18:37:20 +0000
committerTed Lemon <source@isc.org>1996-05-24 18:37:20 +0000
commitf4d8590fdd2836ab96b35a874e28fc002a1276b4 (patch)
tree1efa1f260072f2d28fae99ea46a03188c49754c9 /doc
parentc73856ba816f0bff18717cba424a33952ba7d09e (diff)
downloadisc-dhcp-f4d8590fdd2836ab96b35a874e28fc002a1276b4.tar.gz
New DHCP draft
Diffstat (limited to 'doc')
-rw-r--r--doc/draft-ietf-dhc-dhcp-07.txt (renamed from doc/draft-ietf-dhc-dhcp-06.txt)850
1 files changed, 369 insertions, 481 deletions
diff --git a/doc/draft-ietf-dhc-dhcp-06.txt b/doc/draft-ietf-dhc-dhcp-07.txt
index c7bfb188..c8dbb220 100644
--- a/doc/draft-ietf-dhc-dhcp-06.txt
+++ b/doc/draft-ietf-dhc-dhcp-07.txt
@@ -1,12 +1,12 @@
Network Working Group R. Droms
INTERNET DRAFT Bucknell University
-Obsoletes: draft-ietf-dhc-dhcp-05.txt November 1995
- Expires May 1996
+Obsoletes: draft-ietf-dhc-dhcp-06.txt May 1996
+ Expires November 1996
Dynamic Host Configuration Protocol
- <draft-ietf-dhc-dhcp-06.txt>
+ <draft-ietf-dhc-dhcp-07.txt>
Status of this memo
@@ -40,23 +40,24 @@ Abstract
Table of Contents
1. Introduction. . . . . . . . . . . . . . . . . . . . . . . . . 2
- 1.1 Related Work. . . . . . . . . . . . . . . . . . . . . . . . . 4
- 1.2 Problem definition and issues . . . . . . . . . . . . . . . . 4
- 1.3 Requirements. . . . . . . . . . . . . . . . . . . . . . . . . 5
- 1.4 Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 6
- 1.5 Design goals. . . . . . . . . . . . . . . . . . . . . . . . . 6
+ 1.1 Changes to RFC1541. . . . . . . . . . . . . . . . . . . . . . 4
+ 1.2 Related Work. . . . . . . . . . . . . . . . . . . . . . . . . 4
+ 1.3 Problem definition and issues . . . . . . . . . . . . . . . . 5
+ 1.4 Requirements. . . . . . . . . . . . . . . . . . . . . . . . . 5
+ 1.5 Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 6
+ 1.6 Design goals. . . . . . . . . . . . . . . . . . . . . . . . . 6
2. Protocol Summary. . . . . . . . . . . . . . . . . . . . . . . 8
- 2.1 Configuration parameters repository . . . . . . . . . . . . . 10
Droms [Page 1]
-DRAFT Dynamic Host Configuration Protocol November 1995
+DRAFT Dynamic Host Configuration Protocol May 1996
- 2.2 Dynamic allocation of network addresses . . . . . . . . . . . 11
- 3. The Client-Server Protocol. . . . . . . . . . . . . . . . . . 12
+ 2.1 Configuration parameters repository . . . . . . . . . . . . . 11
+ 2.2 Dynamic allocation of network addresses . . . . . . . . . . . 12
+ 3. The Client-Server Protocol. . . . . . . . . . . . . . . . . . 13
3.1 Client-server interaction - allocating a network address. . . 13
3.2 Client-server interaction - reusing a previously allocated
network address . . . . . . . . . . . . . . . . . . . . . . . 17
@@ -64,7 +65,7 @@ DRAFT Dynamic Host Configuration Protocol November 1995
3.4 Obtaining parameters with externally configured network
address . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.5 Client parameters in DHCP . . . . . . . . . . . . . . . . . . 20
- 3.6 Use of DHCP in clients with multiple interfaces . . . . . . . 21
+ 3.6 Use of DHCP in clients with multiple interfaces . . . . . . . 22
3.7 When clients should use DHCP. . . . . . . . . . . . . . . . . 22
4. Specification of the DHCP client-server protocol. . . . . . . 22
4.1 Constructing and sending DHCP messages. . . . . . . . . . . . 22
@@ -75,12 +76,11 @@ DRAFT Dynamic Host Configuration Protocol November 1995
6. Security Considerations. . . . . . . . . . . . . . . . . . . .42
7. Author's Address . . . . . . . . . . . . . . . . . . . . . . .42
A. Host Configuration Parameters . . . . . . . . . . . . . . . .43
- B. Changes to draft-ietf-dhc-dhcp-02.txt. . . . . . . . . . . . .44
List of Figures
1. Format of a DHCP message . . . . . . . . . . . . . . . . . . . 9
- 2. Format of the 'flags' field. . . . . . . . . . . . . . . . . . 10
+ 2. Format of the 'flags' field. . . . . . . . . . . . . . . . . . 11
3. Timeline diagram of messages exchanged between DHCP client and
servers when allocating a new network address. . . . . . . . . 15
4. Timeline diagram of messages exchanged between DHCP client and
@@ -89,9 +89,9 @@ List of Figures
List of Tables
- 1. Description of fields in a DHCP message. . . . . . . . . . . . 12
+ 1. Description of fields in a DHCP message. . . . . . . . . . . . 10
2. DHCP messages. . . . . . . . . . . . . . . . . . . . . . . . . 14
- 3. Fields and options used by DHCP servers. . . . . . . . . . . . 27
+ 3. Fields and options used by DHCP servers. . . . . . . . . . . . 28
4. Client messages from various states. . . . . . . . . . . . . . 33
5. Fields and options used by DHCP clients. . . . . . . . . . . . 37
@@ -108,7 +108,7 @@ List of Tables
Droms [Page 2]
-DRAFT Dynamic Host Configuration Protocol November 1995
+DRAFT Dynamic Host Configuration Protocol May 1996
DHCP is built on a client-server model, where designated DHCP server
@@ -164,7 +164,7 @@ DRAFT Dynamic Host Configuration Protocol November 1995
Droms [Page 3]
-DRAFT Dynamic Host Configuration Protocol November 1995
+DRAFT Dynamic Host Configuration Protocol May 1996
BOOTP specification [7, 21] and to allow interoperability of existing
@@ -172,7 +172,18 @@ DRAFT Dynamic Host Configuration Protocol November 1995
the necessity of having a DHCP server on each physical network
segment.
-1.1 Related Work
+1.1 Changes to RFC 1541
+
+ This document updates the DHCP protocol specification that appears in
+ RFC1541. A new DHCP message type, DHCPINFORM, has been added; see
+ section 3.4, 4.3 and 4.4 for details. The classing mechanism for
+ identifying DHCP clients to DHCP servers has been extended to include
+ "vendor" and "user" classes as defined in sections 4.2 and 4.3. The
+ minimum lease time restriction has been removed. Finally, many
+ editorial changes have been made to clarify the text as a result of
+ experience gained in DHCP interoperability tests.
+
+1.2 Related Work
There are several Internet protocols and related mechanisms that
address some parts of the dynamic host configuration problem. The
@@ -204,6 +215,14 @@ DRAFT Dynamic Host Configuration Protocol November 1995
automate the configuration of new hosts in an existing network.
In other related work, the path minimum transmission unit (MTU)
+
+
+
+Droms [Page 4]
+
+DRAFT Dynamic Host Configuration Protocol May 1996
+
+
discovery algorithm can determine the MTU of an arbitrary internet
path [14]. The Address Resolution Protocol (ARP) has been proposed
as a transport protocol for resource location and selection [6].
@@ -211,18 +230,10 @@ DRAFT Dynamic Host Configuration Protocol November 1995
requirements for host reconfiguration and suggest a scenario for
initial configuration of diskless hosts.
-1.2 Problem definition and issues
+1.3 Problem definition and issues
DHCP is designed to supply DHCP clients with the configuration
parameters defined in the Host Requirements RFCs. After obtaining
-
-
-
-Droms [Page 4]
-
-DRAFT Dynamic Host Configuration Protocol November 1995
-
-
parameters via DHCP, a DHCP client should be able to exchange packets
with any other host in the Internet. The TCP/IP stack parameters
supplied by DHCP are listed in Appendix A.
@@ -239,7 +250,7 @@ DRAFT Dynamic Host Configuration Protocol November 1995
DHCP is not intended for use in configuring routers.
-1.3 Requirements
+1.4 Requirements
Throughout this document, the words that are used to define the
significance of particular requirements are capitalized. These words
@@ -255,6 +266,19 @@ DRAFT Dynamic Host Configuration Protocol November 1995
This phrase means that the item is an absolute prohibition
of this specification.
+
+
+
+
+
+
+
+
+Droms [Page 5]
+
+DRAFT Dynamic Host Configuration Protocol May 1996
+
+
o "SHOULD"
This word or the adjective "RECOMMENDED" means that there
@@ -270,15 +294,6 @@ DRAFT Dynamic Host Configuration Protocol November 1995
and the case carefully weighed before implementing any behavior
described with this label.
-
-
-
-
-Droms [Page 5]
-
-DRAFT Dynamic Host Configuration Protocol November 1995
-
-
o "MAY"
This word or the adjective "OPTIONAL" means that this item is
@@ -287,7 +302,7 @@ DRAFT Dynamic Host Configuration Protocol November 1995
enhances the product, for example; another vendor may omit the
same item.
-1.4 Terminology
+1.5 Terminology
This document uses the following terms:
@@ -308,13 +323,25 @@ DRAFT Dynamic Host Configuration Protocol November 1995
designed to use the same relay agent behavior as specified in
the BOOTP protocol specification.
+
+
+
+
+
+
+
+Droms [Page 6]
+
+DRAFT Dynamic Host Configuration Protocol May 1996
+
+
o "binding"
A binding is a collection of configuration parameters, including
at least an IP address, associated with or "bound to" a DHCP
client. Bindings are managed by DHCP servers.
-1.5 Design goals
+1.6 Design goals
The following list gives general design goals for DHCP.
@@ -324,17 +351,6 @@ DRAFT Dynamic Host Configuration Protocol November 1995
should be able to enforce local policies concerning allocation
and access to local resources where desired.
-
-
-
-
-
-
-Droms [Page 6]
-
-DRAFT Dynamic Host Configuration Protocol November 1995
-
-
o Clients should require no manual configuration. Each client should
be able to discover appropriate local configuration parameters
without user intervention and incorporate those parameters into
@@ -364,6 +380,17 @@ DRAFT Dynamic Host Configuration Protocol November 1995
The following list gives design goals specific to the transmission of
the network layer parameters. DHCP must:
+
+
+
+
+
+
+Droms [Page 7]
+
+DRAFT Dynamic Host Configuration Protocol May 1996
+
+
o Guarantee that any specific network address will not be in
use by more than one DHCP client at a time,
@@ -381,16 +408,6 @@ DRAFT Dynamic Host Configuration Protocol November 1995
o Support fixed or permanent allocation of configuration
parameters to specific clients.
-
-
-
-
-
-Droms [Page 7]
-
-DRAFT Dynamic Host Configuration Protocol November 1995
-
-
2. Protocol Summary
From the client's point of view, DHCP is an extension of the BOOTP
@@ -422,29 +439,12 @@ DRAFT Dynamic Host Configuration Protocol November 1995
extensions" field, which were formerly referred to as "vendor
extensions," are now termed simply "options."
- DHCP defines a new 'client identifier' option that is used to pass an
- explicit client identifier to a DHCP server. This change eliminates
- the overloading of the 'chaddr' field in BOOTP messages, where
- 'chaddr' is used both as a hardware address for transmission of BOOTP
- reply messages and as a client identifier. The 'client identifier'
- is an opaque key, not to be interpreted by the server; for example,
- the 'client identifier' may contain a hardware address, identical to
- the contents of the 'chaddr' field, or it may contain another type of
- identifier, such as a DNS name. The 'client identifier' chosen by a
- DHCP client MUST be unique to that client within the subnet to which
- the client is attached. If the client uses a 'client identifier' in
- one message, it MUST use that same identifier in all subsequent
- messages, to ensure that all servers correctly identify the client.
-
-
-
-
Droms [Page 8]
-DRAFT Dynamic Host Configuration Protocol November 1995
+DRAFT Dynamic Host Configuration Protocol May 1996
0 1 2 3
@@ -481,6 +481,28 @@ DRAFT Dynamic Host Configuration Protocol November 1995
Figure 1: Format of a DHCP message
+ DHCP defines a new 'client identifier' option that is used to pass an
+ explicit client identifier to a DHCP server. This change eliminates
+ the overloading of the 'chaddr' field in BOOTP messages, where
+ 'chaddr' is used both as a hardware address for transmission of BOOTP
+ reply messages and as a client identifier. The 'client identifier'
+ is an opaque key, not to be interpreted by the server; for example,
+ the 'client identifier' may contain a hardware address, identical to
+ the contents of the 'chaddr' field, or it may contain another type of
+ identifier, such as a DNS name. The 'client identifier' chosen by a
+ DHCP client MUST be unique to that client within the subnet to which
+ the client is attached. If the client uses a 'client identifier' in
+ one message, it MUST use that same identifier in all subsequent
+ messages, to ensure that all servers correctly identify the client.
+
+
+
+
+Droms [Page 9]
+
+DRAFT Dynamic Host Configuration Protocol May 1996
+
+
DHCP clarifies the interpretation of the 'siaddr' field as the
address of the server to use in the next step of the client's
bootstrap process. A DHCP server may return its own address in the
@@ -489,20 +511,56 @@ DRAFT Dynamic Host Configuration Protocol November 1995
image). A DHCP server always returns its own address in the 'server
identifier' option.
+ FIELD OCTETS DESCRIPTION
+ ----- ------ -----------
+
+ op 1 Message op code / message type.
+ 1 = BOOTREQUEST, 2 = BOOTREPLY
+ htype 1 Hardware address type, see ARP section in "Assigned
+ Numbers" RFC; e.g., '1' = 10mb ethernet.
+ hlen 1 Hardware address length (e.g. '6' for 10mb
+ ethernet).
+ hops 1 Client sets to zero, optionally used by relay agents
+ when booting via a relay agent.
+ xid 4 Transaction ID, a random number chosen by the
+ client, used by the client and server to associate
+ messages and responses between a client and a
+ server.
+ secs 2 Filled in by client, seconds elapsed since client
+ began address acquisition or renewal process.
+ flags 2 Flags (see figure 2).
+ ciaddr 4 Client IP address; only filled in if client is in
+ BOUND, RENEW or REBINDING state and can respond to ARP
+ requests.
+ yiaddr 4 'your' (client) IP address.
+ siaddr 4 IP address of next server to use in bootstrap;
+ returned in DHCPOFFER, DHCPACK by server.
+ giaddr 4 Relay agent IP address, used in booting via a
+ relay agent.
+ chaddr 16 Client hardware address.
+ sname 64 Optional server host name, null terminated string.
+ file 128 Boot file name, null terminated string; "generic"
+ name or null in DHCPDISCOVER, fully qualified
+ directory-path name in DHCPOFFER.
+ options var Optional parameters field. See the options
+ documents for a list of defined options.
+
+ Table 1: Description of fields in a DHCP message
+
The 'options' field is now variable length. A DHCP client must be
prepared to receive DHCP messages with an 'options' field of at least
length 312 octets. This requirement implies that a DHCP client must
be prepared to receive a message of up to 576 octets, the minimum IP
- datagram size an IP host must be prepared to accept [3]. DHCP
- clients may negotiate the use of larger DHCP messages through the
-Droms [Page 9]
+Droms [Page 10]
-DRAFT Dynamic Host Configuration Protocol November 1995
+DRAFT Dynamic Host Configuration Protocol May 1996
+ datagram size an IP host must be prepared to accept [3]. DHCP
+ clients may negotiate the use of larger DHCP messages through the
'maximum DHCP message size' option. The options field may be further
extended into the 'file' and 'sname' fields.
@@ -516,6 +574,8 @@ DRAFT Dynamic Host Configuration Protocol November 1995
clients that cannot accept hardware unicast datagrams before the
TCP/IP software is configured.
+
+
To work around some clients that cannot accept IP unicast datagrams
before the TCP/IP software is configured as discussed in the previous
paragraph, DHCP uses the 'flags' field [21]. The leftmost bit is
@@ -548,17 +608,16 @@ DRAFT Dynamic Host Configuration Protocol November 1995
subnet) and the value contains the configuration parameters for the
client.
- For example, the key might be the pair (IP-subnet-number, hardware-
- address) (note that the "hardware-address" should be typed by the
- type of hardware to accommodate possible duplication of hardware
-
-Droms [Page 10]
+Droms [Page 11]
-DRAFT Dynamic Host Configuration Protocol November 1995
+DRAFT Dynamic Host Configuration Protocol May 1996
+ For example, the key might be the pair (IP-subnet-number, hardware-
+ address) (note that the "hardware-address" should be typed by the
+ type of hardware to accommodate possible duplication of hardware
addresses resulting from bit-ordering problems in a mixed-media,
bridged network) allowing for serial or concurrent reuse of a
hardware address on different subnets, and for hardware addresses
@@ -604,52 +663,17 @@ DRAFT Dynamic Host Configuration Protocol November 1995
address to reuse. For example, the server may choose the least
recently assigned address. As a consistency check, the allocating
server SHOULD probe the reused address before allocating the address,
- e.g., with an ICMP echo request, and the client SHOULD probe the
- newly received address, e.g., with ARP.
-
-Droms [Page 11]
+Droms [Page 12]
-DRAFT Dynamic Host Configuration Protocol November 1995
+DRAFT Dynamic Host Configuration Protocol May 1996
- FIELD OCTETS DESCRIPTION
- ----- ------ -----------
-
- op 1 Message op code / message type.
- 1 = BOOTREQUEST, 2 = BOOTREPLY
- htype 1 Hardware address type, see ARP section in "Assigned
- Numbers" RFC; e.g., '1' = 10mb ethernet.
- hlen 1 Hardware address length (e.g. '6' for 10mb
- ethernet).
- hops 1 Client sets to zero, optionally used by relay agents
- when booting via a relay agent.
- xid 4 Transaction ID, a random number chosen by the
- client, used by the client and server to associate
- messages and responses between a client and a
- server.
- secs 2 Filled in by client, seconds elapsed since client
- began address acquisition or renewal process.
- flags 2 Flags (see figure 2).
- ciaddr 4 Client IP address; only filled in if client is in
- BOUND, RENEW or REBINDING state and can respond to ARP
- requests.
- yiaddr 4 'your' (client) IP address.
- siaddr 4 IP address of next server to use in bootstrap;
- returned in DHCPOFFER, DHCPACK by server.
- giaddr 4 Relay agent IP address, used in booting via a
- relay agent.
- chaddr 16 Client hardware address.
- sname 64 Optional server host name, null terminated string.
- file 128 Boot file name, null terminated string; "generic"
- name or null in DHCPDISCOVER, fully qualified
- directory-path name in DHCPOFFER.
- options var Optional parameters field. See the options
- documents for a list of defined options.
+ e.g., with an ICMP echo request, and the client SHOULD probe the
+ newly received address, e.g., with ARP.
- Table 1: Description of fields in a DHCP message
3. The Client-Server Protocol
@@ -663,14 +687,6 @@ DRAFT Dynamic Host Configuration Protocol November 1995
is the same magic cookie as is defined in RFC 1497 [17]). The
remainder of the 'options' field consists of a list of tagged
parameters that are called "options". All of the "vendor extensions"
-
-
-
-Droms [Page 12]
-
-DRAFT Dynamic Host Configuration Protocol November 1995
-
-
listed in RFC 1497 are also DHCP options. RFC 1533 gives the
complete set of options defined for use with DHCP.
@@ -700,6 +716,17 @@ DRAFT Dynamic Host Configuration Protocol November 1995
agents may pass the message on to DHCP servers not on the same
physical subnet.
+
+
+
+
+
+
+Droms [Page 13]
+
+DRAFT Dynamic Host Configuration Protocol May 1996
+
+
2. Each server may respond with a DHCPOFFER message that includes an
available network address in the 'yiaddr' field (and other
configuration parameters in DHCP options). Servers need not
@@ -713,34 +740,6 @@ DRAFT Dynamic Host Configuration Protocol November 1995
allocated addresses. The server transmits the DHCPOFFER message
to the client, using the BOOTP relay agent if necessary.
- 3. The client receives one or more DHCPOFFER messages from one or
- more servers. The client may choose to wait for multiple
- responses. The client chooses one server from which to request
- configuration parameters, based on the configuration parameters
- offered in the DHCPOFFER messages. The client broadcasts a
- DHCPREQUEST message that MUST include the 'server identifier'
-
-
-
-Droms [Page 13]
-
-DRAFT Dynamic Host Configuration Protocol November 1995
-
-
- option to indicate which server it has selected, and that MAY
- include other options specifying desired configuration values.
- The 'requested IP address' option MUST be set to the value of
- 'yiaddr' in the DHCPOFFER message from the server. This
- DHCPREQUEST message is broadcast and relayed through DHCP/BOOTP
- relay agents. To help ensure that any BOOTP relay agents forward
- the DHCPREQUEST message to the same set of DHCP servers that
- received the original DHCPDISCOVER message, the DHCPREQUEST
- message MUST use the same value in the DHCP message header's
- 'secs' field and be sent to the same IP broadcast address as the
- original DHCPDISCOVER message. The client times out and
- retransmits the DHCPDISCOVER message if the client receives no
- DHCPOFFER messages.
-
Message Use
------- ---
@@ -778,9 +777,10 @@ DRAFT Dynamic Host Configuration Protocol November 1995
+
Droms [Page 14]
-DRAFT Dynamic Host Configuration Protocol November 1995
+DRAFT Dynamic Host Configuration Protocol May 1996
Server Client Server
@@ -836,8 +836,27 @@ DRAFT Dynamic Host Configuration Protocol November 1995
Droms [Page 15]
-DRAFT Dynamic Host Configuration Protocol November 1995
-
+DRAFT Dynamic Host Configuration Protocol May 1996
+
+
+ 3. The client receives one or more DHCPOFFER messages from one or more
+ servers. The client may choose to wait for multiple responses.
+ The client chooses one server from which to request configuration
+ parameters, based on the configuration parameters offered in the
+ DHCPOFFER messages. The client broadcasts a DHCPREQUEST message
+ that MUST include the 'server identifier' option to indicate which
+ server it has selected, and that MAY include other options
+ specifying desired configuration values. The 'requested IP
+ address' option MUST be set to the value of 'yiaddr' in the
+ DHCPOFFER message from the server. This DHCPREQUEST message is
+ broadcast and relayed through DHCP/BOOTP relay agents. To help
+ ensure that any BOOTP relay agents forward the DHCPREQUEST message
+ to the same set of DHCP servers that received the original
+ DHCPDISCOVER message, the DHCPREQUEST message MUST use the same
+ value in the DHCP message header's 'secs' field and be sent to the
+ same IP broadcast address as the original DHCPDISCOVER message.
+ The client times out and retransmits the DHCPDISCOVER message if
+ the client receives no DHCPOFFER messages.
4. The servers receive the DHCPREQUEST broadcast from the client.
Those servers not selected by the DHCPREQUEST message use the
@@ -868,6 +887,14 @@ DRAFT Dynamic Host Configuration Protocol November 1995
parameters. The client SHOULD perform a final check on the
parameters (e.g., ARP for allocated network address), and notes the
duration of the lease specified in the DHCPACK message. At this
+
+
+
+Droms [Page 16]
+
+DRAFT Dynamic Host Configuration Protocol May 1996
+
+
point, the client is configured. If the client detects that the
address is already in use (e.g., through the use of ARP), the
client MUST send a DHCPDECLINE message to the server and restarts
@@ -887,14 +914,6 @@ DRAFT Dynamic Host Configuration Protocol November 1995
that client) to wait overly long before giving up; e.g., a client
retransmitting as described in section 4.1 might retransmit the
DHCPREQUEST message four times, for a total delay of 60 seconds,
-
-
-
-Droms [Page 16]
-
-DRAFT Dynamic Host Configuration Protocol November 1995
-
-
before restarting the initialization procedure. If the client
receives neither a DHCPACK or a DHCPNAK message after employing the
retransmission algorithm, the client reverts to INIT state and
@@ -924,6 +943,14 @@ DRAFT Dynamic Host Configuration Protocol November 1995
relay agents pass the message on to DHCP servers not on the same
subnet. If the client used a 'client identifier' to obtain its
address, the client MUST use the same 'client identifier' in the
+
+
+
+Droms [Page 17]
+
+DRAFT Dynamic Host Configuration Protocol May 1996
+
+
DHCPREQUEST message.
2. Servers with knowledge of the client's configuration parameters
@@ -939,18 +966,6 @@ DRAFT Dynamic Host Configuration Protocol November 1995
SHOULD NOT respond with a DHCPNAK unless the servers are using an
explicit mechanism to maintain coherency among the servers.
-
-
-
-
-
-
-
-Droms [Page 17]
-
-DRAFT Dynamic Host Configuration Protocol November 1995
-
-
Server Client Server
v v v
@@ -982,6 +997,16 @@ DRAFT Dynamic Host Configuration Protocol November 1995
| | |
v v v
+
+
+
+
+
+Droms [Page 18]
+
+DRAFT Dynamic Host Configuration Protocol May 1996
+
+
Figure 4: Timeline diagram of messages exchanged between DHCP
client and servers when reusing a previously allocated
network address
@@ -992,21 +1017,12 @@ DRAFT Dynamic Host Configuration Protocol November 1995
broadcast the DHCPNAK message to the 0xffffffff broadcast address
because the client may not have a correct network address or subnet
mask, and the client may not be answering ARP requests.
- Otherwise, the server send the DHCPNAK message to the IP
+ Otherwise, the server MUST send the DHCPNAK message to the IP
address of the BOOTP relay agent, as recorded in 'giaddr'. The
relay agent will, in turn, forward the message directly to the
client's hardware address, so that the DHCPNAK can be delivered even
if the client has moved to a new network.
-
-
-
-
-Droms [Page 18]
-
-DRAFT Dynamic Host Configuration Protocol November 1995
-
-
3. The client receives the DHCPACK message with configuration
parameters. The client performs a final check on the parameters
(as in section 3.1), and notes the duration of the lease specified
@@ -1039,6 +1055,14 @@ DRAFT Dynamic Host Configuration Protocol November 1995
DHCPREQUEST message four times, for a total delay of 60 seconds,
before restarting the initialization procedure. If the client
receives neither a DHCPACK or a DHCPNAK message after employing
+
+
+
+Droms [Page 19]
+
+DRAFT Dynamic Host Configuration Protocol May 1996
+
+
the retransmission algorithm, the client MAY choose to use the
previously allocated network address and configuration parameters
for the remainder of the unexpired lease. This corresponds to
@@ -1055,14 +1079,6 @@ DRAFT Dynamic Host Configuration Protocol November 1995
address locally, the client will not normally relinquish its
lease during a graceful shutdown. Only in the case where the
client explicitly needs to relinquish its lease, e.g., the client
-
-
-
-Droms [Page 19]
-
-DRAFT Dynamic Host Configuration Protocol November 1995
-
-
is about to be moved to a different subnet, will the client send
a DHCPRELEASE message.
@@ -1095,6 +1111,14 @@ DRAFT Dynamic Host Configuration Protocol November 1995
to obtain other local configuration parameters. Servers receiving a
DHCPINFORM message construct a DHCPACK message with any local
configuration parameters appropriate for the client without:
+
+
+
+Droms [Page 20]
+
+DRAFT Dynamic Host Configuration Protocol May 1996
+
+
allocating a new address, checking for an existing binding, filling
in 'yiaddr' or including lease time parameters. The servers SHOULD
unicast the DHCPACK reply to the address given in the 'ciaddr' field
@@ -1111,14 +1135,6 @@ DRAFT Dynamic Host Configuration Protocol November 1995
Not all clients require initialization of all parameters listed in
Appendix A. Two techniques are used to reduce the number of
parameters transmitted from the server to the client. First, most of
-
-
-
-Droms [Page 20]
-
-DRAFT Dynamic Host Configuration Protocol November 1995
-
-
the parameters have defaults defined in the Host Requirements RFCs;
if the client receives no parameters from the server that override
the defaults, a client uses those default values. Second, in its
@@ -1151,6 +1167,14 @@ DRAFT Dynamic Host Configuration Protocol November 1995
be ignored by servers, and multiple servers may, therefore, not
return identical values for some options. The 'requested IP address'
option is to be filled in only in a DHCPREQUEST message when the
+
+
+
+Droms [Page 21]
+
+DRAFT Dynamic Host Configuration Protocol May 1996
+
+
client is verifying network parameters obtained previously. The
client fills in the 'ciaddr' field only when correctly configured
with an IP address in BOUND, RENEWING or REBINDING state.
@@ -1167,14 +1191,6 @@ DRAFT Dynamic Host Configuration Protocol November 1995
interface independently to obtain configuration information
parameters for those separate interfaces.
-
-
-
-Droms [Page 21]
-
-DRAFT Dynamic Host Configuration Protocol November 1995
-
-
3.7 When clients should use DHCP
A client SHOULD use DHCP to reacquire or verify its IP address and
@@ -1207,6 +1223,14 @@ DRAFT Dynamic Host Configuration Protocol November 1995
be the 'end' option.
DHCP uses UDP as its transport protocol. DHCP messages from a client
+
+
+
+Droms [Page 22]
+
+DRAFT Dynamic Host Configuration Protocol May 1996
+
+
to a server are sent to the 'DHCP server' port (67), and DHCP
messages from a server to a client are sent to the 'DHCP client' port
(68). A server with multiple network address (e.g., a multi-homed
@@ -1223,14 +1247,6 @@ DRAFT Dynamic Host Configuration Protocol November 1995
unicasts DHCPOFFER and DHCPACK messages to the address in 'ciaddr'.
If 'giaddr' is zero and 'ciaddr' is zero, and the broadcast bit is
set, then the server broadcasts DHCPOFFER and DHCPACK messages to
-
-
-
-Droms [Page 22]
-
-DRAFT Dynamic Host Configuration Protocol November 1995
-
-
0xffffffff. If the broadcast bit is not set and 'giaddr' is zero and
'ciaddr' is zero, then the server unicasts DHCPOFFER and DHCPACK
messages to the client's hardware address and 'yiaddr' address. In
@@ -1263,6 +1279,14 @@ DRAFT Dynamic Host Configuration Protocol November 1995
DHCP clients are responsible for all message retransmission. The
client MUST adopt a retransmission strategy that incorporates a
+
+
+
+Droms [Page 23]
+
+DRAFT Dynamic Host Configuration Protocol May 1996
+
+
randomized exponential backoff algorithm to determine the delay
between retransmissions. The delay between retransmissions SHOULD be
chosen to allow sufficient time for replies from the server to be
@@ -1279,14 +1303,6 @@ DRAFT Dynamic Host Configuration Protocol November 1995
MAY provide an indication of retransmission attempts to the user as
an indication of the progress of the configuration process.
-
-
-
-Droms [Page 23]
-
-DRAFT Dynamic Host Configuration Protocol November 1995
-
-
The 'xid' field is used by the client to match incoming DHCP messages
with pending requests. A DHCP client MUST choose 'xid's in such a
way as to minimize the chance of using an 'xid' identical to one used
@@ -1319,6 +1335,14 @@ DRAFT Dynamic Host Configuration Protocol November 1995
clarifications document discusses the ramifications of the use of the
BROADCAST bit [21].
+
+
+
+Droms [Page 24]
+
+DRAFT Dynamic Host Configuration Protocol May 1996
+
+
A server or relay agent sending or relaying a DHCP message directly
to a DHCP client (i.e., not to a relay agent specified in the
'giaddr' field) SHOULD examine the BROADCAST bit in the 'flags'
@@ -1333,16 +1357,6 @@ DRAFT Dynamic Host Configuration Protocol November 1995
(preferably 0xffffffff) as the IP destination address and the link-
layer broadcast address as the link-layer destination address.
-
-
-
-
-
-Droms [Page 24]
-
-DRAFT Dynamic Host Configuration Protocol November 1995
-
-
4.2 DHCP server administrative controls
DHCP servers are not required to respond to every DHCPDISCOVER and
@@ -1377,6 +1391,14 @@ DRAFT Dynamic Host Configuration Protocol November 1995
client to use an identifier unique within the subnet to which the
client is attached in the 'client identifier' option. Use of
'chaddr' as the client's unique identifier may cause unexpected
+
+
+
+Droms [Page 25]
+
+DRAFT Dynamic Host Configuration Protocol May 1996
+
+
results, as that identifier may be associated with a hardware
interface that could be moved to a new client. Some sites may choose
to use a manufacturer's serial number as the 'client identifier', to
@@ -1391,14 +1413,6 @@ DRAFT Dynamic Host Configuration Protocol November 1995
to select directly the 'vendor class identifier' and 'user class
identifier' values.
-
-
-
-Droms [Page 25]
-
-DRAFT Dynamic Host Configuration Protocol November 1995
-
-
4.3 DHCP server behavior
A DHCP server processes incoming DHCP messages from a client based on
@@ -1434,6 +1448,13 @@ DRAFT Dynamic Host Configuration Protocol November 1995
expired or released) binding, if that address is in the server's
pool of available addresses and not already allocated, ELSE
+
+
+Droms [Page 26]
+
+DRAFT Dynamic Host Configuration Protocol May 1996
+
+
o The address requested in the 'Requested IP Address' option, if that
address is valid and not already allocated, ELSE
@@ -1447,12 +1468,47 @@ DRAFT Dynamic Host Configuration Protocol November 1995
refuse to allocate an address to a particular client even though free
addresses are available.
+ Note that, in some network architectures (e.g., internets with more
+ than one IP subnet assigned to a physical network segment), it may be
+ the case that the DHCP client should be assigned an address from a
+ different subnet than the address recorded in 'giaddr'. Thus, DHCP
+ does not require that the client be assigned as address from the
+ subnet in 'giaddr'. A server is free to choose some other subnet,
+ and it is beyond the scope of the DHCP specification to describe ways
+ in which the assigned IP address might be chosen.
+ While not required for correct operation of DHCP, the server SHOULD
+ NOT reuse the selected network address before the client responds to
+ the server's DHCPOFFER message. The server may choose to record the
+ address as offered to the client.
+ The server must also choose an expiration time for the lease, as
+ follows:
-Droms [Page 26]
+ o IF the client has not requested a specific lease in the
+ DHCPDISCOVER message and the client already has an assigned network
+ address, the server returns the lease expiration time previously
+ assigned to that address (note that the client must explicitly
+ request a specific lease to extend the expiration time on a
+ previously assigned address), ELSE
+
+ o IF the client has not requested a specific lease in the
+ DHCPDISCOVER message and the client does not have an assigned
+ network address, the server assigns a locally configured default
+ lease time, ELSE
+
+ o IF the client has requested a specific lease in the DHCPDISCOVER
+ message (regardless of whether the client has an assigned network
+ address), the server may choose either to return the requested
+ lease (if the lease is acceptable to local policy) or select
+ another lease.
+
+
+
+
+Droms [Page 27]
-DRAFT Dynamic Host Configuration Protocol November 1995
+DRAFT Dynamic Host Configuration Protocol May 1996
Field DHCPOFFER DHCPACK DHCPNAK
@@ -1506,36 +1562,10 @@ DRAFT Dynamic Host Configuration Protocol November 1995
-Droms [Page 27]
+Droms [Page 28]
-DRAFT Dynamic Host Configuration Protocol November 1995
-
-
- While not required for correct operation of DHCP, the server SHOULD
- NOT reuse the selected network address before the client responds to
- the server's DHCPOFFER message. The server may choose to record the
- address as offered to the client.
+DRAFT Dynamic Host Configuration Protocol May 1996
- The server must also choose an expiration time for the lease, as
- follows:
-
- o IF the client has not requested a specific lease in the
- DHCPDISCOVER message and the client already has an assigned network
- address, the server returns the lease expiration time previously
- assigned to that address (note that the client must explicitly
- request a specific lease to extend the expiration time on a
- previously assigned address), ELSE
-
- o IF the client has not requested a specific lease in the
- DHCPDISCOVER message and the client does not have an assigned
- network address, the server assigns a locally configured default
- lease time, ELSE
-
- o IF the client has requested a specific lease in the DHCPDISCOVER
- message (regardless of whether the client has an assigned network
- address), the server may choose either to return the requested
- lease (if the lease is acceptable to local policy) or select
- another lease.
Once the network address and lease have been determined, the server
constructs a DHCPOFFER message with the offered configuration
@@ -1557,16 +1587,6 @@ DRAFT Dynamic Host Configuration Protocol November 1995
o Parameters requested by the client, according to the following
rules:
-
-
-
-
-
-Droms [Page 28]
-
-DRAFT Dynamic Host Configuration Protocol November 1995
-
-
-- IF the server has been explicitly configured with a default
value for the parameter, the server MUST include that value
in an appropriate option in the 'option' field, ELSE
@@ -1593,6 +1613,16 @@ DRAFT Dynamic Host Configuration Protocol November 1995
or DHCPREQUEST message), e.g., as configured by the network
administrator,
+
+
+
+
+
+Droms [Page 29]
+
+DRAFT Dynamic Host Configuration Protocol May 1996
+
+
o Any parameters specific to this client's class (as identified
by the contents of the 'vendor class identifier' or 'user class
identifier' options in the DHCPDISCOVER or DHCPREQUEST message),
@@ -1615,14 +1645,6 @@ DRAFT Dynamic Host Configuration Protocol November 1995
A DHCPREQUEST message may come from a client responding to a
DHCPOFFER message from a server, from a client verifying a previously
allocated IP address or from a client extending the lease on a
-
-
-
-Droms [Page 29]
-
-DRAFT Dynamic Host Configuration Protocol November 1995
-
-
network address. If the DHCPREQUEST message contains a 'server
identifier' option, the message is in response to a DHCPOFFER
message. Otherwise, the message is a request to verify or extend an
@@ -1649,6 +1671,14 @@ DRAFT Dynamic Host Configuration Protocol November 1995
messages and select the "best" offer. The client indicates its
selection by identifying the offering server in the DHCPREQUEST
message. If the client receives no acceptable offers, the client
+
+
+
+Droms [Page 30]
+
+DRAFT Dynamic Host Configuration Protocol May 1996
+
+
may choose to try another DHCPDISCOVER message. Therefore, the
servers may not receive a specific DHCPREQUEST from which they can
decide whether or not the client has accepted the offer. Because
@@ -1671,14 +1701,6 @@ DRAFT Dynamic Host Configuration Protocol November 1995
Determining whether a client in the INIT-REBOOT state is on the
correct network is done by examining the contents of 'giaddr', the
'requested IP address' option, and a database lookup. If the DHCP
-
-
-
-Droms [Page 30]
-
-DRAFT Dynamic Host Configuration Protocol November 1995
-
-
server detects that the client is on the wrong net (i.e., the
result of applying the local subnet mask or remote subnet mask (if
'giaddr' is not zero) to 'requested IP address' option value
@@ -1705,6 +1727,14 @@ DRAFT Dynamic Host Configuration Protocol November 1995
client, because the client may not have a correct network address
or subnet mask, and the client may not be answering ARP requests.
+
+
+
+Droms [Page 31]
+
+DRAFT Dynamic Host Configuration Protocol May 1996
+
+
o DHCPREQUEST generated during RENEWING state:
'server identifier' MUST NOT be filled in, 'requested IP address'
@@ -1727,14 +1757,6 @@ DRAFT Dynamic Host Configuration Protocol November 1995
option MUST NOT be filled in, 'ciaddr' MUST be filled in with
client's IP address. In this situation, the client is completely
configured, and is trying to extend its lease. This message MUST be
-
-
-
-Droms [Page 31]
-
-DRAFT Dynamic Host Configuration Protocol November 1995
-
-
broadcast to the 0xffffffff IP broadcast address. The DHCP server
SHOULD check 'ciaddr' for correctness before replying to the
DHCPREQUEST.
@@ -1762,6 +1784,13 @@ DRAFT Dynamic Host Configuration Protocol November 1995
4.3.5 DHCPINFORM message
+
+
+Droms [Page 32]
+
+DRAFT Dynamic Host Configuration Protocol May 1996
+
+
The server responds to a DHCPINFORM message by sending a DHCPACK
message directly to the address given in the 'ciaddr' field of the
DHCPINFORM message. The server SHOULD NOT send a lease expiration
@@ -1774,23 +1803,6 @@ DRAFT Dynamic Host Configuration Protocol November 1995
Table 4 details the differences between messages from clients in
various states.
-
-
-
-
-
-
-
-
-
-
-
-
-Droms [Page 32]
-
-DRAFT Dynamic Host Configuration Protocol November 1995
-
-
---------------------------------------------------------------------
| |INIT-REBOOT |SELECTING |RENEWING |REBINDING |
---------------------------------------------------------------------
@@ -1830,21 +1842,9 @@ DRAFT Dynamic Host Configuration Protocol November 1995
-
-
-
-
-
-
-
-
-
-
-
-
Droms [Page 33]
-DRAFT Dynamic Host Configuration Protocol November 1995
+DRAFT Dynamic Host Configuration Protocol May 1996
-------- -------
@@ -1900,7 +1900,7 @@ timers T1, T2 ------------ send DHCPREQUEST | |
Droms [Page 34]
-DRAFT Dynamic Host Configuration Protocol November 1995
+DRAFT Dynamic Host Configuration Protocol May 1996
4.4.1 Initialization and allocation of network address
@@ -1956,7 +1956,7 @@ DRAFT Dynamic Host Configuration Protocol November 1995
Droms [Page 35]
-DRAFT Dynamic Host Configuration Protocol November 1995
+DRAFT Dynamic Host Configuration Protocol May 1996
Field DHCPDISCOVER DHCPREQUEST DHCPDECLINE,
@@ -2012,7 +2012,7 @@ DRAFT Dynamic Host Configuration Protocol November 1995
Droms [Page 36]
-DRAFT Dynamic Host Configuration Protocol November 1995
+DRAFT Dynamic Host Configuration Protocol May 1996
(INFORM)
@@ -2068,7 +2068,7 @@ DRAFT Dynamic Host Configuration Protocol November 1995
Droms [Page 37]
-DRAFT Dynamic Host Configuration Protocol November 1995
+DRAFT Dynamic Host Configuration Protocol May 1996
identifier into the 'xid' field. The client records its own local
@@ -2112,21 +2112,23 @@ DRAFT Dynamic Host Configuration Protocol November 1995
The DHCP client broadcasts DHCPDISCOVER, DHCPREQUEST and DHCPINFORM
messages, unless the client knows the address of a DHCP server. The
- client unicasts DHCPDECLINE and DHCPRELEASE messages to the server.
+ client unicasts DHCPRELEASE messages to the server. Because the
+ client is declining the use of the IP address supplied by the server,
+ the client broadcsts DHCPDECLINE messages.
When the DHCP client knows the address of a DHCP server, in either
INIT or REBOOTING state, the client may use that address in the
DHCPDISCOVER or DHCPREQUEST rather than the IP broadcast address.
- The client may also use unicast to send DHCPINFORM messages to a
- known DHCP server. If the client receives no response to DHCP
Droms [Page 38]
-DRAFT Dynamic Host Configuration Protocol November 1995
+DRAFT Dynamic Host Configuration Protocol May 1996
+ The client may also use unicast to send DHCPINFORM messages to a
+ known DHCP server. If the client receives no response to DHCP
messages sent to the IP address of a known DHCP server, the DHCP
client reverts to using the IP broadcast address.
@@ -2173,16 +2175,16 @@ DRAFT Dynamic Host Configuration Protocol November 1995
random "fuzz" around a fixed value, to avoid synchronization of
client reacquisition.
- A client MAY choose to renew or extend its lease prior to T1. The
- server MAY choose to extend the client's lease according to policy
Droms [Page 39]
-DRAFT Dynamic Host Configuration Protocol November 1995
+DRAFT Dynamic Host Configuration Protocol May 1996
+ A client MAY choose to renew or extend its lease prior to T1. The
+ server MAY choose to extend the client's lease according to policy
set by the network administrator. The server SHOULD return T1 and
T2, and their values SHOULD be adjusted from their original values to
take account of the time remaining on the lease.
@@ -2229,16 +2231,16 @@ DRAFT Dynamic Host Configuration Protocol November 1995
[5] Brownell, D, "Dynamic Reverse Address Resolution Protocol
(DRARP)", Work in Progress.
- [6] Comer, D., and R. Droms, "Uniform Access to Internet Directory
- Services", Proc. of ACM SIGCOMM '90 (Special issue of Computer
Droms [Page 40]
-DRAFT Dynamic Host Configuration Protocol November 1995
+DRAFT Dynamic Host Configuration Protocol May 1996
+ [6] Comer, D., and R. Droms, "Uniform Access to Internet Directory
+ Services", Proc. of ACM SIGCOMM '90 (Special issue of Computer
Communications Review), 20(4):50--59, 1990.
[7] Croft, B., and J. Gilmore, "Bootstrap Protocol (BOOTP)", RFC 951,
@@ -2286,15 +2288,14 @@ DRAFT Dynamic Host Configuration Protocol November 1995
[20] Sollins, K., "The TFTP Protocol (Revision 2)", RFC 783, NIC,
June 1981.
- [21] Wimer, W., "Clarifications and Extensions for the Bootstrap
-
Droms [Page 41]
-DRAFT Dynamic Host Configuration Protocol November 1995
+DRAFT Dynamic Host Configuration Protocol May 1996
+ [21] Wimer, W., "Clarifications and Extensions for the Bootstrap
Protocol", RFC 1542, Carnegie Mellon University, October 1993.
6. Security Considerations
@@ -2345,10 +2346,9 @@ DRAFT Dynamic Host Configuration Protocol November 1995
-
Droms [Page 42]
-DRAFT Dynamic Host Configuration Protocol November 1995
+DRAFT Dynamic Host Configuration Protocol May 1996
A. Host Configuration Parameters
@@ -2404,115 +2404,3 @@ Key:
Droms [Page 43]
-DRAFT Dynamic Host Configuration Protocol November 1995
-
-
-B. Changes to draft-ietf-dhc-dhcp-0[2-5].txt:
-
-* Changed 'host' to 'client' throughout when explicitly referencing a
- DHCP client.
-
-* Section 3.1, numbered paragraph 5: changed "client performs" to
- "client SHOULD perform"
-
-* Clarified text in section 3.1, numbered paragraph 6 and section 3.2,
- numbered paragraph 4 describing use of DHCPRELEASE.
-
-* Clarified text in the second paragraph of section 2.2, describing
- how the server probes a reused address before allocating it to a DHCP
- client.
-
-* In table 5, corrected description of values to be inserted in
- 'ciaddr' field in DHCPDISCOVER and DHCPINFORM messages.
-
-* Changed and added text as suggested by Glenn Stump for separate
- 'vendor class' and 'user class' options:
-
- - Section 4.2, changed second paragraph to discuss vendor and user
- class identifiers.
-
- - Section 4.2, changed last sentence of third paragraph to include
- both vendor and user class identifiers.
-
- - Modified table 3 to include both vendor and user class identifiers.
-
- - Section 4.3.1, changed 6th bulleted rule for selection of parameters
- by server to include vendor and user class identifiers.
-
- - Section 4.3.1, changed last paragraph to include vendor and user
- class identifiers.
-
- - Modified table 5 to include both vendor and user class identifiers.
-
-* Changed two incorrect (and duplicated) paragraphs in the second
- bulleted item in section 4.3.2 to correctly describe when a server
- broadcasts a DHCPNAK and when a server sets the broadcast bit in a
- DHCPNAK.
-
-* Eliminated blank line in section 1.1
-
-* Changed fourth bullet item in list in section 1.5 to "Allow
- automated ..." to avoid confusion with previous definition of
- "automatic".
-
-
-
-
-Droms [Page 44]
-
-DRAFT Dynamic Host Configuration Protocol November 1995
-
-
-* Added sentence to last paragraph of section 2 clarifying that a
- 'client' identifier MUST be unique to the client within its subnet.
-
-* Added "using the 'client identifier' option." to the last sentence
- of the second paragraph of section 2.1.
-
-* Omitted "(i.e., 'ciaddr' == 0)" from numbered item 2 in section 3.1
- as it was misleading (server may not always be allocating a new
- address when 'ciaddr' == 0).
-
-* Fixed numbered item 2 in section 3.2 to match section 4.3.2, in
- which the server is required to broadcast a DHCPNAK when 'giaddr' ==
- 0.
-
-* Fixed the fourth and ninth paragraphs of section 4.1 to show that a
- server always broadcasts DHCPNAK messages when 'giaddr' == 0.
-
-* Fixed third paragraph of section 4.2 to clarify that a client
- identifier must be unique within the subnet.
-
-* Fixed typo - missing end of sentence in section 4.1, fourth
- paragraph.
-
-* In section 2, corrected reference to RFC 1533 to RFC 1542.
-
-* In section 4.4.1, last paragraph, corrected computation of lease
- time to use time from DHCPACK message.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Droms [Page 45]
-