Привет,Примерно так:
1. Клиент посылает широковещательный (broadcast) UDP пакет на порт 67. В пакете стоит нулевой source IP, на Ethernet фрэйме - MAC адрес сетевого устройства (пакет DHCPDISCOVER)
2. DHCP сервер отлавливает этот пакет и, если есть возможность назначит IP адрес клиенту, предлагает его в ответ теким же пакетом (DHCPOFFER). На Ethernet фрэйме - MAC адрес запросившего устройства.
3. Клиент, получив одно (или больше) предложений, выбирает с какого DHCP сервера получить IP адрес и шлет ему broadcast пакет с запросом (DHCPREQUEST). В этом пакете client IP и есть предложенный DHCP сервером адрес. Если предложение поступило и от второго DHCP сервера, то второй, услышав это сообщение, освобождает предложенный им же адрес для следующего запроса.
4. Удовлетворив этот запрос, DHCP сервер высылает в ответ потверждение (DHCPACK). Клиент "поднимает" IP адрес на своем интерфейсе.
Вообще-то есть RFC на тему, но с картинками можно посмотреть и здесь:
http://www.eventhelix.com/RealtimeMantra/Networking/DHCP.pdf
WWell,