DHCP

What
DHCP is an application layer protocol that lets servers dynamically alocate IP addresses to machines. It provides a set of other functionalities as well.

Services

 * IP address lease
 * local DNS server
 * gateway router
 * subnet mask

Process

 * Broadcast server discovery message
 * Server responds with offers that contain the information above and also a set lease time
 * Client echos the offer it wants
 * DHCP server responds with an ACK
 * other servers see that they were not chosen

Details
DHCP uses soft state which means that we need a timer. If an expected message hasn't come back in time, we refresh the timer and forget our state. Also, since leases are renewable, we want to forget them after our lease time is over