throbber
Network Working Group
`Request for Comments: 2131
`Obsoletes: 1541
`Category: Standards Track
`
`R. Droms
`Bucknell University
`March 1997
`
`Dynamic Host Configuration Protocol
`
`Status of this memo
`
` This document specifies an Internet standards track protocol for the
` Internet community, and requests discussion and suggestions for
` improvements. Please refer to the current edition of the "Internet
` Official Protocol Standards" (STD 1) for the standardization state
` and status of this protocol. Distribution of this memo is unlimited.
`
`Abstract
`
` The Dynamic Host Configuration Protocol (DHCP) provides a framework
` for passing configuration information to hosts on a TCPIP network.
` DHCP is based on the Bootstrap Protocol (BOOTP) [7], adding the
` capability of automatic allocation of reusable network addresses and
` additional configuration options [19]. DHCP captures the behavior of
` BOOTP relay agents [7, 21], and DHCP participants can interoperate
` with BOOTP participants [9].
`
`Table of Contents
`
`1. Introduction. . . . . . . . . . . . . . . . . . . . . . . . . 2
`1.1 Changes to RFC1541. . . . . . . . . . . . . . . . . . . . . . 3
`1.2 Related Work. . . . . . . . . . . . . . . . . . . . . . . . . 4
`1.3 Problem definition and issues . . . . . . . . . . . . . . . . 4
`1.4 Requirements. . . . . . . . . . . . . . . . . . . . . . . . . 5
`1.5 Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 6
`1.6 Design goals. . . . . . . . . . . . . . . . . . . . . . . . . 6
`2. Protocol Summary. . . . . . . . . . . . . . . . . . . . . . . 8
`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
`3.3 Interpretation and representation of time values. . . . . . . 20
` 3.4 Obtaining parameters with externally configured network
`address . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
`3.5 Client parameters in DHCP . . . . . . . . . . . . . . . . . . 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
`
`Droms
`
`Standards Track
`
`[Page 1]
`
`

`

`RFC 2131
`
`Dynamic Host Configuration Protocol
`
`March 1997
`
`4.1 Constructing and sending DHCP messages. . . . . . . . . . . . 22
`4.2 DHCP server administrative controls . . . . . . . . . . . . . 25
`4.3 DHCP server behavior. . . . . . . . . . . . . . . . . . . . . 26
`4.4 DHCP client behavior. . . . . . . . . . . . . . . . . . . . . 34
`5. Acknowledgments. . . . . . . . . . . . . . . . . . . . . . . .42
`6. References . . . . . . . . . . . . . . . . . . . . . . . . . .42
`7. Security Considerations. . . . . . . . . . . . . . . . . . . .43
`8. Author’s Address . . . . . . . . . . . . . . . . . . . . . . .44
`A. Host Configuration Parameters . . . . . . . . . . . . . . . .45
`List of Figures
`1. Format of a DHCP message . . . . . . . . . . . . . . . . . . . 9
`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
`servers when reusing a previously allocated network address. . 18
`5. State-transition diagram for DHCP clients. . . . . . . . . . . 34
`List of Tables
`1. Description of fields in a DHCP message. . . . . . . . . . . . 10
`2. DHCP messages. . . . . . . . . . . . . . . . . . . . . . . . . 14
`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
`
`1. Introduction
`
`The Dynamic Host Configuration Protocol (DHCP) provides configuration
`parameters to Internet hosts. DHCP consists of two components: a
`protocol for delivering host-specific configuration parameters from a
`DHCP server to a host and a mechanism for allocation of network
`addresses to hosts.
`
`DHCP is built on a client-server model, where designated DHCP server
`hosts allocate network addresses and deliver configuration parameters
`to dynamically configured hosts. Throughout the remainder of this
`document, the term "server" refers to a host providing initialization
`parameters through DHCP, and the term "client" refers to a host
`requesting initialization parameters from a DHCP server.
`
`A host should not act as a DHCP server unless explicitly configured
`to do so by a system administrator. The diversity of hardware and
`protocol implementations in the Internet would preclude reliable
`operation if random hosts were allowed to respond to DHCP requests.
`For example, IP requires the setting of many parameters within the
`protocol implementation software. Because IP can be used on many
`dissimilar kinds of network hardware, values for those parameters
`cannot be guessed or assumed to have correct defaults. Also,
`distributed address allocation schemes depend on a polling/defense
`
`Droms
`
`Standards Track
`
`[Page 2]
`
`

`

`RFC 2131
`
`Dynamic Host Configuration Protocol
`
`March 1997
`
` mechanism for discovery of addresses that are already in use. IP
` hosts may not always be able to defend their network addresses, so
` that such a distributed address allocation scheme cannot be
` guaranteed to avoid allocation of duplicate network addresses.
`
` DHCP supports three mechanisms for IP address allocation. In
` "automatic allocation", DHCP assigns a permanent IP address to a
` client. In "dynamic allocation", DHCP assigns an IP address to a
` client for a limited period of time (or until the client explicitly
` relinquishes the address). In "manual allocation", a client’s IP
` address is assigned by the network administrator, and DHCP is used
` simply to convey the assigned address to the client. A particular
` network will use one or more of these mechanisms, depending on the
` policies of the network administrator.
`
` Dynamic allocation is the only one of the three mechanisms that
` allows automatic reuse of an address that is no longer needed by the
` client to which it was assigned. Thus, dynamic allocation is
` particularly useful for assigning an address to a client that will be
` connected to the network only temporarily or for sharing a limited
` pool of IP addresses among a group of clients that do not need
` permanent IP addresses. Dynamic allocation may also be a good choice
` for assigning an IP address to a new client being permanently
` connected to a network where IP addresses are sufficiently scarce
` that it is important to reclaim them when old clients are retired.
` Manual allocation allows DHCP to be used to eliminate the error-prone
` process of manually configuring hosts with IP addresses in
` environments where (for whatever reasons) it is desirable to manage
` IP address assignment outside of the DHCP mechanisms.
`
` The format of DHCP messages is based on the format of BOOTP messages,
` to capture the BOOTP relay agent behavior described as part of the
` BOOTP specification [7, 21] and to allow interoperability of existing
` BOOTP clients with DHCP servers. Using BOOTP relay agents eliminates
` the necessity of having a DHCP server on each physical network
` segment.
`
`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" 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.
`
`Droms
`
`Standards Track
`
`[Page 3]
`
`

`

`RFC 2131 Dynamic Host Configuration Protocol March 1997
`
`1.2 Related Work
`
` There are several Internet protocols and related mechanisms that
` address some parts of the dynamic host configuration problem. The
` Reverse Address Resolution Protocol (RARP) [10] (through the
` extensions defined in the Dynamic RARP (DRARP) [5]) explicitly
` addresses the problem of network address discovery, and includes an
` automatic IP address assignment mechanism. The Trivial File Transfer
` Protocol (TFTP) [20] provides for transport of a boot image from a
` boot server. The Internet Control Message Protocol (ICMP) [16]
` provides for informing hosts of additional routers via "ICMP
` redirect" messages. ICMP also can provide subnet mask information
` through the "ICMP mask request" message and other information through
` the (obsolete) "ICMP information request" message. Hosts can locate
` routers through the ICMP router discovery mechanism [8].
`
` BOOTP is a transport mechanism for a collection of configuration
` information. BOOTP is also extensible, and official extensions [17]
` have been defined for several configuration parameters. Morgan has
` proposed extensions to BOOTP for dynamic IP address assignment [15].
` The Network Information Protocol (NIP), used by the Athena project at
` MIT, is a distributed mechanism for dynamic IP address assignment
` [19]. The Resource Location Protocol RLP [1] provides for location
` of higher level services. Sun Microsystems diskless workstations use
` a boot procedure that employs RARP, TFTP and an RPC mechanism called
` "bootparams" to deliver configuration information and operating
` system code to diskless hosts. (Sun Microsystems, Sun Workstation
` and SunOS are trademarks of Sun Microsystems, Inc.) Some Sun
` networks also use DRARP and an auto-installation mechanism to
` automate the configuration of new hosts in an existing network.
`
` In other related work, the path minimum transmission unit (MTU)
` 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].
` Finally, the Host Requirements RFCs [3, 4] mention specific
` requirements for host reconfiguration and suggest a scenario for
` initial configuration of diskless hosts.
`
`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
` 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.
`
`Droms Standards Track [Page 4]
`
`

`

`RFC 2131 Dynamic Host Configuration Protocol March 1997
`
` Not all of these parameters are required for a newly initialized
` client. A client and server may negotiate for the transmission of
` only those parameters required by the client or specific to a
` particular subnet.
`
` DHCP allows but does not require the configuration of client
` parameters not directly related to the IP protocol. DHCP also does
` not address registration of newly configured clients with the Domain
` Name System (DNS) [12, 13].
`
` DHCP is not intended for use in configuring routers.
`
`1.4 Requirements
`
` Throughout this document, the words that are used to define the
` significance of particular requirements are capitalized. These words
` are:
`
` o "MUST"
`
` This word or the adjective "REQUIRED" means that the
` item is an absolute requirement of this specification.
`
` o "MUST NOT"
`
` This phrase means that the item is an absolute prohibition
` of this specification.
`
` o "SHOULD"
`
` This word or the adjective "RECOMMENDED" means that there
` may exist valid reasons in particular circumstances to ignore
` this item, but the full implications should be understood and
` the case carefully weighed before choosing a different course.
`
` o "SHOULD NOT"
`
` This phrase means that there may exist valid reasons in
` particular circumstances when the listed behavior is acceptable
` or even useful, but the full implications should be understood
` and the case carefully weighed before implementing any behavior
` described with this label.
`
`Droms Standards Track [Page 5]
`
`

`

`RFC 2131 Dynamic Host Configuration Protocol March 1997
`
` o "MAY"
`
` This word or the adjective "OPTIONAL" means that this item is
` truly optional. One vendor may choose to include the item
` because a particular marketplace requires it or because it
` enhances the product, for example; another vendor may omit the
` same item.
`
`1.5 Terminology
`
` This document uses the following terms:
`
` o "DHCP client"
`
` A DHCP client is an Internet host using DHCP to obtain
` configuration parameters such as a network address.
`
` o "DHCP server"
`
` A DHCP server is an Internet host that returns configuration
` parameters to DHCP clients.
`
` o "BOOTP relay agent"
`
` A BOOTP relay agent or relay agent is an Internet host or router
` that passes DHCP messages between DHCP clients and DHCP servers.
` DHCP is designed to use the same relay agent behavior as specified
` in the BOOTP protocol specification.
`
` 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.6 Design goals
`
` The following list gives general design goals for DHCP.
`
` o DHCP should be a mechanism rather than a policy. DHCP must
` allow local system administrators control over configuration
` parameters where desired; e.g., local system administrators
` should be able to enforce local policies concerning allocation
` and access to local resources where desired.
`
`Droms Standards Track [Page 6]
`
`

`

`RFC 2131 Dynamic Host Configuration Protocol March 1997
`
` 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 its own configuration.
`
` o Networks should require no manual configuration for individual
` clients. Under normal circumstances, the network manager
` should not have to enter any per-client configuration
` parameters.
`
` o DHCP should not require a server on each subnet. To allow for
` scale and economy, DHCP must work across routers or through the
` intervention of BOOTP relay agents.
`
` o A DHCP client must be prepared to receive multiple responses
` to a request for configuration parameters. Some installations
` may include multiple, overlapping DHCP servers to enhance
` reliability and increase performance.
`
` o DHCP must coexist with statically configured, non-participating
` hosts and with existing network protocol implementations.
`
` o DHCP must interoperate with the BOOTP relay agent behavior as
` described by RFC 951 and by RFC 1542 [21].
`
` o DHCP must provide service to existing BOOTP clients.
`
` The following list gives design goals specific to the transmission of
` the network layer parameters. DHCP must:
`
` o Guarantee that any specific network address will not be in
` use by more than one DHCP client at a time,
`
` o Retain DHCP client configuration across DHCP client reboot. A
` DHCP client should, whenever possible, be assigned the same
` configuration parameters (e.g., network address) in response
` to each request,
`
` o Retain DHCP client configuration across server reboots, and,
` whenever possible, a DHCP client should be assigned the same
` configuration parameters despite restarts of the DHCP mechanism,
`
` o Allow automated assignment of configuration parameters to new
` clients to avoid hand configuration for new clients,
`
` o Support fixed or permanent allocation of configuration
` parameters to specific clients.
`
`Droms Standards Track [Page 7]
`
`

`

`RFC 2131 Dynamic Host Configuration Protocol March 1997
`
`2. Protocol Summary
`
` From the client’s point of view, DHCP is an extension of the BOOTP
` mechanism. This behavior allows existing BOOTP clients to
` interoperate with DHCP servers without requiring any change to the
` clients’ initialization software. RFC 1542 [2] details the
` interactions between BOOTP and DHCP clients and servers [9]. There
` are some new, optional transactions that optimize the interaction
` between DHCP clients and servers that are described in sections 3 and
` 4.
`
` Figure 1 gives the format of a DHCP message and table 1 describes
` each of the fields in the DHCP message. The numbers in parentheses
` indicate the size of each field in octets. The names for the fields
` given in the figure will be used throughout this document to refer to
` the fields in DHCP messages.
`
` There are two primary differences between DHCP and BOOTP. First,
` DHCP defines mechanisms through which clients can be assigned a
` network address for a finite lease, allowing for serial reassignment
` of network addresses to different clients. Second, DHCP provides the
` mechanism for a client to acquire all of the IP configuration
` parameters that it needs in order to operate.
`
` DHCP introduces a small change in terminology intended to clarify the
` meaning of one of the fields. What was the "vendor extensions" field
` in BOOTP has been re-named the "options" field in DHCP. Similarly,
` the tagged data items that were used inside the BOOTP "vendor
` extensions" field, which were formerly referred to as "vendor
` extensions," are now termed simply "options."
`
`Droms Standards Track [Page 8]
`
`

`

`RFC 2131 Dynamic Host Configuration Protocol March 1997
`
` 0 1 2 3
` 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
` +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
` | op (1) | htype (1) | hlen (1) | hops (1) |
` +---------------+---------------+---------------+---------------+
` | xid (4) |
` +-------------------------------+-------------------------------+
` | secs (2) | flags (2) |
` +-------------------------------+-------------------------------+
` | ciaddr (4) |
` +---------------------------------------------------------------+
` | yiaddr (4) |
` +---------------------------------------------------------------+
` | siaddr (4) |
` +---------------------------------------------------------------+
` | giaddr (4) |
` +---------------------------------------------------------------+
` | |
` | chaddr (16) |
` | |
` | |
` +---------------------------------------------------------------+
` | |
` | sname (64) |
` +---------------------------------------------------------------+
` | |
` | file (128) |
` +---------------------------------------------------------------+
` | |
` | options (variable) |
` +---------------------------------------------------------------+
`
` 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 Standards Track [Page 9]
`
`

`

`RFC 2131 Dynamic Host Configuration Protocol March 1997
`
` 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
` ’siaddr’ field, if the server is prepared to supply the next
` bootstrap service (e.g., delivery of an operating system executable
` 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
`
`Droms Standards Track [Page 10]
`
`

`

`RFC 2131 Dynamic Host Configuration Protocol March 1997
`
` 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.
`
` In the case of a client using DHCP for initial configuration (before
` the client’s TCP/IP software has been completely configured), DHCP
` requires creative use of the client’s TCP/IP software and liberal
` interpretation of RFC 1122. The TCP/IP software SHOULD accept and
` forward to the IP layer any IP packets delivered to the client’s
` hardware address before the IP address is configured; DHCP servers
` and BOOTP relay agents may not be able to deliver DHCP messages to
` 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
` defined as the BROADCAST (B) flag. The semantics of this flag are
` discussed in section 4.1 of this document. The remaining bits of the
` flags field are reserved for future use. They MUST be set to zero by
` clients and ignored by servers and relay agents. Figure 2 gives the
` format of the ’flags’ field.
`
` 1 1 1 1 1 1
` 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
` +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
` |B| MBZ |
` +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
`
` B: BROADCAST flag
`
` MBZ: MUST BE ZERO (reserved for future use)
`
` Figure 2: Format of the ’flags’ field
`
`2.1 Configuration parameters repository
`
` The first service provided by DHCP is to provide persistent storage
` of network parameters for network clients. The model of DHCP
` persistent storage is that the DHCP service stores a key-value entry
` for each client, where the key is some unique identifier (for
` example, an IP subnet number and a unique identifier within the
` 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
`
`Droms Standards Track [Page 11]
`
`

`

`RFC 2131 Dynamic Host Configuration Protocol March 1997
`
` 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
` that may not be globally unique. Alternately, the key might be the
` pair (IP-subnet-number, hostname), allowing the server to assign
` parameters intelligently to a DHCP client that has been moved to a
` different subnet or has changed hardware addresses (perhaps because
` the network interface failed and was replaced). The protocol defines
` that the key will be (IP-subnet-number, hardware-address) unless the
` client explicitly supplies an identifier using the ’client
` identifier’ option. A client can query the DHCP service to
` retrieve its configuration parameters. The client interface to the
` configuration parameters repository consists of protocol messages to
` request configuration parameters and responses from the server
` carrying the configuration parameters.
`
`2.2 Dynamic allocation of network addresses
`
` The second service provided by DHCP is the allocation of temporary or
` permanent network (IP) addresses to clients. The basic mechanism for
` the dynamic allocation of network addresses is simple: a client
` requests the use of an address for some period of time. The
` allocation mechanism (the collection of DHCP servers) guarantees not
` to reallocate that address within the requested time and attempts to
` return the same network address each time the client requests an
` address. In this document, the period over which a network address
` is allocated to a client is referred to as a "lease" [11]. The
` client may extend its lease with subsequent requests. The client may
` issue a message to release the address back to the server when the
` client no longer needs the address. The client may ask for a
` permanent assignment by asking for an infinite lease. Even when
` assigning "permanent" addresses, a server may choose to give out
` lengthy but non-infinite leases to allow detection of the fact that
` the client has been retired.
`
` In some environments it will be necessary to reassign network
` addresses due to exhaustion of available addresses. In such
` environments, the allocation mechanism will reuse addresses whose
` lease has expired. The server should use whatever information is
` available in the configuration information repository to choose an
` 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 Standards Track [Page 12]
`
`

`

`RFC 2131 Dynamic Host Configuration Protocol March 1997
`
`3. The Client-Server Protocol
`
` DHCP uses the BOOTP message format defined in RFC 951 and given in
` table 1 and figure 1. The ’op’ field of each DHCP message sent from
` a client to a server contains BOOTREQUEST. BOOTREPLY is used in the
` ’op’ field of each DHCP message sent from a server to a client.
`
` The first four octets of the ’options’ field of the DHCP message
` contain the (decimal) values 99, 130, 83 and 99, respectively (this
` 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"
` listed in RFC 1497 are also DHCP options. RFC 1533 gives the
` complete set of options defined for use with DHCP.
`
` Several options have been defined so far. One particular option -
` the "DHCP message type" option - must be included in every DHCP
` message. This option defines the "type" of the DHCP message.
` Additional options may be allowed, required, or not allowed,
` depending on the DHCP message type.
`
` Throughout this document, DHCP messages that include a ’DHCP message
` type’ option will be referred to by the type of the message; e.g., a
` DHCP message with ’DHCP message type’ option type 1 will be referred
` to as a "DHCPDISCOVER" message.
`
`3.1 Client-server interaction - allocating a network address
`
` The following summary of the protocol exchanges between clients and
` servers refers to the DHCP messages described in table 2. The
` timeline diagram in figure 3 shows the timing relationships in a
` typical client-server interaction. If the client already knows its
` address, some steps may be omitted; this abbreviated interaction is
` described in section 3.2.
`
` 1. The client broadcasts a DHCPDISCOVER message on its local physical
` subnet. The DHCPDISCOVER message MAY include options that suggest
` values for the network address and lease duration. BOOTP relay
` agents may pass the message on to DHCP servers not on the same
` physical subnet.
`
` 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
` reserve the offered network address, although the protocol will
` work more efficiently if the server avoids allocating the offered
` network address to another client. When allocating a new address,
` servers SHOULD check that the offered network address

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket