Опубликован: 28.09.2007 | Уровень: специалист | Доступ: платный
Лекция 6:

Протокол динамического конфигурирования ЭВМ DHCP

Поведение сервера DHCP

DHCP-сервер обрабатывает приходящие от клиента DHCP-сообщения на основе текущего состояния набора конфигурирующих параметров клиента. DHCP-сервер может получать от клиента следующие сообщения:

  • DHCPDISCOVER
  • DHCPREQUEST
  • DHCPDECLINE
  • DHCPRELEASE
  • DHCPINFORM

В таблице 6.3 рассмотрено использование полей и опций в DHCP-сообщении сервера.

Сообщение DHCPDISCOVER

Когда сервер получает от клиента сообщение DHCPDISCOVER, он выбирает сетевой адрес для клиента, приславшего запрос. Если нет свободного адреса, сервер может проинформировать о проблеме системного администратора. Если адрес доступен, новый адрес должен быть выбран следующим образом:

  • текущий адрес клиента, как это записано в текущем блоке параметров клиента; в противном случае
  • предшествующий адрес клиента, как это записано в текущем блоке параметров клиента (срок действия которого истек или использование которого прекратилось), если этот адрес находится в пуле доступных адресов сервера; в противном случае
  • адрес, запрошенный в опции Запрошенный IP-адрес, если адрес корректен и еще не присвоен; в противном случае
  • новый адрес, полученный из пула свободных адресов; адрес выбирается с учетом субсети, откуда получено сообщение (если giaddr = 0 ) или с учетом адреса агента транспортировки, который доставил сообщение (когда giaddr не равен 0).

Сервер может, по административным причинам, присвоить адрес, отличный от запрошенного, или может повторно использовать адрес для конкретного клиента, даже если имеются свободные адреса.

Заметим, что в некоторых сетевых архитектурах (например, в Интернет с более чем одной IP-субсетью, сопряженной с физическим сетевым сегментом), DHCP-клиенту должен быть присвоен адрес из другой субсети, а не адрес, записанный в giaddr. Таким образом, DHCP не требует, чтобы клиенту был присвоен адрес из субсети giaddr. Сервер волен выбрать какуюто другую субсеть.

Если это не требуется для корректной работы DHCP, сервер не должен повторно использовать выбранный сетевой адрес, прежде чем клиент пришлет сообщение серверу DHCPOFFER. Сервер может решить записать этот адрес как предложенный клиенту. Он должен также выбрать время действия конфигурационного набора, согласно следующим правилам:

  • если клиент не запросил специальный конфигурационный набор в сообщении DHCPDISCOVER и клиент уже имеет сетевой адрес, сервер присылает значение времени действия, ранее присвоенное данному адресу (заметим, что клиент должен явно запросить установления времени действия набора, чтобы переписать значение, ассоциированное с данным адресом); в противном случае
  • если клиент не запросил определенное значение времени действия конфигурационного набора в сообщении DHCPDISCOVER и клиент не имеет сетевого адреса, сервер присваивает времени действия набора местное значение по умолчанию; в противном случае
  • если клиент запросил специальный конфигурационный набор параметров в сообщении DHCPDISCOVER (вне зависимости от того, имел ли он уже сетевой адрес), сервер может либо предоставить запрошенный набор (если это согласуется с местной политикой), либо выбрать другой набор.
Таблица 6.3. Поля и опции, используемые DHCP-серверами
поле DHCPOFFER DHCPACK DHCPNAK
op BOOTREPLY BOOTREPLY BOOTREPLY
htype Из RFC "Assigned Numbers"
hlen Длина аппаратного адреса в октетах
hops 0 0 0
xid xid из сообщения клиента DHCPDISCOVER xid из сообщения клиента DHCPREQUEST xid из сообщения клиента DHCPREQUEST
secs 0 0 0
ciaddr 0 ciaddr из DHCPREQUEST или 0 0
yiaddr IP-адрес, предложенный клиенту IP-адрес, присвоенный клиенту 0
siaddr IP-адрес следующего сервера загрузки IP-адрес следующего сервера загрузки 0
flags 'flags' из сообщения клиента DHCPDISCOVER флаги из сообщения клиента DHCPREQUEST flags из сообщения клиента DHCPREQUEST
giaddr giaddr из сообщения клиента DHCPDISCOVER giaddr из сообщения клиента DHCPREQUEST giaddr из сообщения клиента DHCPREQUEST
chaddr chaddr из сообщения клиента DHCPDISCOVER chaddr из сообщения клиента DHCPREQUEST chaddr из сообщения клиента DHCPREQUEST
sname Имя ЭВМ сервера или опции Имя ЭВМ сервера или опции (не используется)
файл Файл загруз. клиента имя или опции Файл загруз. клиента имя или опции (не используется)
опции опции опции
опция DHCPOFFER DHCPACK DHCPNAK
Запрошенный IP-адрес не должен не должен не должен
Время аренды IP-адреса должен должен (DHCPREQUEST) не должен (DHCPINFORM) не должен
Использование полей файл/sname может может не должен
Тип сообщения DHCP DHCPOFFE DHCPACKDHCPNAK
Список параметров не должен не должен не должен
Сообщение должен должен должен
Идентификатор клиента не должен не должен может
Идентификатор Vendor class может может может
Идентификатор сервера должен должен должен
Макс. размер сообщения не должен не должен не должен
Все прочие может может не должен

Поскольку сетевой адрес и конфигурационный набор параметров определены, сервер формирует сообщение DHCPOFFER с предлагаемыми конфигурационными параметрами. Для всех DHCP-серверов важно прислать одни и те же параметры (с единственно возможным исключением — новым предлагаемым сетевым адресом), что гарантирует предсказуемое поведение клиента вне зависимости от того, какой из серверов он выберет. Конфигурация параметров должна быть выбрана согласно следующим правилам, представленным ниже. Сетевой администратор ответственен за конфигурацию всех DHCP-серверов, что гарантирует однородность откликов этих серверов. Сервер должен прислать клиенту:

  • сетевой адрес клиента, как это определено правилами приведенными выше;
  • время действия клиентского набора, как это определено правилами из данного раздела;
  • параметры, запрошенные клиентом, согласно следующим правилам:

    — если в сервере явно задано значение параметра по умолчанию, сервер должен включить это значение в соответствующую опцию поля option ; в противном случае

    — если сервер распознает параметр как определенный в документе Host Requirements, сервер должен включить его значение по умолчанию (как это рекомендуется в документе Host Requirements), в соответствующую опцию в поле option ; в противном случае

    — сервер не должен присылать значение этого параметра

    Сервер должен предоставить столько запрошенных параметров, сколько возможно, должен опустить любые параметры, которые не может предоставить. Сервер должен включить каждый запрошенный параметр только один раз, если только не разрешено обратного в опциях DHCP и в документе Vendor Extensions BOOTP.

  • Любые параметры из существующего набора, которые отличаются от значений по умолчанию документа Host Requirements
  • Любые параметры, специфичные для клиента (как это специфицировано в содержимом chaddr или client identifier сообщения DHCPDISCOVER или DHCPREQUEST), например, сконфигурированные сетевым администратором
  • Любые параметры специфичные для этого класса клиента (как это идентифицировано в опции vendor class identifier сообщения DHCPDISCOVER или DHCPREQUEST), например, сконфигурированные сетевым администратором
  • Параметры со значениями, не равными величинам по умолчанию для клиентской субсети

Сервер может прислать vendor class identifier (идентификатор класса поставщика), использованный для определения параметров в сообщении DHCPOFFER, чтобы помочь клиенту решить, какой выбрать DHCPOFFER. Сервер вводит поле xid из сообщения DHCPDISCOVER в поле xid сообщения DHCPOFFER и посылает клиенту, приславшему запрос, сообщение DHCPOFFER.

Евгений Виноградов
Евгений Виноградов

Прошел экстерном экзамен по курсу перепордготовки "Информационная безопасность". Хочу получить диплом, но не вижу где оплатить? Ну и соответственно , как с получением бумажного документа?

Илья Сидоркин
Илья Сидоркин

Добрый день! Подскажите пожалуйста как и когда получить диплом, после сдичи и оплаты?????

Татьяна Крыжановская
Татьяна Крыжановская
Украина, Одесса
Valeriya Gubareva
Valeriya Gubareva
Россия