Протокол DHCP: для чего нужен и как работает
Если вы хоть раз подключались к общественной сети, например в кафе, ТЦ или медцентре, то видели в деле протокол DHCP. Именно он автоматически раздает устройствам IP-адреса и другие сетевые параметры. О том, что может DHCP, как работает и взаимодействует с другими компонентами сети, поговорим в этой статье.

Зачем нужен DHCP
Назначить IP-адрес одному клиенту, то есть его компьютеру в локальной сети, несложно. Совсем другое дело, когда речь идет о сотнях или даже тысячах устройств, которым одновременно требуются адреса для подключения. И здесь на помощь приходит протокол динамической конфигурации хоста DHCP.
DHCP, или Dynamic Host Configuration Protocol, — протокол прикладного уровня модели TCP/IP, который нужен, чтобы устройства могли автоматически получать IP-адреса для доступа в сеть.

Говоря подробнее, протокол DHCP выполняет следующие функции:
Автоматически распределяет основные настройки сети: адрес шлюза, маски подсети, DNS-серверы, а также такие сетевые параметры, как время аренды IP-адреса и другие опции для протоколов и сервисов.
Упрощает управление сетью. Позволяет администраторам просматривать и изменять назначенные IP-адреса, а также быстро настраивать и масштабировать сеть.
Меняет IP-адреса в реальном времени. Дает возможность устройствам получать новые адреса при перемещении между различными сегментами сети или повторном подключении.
Масштабирует сеть. С DHCP можно легко масштабировать сетевые ресурсы, получая дополнительные IP-адреса по мере подключения новых устройств.
Предотвращает возможные конфликты между IP. DHCP-протокол обеспечивает устройствам уникальные идентификаторы в сети, а также минимизирует конфликты адресов за счет обновления и управления ими в реальном времени.
Простой пример работы протокола DHCP в обычной жизни — подключение ноутбука или смартфона к Wi-Fi в кафе. Это происходит примерно так:
Ваше устройство отправляет в сеть запрос: «Кто может дать мне IP-адрес для подключения?».
Роутер с DHCP-сервером, который используется в кафе, видит запрос и отвечает: «Вот тебе IP-адрес, например, 192.168.1.100, плюс адрес шлюза, маска подсети и DNS-серверы».
Устройство принимает настройки и подтверждает подключение, а роутер начинает отслеживать срок аренды выданного IP-адреса, чтобы автоматически отключить его с помощью DHCP-протокола, как только вы уйдете из кафе.
Как работает DHCP
В работе протокола DHCP принимают участие DHCP-сервер, DHCP-клиенты и иногда — агенты ретрансляции, которые перенаправляют запросы и ответы между DHCP-клиентами и серверами в разных сегментах сети или подсетях.

DHCP-сервер — это отдельный софт или оборудование в локальной сети, которое автоматически предоставляет и назначает IP-адреса, шлюзы и другие параметры сетевой конфигурации клиентским устройствам. Используется как домашних, так и в корпоративных и общественных сетях, раздавая IP-адреса новым устройствам из определенного доступного диапазона.
Клиент DHCP — это компьютер, смартфон, принтер или любое другое устройство, которое запрашивает конфигурацию сети от DHCP-сервера.
Агент ретрансляции DHCP — это промежуточное устройство для перенаправления DHCP-сообщений между клиентами и серверами, находящимися в разных сетях или подсетях. Используются не всегда, но могут быть эффективны при одновременной работе с большим числом сетевых устройств.
Представьте ситуацию: DHCP-сервер размещен на первом этаже офиса, а сотрудники с ноутбуками сидят на втором. При этом запросы их компьютеров не могут «дотянуться» до сервера из-за того, что маршрутизатор по умолчанию не настроен на пересылку таких сообщений.
Как решить эту проблему? Настроить маршрутизатор так, чтобы он ретранслировал настройки подключения на оба этажа, позволив агенту ретрансляции передавать запросы устройств DHCP-серверу и выдавать им IP-адреса.
Еще агент ретрансляции может пригодиться, если в подсети не установлен собственный DHCP-сервер — тогда он устанавливается на устройстве с доступом к этой подсети и принимает запросы от клиентов, перенаправляя их к DHCP-серверу, который находится в другой подсети.
Плюсы и минусы DHCP-протокола
Любой администратор сети, который использует протокол DHCP в своей работе, обратит внимание на его преимущества, в числе которых:
Упрощенное администрирование. DHCP-протокол автоматически распределяет IP-адреса между устройствами, экономя время администратора и сводя к минимуму число ошибок при подключении.
С помощью DHCP можно упростить процесс развертывания виртуальных машин (ВМ) и обеспечить их доступность по IP-адресу. А еще с этим протоколом не нужно вручную настраивать сетевые параметры для каждой ВМ, что особенно полезно в больших или динамических инфраструктурах с частым добавлением или удалением машин.
Изменение сетевой конфигурации ВМ в облаке тоже упрощается за счет использования DHCP-протокола. Например, при смене конфигурации DNS-сервера, с ним можно обновить настройки DHCP-сервера, автоматически передав обновленную информацию всем виртуальным машинам.
Неограниченные возможности. Протокол DHCP одинаково эффективен как при работе в небольшой домашней сети, так и в сети крупной компании или предприятия.
Практические бесшовные подключения и переподключения. IP-адрес, назначенный устройству DHCP-протоколом, может продолжать использоваться им даже после смены подсети.
AI-помощник, который упрощает работу в облаке
Делегируйте помощнику создание виртуальных машин и настройте автоматический мониторинг, поиск по документации и генерацию команд для консоли
Впрочем, есть у протокола и некоторые ограничения:
Порой не обойтись без агентов ретрансляции. Если сеть разделена на подсети, а сервер есть только в одной их них, то без агентов ретрансляции устройства не смогут обмениваться DHCP-сообщениями.
Ограниченный пул IP-адресов. Когда в сети функционирует только один DHCP-сервер, существует риск недостатка IP-адресов для новых подключающихся устройств. Уже подключенные устройства, в свою очередь, смогут использовать свои сетевые адреса только до истечения срока их аренды.
Сети с одним DHCP-сервером подвержены киберугрозам. Есть риск того, что злоумышленник настроит локальную сеть под себя и заберет все свободные IP-адреса.
Способы назначения IP-адресов
С помощью DHCP-протокола присвоить устройству IP-адрес можно разными способами. Поговорим подробнее о трех ключевых из них:
Автоматическое предоставление IP-адресов через DHCP происходит следующим образом: администратор выделяет диапазон IP-адресов и устанавливает для них срок аренды. Когда клиент, например компьютер или IoT-устройство, подключается к сети и запрашивает IP, DHCP-сервер назначает ему адрес из выделенного диапазона и отправляет настройки сети, такие как маска подсети, шлюз по умолчанию и DNS-сервер. Также сервер ведет таблицу активных назначений, где фиксирует выданные IP-адреса и соответствующие им MAC-адреса.
При динамическом назначении сервер временно выдает IP-адрес новому устройству, то есть выдает в аренду. По истечении срока аренды сетевой идентификатор может быть продлен для этого же устройства или передан другому гаджету.
Динамический метод назначения IP-адресов используется чаще остальных, позволяя эффективно распоряжаться ограниченным числом IP в сети. Он идеален для сетей с временным доступом, где пользователи часто меняются.
О статическом назначении IP-адресов говорят в том случае, когда администратор связывает определенный IP-адрес с MAC-адресом устройства на DHCP-сервере. То есть когда устройство подключается к сети и запрашивает IP-адрес, сервер идентифицирует его по MAC-адресу и присваивает заранее определенный IP.
Метод статического назначения чаще всего используется при работе с оборудованием, которому требуется постоянный IP-адрес, например для сетевых принтеров или серверов.
Отличие статического метода от ручного заключается в том, что при статической настройке все данные хранятся на одном сервере. Это упрощает работу: если что-то изменится в сети, администратору достаточно обновить настройки в одном месте, а не на каждом устройстве по отдельности. Это экономит время и уменьшает риск допустить ошибку.
Как происходит назначение IP-адреса
DHCP работает по модели клиент-сервер, устройства-клиенты запрашивают у DHCP-сервера IP-адреса и настройки сети. Этот процесс взаимодействия, обозначаемый аббревиатурой DORA, происходит в четыре этапа. При подключении к Wi-Fi в кафе, он будет таким:
Поиск (Discovery): смартфон клиента отправляет широковещательный запрос (DISCOVER) на поиск DHCP-серверов, доступных в сети. При этом этот запрос не адресуется конкретному серверу, а предназначается всем серверам в локальной сети.
Предложение (Offer): DHCP-серверы получают запрос и отвечают на него, отправляя предложение (OFFER). Оно содержит IP-адрес и другие сетевые параметры, необходимые для подключения.
Запрос (Request): клиент подтверждает, что берет предложенный адрес, принимает настройки и срок пользования от сервера. В то же время сервер, который забрал запрос, сообщает другим серверам, что клиент уже получил адрес. Другие серверы, которые также подготовили адрес и конфигурации, возвращают их обратно в свой массив.
Подтверждение (Acknowledgement): выбранный DHCP-сервер отправляет подтверждение (ACK) клиенту, которое закрепляет за ним IP-адрес на заданный срок аренды. После получения ACK, клиент настроен для доступа в интернет через Wi-Fi с использованием назначенного IP-адреса.

Аренда IP-адресов: что важно знать при использовании динамического метода
При использовании динамического метода назначения IP-адресов через DHCP, адреса предоставляются устройствам на определенный срок. Когда аренда IP-адреса подходит к половине ее срока, клиент автоматически инициирует процесс продления аренды с DHCP-сервером:
Делает запрос на продление (Renewal Request): при достижении 50% срока аренды IP-адреса клиент отправляет запрос (REQUEST) тому DHCP-серверу, от которого изначально был получен адрес, с просьбой продлить аренду.
Затем получает подтверждение продления (Renewal Acknowledgment): если сервер доступен и согласен продлить аренду, он отвечает подтверждением (ACK), содержащим обновленный срок аренды и, при необходимости, обновленную сетевую конфигурацию. Если сервер отказывает или не отвечает, клиент может повторить попытку или перейти к полному новому циклу DORA с другими серверами, когда срок аренды будет близок к истечению.
Такой механизм продления помогает обеспечить непрерывный доступ к сети без потребности в ручной настройке и позволяет DHCP-серверу более эффективно управлять пулом IP-адресов.

Оптимальный срок аренды IP-адреса зависит от того, где и для чего используется сеть:
В оживленном кафе, торговом центре, аэропорту из-за большого количества клиентов, которые могут подключаться и отключаться в течение дня, короткий срок аренды IP-адреса, например, один час, помогает не истощить пул доступных адресов.
В офисе или на предприятии, где устройства остаются подключенными более долго, срок аренды IP в Wi-Fi сети обычно составляет 12 часов. А для тех устройств, которые постоянно подключены к корпоративной сети, достигает недели.
Опции DHCP
Различные опции DHCP-протокола помогают гибко настраивать доступ в сеть. Существуют стандартные опции, а также редко используемые. У каждой из них есть свой уникальный номер.
Номер | Опция | Функция |
001 | Маска подсети | Определяет структуру адресации в сети и влияет на количество устройств, которые могут быть частью этой сети |
006 | DNS-сервер | Переводит доменные имена в IP-адреса, размещаясь в локальной сети организации или в интернете |
003 | Маршрутизатор | Обычно выполняет функции шлюза, который служит для устройств точкой доступа к другим сетям |
051 | Период аренды адреса | Определяет, насколько долго клиент может пользоваться сетью |
082 | Настройка агента ретрансляции | Позволяет добавлять дополнительную информацию к запросам для более точной настройки распределения IP-адресов согласно местоположению и идентификатору устройства |
015 | Доменное имя | Автоматически сопоставляет клиентов с доменом сети, обеспечивая упрощенную интеграцию в доменные сервисы и упрощение процесса разрешения имен в сети |
Среди менее распространенных опций, предназначенных для новых клиентских устройств, можно выделить: hosting клиента (012), список серверов NTP (042) и часовой пояс (101).
Взаимодействие DHCP с другими компонентами сети
Работа DHCP-протокола невозможна без взаимодействия с другими сетевыми протоколами: PXE (Preboot Execution Environment) и DNS (Domain Name System). Рассмотрим, что они из себя представляют и как работают совместно.
DHCP и DNS
DHCP и DNS взаимодействуют для обеспечения эффективного хода работы сетевых операций. Вместе эти протоколы выполняют следующие функции:
Предоставление информации о DNS через DHCP: при назначении IP-адреса DHCP-сервер выдает устройству информацию о других сетевых параметрах, предоставляя и адреса DNS-серверов. За счет этого устройства автоматически узнают, к каким DNS-серверам обращаться для разрешения доменных имен, что важно для доступа к интернет-ресурсам и сетевым сервисам.
Разрешение имен через DNS: когда устройство пытается получить доступ к ресурсу в интернете или локальной сети, оно использует полученные от DHCP DNS-серверы для преобразования доменных имен в IP-адреса. Например, когда пользователь вводит URL веб-сайта в браузер, запрос сначала идет на DNS-сервер для получения соответствующего IP-адреса веб-сайта, после чего уже устанавливается соединение с целевым сервером.
Динамическое обновление DNS: DHCP-сервер можно настроить таким образом, чтобы он автоматически обновлял DNS-записи при назначении IP-адреса устройству.
На примере рассмотрим, как одновременное использование DHCP и DNS упрощает работу в сети. Допустим, вы подключаете ноутбук к Wi-Fi-маршрутизатору, чтобы выйти в интернет и открыть сайт https://cloud.ru/. DHCP и DNS начинают работать:
DHCP автоматически формирует запрос на получение IP-адреса с настройками и получает ответ;
DNS открывает браузер и заходит на https://cloud.ru/. В этот момент ноутбук отправляет полученный от DHCP-сервера IP-адрес DNS-серверу. DNS-сервер находит IP-адрес, связанный с https://cloud.ru/. Браузер использует этот IP-адрес, чтобы подключиться к серверу.
Получается, что DHCP помогает ноутбуку подключиться к сети, а DNS — зайти на https://cloud.ru/.
DHCP и PXE
Протокол PXE позволяет сетевым устройствам загружаться в сети без предварительно установленной операционной системы (ОС). В этом процессе DHCP играет важную роль: он выдает клиенту IP-адрес и предоставляет другие необходимые настройки.
Взаимодействие между этими протоколами происходит так:
Устройство, которое использует протокол PXE, рассылает запрос с параметрами PXE — они указывают на необходимость сетевой загрузки;
DHCP-сервер отправляет предложение свободного IP и комплект сетевых параметров. При этом иногда сервер добавляет в конфигурацию дополнительные настройки для PXE-загрузки: например, IP-адрес TFTP-сервера, отвечающего за передачу файлов по протоколу TFTP.
Клиент подтверждает получение IP- и сетевых параметров.
DHCP-сервер вновь посылает ответ, что гарантирует предоставление сетевого идентификатора и конфигураций для PXE-загрузки.
В итоге клиент запрашивает у TFTP-сервера загрузочный образ и запускает процесс «TFTP Download». После чего клиентская программа загружает операционную систему устройства.
Рассмотрим на примере, как DHCP и PXE работают совместно. Допустим, в компании есть компьютер, на котором нет локального жесткого диска. Установить на него систему через сеть без использования флешки или диска поможет PXE. Происходит это так:
сперва DHCP-сервер предоставляет компьютеру IP-адрес, который указывает, какой TFTP-сервер он должен использовать для загрузки системы;
через PXE компьютер отправляет запрос на загрузку файла системы;
PXE- или TFTP-сервер отвечает и передает файлы для загрузки;
компьютер загружает ОС через сеть и запускает ее.
Коротко о DHCP-протоколе
DHCP (Dynamic Host Configuration Protocol) — это сетевой протокол, который назначает IP-адреса новым устройствам в сети и предоставляет клиентам необходимые параметры для настроек: маску подсети, адрес шлюза и DNS-серверы.
В работе DHCP-протокола совместно участвуют клиент, сервер и, если нужен, агент ретрансляции.
В небольших сетях стоит использовать DHCP для автоматического назначения IP-адресов — это удобно, потому что избавляет от необходимости вручную задавать их каждому устройству. А для важных серверов или устройств, которым нужен постоянный доступ в сеть, лучше установить статические IP-адреса, чтобы они всегда оставались одинаковыми.
Протокол DHCP эффективно работает вместе с протоколами DNS и PXE: DNS преобразует доменные имена в IP-адреса, а PXE позволяет подключиться к сети без ОС.