itmo_conspects

Лекция 9. Конфигурация с помощью DHCP и ICMP

Для работы сетевого узла ему нужно знать:

Чтобы базово настроить узел, а именно присвоить ему IP-адрес в сети, можно применить один из трех подходов:

Для централизованной конфигурации и создали протокол DHCP (Dynamic Host Configuration Protocol), основным назначением которого является управление адресным пространством сети

Чтобы сетевому клиенту выдать узел, в сети должен быть подключен центральный DHCP-сервер, который управляет пулом (то есть пространством) адресов

Протокол DHCP создавался как расширение протокола BOOTP, использовавшегося ранее для IP-конфигурации сетевых узлов, поэтому DHCP-сервер использует порт UDP 67, а DHCP-клиент - 68

Алгоритм работы протокола DHCP таков:

Работа DHCP

Всего осуществляется 4 отправки сообщений между узлами вместо 2, чтобы убедиться, что узел работоспособен к моменту пользования адресом

В последнем пакете сервера указано время аренды адреса T. После времени T адрес становится недействительным и его нужно заново запрашивать. Однако его можно продлить:

DHCPv4

Формат DHCPv4-пакета выглядит так:

Формат DHCP

Он имеет следующие поля:

Помимо DHCPDISCOVER, DHCPOFFER, DHCPREQUEST и DHCPACK существуют другие сообщения:


В локальной сети может не оказаться DHCP-сервера, а, так как широковещание не маршрутизируется, используют агенты ретрансляции DHCP (DCHP relay), которые пересылаются пакеты DHCP-серверам

Агенты ретрансляции могут знать про сервера, поэтому адреса в IP-пакете заменяться на те, маршрутизация к которым возможна, поэтому достаточно одного в локальной сети и в маршруте до DHCP-сервера

DHCPv6

Для работы в IPv6-сетях протокол DHCP доработали, и появился DHCPv6. В нем:

Также появились два режима работы:

Также изменились сообщения:

  1. SOLICIT - используется клиентом для поиска серверов (аналог DHCPDISCOVER)
  2. ADVERTISE - DHCPv6-сервер сообщает о себе в ответ на SOLICIT (аналог DHCPOFFER)
  3. REQUEST - клиент запрашивает параметры у конкретного сервера
  4. CONFIRM - клиент подтверждает, что получил адрес
  5. RENEW - клиент просит сервер, от которого уже получил параметры, продлить время их действия
  6. REPLY - ответ сервера с параметрами или подтверждение ранее выданных параметров (аналог DHCPACK)
  7. RELEASE - клиент сообщает серверу об освобождении ранее полученного адреса
  8. DECLINE - клиент отклонил предложенный адрес, так как его уже кто-то использует
  9. INFORMATION-REQUEST - запрос от клиента к серверу на выдачу опций, но не адреса

Также помимо SOLICIT -> ADVERTISE -> REQUEST -> REPLY появился механизм ускоренной выдачи адресов (Rapid Commit) SOLICIT -> REPLY, которая включается опцией в заголовке

Как было упомянуто, DHCPv6 позволяет выделять диапазон сети роутеру клиента (то есть Customer Premises Equipment), чтобы сам роутер мог делегировать адреса узлам в подсети

Также в DHCPv6 стало возможным несколькими способами производить конфигурацию: