ke RARP, which only sends back a 4 octet IP address, BOOTP datagrams can include the IP address, the address of a router (default gateway), the address of a server, and a vendor-specific field. One of the problems with BOOTP is that it was not designed to provide dynamic address assignment. With BOOTP you create a configuration file that specifies the parameters for each device. Dynamic Host Configuration Protocol (DHCP)Dynamic host configuration protocol (DHCP) has been proposed as a successor to BOOTP. Unlike BOOTP, DHCP allows a host to obtain an IP address quickly and dynamically. All that is required using DHCP is a defined range of IP addresses on a DHCP server. As hosts come online they contact the DHCP server and request an address. The DHCP server chooses an address and allocates it to that host. With DHCP, the entire computer’s configuration can be obtained in one message (e.g. along with the IP address, the server can also send a subnet mask). When a DHCP client boots, it enters an initialize state. It sends DHCPDISCOVER broadcast messages, which are UDP packets with the port number set to the BOOTP port. After sending the DHCPDISCOVER packets, the client moves into the select state and collects DHCPOFFER responses from DHCP server. The client then selects the first response it receives and negotiates lease time (the length of time it can keep the address without renewing it) with the DHCP server by sending a DHCPREQUEST packet. The DHCP server acknowledges a client request with a DHCPACK packet. The client can now enter the bound state and begin using the address. In order for devices to communicate, the sending devices need both, the IP addresses and the MAC addresses, of the destination devices. When they try to communicate with devices whose IP addresses they know, they must determine the MAC addresses. The TCP/IP suite has a protocol, called ARP, that can automatically obtain the MAC address. ARP enables a com...