Сетевой сервис DHCP
Цели сервиса
• Автоматическое конфигурирование сетевых
настроек на сетевых устройствах
• Позволяет настраивать:
•
•
•
•
•
•
•
IP-адрес
Сетевую маску
Адрес шлюза
Адрес DNS сервера
Адрес WINS-сервера
Срок жизни записей в кеш-таблице протокола ARP
и еще более 30 различных параметров стека протоколов
TCP/IP
• Позволяет управлять конфигурацией даже
нескольких территориально разделенных сетей.
История создания DHCP
• Разработан IETF
• (Internet Engineering Task Force)
• Создан на базе протокола BOOTP
• Описан в RFC- документах:
•
•
•
•
•
•
•
№ 1531 ( https://tools.ietf.org/html/rfc1531 ),
№ 1533,
№ 1534,
№ 1541,
№ 1542,
№ 2131,
№ 2132 и т.д.
• Поддерживается на различных операционных
системах (семейство Windows, *nix и т.д.)
Общий принцип работы
• Клиент-серверная архитектура
• Требуется первичная конфигурация DHCPсервера
• Пошаговая процедура конфигурирования
сетевых устройств
• Желательно наличие резервного DHCPсервера
Начальное конфигурирование сервера
• DHCP сервер должен обладать статически
выданным IP-адресом
• Требуется задать области (диапазоны, банки)
раздаваемых в аренду IP-адресов
• В каждой области настраиваются:
• Начальный и конечный IP-адрес диапазона
• Поддиапазоны исключений (не выдаваемых в аренду
адресов, опциональный параметр)
• Сетевая маска
• Время аренды
• Каждая настроенная область должна быть
активирована («включена» в работу)
• Диапазоны IP-адресов не должны пересекаться.
Параметры DHCP
• DHCP-сервер выдаёт клиентам параметры
• Обязательные параметры:
• IP-адрес
• Сетевая маска
• Время аренды
• Не обязательные (дополнительные)
параметры:
•
•
•
•
IP-адрес шлюза
IP-адрес DNS-сервера
IP-адрес WINS-сервера
и т.д.
• Различают параметры для:
• Сервера
• Области
• Резервирования
Конфигурирование клиентов
Сетевое устройство
может обладать:
• Статически
заданным IPадресом
• Динамически
заданным IPадресом
Динамически
задаваемый IP-адрес
запрашивается у
DHCP-сервера
Запрос аренды
•
•
•
•
Шаг 1: Запрос аренды
Шаг 2: Предложение аренды
Шаг 3: Выбор аренды
Шаг 4: Подтверждение аренды
1. Запрос аренды
2. Предложение аренды
3. Выбор аренды
DHCP-клиент
4. Подтверждение аренды
DHCP-сервер
Шаг 1: Запрос аренды
• Клиент обладает:
• IP-адресом = 0.0.0.0,
• маской сети = 0.0.0.0
• Клиент отправляет широковещательный запрос (от
адреса 0.0.0.0 к адресу 255.255.255.255)
• В запросе может быть «желаемый» адрес
• Если ответа нет, клиент повторяет запрос с
интервалом: 9, 13, 16 секунд.
• Если ответа нет, клиент повторяет запрос 1 раз в 5
минут.
• Если включена «автонастройка» IP-адреса на
клиентах с ОС Windows, клиент берёт себе IP-адрес
из APIPA-диапазона (169.254.0.0 /16)
Шаг 2: Предложение аренды
• DHCP-сервер, отправляет клиенту:
• свободный IP-адрес
• соответствующую сетевую маску
• время аренды
(все это настроено в «области»)
• DHCP-сервер резервирует этот адрес как
«предложенный»
• Отправка предложения от сервера к клиенту
является широковещательной, т.к. клиент еще
не обладает IP-адресом
Шаг 3: Выбор аренды (часть 1)
• Клиент получает предложение от сервера
• Клиент может получить несколько предложений
от нескольких серверов
• Клиент «выбирает» наиболее «удобный» адрес
• «Удобный» адрес – тот IP-адрес, который был у
клиента ранее
• Если единственный DHCP-сервер предлагает
взять в аренду «неудобный» адрес, клиент ждёт
других предложений в течении некоторого
времени (длительность зависит от реализации
клиента)
• Если других предложений нет – клиент
принимает единственный предложенный адрес.
Шаг 3: Выбор аренды (часть 2)
• Выбрав адрес, клиент отправляет об этом
уведомление серверу
• Уведомление отправляется
широковещательной рассылкой
• Прочие DHCP-сервера получив такой
широковещательный запрос отменяют свои
предложения
Шаг 4: Подтверждение аренды
• Сервер:
• закрепляет в своей базе данных
«предложенный» адрес как «выданный»
• отправляет клиенту разрешение
использовать «выбранный» адрес и прочие
параметры TCP/IP
Продление аренды
• Клиент заблаговременно заботится о продлении
аренды IP-адреса (сперва от текущего сервера, затем
от любого)
• Попытки возобновление аренды от текущего сервера
начинаются спустя ½ от времени аренды (T1)
• Попытки возобновление аренды от любого сервера
начинаются спустя 87,5% от времени аренды (3/4 +
1/8 = Т2)
• Если знакомый DHCP-сервер не продлил аренду,
клиент повторяет попытку продления аренды спустя
½ от T2 – T1 (= 68,75%)
• Если DHCP-сервер продляет аренду, срок аренды
увеличивается с текущего момента на время аренды
Продление аренды
• Попытки возобновление аренды от любого сервера
начинаются спустя 87,5% от времени аренды (3/4 +
1/8 = Т2)
• Если ни один из DHCP-серверов не продлил аренду
в момент Т2, клиент повторяет попытку спустя ½
оставшегося времени (93,75%) от срока аренды.
• Если последняя попытка не удалась, клиент по
истечении срока аренды отменяет все полученные
настройки и заново начинает получение аренды
Т11
68,75%
Т21 93,75%
50%
Т12
87,5% Т22
Обобщённый алгоритм
Резервирование адресов
• Повышает безопасность и защищенность
сервиса DHCP
• Связывает один IP-адрес с одним MACадресом
• Позволяет задавать индивидуальные
параметры конфигурации TCP/IP для
отдельных компьютеров (шлюзы, адреса
вспомогательных серверов и т.д.)
Фильтрация адресов
• Повышает безопасность и защищенность
DHCP
• Позволяет выдавать случайные IP-адреса из
банка клиентам с предопределёнными MACадресами
DHCP relay agent
Нужен для работы DCHP-сервера с несколькими
локальными сетями.
Маршрутизатор должен пропускать UDP:67,68 между
локальными сетями
Проблемы использования DHCP
• Слабая защищенность от сторонних DHCP
• Необходимость дополнительной настройки
сетевого оборудования (маршрутизаторов), для
поддержки работы DHCP в смежных локальных
сетях
• Возможность изменения IP-адресов в процессе
работы
Тем не менее, все проблемы разрешимы при
правильной настройке сетевого оборудования и
соответствующий сервисов