Перед изучением самого процесса, с помощью которого достигается поставленная цель, необходимо понять различные принципы обмена информацией, которые используются в данном процессе.
DHCPDISCOVER
Это сообщение обозначает начало DCHP взаимодействия между клиентом и сервером. Данное сообщение отправляется клиентом (компьютером или устройством), подключенным к сети. В этом сообщении используется 255.255.255.255 как IP-адрес доставки, тогда как исходным адресом является 0.0.0.0
DHCPOFFER
Это сообщение отправляется в ответ на DHCPDISCOVER от сервера DCHP для подключенных клиентов. В этом сообщении содержатся необходимые сетевые настройки.
DHCPREQUEST
Данное сообщение является ответом на DHCPOFFER, и обозначает, что клиент принял отправленные настройки.
DHCPACK
Данное сообщение отправляется на сервер протокола DCHP в ответ на DHCPREQUEST от клиента. Сообщение обозначает конец процесса, начатого с сообщения DHCPDISCOVER. Т.е. DHCPACK — это не что иное, как подтверждение от сервера начала авторизации клиента и принятие параметров конфигурации, полученных в самом начале от сервера.
DHCPNAK
Данное сообщение является противоположностью DHCPACK, описанного выше. Оно отправляется на сервер в случае, если невозможно удовлетворить параметры DHCPREQUEST клиента.
DHCPDECLINE
Сообщение отправляется клиентом на сервер в случае, если IP-адрес, присваиваемый в DCHP уже используется.
DHCPINFORM
Сообщение отправляется серверу в том случае, если клиенту DCHP присвоен статический IP-адрес, а по настройкам конфигурации необходим динамический адрес.
DHCPRELEASE
Сообщение отправляется клиентов в том случае, если он завершает процесс использования сетевого адреса.
Теперь, когда мы познакомились с различными сообщениями в DCHP, можно изучить весь процесс работы, чтобы получить более полное представление. Шаги ниже описываются исходя из того, что все настройки установлены по умолчанию.
Шаг 1
Когда клиент (компьютер или устройство) загружается или подключается к сети, серверу отправляется сообщение DHCPDISCOVER. Если нет никаких дополнительных данных о конфигурации, то сообщение отправляется с адреса 0.0.0.0 к 255.255.255.255. Если сервер DHCP находится в локальной подсети, то она напрямую получает сообщение, если он находится в другой подсети, то используется агент ретрансляции для передачи запроса к серверу DCHP. Используется протокол передачи UDP через порт 67. Клиент на данном этапе начинает стадию авторизации.
Шаг 2
В тот момент как сервер получил запрос DHCPDISCOVER, то он отправляет в ответ сообщение DHCPOFFER. Как говорилось ранее, в этом сообщении содержатся все необходимые параметры конфигурации, запрашиваемые клиентом. Например, IP-адрес, необходимый клиенту, а также значение маски подсети и информация о шлюзе. Также сервер сразу заполняет значения MAC-адреса в поле CHADDR. Сообщение отправляется клиенту от адреса 255.255.255.255 напрямую, а если сервер находится в другой подсети, то используются агенты ретрансляции, который отвечает за то, чтобы сообщение было доставлено. В этом случае для передачи применяется протокол UDP через порт 68. На этом этапе клиент начинает подбирать параметры.
Шаг 3
Клиент формирует сообщение DHCPREQUEST, которое служит ответом на DHCPOFFER от сервера, указав, что он принимает параметры конфигурации, отправленные ему. Если бы было несколько серверов DCHP, то клиент бы получил также несколько сообщений DHCPOFFER, но клиент отвечает только одному серверу, заполняя параметры конфигурации для настройки. Таким образом, он проходит авторизацию с получением IP-адреса от одного конкретного сервера DCHP. Все сообщение от других серверов блокируются. Сообщение DHCPREQUEST по-прежнему будет содержать адрес источника 0.0.0.0, если клиенту все еще нельзя использовать IP-адреса, полученные в сообщении DHCPOFFER. В течение этого этапа клиент получает ответы на свои запросы.
Шаг 4
Как только сервер получает DHCPREQUEST от клиента, он посылает DHCPACK сообщение о том, что теперь клиент может использовать IP-адрес, назначенный к нему. Клиент окончательно подключается к сети и с настроенными параметрами.
Концепция аренды
В дополнении к остальной необходимой информации о том, как работает DCHP, следует также знать IP-адрес, назначенный в DCHP сервером в аренду клиенту. После истечения срока аренды сервер DHCP может свободно присвоить этот IP-адрес другому компьютеру или устройству, запрашивающему то же самое. Например, сохранение срока аренды 8-10 часов полезно для компьютеров, которые обычно выключают в конце дня. Поэтому аренда должна продлеваться время от времени. После истечения половины срока аренды, DCHP клиент обычно пытается автоматически продлить данный срок. Это делается путем обмена DHCPREQUEST и DHCPACK сообщениями. Благодаря этому начинается стадия обновления данных для клиента.