DHCP is a protocol that automatically assigns IP addresses and other network configuration settings to clients. It allows administrators to change network settings centrally on the DHCP server rather than having to configure each client individually. The DHCP server stores lease information in /var/lib/dhcp/dhcpd.leases and is configured using /etc/dhcpd.conf which defines IP pools, default routes, DNS servers and other options. The DHCP relay agent forwards requests from clients without a local DHCP server to servers on other subnets.