Опубликован: 28.09.2007 | Доступ: свободный | Студентов: 5986 / 903 | Оценка: 4.20 / 4.10 | Длительность: 47:32:00
ISBN: 978-5-94774-707-2
Лекция 6:

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

Инициализация при сетевом адресе, заданном извне

Клиент посылает сообщение DHCPINFORM и может запросить специфические конфигурационные параметры путем включения их в опцию parameter request list. Далее он генерирует и записывает случайный идентификатор транзакции и вводит его в поле xid. Клиент помещает свой сетевой адрес в поле ciaddr. Ему в этом случае не следует запрашивать параметры времени действия конфигурационного набора.

Клиент посылает уникастное сообщение DHCPINFORM DHCP-серверу, если он знает адрес сервера, в противном случае он посылает это сообщение широковещательно. Сообщения DHCPINFORM должны быть направлены DHCP-серверу через UDP-порт.

Раз от любого из серверов получено сообщение DHCPACK с полем xid, согласующимся с тем, что содержалось в сообщении клиента DHCPINFORM, клиент инициализирован.

Если клиент не получил DHCPACK в пределах разумного временного интервала (60 секунд или 4 попытки), тогда клиент должен выдать сообщение пользователю, уведомляющее его о возникшей проблеме, а затем продолжить сетевую активность, используя разумные значения по умолчанию.

Использование широковещательной и уникастной адресации

DHCP-клиент широковещательно посылает сообщения DHCPDISCOVER, DHCPREQUEST и DHCPINFORM, если только не знает адреса DHCP-сервера. Клиент посылает сообщения DHCPRELEASE серверу уникастно.

Когда DHCP-клиент знает адрес DHCP-сервера, в состоянии INIT или REBOOTING, клиент может использовать адрес, записанный в DHCPDISCOVER или DHCPREQUEST, а не широковещательный IP-адрес. Клиент может также воспользоваться уникастной адресацией при посылке сообщений DHCPINFORM известному DHCP-серверу. Если клиент не получает отклика на DHCP-сообщение, посланное по IP-адресу известного DHCP-сервера, клиент переходит на широковещательную адресацию.

Восстановление и истечение пригодности

Клиент поддерживает две временные переменные, T1 и T2, которые специфицируют времена, когда клиент пытается расширить время действия своего сетевого адреса. T1 равно времени, когда клиент попадает в состояние RENEWING и пытается контактировать с сервером, который предоставил клиенту сетевой адрес. T2 равно времени, когда клиент перешел в состояние REBINDING и пытается контактировать с каким-­то сервером. Значение T1 должно соответствовать времени раньше T2, которое в свою очередь, должно быть раньше, чем время, когда истекает период годности конфигурационного набора параметров.

Чтобы исключить необходимость синхронизации часов, T1 и T2 выражаются в опциях в относительных единицах [6.2].

В момент T1 клиент переходит в состояние RENEWING и посылает серверу (уникастно) сообщение DHCPREQUEST с тем, чтобы продлить действие набора конфигурационных параметров. Клиент устанавливает поле ciaddr в DHCPREQUEST равным его текущему сетевому адресу. Клиент записывает локальное время, когда было послано сообщение DHCPREQUEST, и не должен включать идентификатор сервера в сообщение DHCPREQUEST.

Любые сообщения DHCPACK, которые приходят с xid, не согласующимся с xid из сообщения клиента DHCPREQUEST, игнорируются. Когда клиент получает от сервера DHCPACK, он вычисляет время истечения пригодности конфигурационного набора параметров (равно сумме времени, когда клиент посылал сообщение DHCPREQUEST, и длительности пригодности конфигурационного набора параметров из сообщения DHCPACK). Клиент успешно восстанавливает свой сетевой адрес, возвращается в состояние BOUND и может продолжить свою сетевую активность.

Если не приходит никакого DHCPACK до T2, клиент переходит в состояние REBINDING и посылает широковещательно сообщение DHCPREQUEST с целью расширения времени действия конфигурационного набора. Клиент устанавливает поле ciaddr в DHCPREQUEST равным его текущему сетевому адресу. Клиент не должен включать server identifier в сообщение DHCPREQUEST.

Времена T1 и T2 конфигурируются сервером посредством опций. T1 по умолчанию равно ( 0.5 * duration_of_lease ). T2 по умолчанию равно ( 0.875 * duration_of_lease ). Чтобы исключить синхронизацию восстановления состояния клиентов, времена T1 и T2 должны быть выбраны с некоторым случайным разбросом относительно фиксированных значений.

Клиент может решить, обновить или продлить время действия конфигурационного набора вплоть до T1. Сервер может решить расширить длительность пригодности конфигурационного набора параметров в соответствии с политикой сетевого администратора.

Как в состоянии RENEWING, так и в REBINDING, если клиент не получает отклика на свое сообщение DHCPREQUEST, он должен ждать половину остающегося времени вплоть до T2 (в состоянии RENEWING) и половину остающегося времени действия конфигурационного набора (в состоянии REBINDING), как минимум 60 секунд, прежде чем осуществить повторную отправку сообщения DHCPREQUEST.

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

Сообщение DHCPRELEASE

Если клиент более не нуждается в использовании своего сетевого адреса (например, клиент завершил работу через shutdown), клиент посылает серверу сообщение DHCPRELEASE. Заметим, что корректная работа DHCP не зависит от передачи сообщений DHCPRELEASE.

Наталья Шульга
Наталья Шульга

Курс "информационная безопасность" .

Можно ли на него записаться на ПЕРЕПОДГОТОВКУ по данному курсу? Выдается ли диплом в бумажном варианте и высылается ли он по почте?

Мария Архипова
Мария Архипова