throbber
Network Working Group
`Request for Comments: 1541
`Obsoletes: 1531
`
`Category: Standards Track
`
`R. Droms
`Bucknell University
`October 1993
`
`Dynamic Host Configuration Protocol
`
`Status of this memo
`
`This RFC 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
`O""icial Protocol Standards" for the standardization state and status
`
`of this protocol. Distribution of this memo is unlimited.
`
`Abstract
`
`(DHCP) provides a framework
`The Dynamic Host Configuration Protocol
`for passing configuration information to hosts on a TCP/IP network.
`DHCP is based on the Bootstrap Protocol
`(BOOTP)
`[7], adding the
`I1
`capability of automatic allocation of reusable network addresses and
`additional configuration options [19].
`DHCP captures the behavior o;
`BOOTP relay agents [7, 23], and DHCP participants can interoperate
`with BOOTP participants [9].
`Due to some errors introduced into RFC
`1531 in the editorial process,
`this memo is reissued as RFC 1541.
`
`Table of Contents
`
`Introduction.
`1.
`1.1 Related Work.
`1.2 Problem definition and issues
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`1.3 Requirements.
`1.4 Terminology
`1.5 Design goals.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`2. Protocol Summary .
`.
`.
`2.1 Configuration parameters repository .
`2.2 Dynamic allocation of network addresses .
`3. The Client—Server Protocol
`.
`.
`.
`.
`.
`.
`.
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`.
`.
`.
`
`.
`
`.
`
`.
`.
`.
`.
`
`.
`
`.
`
`.
`.
`.
`.
`
`.
`
`.
`
`.
`.
`.
`.
`
`.
`
`.
`
`.
`.
`.
`.
`
`.
`
`.
`
`.
`.
`.
`.
`
`.
`
`.
`
`.
`.
`.
`.
`
`.
`
`.
`
`.
`.
`.
`.
`
`.
`
`.
`
`.
`.
`.
`.
`
`2
`4
`4
`
`.
`
`.
`
`5
`6
`6
`8
`.
`. 10
`. 11
`. 11
`
`. 12
`
`. 17
`
`. 19
`. 19
`. 20
`. 20
`
`. 21
`
`.
`3.1 Client—server interaction — allocating a network address.
`3.2 Client—server interaction — reusing a previously allocated
`network address .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`
`3.3 Interpretation and representation of time values.
`3.4 Host parameters in DHCP .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`3.5 Use of DHCP in clients with multiple interfaces .
`3.6 When clients should use DHCP.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`
`4. Specification of the DHCP client—server protocol
`
`.
`
`.
`.
`.
`.
`
`.
`
`.
`.
`.
`.
`
`.
`
`.
`.
`.
`.
`
`.
`
`.
`.
`.
`.
`
`.
`
`.
`.
`.
`.
`
`.
`
`Droms
`
`[Page 1]
`
`Page 1 of 40
`
`LG Electronics Exhibit 1013
`
`

`
`RFC 1541
`
`Dynamic Host Configuration Protocol
`
`October 1993
`
`4.1 Constructing and sending DHCP messages.
`4.2 DHCP server administrative controls .
`.
`4.3 DHCP server behavior.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`
`.
`.
`.
`
`.
`.
`.
`
`.
`.
`.
`
`.
`.
`.
`
`.
`.
`.
`
`.
`.
`.
`
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`4.3.1 DHCPDISCOVER message.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`4.3.2 DHCPREQUEST message .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`4.3.3 DHCPDECLINE message .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`4.3.4 DHCPRELEASE message .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`4.4 DHCP client behavior.
`.
`4.4.1 Initialization and allocation of network address.
`4.4.2 Initialization with known network address .
`.
`.
`.
`4.4.3 Initialization with a known DHCP server address .
`
`4.4.4 Reacquisition and expiration.
`4.4.5 DHCPRELEASE .
`.
`.
`.
`.
`.
`.
`.
`.
`
`.
`.
`
`.
`.
`
`.
`.
`
`.
`.
`
`.
`.
`
`.
`.
`
`.
`.
`
`.
`.
`
`.
`.
`
`.
`.
`
`.
`.
`
`.
`.
`
`.
`.
`
`.
`.
`
`.
`.
`
`.
`.
`
`.
`.
`
`.
`.
`
`.
`.
`
`.
`.
`
`.
`.
`
`.
`.
`
`.
`.
`
`.
`.
`
`.
`.
`
`.
`.
`
`.
`.
`
`.
`.
`
`.
`.
`.
`
`.
`.
`.
`.
`.
`.
`.
`.
`
`.
`.
`
`.
`.
`
`.
`.
`.
`
`.
`.
`.
`.
`.
`.
`.
`.
`
`.
`.
`
`.
`.
`
`.
`.
`.
`
`.
`.
`.
`.
`.
`.
`.
`.
`
`.
`.
`
`.
`.
`
`.
`.
`.
`
`.
`.
`.
`.
`.
`.
`.
`.
`
`.
`.
`
`.
`.
`
`. 21
`. 23
`. 24
`
`. 24
`. 27
`. 29
`. 29
`. 29
`. 29
`. 33
`. 34
`
`. 34
`. 35
`
`. 35
`. 36
`
`5. Acknowledgments.
`6. References .
`.
`.
`
`7. Security Considerations.
`8. Author's Address .
`.
`.
`.
`
`.
`.
`
`.
`.
`
`.
`.
`
`A. Host Configuration Parameters
`
`.
`.
`
`.
`
`.
`.
`
`.
`
`.
`.
`
`.
`
`.
`.
`
`.
`
`.
`.
`
`.
`
`.
`.
`
`.
`
`.
`.
`
`.
`
`.
`.
`
`.
`
`.
`.
`
`.
`
`.
`.
`
`.
`
`.
`.
`
`.
`
`.
`.
`
`.
`
`.
`.
`
`.
`
`.
`.
`
`.
`
`.
`.
`
`.
`
`. 37
`. 38
`
`. 39
`
`List of Figures
`
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`1. Format of a DHCP message .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`2. Format of the 'flags' field.
`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.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`. 31
`
`9
`1O
`
`List of Tables
`
`1. Description o" "ields in a DHCP message.
`2. DHCP messages.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`3. Fields and options used by DHCP servers.
`4. Fields and options used by DHCP clients.
`
`.
`.
`.
`.
`
`.
`.
`.
`.
`
`.
`.
`.
`.
`
`.
`.
`.
`.
`
`.
`.
`.
`.
`
`.
`.
`.
`.
`
`.
`.
`.
`.
`
`.
`.
`.
`.
`
`.
`.
`.
`.
`
`.
`.
`.
`.
`
`. 14
`. 16
`. 25
`. 32
`
`1. Introduction
`
`(DHCP) provides configuration
`The Dynamic Host Configuration Protocol
`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 clicnt—scrvcr modcl, whcrc dcsignated DHCP server
`hosts allocate network addresses and deliver configuration parameters
`to dynamically configured hosts. Throughout the remainder of this
`document,
`thc tcrm "scrvcr" rcfcrs to a host providing initialization
`
`Droms
`
`[Page 2]
`
`Page 2 of 40
`
`

`
`RFC 1541
`
`Dynamic Host Configuration Protocol
`
`October 1993
`
`parameters through
`requesting initialization parameters
`
`DHCP,
`
`and the term
`
`fers to a host
`"client"
`DHCP server.
`from a
`
`re
`
`A host should not act as a
`
`DHCP server unless explicitly configured
`The diversity o:5 hardware and
`to do so by a system administrator.
`protocol implementations in the Internet would preclude reliable
`DHCP requests.
`random hosts were allowed to respond to
`operation if
`For example,
`IP requires the setting of
`many parameters within the
`Because IP can be used on many
`protocol implementation software.
`values
`dissimilar kinds of network hardware,
`for those parameters
`faults. Also,
`cannot be guessed or assumed to have correct de:
`distributed address allocation schemes depend on a polling/defense
`IP
`for discovery of addresses that are already in use.
`mechanism
`so
`fend their network addresses,
`hosts may not always be able to de:
`that such a distributed address allocation scheme cannot be
`
`guaranteed to avoid allocation of
`
`duplicate network addresses.
`
`for IP address allocation.
`
`In
`
`mechanisms,
`
`A particular
`depending on the
`
`DHCP supports three mechanisms
`"automatic allocation",
`IP address to a
`DHCP assigns a permanent
`host.
`namic allocation",
`In "dy
`DHCP assigns an IP address to a host
`time
`for a limited period of
`(or until the host explicitly
`a host's IP
`In "manual allocation",
`relinquishes the address).
`and
`DHCP is used
`address is assigned by the network administrator,
`to the
`host.
`simply to convey the assigned address
`these
`network will use one or more of
`t
`he network administrator.
`
`policies of
`
`the three mechanisms that
`
`Dynamic allocation is the only one of
`allows automatic reuse of
`an address that is no longer needed by the
`Thus,
`host to which it was assigned.
`dynamic allocation is
`"ul
`particularly use
`"or assigning an address to a host that will be
`connected to the network only temporarily or
`for sharing a limited
`hosts that do not need
`pool of
`IP addresses among a group of
`permanent
`IP addresses.
`Dynamic allocation may also be a good choice
`for assigning an IP address to a new host being permanently connected
`to a network where IP addresses are su
`"iciently scarce that it is
`Manual
`important to reclaim them when old hosts are retired.
`allocation allows
`DHCP to be used to eliminate the error—prone
`ma
`process of
`nually configuring hosts with IP addresses in
`for whatever reasons)
`environments where (
`it is desirable to manage
`DHCP mechanisms.
`IP address assignment outside of the
`
`The format o‘
`
`DHCP messages is based on the format o‘
`‘ BOOTP messages,
`to capture the BOOTP relay agent behavior described as part of the
`cation [7, 23]
`BOOTP specifi
`and to allow interoperability of
`existing
`DHCP servers.
`BOOTP clients with
`Using BOOTP relaying agents
`having a
`DHCP server on each physical
`
`eliminates the necessity of
`network segment.
`
`Droms
`
`[Page 3]
`
`Page 3 of 40
`
`

`
`RFC 1541
`
`Dynamic Host Con:figuration Protocol
`
`October 1993
`
`1.1 Related Work
`
`There are several Internet protocols and related mechanisms that
`The
`address some parts of
`the dynami
`c host configuration problem.
`Reverse Address Resolution Protocol
`(RARP)
`[10]
`(through the
`extensions de:
`fined in the
`c RARP (DRARP)
`Dynami
`[5]) explicitly
`and includes an
`addresses the problem o:
`f network address discovery,
`The
`Trivial File Transfer
`automatic IP address assignment mechanism.
`image from a
`Protocol
`(TFTP)
`[20] provides for transport of a boot
`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
`Hosts can locate
`(obsolete)
`"ICMP in:
`formation request" message.
`routers through the ICMP router discovery mechanism
`
`[8]-
`
`for a collection o
`configuration
`and o
`"icial extensions
`
`BOOTP is a transport mechanism
`information.
`[17]
`'
`BOOTP is also extensible,
`have been de
`fined for several co
`Morgan has
`nfiguration parameters.
`[15].
`proposed extensions to BOOTP
`for dynamic IP address assignment
`The Network In:
`formation Protocol
`(NIP), used by
`the Athena project at
`is a distributed mechanism
`MIT,
`for dynamic IP address assignment
`The Resource Location Protocol RLP
`for location
`[1]
`[19].
`provides
`Off
`higher level services.
`Sun Microsystems diskless workstations use
`TFTP and an
`RPC mechanism called
`a boot procedure that employs RARP,
`"bootparams" to deliver configur
`ation information and operating
`Sun Workstation
`system code to diskless hosts.
`(Sun Microsystems,
`Some Sun
`and SunOS are trademarks of
`Inc.)
`Sun Microsystems,
`networks also use DRARP and an auto—installation mechanism to
`automate the con:
`
`figuration of
`
`new hosts in an existing network.
`
`(MTU)
`the path minimum transmission unit
`In other related work,
`an
`discovery algorithm can determine the MTU of
`arbitrary internet
`Comer and
`path [14].
`Droms have proposed the use of the Address
`for resource
`Resolution Protocol
`(ARP)
`as a transport protocol
`location and selection
`[3,
`[6]-
`Finally,
`the Host Requirements RFCs
`for host recon:
`figuration and suggest
`4] mention speci:
`fic requirements
`a scenario
`for initial con:
`diskless hosts.
`figuration of
`
`1.2 Problem definition and issues
`
`figuration parameters
`DHCP is designed to supply hosts with the con:
`defined in the Host Requirements RFCs. After obtaining parameters
`via DHCP,
`a host should be able to exchange packets with any other
`host in the Internet.
`The parameters supplied by DHCP are listed in
`
`Appendix A.
`
`Droms
`
`[Page 4]
`
`Page 4 of 40
`
`

`
`RFC 1541
`
`Dynamic Host Con:
`
`figuration Protocol
`
`October 1993
`
`Not all of
`host.
`
`these parameters are required
`A client and server may negotiate
`those parameters required by the client or speci:
`subnet.
`
`for a newly initialized
`for the transmission of
`
`only
`fic to a particular
`
`DHCP allows but does not require the con:
`not directly related to the IP protocol.
`newly con:
`registration of
`figured hosts with the
`(DNS)
`[12, 13].
`
`host parameters
`figuration o:
`DHCP also does not address
`
`Domain Name System
`
`DHCP is not intended
`
`for use in configuring routers.
`
`1.3 Requirements
`
`the words that are used to define the
`Throughout this document,
`These words
`significance of
`particular requirements are capitalized.
`are:
`
`"MUST"
`
`This word or the adjective "REQUIRED"
`item is an absolute requirement of
`this specification.
`
`means that the
`
`"MUST NOT"
`
`This phrase means that the item is an absolute prohibition
`fication.
`o
`this speci:
`
`"SHOULD"
`
`This word or the adjective "RECOMMENDE H means that there
`may exist valid reasons in particular circumstances to ignore
`this item, but the
`full implications should be understood and
`the case care:
`"erent course.
`fully weighed be:fore choosing a di
`
`"SHOULD NOT"
`
`This phrase means that there may exist valid reasons in
`particular circumstanccs whcn thc listcd bchavior is acceptable
`but the
`or even useful,
`full implications should be understood
`and the case care:
`fully wcighcd bc:
`forc implcmcnting any behavior
`described with this label.
`
`Droms
`
`[Page 5]
`
`Page 5 of 40
`
`

`
`RFC 1541
`
`Dynamic Host Configuration Protocol
`
`October 1993
`
`O IIMAY H
`
`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.4 Terminology
`
`This document uses
`
`the following terms:
`
`is an Internet host using DHCP to obtain
`parameters such as a network address.
`
`is an Internet host that returns configuration
`DHCP clients.
`
`o "DHCP client"
`
`A C
`
`DHCP client
`OD
`
`figuration
`
`H’
`DHCP server"
`
`A
`
`DHCP server
`
`parameters to
`
`o "BOOTP relay agent"
`
`A BOOTP relay agent is an Internet host or router that passes
`DHCP servers.
`DHCP is
`DHCP messages between DHCP clients and
`designed to use the same relay agent behavior as specified in
`the BOOTP protocol specification.
`
`o "binding"
`
`including
`con"iguration parameters,
`A binding is a collection o
`at least an IP address, associated with or "bound to" a DHCP
`client. Bindings are managed by DHCP servers.
`
`1.5 Design goals
`
`The following list gives general design goals for DHCP.
`
`DHCP must
`o DHCP should be a mechanism rather than a policy.
`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 rcsourccs whcrc dcsircd.
`
`Droms
`
`[Page 6]
`
`Page 6 of 40
`
`

`
`RFC 1541
`
`Dynamic Host Configuration Protocol
`
`October 1993
`
`Hosts should require no manual configuration.
`be able to discover appropriate local configuration parameters
`without user intervention and incorporate those parameters into
`its own configuration.
`
`Each host should
`
`Networks should require no hand configuration
`hosts.
`Under normal circumstances,
`the network manager should
`not have to enter any per—host configuration parameters.
`
`for individual
`
`DHCP should not rcquirc a scrvcr on cach subnet.
`DHCP must work
`scale and economy,
`across routers or through the
`intervention of BOOTP/DHCP relay agents.
`
`To allow for
`
`A r
`
`DHCP host must be prepared to receive multiple responses to a
`equest
`for configuration parameters.
`Some installations may
`DHCP servers to enhance
`include multiple, overlapping
`reliability and increase performance.
`
`configured, non—participating
`DHCP must coexist with statically
`hosts and with existing network protocol implementations.
`
`DHCP must
`
`interoperate with the BOOTP relay agent behavior as
`[21].
`described by RFC 951 and by Wimer
`
`DHCP must
`
`provide service to existing BOOTP clients.
`
`The
`
`following list gives design goals specific to the transmission of
`DHCP must:
`the network layer parameters.
`
`0
`
`Guarantee that any specific network address will not be in
`use by more than one host at a time,
`
`A host should,
`Retain host configuration across host reboot.
`whenever possible, be assigned the same configuration parameters
`network address)
`(e-g-,
`in rcsponsc to cach rcqucst,
`
`and, whenever
`Retain host configuration across server reboots,
`possible,
`a host should be assigned the same configuration
`DHCP mechanism,
`parameters despite restarts of the
`
`con "iguration parameters to new
`Allow automatic assignment o
`for new hosts,
`hosts to avoid hand configuration
`
`Support
`fixed or permanent allocation o
`parameters to specific hosts.
`
`con"iguration
`
`Droms
`
`[Page 7]
`
`Page 7 of 40
`
`

`
`RFC 1541
`
`Dynamic Host Configuration Protocol
`
`October 1993
`
`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.
`A separate document 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 o" the "ields 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 di "erences between DHCP and BOOTP. First,
`DHCP defines mechanisms through which clients can be assigned a
`network address "or a "ixed lease, allowing for serial reassignment
`of network addresses to di""erent 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 o" the "ields. 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 wcrc formcrly rcfcrrcd 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
`
`The ‘client identifier‘
`reply messages and as a client identifier.
`option 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. Othcr clicnt idcntificr typcs may be defined as
`needed for use with DHCP.
`Ncw clicnt idcntificr typcs will be
`registered with the IANA [18] and will be included in new revisions
`of the Assigned Numbers document, as well as described in detail in
`future revisions of the DHCP Options [2].
`
`Droms
`
`[Page 8]
`
`Page 8 of 40
`
`

`
`RFC 1541
`
`Dynamic Host Configuration Protocol
`
`October 1993
`
`3
`2
`1
`O
`5 6 7 8 9 O 1
`1 2 3 4
`9 O
`5 6 7 8
`1 2 3 4
`1 2 3 4 5 6 7 8 9 O
`O
`+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
`
`I
`(1)
`hops
`I
`hlen (1)
`I
`htype (1)
`I
`(1)
`Op
`I
`+ ————————————— ——+ ————————————— ——+ ————————————— ——+ ————————————— ——+
`
`I
`Xid (4)
`I
`+ ————————————————————————————— ——+ ————————————————————————————— ——+
`
`I
`flags (2)
`I
`secs (2)
`I
`+ ————————————————————————————— ——+ ————————————————————————————— ——+
`
`I
`(4)
`ciaddr
`I
`+ ————————————————————————————————————————————————————————————— ——+
`
`I
`(4)
`yiaddr
`I
`+ ————————————————————————————————————————————————————————————— ——+
`
`I
`(4)
`siaddr
`I
`+ ————————————————————————————————————————————————————————————— ——+
`
`I
`(4)
`giaddr
`I
`+ ————————————————————————————————————————————————————————————— ——+
`
`I
`I
`I
`I
`I
`I
`I
`I
`+ ————————————————————————————————————————————————————————————— ——+
`
`chaddr
`
`(16)
`
`I
`I
`I
`(64)
`sname
`I
`+ ————————————————————————————————————————————————————————————— ——+
`
`I
`I
`I
`(128)
`file
`I
`+ ————————————————————————————————————————————————————————————— ——+
`
`I
`I
`I
`options (312)
`I
`+ ————————————————————————————————————————————————————————————— ——+
`
`Figure 1:
`
`Format of a DHCP message
`
`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.
`
`The options field is now variable length, with the minimum extended
`to 312 octets. This brings the minimum size of a DHCP message up to
`576 octets,
`the minimum IP datagram size a 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.
`
`Droms
`
`[Page 9]
`
`Page 9 of 40
`
`

`
`RFC 1541
`
`Dynamic Host Configuration Protocol
`
`October 1993
`
`A new option,
`called ‘vendor speci"ic in"ormation‘,
`allow
`the number of
`for expansion of
`options that can be supported
`‘vendor speci"ic in"ormation‘ must be
`[2]-
`Options encapsulated as
`as to allow
`carefully defined and documented so
`for interoperability
`between clients and servers
`from diferent vendors.
`In particular,
`MUST document those
`
`has been added to
`
`vendors defining ‘vendor speci"ic in"ormation‘
`"orm o" the
`options in the
`DHCP Options document, MUST choose to
`O1"
`represent those options either in data types already de"ined
`options or in other well—defined data types,
`and MUST choose options
`"iles "or exchange with
`that can be readily encoded in configuration
`Options included as ‘vendor
`servers provided by other vendors.
`specific options‘ MUST be readily supportable by all servers.
`
`DHCP
`
`1
`1
`1
`1
`1
`1
`8 9 O 1 2 3 4 5
`6 7
`O 1 2 3 4 5
`—+—+—+—+—+-+—+—+—+—+—+—+—+—+—+—+
`
`|
`MBZ
`Bl
`—+—+—+—+—+-+—+—+—+—+—+—+—+—+—+—+
`
`B:
`
`BROADCAST flag
`
`MBZ: MUST BE ZERO (reserved "or "uture use)
`
`Figure 2:
`
`Format of the ‘flags‘ field
`
`The leftmost bit is defined as the
`DHCP uses the ‘flags‘ field [21].
`BROADCAST (B) flag.
`The semantics of this flag are discussed in
`section 4.1 of this document.
`The remaining bits o" the "lags "ield
`are reserved "or "uture 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.
`
`2.1 Configuration parameters repository
`
`The first
`of
`
`service provided by
`DHCP is to provide persistent storage
`DHCP
`The model of
`for network clients.
`network parameters
`persistent storage is that the
`DHCP service stores a key-value entry
`"or
`for each client, where the key is some unique identi"ier (
`fier within the
`example,
`an IP subnet number and a unique identi
`for the
`and the value contains the con:
`subnet)
`figuration parameters
`client.
`
`hardware-
`(IP—subnet—number,
`For example,
`the key might be the pair
`a hardware
`for serial or concurrent reuse of
`address),
`allowing
`address on di
`""erent subnets, and
`for hardware addresses that may not
`(IP-
`Alternately,
`the key might be the pair
`be globally unique.
`subnet—number,
`hostname),
`allowing the server to assign parameters
`"erent subnet or
`intelligently to a host that has been moved to a di
`
`Droms
`
`[Page 10]
`
`Page 10 of 40
`
`

`
`RFC 1541
`
`Dynamic Host Configuration Protocol
`
`October 1993
`
`has changed hardware addresses (perhaps because the network interface
`failed and was replaced).
`
`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 hosts.
`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
`issuc a mcssagc to rclcasc thc addrcss 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 o" the "act that
`the host has been retired.
`
`In some environments it will be necessary to reassign network
`addresses due to exhaustion of available addresses.
`In such
`
`the allocation mechanism will reuse addresses whose
`environments,
`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 allocation
`mechanism may probe the reused address, e.g., with an ICMP echo
`request, before allocating the address, and the client will probe the
`newly received address, e.g., with ARP.
`
`3. The C1ient—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 "irst "our octets of the 'options' field of the DHCP message
`contain the (decimal) values 99, 130, 83 and 99, respectively (this
`
`Droms
`
`[Page 11]
`
`Page 1 1 of 40
`
`

`
`RFC 15
`
`41
`
`Dynamic Host Configuration Protocol
`
`October 1993
`
`is
`of
`cal
`are
`
`opt
`
`the same magic cookie as is defined in RFC 1497).
`field consists a list of
`tagged parameters that are
`the ‘options’
`the
`"vendor extensions
`" listed in RFC 1497
`led "options". All of
`also DHCP options.
`A separate document gives the complete set of
`DHCP
`ions de"ined "or use with
`[2]-
`
`The remainder
`
`Several options have been de:
`far. One particular option —
`H’
`DHCP
`the
`JHCP message type" option - must be included in every
`mes
`sage.
`DHCP message.
`This option defines the "type" of the
`or not allowed,
`Additional options may be allowed,
`required,
`dep
`ending on the DHCP message type.
`
`fined so
`
`Thr
`
`DHCP message
`DHCP messages that include a ‘
`oughout this document,
`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
`If the client already knows its
`ical client—server interaction.
`typ
`address,
`some steps may be omitted;
`this abbreviated interaction is
`des
`cribed in section 3.2.
`
`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
`DHCP servers not on the same
`
`agents may pass the message on to
`physical subnet.
`
`Each server may respond with a
`DHCPOFFER message that includes an
`available network address in the
`field (and other
`‘yiaddr‘
`Servers need not
`DHCP options).
`configuration parameters in
`rcscrvc thc o"
`"crcd nctwork address, although the protocol will
`work more e" "iciently if
`"ered
`the server avoids allocating the o"
`network address to another client.
`The server unicasts the
`
`(using the
`DHCPOFFER message to the client
`DHCP/BOOTP relay agent
`
`i
`if necessary)'
`f possible,
`or may broadcast the message to a
`broadcast address
`on the client's
`(preferably 255.255.255.255)
`subnet.
`
`Thc clicnt rcccivcs onc or more
`more servers.
`
`responses.
`
`DHCPOFFER messages
`The client may choose to wait
`for multiple
`The client chooses one server
`from which to request
`based on the configuration parameters
`configuration parameters,
`The client broadcasts a
`o""ered in the
`DHCPOFFER messages.
`
`from one or
`
`Droms
`
`[Page 12]
`
`Page 1
`
`20f40
`
`

`
`RFC 1541
`
`Dynamic Host Configuration Protocol
`
`October 1993
`
`'scrvcr idcntificr'
`
`DHCPREQUEST message that MUST includc thc
`option to indicate which server it has selected,
`and may include
`This
`other options specifying desired configuration values.
`DHCP/BOOTP
`DHCPREQUEST message is broadcast and relayed through
`relay agents.
`To help ensure that any
`DHCP/BOOTP relay agents
`forward the
`same set of DHCP servers
`DHCPREQUEST message to the
`DHCPDISCOVER
`the DHCPREQUEST
`message,
`that received the original
`DHCP message header's
`message must use the same value in the
`'secs'
`field and be sent to the same IP broadcast address as the
`The client times out and
`the client receives no
`
`DHCPDISCOVER message.
`original
`retransmits the
`DHCPDISCOVER message if
`DHCPOFFER messages.
`
`4.
`
`Thc scrvcrs rcccivc thc
`
`from the client.
`
`DHCPREQUEST broadcast
`Those servers not selected by the
`DHCPREQUEST message use the
`fication that the client has declined that server's
`message as noti:
`o "er.
`The server selected in the
`
`DHCPREQUEST message commits the
`for the client to persistent storage and responds with a
`binding
`for the
`JHCPACK message containing the con:
`figuration parameters
`The combination OT
`'chaddr' and assigned
`requesting client.
`"ier "or the client's
`network address constitute an unique identi
`lease and are used by both the client and server to identify a
`DHCP messages.
`lease referred to in any
`The 'yiaddr' field in the
`selected network address.
`filled in with the
`DHCPACK messages is
`
`I (
`
`DHCPREQUEST message
`the selected server is unable to satisfy the
`the
`e-g-,
`the requested network address has been allocated),
`DHCPNAK message.
`server SHOULD respond with a
`
`"ered to clients in
`A server may choose to mark addresses o
`The server should mark an
`DHCPOFFER messages as unavailable.
`address o
`"ered to a client in a
`DHCPOFFER message as available if
`the server receives 1'10
`DHCPREQUEST mess
`age from that client.
`
`Droms
`
`[Page 13]
`
`Page 13 of 40
`
`

`
`RFC 1541
`
`Dynamic Host Configuration Protocol
`
`October 1993
`
`OCTETS
`
`DESCRIPTION
`
`htype
`
`hlen
`
`hops
`
`Xid
`
`SGCS
`
`flags
`ciaddr
`
`yiaddr
`siaddr
`
`giaddr
`
`chaddr
`sname
`
`file
`
`options
`
`Message op code / message type.
`1 = BOOTREQUEST,
`2
`BOOTREPLY
`Hardware address type, see ARP section in "Assigned
`Numbers" RFC; e.g.,
`'1'
`10mb ethernet.
`Hardware address length (e.g.
`'6' for 10mb
`ethernet).
`Client sets to zero, optionally used by relay—agents
`when booting via a relay—agent.
`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.
`
`Filled in by client, seconds elapsed since client
`started trying to boot.
`Flags (see figure 2).
`Client IP address; filled in by client in
`DHCPREQUEST i" veri"ying previously allocated
`configuration parameters.
`'your'
`(client)
`IP address.
`IP address of next server to use in bootstrap;
`returned in DHCPOFFER, DHCPACK and DHCPNAK by
`server.
`
`16
`64
`128
`
`312
`
`Relay agent IP address,
`relay—agent.
`Client hardware address.
`
`used in booting via a
`
`Optional server host name,
`null terminated string.
`Boot file name, null terminated string; "generic"
`name or null in DHCPDISCOVER, fully qualified
`directory—path name in DHCPOFFER.
`Optional parameters field.
`See the options
`documents for a list o" de"ined options.
`
`Table 1:
`
`Description o
`
`"ields in a
`
`DHCP message
`
`Droms
`
`[Page 14]
`
`Page 14 of 40
`
`

`
`RFC 1541
`
`Dynamic Host Configuration Protocol
`
`October 1993
`
`Server
`
`Client
`
`(not selected)
`
`Server
`
`(selected)
`
`v I I I I
`
`v
`
`I
`Begins initialization
`
`/I\
`/ DHCPDISCOVER I DHCPDISCOVER \|
`
`V I
`
`I I I I I
`
`Determines
`
`configuration
`
`Determines
`
`configuration
`
`\
`
`DHCPOFFER\
`
`/
`
`I\
`I
`I
`I
`I
`I
`I
`I
`I
`I / DHCPREQUEST
`I
`I
`I
`I
`I
`
`\
`Collects replies
`\I
`Selects configuration
`I
`/I\
`I
`I
`I
`I
`I
`I / DHCPACK
`
`/DHCPOFFER
`
`/I
`I
`I
`I
`I
`I
`I
`I
`I
`DHCPREQUE ST \ I
`I
`Commits configuration
`I
`
`/
`
`Initialization complete
`
`I
`Graceful shutdown
`
`DHCPREDEASE \|
`
`Discards lease
`I
`V
`
`\
`
`I I I I
`
`I
`v
`
`I I I
`
`I I I I I I I IV
`
`Figure 3: Timeline diagram of messages exchanged between DHCP
`client and servers when allocating a new network address
`
`Droms
`
`[Page 15]
`
`Page 15 of 40
`
`

`
`RFC 1541
`
`Dynamic Host Configuration Protocol
`
`October 1993
`
`Use
`
`DHCPDISCOVER
`
`Client broadcast to locate available servers.
`
`DHCPOFFER
`
`DHCPREQUEST
`
`DHCPACK
`
`DHCPNAK
`
`DHCPDECLINE
`
`DHCPRELEASE
`
`Server to client in response to DHCPDISCOVER with
`o "er o
`"
`con"iguration parameters.
`
`Client broadcast to servers requesting o "ered
`parameters from one server and implicitly declining
`o""ers "rom all others.
`
`Server to client with configuration parameters,
`including committed network address.
`
`Server to client refusing request for configuration
`parameters (e.g., requested network address already
`allocated).
`
`Client to server indicating configuration parameters
`(e.g., network address)
`invalid.
`
`Client to server relinquishing network address and
`cancelling remaining lease.
`
`Table 2:
`
`DHCP messages
`
`5. Thc clicnt rcccivcs thc
`
`DHCPACK message with configuration
`parameters.
`The client performs a final check on the parameters
`ARP
`and notes the duration
`for allocated network address),
`(e-g-,
`O:
`the lease and the lease identification cookie specified in the
`the
`DHCPACK message.
`At this point,
`the client is configure

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