DHCP
Dynamic Host Configuration Protocol - протокол динамической конфигурации хоста. Как правило, его используют для автоматической выдачи сетевых настроек (ip address, netmask, gateway, dns) клиентским компьютерам в сети, однако, функциональные возможности DHCP гораздо больше - с помощью него можно передавать конфигурационные файлы на другие устройства или даже загружать ОС. В «классическом» варианте DHCP позволяет, во-первых, упросить жизнь администратору и выдавать сетевые настройки автоматически, а, во-вторых, DHCP предотвращает возможность дублирования адресов. Также, при изменении адресного пространства сети DHCP позволяет существенно сэкономить время настройки клиентских компьютеров.
DHCP - это клиент-серверная технология и процесс взаимодействия клиента и сервера происходит в 4 итерации по схеме DORA (Discover - Offer - Request - Acknowledge)
- Discover - клиент пытается обнаружить в сети DHCP-сервер, отправляя широковещательный запрос в сеть на адрес 255.255.255.255, а в качестве адреса отправителя указывается адрес 0.0.0.0. Такой запрос является широковещательным и поэтому его получают все устройства в этом широковещательном домене.
- Offer - отправляется в ответ на Discover. DHCP-сервер, получив запрос отправляет предложение клиентскому компьютеру с подходящими настройками. Если в сети находится несколько DHCP-серверов, то клиент выбирает те настройки, которые получит первыми.
- Request - клиент проверяет, подходят ли ему такие настройки. Если подходят, то клиент отправляет ответ серверу, в котором уже официально запрашивает эти настройки, то есть в этом сообщении содержится информация из Discover, а также адрес выбранного DHCP-сервера. Такая информация также отправляется на широковещательный адрес и те DHCP-сервера, чьи адреса в этом сообщении не указаны, понимают, что их предложение отвергнуто.
- Acknowledge - DHCP-сервер, адрес которого указан в Request, понимает, что его предложение принято и выдает клиенту настройки.
Один из параметров DHCP-сервера - это срок аренды, то есть настройки выдаются клиенту не навсегда (хотя такое тоже возможно), а на определенный срок. Время аренды может быть совершенно разное - от нескольких минут до нескольких месяцев, или вообще бессрочное - все зависит от назначения сети. Как только проходит половина срока аренды, клиент пытается обновить аренду. Если ему это не удается сделать до окончания срока аренды, то клиент начинает искать другой DHCP-сервер в сети. Во время продления аренды клиент отправляет запрос на продление уже не на широковещательный адрес, а своему DHCP-серверу и здесь возможно 2 варианта развития событий.
- сервер может продлить аренду - тогда клиенту отправляется сообщение Ack с указанием нового срока аренды и с новыми настройками (если они менялись)
- сервер не может или не хочет продлить аренду - клиенту отправляется сообщение Nack и клиент начинает искать в сети новый DHCP-сервер.