Что такое протокол DHCP?

«Что такое протокол DHCP?» — вопрос из категории Архитектура, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

DHCP (Dynamic Host Configuration Protocol) — это сетевой протокол, который автоматически назначает IP-адреса и другие сетевые параметры (маску подсети, шлюз по умолчанию, DNS-серверы) устройствам при их подключении к сети.

Процесс получения адреса (DORA):

  1. Discover: Клиент отправляет широковещательный запрос DHCPDISCOVER в поисках сервера.
  2. Offer: DHCP-сервер отвечает DHCPOFFER с предложением свободного IP-адреса.
  3. Request: Клиент отправляет DHCPREQUEST, запрашивая предложенный адрес.
  4. Acknowledgment: Сервер подтверждает выделение адреса пакетом DHCPACK и указывает срок аренды (lease time).

Пример конфигурации (фрагмент файла dhcpd.conf для ISC DHCP Server):

subnet 192.168.1.0 netmask 255.255.255.0 {
  range 192.168.1.100 192.168.1.200;
  option routers 192.168.1.1;
  option domain-name-servers 8.8.8.8, 8.8.4.4;
  default-lease-time 86400; # 24 часа
  max-lease-time 172800;    # 48 часов
}

Преимущества:

  • Автоматизация: Устраняет ручное конфигурирование IP-адресов.
  • Экономия адресов: Адреса выдаются динамически и возвращаются в пул при отключении устройства.
  • Централизованное управление: Смена параметров сети (например, DNS) происходит на сервере.

Недостатки/риски:

  • Единая точка отказа: При недоступности DHCP-сервера новые устройства не смогут подключиться.
  • Атака истощения пула: Злоумышленник может зарезервировать все адреса, отправляя множество запросов.