ummm en pocas palabras, lo hace el router.
El DHCP es un servicio que permite asignar a computadoras conectadas a una red local los parametros de conexión, como una dirección IPv4, IPv6, una máscara, una puerta de enlace y en general cualquier parametro requerido para que un pc sea miembro del grupo de trabajo de una red local.
Un computador puede usarse para ese trabajo, y en si mismo, un router de los que te da una ISP establece los parametros de conexión mediante un control de seguridad de autenticación (ya sabes, usuario y contraseña) y una vez confirmado el login, establece una identidad en tu red local con unos parametros que fueron determinados por la empresa de tu conexión para que asi mismo, se conecte a una red metropolitana y así mismo, conecte a una red mundial con una identidad determinada que te permita la navegación dentro de la red de redes (internet).
DHCP (sigla en inglés de Dynamic Host Configuration Protocol, en español « protocolo de configuración dinámica de host»), es en si un protocolo, pero no te metas todavia en tecnisismos, se le dice dinamico porque maneja un rango de direcciones que permite conectar un determinado número de equipos en la red, así, cada vez que se conecta un nuevo computador, el dhcp esta siempre listo para asignar una red renovada y nueva para hacer uso de servicios.
Si quieres más info te recomiendo que uses youtube, mira este canal, es excelente, el tipo es un mago y es un excelente tutor, se le entiende todo de manera muy sencilla. Y tiene mucha información clara sobre redes, windows y linux.
http://www.youtube.com/user/lpguerrero/videos?flow=grid&view=1