Открыть сервис

DHCP

DHCP (Dynamic Host Configuration Protocol, протокол динамической настройки узла) — это сетевой протокол прикладного уровня модели OSI, предназначенный для автоматического присвоения IP-адресов и других параметров сетевой конфигурации (маски подсети, шлюза по умолчанию, адресов DNS-серверов) устройствам в компьютерной сети. Работает по схеме «клиент-сервер» и использует порты UDP 67 (сервер) и 68 (клиент). DHCP является ключевым компонентом инфраструктуры современных локальных сетей, особенно в средах с большим количеством мобильных или временно подключаемых устройств, так как устраняет необходимость ручной настройки каждого сетевого интерфейса.

История

Протокол DHCP был разработан как эволюционное развитие протокола BOOTP (Bootstrap Protocol), который использовался для загрузки бездисковых рабочих станций. Основным недостатком BOOTP была статическая привязка IP-адресов к MAC-адресам, что не позволяло эффективно использовать адресное пространство в динамической среде. В 1993 году Инженерный совет Интернета (IETF) опубликовал спецификацию DHCP в RFC 1531, которая позже была заменена RFC 1541 и окончательно стандартизирована в RFC 2131 (1997 год). Дополнительные возможности, такие как обновление DNS-записей (DHCP-DNS interaction), были описаны в RFC 4702 и 4703.

Принцип работы

Взаимодействие между DHCP-клиентом и сервером происходит в четыре этапа, известных как DORA (Discovery, Offer, Request, Acknowledgment):

  1. DHCPDISCOVER (Обнаружение): Клиент, не имеющий IP-адреса, отправляет широковещательный UDP-пакет (на адрес 255.255.255.255) с целью найти доступные DHCP-серверы. В пакете указывается MAC-адрес клиента и, опционально, запрашиваемый IP-адрес (если он известен из предыдущей сессии).
  2. DHCPOFFER (Предложение): Все DHCP-серверы, получившие запрос, отправляют клиенту широковещательный или (если клиент уже знает свой IP) одноадресный пакет, содержащий предлагаемый IP-адрес, маску подсети, время аренды и другие параметры. Клиент может получить несколько предложений от разных серверов.
  3. DHCPREQUEST (Запрос): Клиент выбирает одно из предложений (обычно первое полученное) и отправляет широковещательный пакет DHCPREQUEST, в котором указывает идентификатор выбранного сервера. Этот пакет информирует выбранный сервер о согласии и уведомляет остальные серверы о том, что их предложения отклонены.
  4. DHCPACK (Подтверждение): Выбранный сервер отправляет клиенту финальный пакет DHCPACK, содержащий подтверждение аренды IP-адреса и все согласованные параметры конфигурации. Клиент применяет эти настройки к своему сетевому интерфейсу.

После получения конфигурации клиент может выполнить проверку адреса с помощью протокола ARP (Address Resolution Protocol), чтобы убедиться, что адрес не используется другим устройством в сети.

Классификация и типы сообщений

Протокол DHCP использует несколько типов сообщений, помимо основных четырёх:

Параметры конфигурации

DHCP-сервер может передавать клиенту не только IP-адрес, но и множество дополнительных параметров, называемых опциями. Наиболее распространённые из них:

Аренда адреса (Lease)

Ключевая концепция DHCP — аренда IP-адреса. Адрес не закрепляется за устройством навсегда, а выдаётся на определённый срок (lease time). Это позволяет эффективно использовать ограниченное адресное пространство, особенно в сетях с большим количеством временных подключений. Клиент обязан продлевать аренду до истечения срока. Процесс продления обычно происходит в два этапа:

  1. T1 (Renewal): При достижении 50% времени аренды клиент пытается продлить её, отправляя одноадресный DHCPREQUEST непосредственно серверу, который выдал адрес.
  2. T2 (Rebinding): Если сервер не ответил на запрос T1, при достижении 87,5% времени аренды клиент переходит в режим перепривязки и отправляет широковещательный DHCPREQUEST любому доступному серверу. Если и это не удаётся, по истечении срока аренды клиент теряет IP-адрес и начинает процесс DORA заново.

Реализации

DHCP-серверы

DHCP-клиенты

Применение

DHCP является стандартом де-факто для настройки сетевых параметров в большинстве современных сетей. Основные области применения:

Безопасность

Протокол DHCP не имеет встроенных механизмов аутентификации, что делает его уязвимым для ряда атак:

Для защиты используются следующие методы:

Интересные факты

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →