Dynamic Host Configuration Protocol (DHCP) | 161Assigning an IP Address Using DHCPWhen a client joins a network:1. The client initially broadcasts a DHCPDISCOVER message on the subnet to discover availableDHCP servers. This message includes the parameters that the client requires and might includesuggested values for those parameters.2. Servers unicast or broadcast a DHCPOFFER message in response to the DHCPDISCOVER thatoffers to the client values for the requested parameters. Multiple servers might respond to a singleDHCPDISCOVER; the client might wait a period of time and then act on the most preferred offer.3. The client broadcasts a DHCPREQUEST message in response to the offer, requesting the offeredvalues.4. After receiving a DHCPREQUEST, the server binds the clients’ unique identifier (the hardwareaddress plus IP address) to the accepted configuration parameters and stores the data in a databasecalled a binding table. The server then broadcasts a DHCPACK message, which signals to the clientthat it may begin using the assigned parameters.5. When the client leaves the network, or the lease time expires, returns its IP address to the server in aDHCPRELEASE message.There are additional messages that are used in case the DHCP negotiation deviates from the processpreviously described and shown in Figure 9-2.• DHCPDECLINE—A client sends this message to the server in response to a DHCPACK if theconfiguration parameters are unacceptable, for example, if the offered address is already in use. In thiscase, the client starts the configuration process over by sending a DHCPDISCOVER.• DHCPINFORM—A client uses this message to request configuration parameters when it assigned anIP address manually rather than with DHCP. The server responds by unicast.• DHCPNAK—A server sends this message to the client if it is not able to fulfill a DHCPREQUEST,for example, if the requested address is already in use. In this case, the client starts the configurationprocess over by sending a DHCPDISCOVER.Figure 9-2. Assigning Network Parameters using DHCPClient Relay Agent Server1. DHCPDISCOVER2. DHCPOFFER3. DHCPREQUEST4. DHCPACK5. DHCPRELEASE