throbber
>
`
`Page 1 of37
`
`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
`Official 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
`capability of automatic allocation of reusable network addresses and
`additional configuration options [19].
`DHCP captures the behavior of
`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
`.
`.
`.
`.
`.
`.
`.
`.
`.
`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
`.
`
`.
`.
`.
`.
`.
`
`.
`.
`.
`.
`.
`
`.
`.
`.
`.
`.
`
`.
`.
`.
`.
`.
`
`.
`.
`.
`.
`.
`
`2
`4
`4
`
`5
`6
`6
`8
`.
`. 10
`. 11
`. 11
`. 12
`
`. 17
`
`. 19
`. 19
`. 20
`. 20
`. 21
`
`Droms
`
`[Page 1]
`
`fi1e:///C :/Users/254 74/AppData/Loca1/Temp/Low/G}H(ZIR3 J.htm
`
`12/ 17/2013
`
`Page 1 of 37
`
`Verizon Exhibit 1013
`
`

`
`Page 2 of 37
`
`RFC 1541
`
`Dynamic Host Configuration Protocol
`
`October 1993
`
`.
`.
`.
`.
`.
`.
`1.1 Constructing and sending DHCP messages.
`.
`.
`.
`.
`.
`.
`1.2 DHCP server administrative controls .
`.
`.
`.
`.
`.
`.
`.
`1.3 DHCP server behavior.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`1.3.1 DHC?D1SCOV3R message.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`1.3.2 DHC?R3QUEST message .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`1.3.3 DHC?D?CL1N? message .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`1.3.4 DHC?R3LEAS3 message .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`1.4 DHCP client behavior.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`1.4.1 1ni:ializa:ion and allocation of network address.
`1.4.2 1ni:ializa:ion with known network address .
`.
`.
`.
`1.4.3 1ni:ializa:ion with a known DHCP server address .
`1.4.4 Reacquisition and expiration.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`1.4.5 DHC?RELEAS3 .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`5. Acknowledgmen:s.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`6. References .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`7. Securi:y Considerations.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`8. Author's Address .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`A. Host Configuration Parameters
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`
`. 21
`. 23
`. 24
`. 24
`. 27
`. 29
`. 29
`. 29
`. 29
`. 33
`. 34
`. 34
`. 35
`. 35
`. 36
`. 37
`. 38
`. 39
`
`List of Figures
`
`9
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`1. Format of a DHCP message .
`. 10
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`2. Format of the 'flags' field.
`3. Timeline diagram of m ssag s Xchang d b tw n DHCP client and
`servers when allocating a new network address.
`.
`.
`.
`.
`.
`.
`.
`. 15
`4. Timeline diagram of m ssag s Xchang d b tw n DHCP client and
`servers when reusing a previously allocated network address.
`. 18
`5. State—transition diagram for DHCP clients.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`. 31
`
`List of Tables
`
`1. Description of fields 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.
`
`d signat d DHCP server
`DHCP is built on a cli nt—s rv r mod l, wh r
`hosts allocate network addresses and deliver configuration parameters
`to dynamically configured hosts. Throughout the remainder of this
`docum nt,
`th t rm "s rv r" r f rs to a host providing initialization
`
`Droms
`
`[Page 2]
`
`RFC 1541
`
`Dynamic Host Configuration Protocol
`
`October 1993
`
`parameters through DHCP, and the term "client" refers to a host
`
`fi1e:///C :/Users/254 74/AppData/Loca1/Temp/Low/GHKZIR3 J.htm
`
`12/ 17/2013
`
`Page 2 of 37
`
`

`
`Page 3 of 37
`
`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
`pro:ocol implementations in the Internet would preclude reliable
`operation if random hosts were allowed to respond to DHCP requests.
`For
`xampl
`,
`IP r quir s th s tting of many parameters within the
`pro:ocol 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,
`dis:ributed address allocation schemes depend on a polling/defense
`mecianism for discovery of addresses that are already in use.
`IP
`hos:s may not always b
`abl
`to d f nd th ir n twork addresses,
`so
`tha: such a distributed address allocation scheme cannot be
`guaranteed to avoid allocation of duplicate network addresses.
`
`In
`DHC? supports three mechanisms for IP address allocation.
`"au:omatic allocation", DHCP assigns a permanent IP address to a
`hos:.
`In "dynamic allocation", DHCP assigns an IP address to a host
`for a limited period of time (or until the host explicitly
`relinquishes the address).
`In "manual allocation", a host's IP
`address is assigned by the network administrator, and DHCP is used
`simply to convey the assigned address to the host.
`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
`host to which it was assigned. Thus, dynamic allocation is
`particularly useful for assigning an address to a host that will be
`connected to the network only temporarily or for sharing a limited
`pool of IP addresses among a group of hosts that do not need
`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 sufficiently scarce that it is
`important to reclaim them when old hosts 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, 23] and to allow interoperability of existing
`BOOTP clients with DHCP servers. Using BOOTP relaying agents
`eliminates the necessity of having a DHCP server on each physical
`network segment.
`
`Droms
`
`[Page 3]
`
`RFC 1541
`
`Dynamic Host Configuration Protocol
`
`October 1993
`
`1.1 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
`
`fi1e:///C :/Users/25474/AppData/Loca1/Temp/Low/GHKZIR3J.htm
`
`12/ 17/2013
`
`Page 3 of 37
`
`

`
`Page 4 of 37
`
`[5]) explicitly
`extensions defined in the Dynamic RARP (DRARP)
`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.
`
`(MTU)
`the path minimum transmission unit
`In other related work,
`discovery algorithm can determine the MTU of an arbitrary internet
`path [14].
`Comer and Droms have proposed the use of the Address
`Resolution Protocol
`(ARP) as a transport protocol for resource
`[3,
`location and selection [6]. Finally,
`the Host Requirements RFCs
`4] mention specific requirements for host reconfiguration and suggest
`a scenario for initial configuration of diskless hosts.
`
`1.2 Problem definition and issues
`
`DHCP is designed to supply hosts with the configuration parameters
`defined in the Host Requirements RFCs. After obtaining parameters
`via DHCP, a host should b
`abl
`to xchang pack ts with any other
`host in th Int rn t.
`Th
`param t rs supplied by DHCP are listed in
`Appendix A.
`
`Droms
`
`[Page 4]
`
`RFC 1541
`
`Dynamic Host Configuration Protocol
`
`October 1993
`
`Not all of these parameters are required for a newly initialized
`host.
`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 host parameters
`not directly related to the IP protocol.
`DHCP also does not address
`registration of newly configured hosts with the Domain Name System
`(DNS)
`[12, 13].
`
`fi1e:///C :/Users/25474/AppData/Loca1/Temp/Low/GHKZIR3J.htm
`
`12/ 17/2013
`
`Page 4 of 37
`
`

`
`Page 5 of 37
`
`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" means that the
`item is an absolute requirement of this specification.
`
`"MUST NOT"
`
`This pirase means that the item is an absolute prohibition
`of this specification.
`
`" SHOUL 3"
`
`This word or the adjective "RECOMMENDED" means that there
`may exist valid reasons in particular circumstances to ignore
`this i:em, but the full implications should be understood and
`the case carefully weighed before choosing a different course.
`
`" SHOUL 3 NOT"
`
`This pirase 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
`
`RFC 1541
`
`0
`
`"MAY II
`
`Dynamic Host Configuration Protocol
`
`October 1993
`
`[Page 5]
`
`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:
`
`0
`
`"DHCP client"
`
`file:///C:/Users/25474/AppData/Local/Temp/Low/G}H(ZIR3J.htm
`
`12/17/2013
`
`Page 5 of 37
`
`

`
`Page 6 of 37
`
`A DHCP client
`configuration
`
`o "DHCP server"
`
`A DHCP server
`parameters to
`
`is an Internet host using DHCP to obtain
`parameters such as a network address.
`
`is an Internet host that returns configuration
`DHCP clients.
`
`o "BOOTP relay agent"
`
`A BOOTP relay agent is an Internet host or router that passes
`DHCP messages between DHCP clients and DHCP servers.
`DHCP is
`designed to us
`th sam r lay ag nt b havior as specified in
`the BOOTP protocol specification.
`
`o "binding"
`
`A binding is a collection of configuration parameters,
`at least an IP address, associated with or "bound to"
`client. Bindings are managed by DHCP servers.
`
`including
`a DHCP
`
`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 resources where desired.
`
`Droms
`
`[Page 6]
`
`RFC 1541
`
`Dynamic Host Configuration Protocol
`
`October 1993
`
`Each host should
`o 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.
`
`o Networks should require no hand configuration for individual
`hosts. Under normal circumstances,
`the network manager should
`not have to enter any per—host configuration parameters.
`
`To allow for
`o DHCP should not require a server on each subnet.
`scale and economy, DHCP must work across routers or through the
`intervention of BOOTP/DHCP relay agents.
`
`o A DHCP host 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.
`
`file:///C:/Users/25474/AppData/Local/Temp/Low/G}H(ZIR3J.htm
`
`12/17/2013
`
`Page 6 of 37
`
`

`
`Page 7 of 37
`
`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 Wimer
`[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 host at a time,
`
`A host should,
`o Retain host configuration across host reboot.
`whenever possible, be assigned the same configuration parameters
`(e.g., network address)
`in response to each request,
`
`o Retain host configuration across server reboots, and, whenever
`possible, a host should be assigned the same configuration
`parameters despite restarts of the DHCP mechanism,
`
`o Allow automatic assignment of configuration parameters to new
`hosts to avoid hand configuration for new hosts,
`
`o Support fixed or permanent allocation of configuration
`parameters to specific hosts.
`
`Droms
`
`[Page 7]
`
`RFC 1541
`
`Dynamic Host Configuration Protocol
`
`October 1993
`
`2. Protocol Summary
`
`From the client's point of view, DJCP is an extension of the BOOTP
`mechanism. This behavior allows existing BOOTP clients to
`interoperate with DHCP servers witiout requiring any change to the
`clients‘ initialization softwar .
`A s parat
`docum nt d tails the
`interactions between BOOTP and DHC? clients and servers [9]. There
`are some new, optional transactions that optimize the interaction
`between DHCP clients and servers tiat are described in sections 3 and
`4.
`
`Figure 1 gives the format of a DHC? 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 tiroughout 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 fixed lease, allowing for serial reassignment
`of network addresses to different clients.
`Second, DHCP provides the
`
`fi1e:///C :/Users/25474/AppData/Loca1/Temp/Low/GHKZIR3J.htm
`
`12/ 17/2013
`
`Page 7 of 37
`
`

`
`Page 8 of 37
`
`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."
`
`DHCP d fin s a n w 'cli nt id ntifi r' option that is used to pass an
`explicit client identifier to a DHCP server. This change eliminates
`the overloading of the 'chaddr' field in BOO”P messages, where
`'chaddr'
`is used both as a hardware address for transmission of BOOTP
`reply messages and as a cli nt id ntifi r.
`“h
`'cli nt id ntifi r'
`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 nam . Oth r cli nt id ntifi r typ s may be defined as
`needed for use with DHCP.
`N w cli nt id ntifi r typ s 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]
`
`RFC 1541
`
`Dynamic Host Configuration Protocol
`
`October 1993
`
`3
`2
`1
`0
`1
`5 6 7 8 9 0
`1 2 3 Z
`1 2 3 4 5 6 7 8 9 0
`1 2 3 4 5 6 7 8 9 0
`0
`~—+—+—+—+—+—+—+—~—+—+—+—+—+—+—+—~—+—+—+—+—+—+—+—~—+—+—+—+—+—+—+——
`
`op (1)
`
`htype (1)
`
`hlen (1)
`
`hops
`
`(1)
`
`Xic
`
`(4)
`
`secs (2)
`
`flags (2)
`
`ciadcr
`
`(4)
`
`yiadcr
`
`siadcr
`
`(4)
`
`(4)
`
`giadcr
`
`(4)
`
`chadcr
`
`(16)
`
`sname
`
`(64)
`
`fi1e:///C :/Users/254 74/AppData/Loca1/Temp/Low/GHKZIR3 J.htm
`
`12/ 17/2013
`
`Page 8 of 37
`
`

`
`Page 9 of 37
`
`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]
`
`RFC 1541
`
`Dynamic Host Configuration Protocol
`
`October 1993
`
`A new option, called ‘vendor specific information‘, has been added to
`allow for expansion of the number of options that can be supported
`[2]. Options encapsulated as ‘vendor specific information‘ must be
`carefully defined and documented so as to allow for interoperability
`between clients and servers from diferent vendors.
`In particular,
`vendors defining ‘vendor specific information‘ MUST document those
`options in the form of the DHCP Options document, MUST choose to
`represent those options either in data types already defined for DHCP
`options or in other well—defined data types, and MUST choose options
`that can be readily encoded in configuration files for exchange with
`servers provided by other vendors. Options included as ‘vendor
`specific options‘ MUST be readily supportable by all servers.
`
`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
`
`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 of the flags field
`are reserved for future use.
`They MUST be set to zero by clients and
`
`fi1e:///C :/Users/254 74/AppData/Loca1/Temp/Low/GHKZIR3 J.htm
`
`12/ 17/2013
`
`Page 9 of 37
`
`

`
`Page 10 of 37
`
`ignored by servers and relay agents. Figure 2 gives the 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 s rvic
`stor s a k y—valu
`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.
`
`ntry
`
`the key might be the pair (IP—subnet—number, hardware-
`For example,
`address), 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 host that has been moved to a different subnet or
`
`Droms
`
`[Page 10]
`
`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.
`Th cli nt int rfac
`to th 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
`issu a m ssag to r l as
`th addr ss 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 host 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
`l as
`has xpir d.
`Th
`s rv r should use whatever information is
`available in the configuration information repository to choose an
`
`fi1e:///C :/Users/25474/AppData/Loca1/Temp/Low/GHKZIR3J.htm
`
`12/ 17/2013
`
`Page 10 of 37
`
`

`
`Page 11 of37
`
`the server may choose the least
`For example,
`address to reuse.
`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
`n wly r c iv d addr ss,
`.g., with ARP.
`
`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
`
`Droms
`
`[Page 11]
`
`RFC 1541
`
`Dynamic Host Configuration Protocol
`
`October 1993
`
`The remainder
`is the same magic cookie as is defined in RFC 1497).
`of the 'options' field consists a list of tagged parameters that are
`called "options". All of the "vendor extensions" listed in RFC 1497
`are also DHCP options.
`A s parat
`docum nt giv s th compl t
`s t of
`options defined for use with DHCP [2].
`
`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 th typ of th m ssag ;
`.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; tiis abbreviated interaction is
`described in section 3.2.
`
`1. The client broadcasts a DHCPDISCOVER message on its local physical
`subnet.
`The DHCPDTSCOVER 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
`
`fi1e:///C :/Users/25474/AppData/Loca1/Temp/Low/GHKZIR3J.htm
`
`12/ 17/2013
`
`Page 11 of 37
`
`

`
`Page 12 of 37
`
`The server unicasts the
`network address to another client.
`DHCPOFFER message to the client
`(using the DHCP/BOOTP relay agent
`if necessary)
`if possible, or may broadcast the message to a
`broadcast address (preferably 255.255.255.255) on the client's
`subnet.
`
`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
`
`Droms
`
`[Page 12]
`
`RFC 1541
`
`Dynamic Host Configuration Protocol
`
`October 1993
`
`1
`DHCPR*QU?ST message that MUST include the ‘server identifier‘
`option to indicate which server it has selected, and may include
`other op:ions specifying desired configuration values. This
`DHCPR?QU?ST message is broadcast and relayed through DHCP/BOOTP
`relay agents.
`To help ensure that any DHCP/BOOTP relay agents
`forward :he 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 m ssag .
`Th cli nt tim s out and
`retransmits the DHCPDISCOVER m ssag if th cli nt r c iv s no
`DHCPOFFER messages.
`
`4. The servers receive the DHCPREQUEST broadcast from the client.
`Those servers not selected by the DHCPREQUEST message use the
`message as notification that the client has declined that server's
`offer.
`The server selected in the DHCPREQUEST message commits the
`binding for the client to persistent storage and responds with a
`DHCPACK message containing the configuration parameters for the
`requesting client.
`The combination of 'chaddr' and assigned
`network address constitute an unique identifier for the client's
`lease and are used by both the client and server to identify a
`lease referred to in any DHCP messages.
`The 'yiaddr' field in the
`DHCPACK messages is filled in with the selected network address.
`
`If the selected server is unable to satisfy the DHCPREQUEST message
`(e.g.,
`the requested network address has been allocated),
`the
`server SHOULD respond with a DHCPNAK message.
`
`A server may choose to mark addresses offered to clients in
`DHCPOFFER messages as unavailable.
`The server should mark an
`address offered to a client in a DHCPOFFER message as available if
`the server receives no DHCPREQUEST message from that client.
`
`fi1e:///C :/Users/25474/AppData/Loca1/Temp/Low/GHKZIR3J.htm
`
`12/ 17/2013
`
`Page 12 of 37
`
`

`
`Page 13 of37
`
`Droms
`
`RFC 1541
`
`Dynamic Host Configuration Protocol
`
`OCTE
`
`TS
`
`DESCRIPTION
`
`[Page 13]
`
`October 1993
`
`htype
`
`hlen
`
`hops
`
`Xid
`
`secs
`
`flags
`ciaddr
`
`yiaddr
`siaddr
`
`giaddr
`
`chaddr
`sname
`file
`
`options
`
`l\J
`
`16
`64
`128
`
`312
`
`Message op code / message type.
`1 : BOOTREQUEST,
`2 : BOOTREPLY
`Hardwar
`addr ss typ ,
`s
`ARP s ction 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.
`
`cli nt
`
`laps d sinc
`
`s conds
`Filled in by cli nt,
`started trying to boot.
`Flags (see figure 2).
`Client IP address; filled in by client in
`DHCPREQUEST if verifying 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.
`
`Relay agent IP address, used in booting via a
`relay—agent.
`Client hardware address.
`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 DHC?OFFER.
`Optional parameters field.
`See the options
`documents for a list of defined options.
`
`Table
`
`1:
`
`Description of fields in a DHCP message
`
`file:///C:/Users/25474/AppData/Local/Temp/Low/G}H(ZIR3J.htm
`
`12/17/2013
`
`Page 13 of 37
`
`

`
`Page 14 of 37
`
`[Page 14]
`
`October 1993
`
`Droms
`
`RFC 1541
`
`Dynamic Host Configuration Protocol
`
`Server
`(not selected)
`
`Client
`
`V
`
`V
`
`Server
`(selected)
`
`V
`
`Begins initialization
`
`/ DHCPDISCOVER
`
`DHCPDISCOVER \
`
`/
`
`\
`
`Determines
`configuration
`
`Determines
`configuration
`
`\
`
`\
`
`/DHCPOFFER
`
`/
`
`DHCPOFFER\
`
`/
`
`\
`Collects replies
`\
`Selects configuration
`
`/ DHCPREQUEST
`
`DHCPREQUEST \
`
`/
`
`\
`
`Commits configuration
`
`/ DHCPACK
`
`/
`
`Initialization complete
`
`Graceful shutdown
`
`\
`
`V
`
`DHCPRELEASE \
`
`Discards lease
`
`V
`
`V
`
`xchang d b tw
`Figure 3: Timeline diagram of m ssag s
`client and servers when allocating a new network address
`
`n DHCP
`
`file:///C:/Users/25474/AppData/Local/Temp/Low/G}H(ZIR3J.htm
`
`12/17/2013
`
`Page 14 of 37
`
`

`
`Page 15 of37
`
`Droms
`
`RFC 1541
`
`Dynamic Host Configuration Protocol
`
`[Page 15]
`
`October 1993
`
`Message
`
`Use
`
`D{C?D1SCOVER — Client broadcas: to locate available servers.
`
`D{C?OFFER
`
`— Server to clien:
`in response to DHCPDISCOVER with
`offer of configuration parameters.
`
`D{C?REQUEST
`
`— Client broadcas: to servers requesting offered
`parameters from
`one server and implicitly declining
`offers from all others.
`
`D{C?ACK
`
`D{C?NAK
`
`— Server to clien: with configuration parameters,
`including commi:ted network address.
`
`— Server to clien
`: refusing request for configuration
`param t rs (
`.g., r qu st d n
`twork address already
`allocated).
`
`DHCPDTCLINT
`
`— Client to server indicating configuration parameters
`(e.g., network address)
`invalid.
`
`DHCPRTLFAST
`
`—
`
`Client to server relinquishing network address and
`cancelling remaining lease.
`
`S :
`
`Table 2:
`
`DHCP message
`
`h configuration
`5. The client receives the DHCPACK message wi
`neck on the parameters
`parameters.
`The client performs a final c
`and notes the duration
`(e.g., ARP for allocated network address),
`of the lease and the lease identification cookie specified in the
`DHCPACK message. At this point,
`the clien : is configured.
`If the
`client detects a problem with the parameters in the DHCPACK
`ssage to the s

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