Присвоение адреса и параметров TCP/IP - протокол динамической настройки хостов
Протокол управления передачей/Протокол Internet предназначен для организации связи между компьютерами с определенными адресами. Одной из обязанностей администратора сети является присвоение адресов и задание параметров для всех машин в сети. Обычно администратор информирует пользователей о том, какие адреса выделены их системам, и предоставляет пользователям возможность самим выполнить настройку. Однако ошибки при настройке или неправильное понимание могут вызвать у пользователей вопросы, которые администратор должен будет рассматривать индивидуально. Протокол динамической настройки хостов (DHCP) позволяет администратору централизованно настраивать сеть без участия конечных пользователей.
DHCP - это протокол прикладного уровня, который позволяет подключенным к сети системам получать IP-адрес и другие параметры конфигурации с сервера. Для получения информации программа-демон, работающая в системе-клиенте, обменивается пакетами данных с аналогичным демоном, работающим на сервере. В настоящее время клиент DHCP включается в базовую часть большинства операционных систем.
Для получения адреса демон клиента DHCP (dhcpcd) рассылает запрос DHCP. Этот запрос принимается и обрабатывается сервером. (Для повышения надежности в сети может быть настроено несколько серверов.) При наличии свободного адреса сервер создает ответное сообщение DHCP, в котором указывает предлагаемый IP-адрес и другие параметры настройки клиента. Клиент получает и сохраняет это предложение DHCP, ожидая предложений от других серверов. После выбора наилучшего предложения клиент рассылает запрос DHCP, в котором указывает выбранное предложение сервера.
Этот запрос получают все работающие в сети серверы DHCP. Каждый из них проверяет, ему ли был направлен запрос. Если нет, то сервер освобождает адрес, предложенный им данному клиенту. Если да, то сервер помечает адрес как присвоенный и возвращает подтверждение DHCP. На этом обработка запроса завершается, и клиенту на определенное время выделяется адрес.
После того, как пройдет половина времени выделения адреса, клиент отправляет серверу запрос на обновление. Если сервер готов продлить время выделения адреса, он отправляет подтверждение DHCP. Если клиент не получит ответ от того сервера, который выделил ему текущий адрес, то он рассылает оповещающее сообщение, которое позволяет обнаружить сервер, например, в том случае, если он был переведен в другую сеть. Если до завершения времени выделения адреса клиент не обновит свой адрес, то работа сетевого интерфейса завершается и процесс начинается сначала. Такая методика предотвращает присвоение одинаковых адресов нескольким клиентам.
Сервер DHCP присваивает адреса на основе ключей. Существует четыре общих ключа: сеть, класс, вендор и ИД клиента. На основании этих ключей сервер выбирает адрес и параметры конфигурации, которые передаются клиенту.
- в сеть
- Указывает, из какого сегмента сети получен пакет. Этот ключ позволяет серверу проверять свою базу данных и присваивать адрес в зависимости от сегмента сети.
- класс
- Полностью определяет конфигурацию клиента. Этот ключ может включать адрес
и параметры. С его помощью можно указать назначение системы
в сети или задать способ объединения систем в группы для
упрощения администрирования.
Например, администратор сети может создать класс
netbiosдля задания опций клиентов NetBIOS или классaccounting, объединяющий компьютеры бухгалтерии, которым необходим доступ к определенному принтеру. - vendor
- Обеспечивает идентификацию аппаратной/программной платформы клиента (например, клиента Microsoft Windows 95 или OS/2 Warp).
- ИД клиента
- Идентифицирует клиента по имени хоста или по адресу MAC. ИД клиента задается в файле конфигурации демона dhcpcd. Кроме того, ИД клиента может применяться сервером для передачи опций данному клиенту или для запрета передачи каких-либо опций клиенту.
Эти ключи могут по одному или в сочетании друг с другом. Если клиент использует несколько ключей, и при этом может быть присвоено несколько адресов, то выбирается только один из них, причем набор опций определяется первым выбранным ключом. Более подробная информация о выборе ключей и адресов приведена в разделе Настройка DHCP.
Промежуточный агент обеспечивает передачу оповещающих сообщений клиента за пределы локальной сети. Этот агент называется промежуточным агентом BOOTP. Промежуточные агенты работают как посредники, пересылающие пакеты DHCP и BOOTP.