Как показано на рис. 1, DHCPv4 работает по модели «клиент-сервер». Когда клиент подключается к серверу DHCPv4, сервер присваивает или сдаёт ему в аренду IPv4-адрес. Клиент с арендованным IP-адресом подключается к сети до истечения срока аренды. Периодически клиент должен связываться с DHCP-сервером для продления срока аренды. Благодаря подобному механизму «переехавшие» или отключившиеся клиенты не занимают адреса, в которых они больше не нуждаются. По истечении срока аренды сервер DHCP возвращает адрес в пул, из которого адрес может быть повторно получен при необходимости.
Первоначальная аренда
При начальной загрузке клиента (или ином способе подключения к сети) начинается 4-шаговый процесс получения адреса в аренду. Как показано на рис. 2, клиент начинает процесс с сообщения DHCPDISCOVER широковещательной рассылки со своего MAC-адреса с целью обнаружения доступных DHCPv4-серверов.
Обнаружение DHCP (DHCPDISCOVER)
Сообщение DHCPDISCOVER находит в сети DHCPv4-серверы. Поскольку во время загрузки у клиента нет верной IPv4-информации, для связи с сервером используются широковещательные адреса уровня 2 и уровня 3.
Предложение DHCP (DHCPOFFER)
Когда сервер DHCPv4 получает сообщение DHCPDISCOVER, он резервирует доступные IPv4-адреса для выдачи в аренду клиенту. Сервер также создаёт запись ARP, состоящую из MAC-адреса запрашивающего клиента и выданного клиенту IPv4-адреса. Как показано на рис. 3, DHCPv4-сервер посылает сообщение привязки DHCPOFFER запрашивающему клиенту. Адресом источника одноадресной рассылки сообщения DHCPOFFER является MAC-адрес уровня 2 сервера, адресом назначения - MAC-адрес уровня 2 клиента.
Запрос DHCP (DHCPREQUEST)
Когда клиент получает от сервера сообщение DHCPOFFER, он отправляет в ответ сообщение DHCPREQUEST, как показано на рис. 4. Это сообщение используется как для первоначальной аренды адреса, так и для её продления. Когда сообщение используется при первоначальной аренде, DHCPREQUEST служит уведомлением о принятии предложения привязки к предложенным сервером параметрам и косвенным отклонением для всех других серверов, которые могли предоставить клиенту предложение привязки.
В корпоративных сетях часто используется несколько DHCPv4-серверов. Сообщение DHCPREQUEST отправляется в форме широковещательной рассылки с целью информирования данного DHCPv4-сервера и других DHCPv4-серверов о том, что предложение было принято.
Подтверждение DHCP (DHCPACK)
При получении сообщения DHCPREQUEST, сервер проверяет, не используется ли выдаваемый в аренду IP-адрес с помощью отправки эхо-запроса по протоколу ICMP на этот адрес. После этого сервер создаёт новую запись ARP для клиентской аренды и отвечает сообщением одноадресной рассылки DHCPACK, как показано на рис. 5. Сообщение DHCPACK является копией сообщения DHCPOFFER, за исключением изменения в поле типа сообщения. При получении сообщения DHCPACK клиент загружает информацию о конфигурации и выполняет ARP-проверку присвоенного адреса. Если ARP-ответа нет, значит, IPv4-адрес доступен, и клиент начинает использовать его в качестве собственного адреса.
Продление аренды
Запрос DHCP (DHCPREQUEST)
Как показано на рис. 6, когда аренда заканчивается, клиент посылает сообщение DHCPREQUEST непосредственно DHCPv4-серверу, который первоначально предложил IPv4-адрес. Если сообщение DHCPACK не получено за определенный период времени, клиент отправляет другое сообщение DHCPREQUEST широковещательной рассылкой, чтобы другой DHCPv4-сервер мог продлить срок аренды.
Подтверждение DHCP (DHCPACK)
При получении сообщения DHCPREQUEST сервер подтверждает информацию об аренде ответным сообщением DHCPACK, как показано на рис. 7.