When a client device tries to join a new network for the very first time, it must have a valid IP address to communicate. It first transmits a DHCPDISCOVER message on its local subnet. Because the client has no way of knowing the subnet to which it belongs, the DHCPDISCOVER is an all-subnets broadcast (destination IP address of 255.255.255.255, a layer 3 broadcast address) and a destination MAC address of FF-FF-FF-FF-FF-FF (a layer 2 broadcast address). The client does not have a configured IP address, so the source IP address of 0.0.0.0 is used. The purpose of DHCPDISCOVER message is to try to find out a DHCP Server. After receiving the discover message, the DHCP Server dynamically picks up an unassigned IP address from its IP pool and broadcasts a DHCPOFFER message to the client device. DHCPOFFER message could contain other information such as subnet mask, default gateway, IP address lease time, and domain name server (DNS). In fact, the DHCPOFFER is...