DHCP

Оригинальное название: DHCP (Dynamic Host Configuration Protocol)

Коротко

Сетевой протокол, по которому устройство при подключении автоматически получает IP-адрес, маску подсети, шлюз и адреса DNS-серверов.

Что такое «DHCP»

Когда ноутбук подключается к офисному Wi-Fi, ему нужно знать свой адрес в сети, через какой маршрутизатор выходить в интернет и у кого спрашивать адреса сайтов. Вводить это вручную на каждом телефоне и принтере никто не хочет, да и ошибиться легко: два устройства с одинаковым адресом мешают друг другу. DHCP раздаёт эти настройки автоматически.

В домашней сети роль DHCP-сервера выполняет роутер, в офисе — роутер или отдельный сервер, у хостинг-провайдера — его инфраструктура. Протокол работает поверх UDP: сервер слушает порт 67, клиент — порт 68.

Как проходит выдача адреса

  1. Discover — новое устройство широковещательно спрашивает: «Есть тут DHCP-сервер?»
  2. Offer — сервер предлагает свободный адрес из пула.
  3. Request — клиент просит закрепить предложенный адрес.
  4. Acknowledge — сервер подтверждает и сообщает срок аренды.

По первым буквам последовательность называют DORA. До истечения аренды клиент продлевает её, и адрес обычно сохраняется. Если устройство пропало, адрес после окончания срока возвращается в пул.

Пример настройки сервера

Фрагмент конфигурации ISC DHCP для небольшой сети:

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 192.168.1.1;
  default-lease-time 86400;
}

Устройства получат адреса со 100 по 200, шлюз и DNS по адресу роутера, аренду на сутки. Подробнее о том, как записывается диапазон сети, — в статье про маску подсети.

Когда DHCP не нужен

Серверам, принтерам и камерам удобнее постоянный адрес: на него настроены правила файрвола, проброс портов и DNS-записи. Для этого используют либо статическую настройку, либо резервирование — DHCP-сервер всегда выдаёт устройству с конкретным MAC-адресом один и тот же адрес. Если компьютер получил адрес вида 169.254.x.x, значит, DHCP-сервер не ответил и система назначила адрес сама. Проверить текущие настройки можно командой ipconfig /all в Windows или ip addr в Linux. Чем публичный IP-адрес отличается от внутреннего, выданного роутером, разобрано отдельно.

Обновлено:

Все термины раздела «Backend»

Что будем искать? Например,Продвижение