Назад | Перейти на главную страницу

Что произойдет, если DHCP-сервер перейдет в оперативный режим после того, как это сделают клиентские устройства?

Если у меня есть ПК с Windows, на котором запущен DHCP-сервер. Я ожидаю, что загрузка займет порядка нескольких минут. В моей сети будет множество других устройств от разных поставщиков, которые загрузятся за секунды.

Я не нашел "стандарта" для повторных попыток DHCP-клиента. Будет ли время ожидания этих устройств истекло до запуска DHCP-сервера Windows? Если да, то как лучше всего с этим справиться?

Уточнения: в нем нет клиентов Windows. Заказчиками являются встраиваемые промышленные устройства, такие как камеры, обогреватели и роботы.

Меня не беспокоит, что произойдет, если DHCP-сервер выйдет из строя. Это встроенные устройства, подключенные к одному источнику питания. Я хочу знать, что делать, когда "фабрика" утром включается.

Хорошо, у меня есть пара мыслей:

  1. Стеков DHCP столько, сколько звезд на небе. Ладно, не совсем, но идею вы поняли. Встроенные сетевые стеки особенно известны своей неполной «стандартной» реализацией. Таким образом, весьма вероятно, что ваши устройства воля закончить загрузку до того, как ваш DHCPd будет готов, воля APIPA и не будет когда-либо повторять DHCP. Единственный способ проверить это - проверить поведение каждого задействованного устройства.
  2. Выключение и выключение переключателя (как рекомендовали другие) может даже не сработать. Я видел много встроенных устройств, которые запускают свои DHCP-запросы один раз как часть последовательности загрузки, а затем никогда не пытайтесь снова, даже если состояние соединения PHY на сетевой карте изменится.

Вот мое рекомендуемое решение:

На рынке доступны блоки распределения питания с упорядочением питания. Обычно это двух- или трехступенчатые PDU с программируемыми задержками. С их помощью, когда они включены, они включат первую ступень, будут ждать указанное количество секунд, включат вторую ступень и т. Д. Вы можете подключить свой коммутатор и свой сервер к первой ступени, имея PDU подождите 5 минут, пока сервер завершит загрузку, а затем включите вторую ступень, на которой есть все остальные устройства.

Я могу придумать три сценария для DHCP-клиента Windows. Я не могу разговаривать с DHCP-клиентами, отличными от Windows, но должен предположить, что они работают одинаково.

  1. А Бег DHCP-клиент Windows, имеющий активную аренду, пока DHCP-сервер недоступен: DHCP-клиент продолжит использовать текущий арендованный IP-адрес. Когда он достигнет фазы продления (T1), он попытается продлить существующий договор аренды. Если ему не удается связаться с DHCP-сервером, который может продлить существующую аренду, клиент продолжит попытки продлить аренду, пока не достигнет фазы повторного связывания (T2), где он попытается связаться с любым DHCP-сервером. Если таймер T2 истечет, клиент освободит свой IP-адрес.

  2. DHCP-клиент Windows с активным арендованным перезагружен пока DHCP-сервер недоступен: DHCP-клиент продолжит использовать текущий арендованный IP-адрес. Когда он достигнет фазы продления (T1), он попытается продлить существующий договор аренды. Если ему не удается связаться с DHCP-сервером, который может продлить существующую аренду, клиент продолжит попытки продлить аренду, пока не достигнет фазы повторного связывания (T2), где он попытается связаться с любым DHCP-сервером. Если таймер T2 истекает, клиент освобождает свой IP-адрес. Предостережение здесь заключается в том, что, насколько я понимаю, DHCP-клиент должен освободить свой существующий IP-адрес, если ему не удается связаться с DHCP-сервером при перезагрузке, потому что он не может подтвердить, что ему разрешено продолжать использовать IP-адрес. Похоже, что это не относится к клиентам Windows, что меня немного озадачило. Во всяком случае, мои тесты с клиентами Windows показывают, что они действительно сохраняют свой арендованный IP-адрес при перезагрузке, когда DHCP-сервер недоступен.

  3. Клиент DHCP для Windows, который не иметь существующую аренду: конечно, DHCP-клиент не сможет связаться с DHCP-сервером и назначит себе IP-адрес APIPA. Как сказал Нил Т. в своем ответе, DHCP-клиент, который не при активной аренде будет пытаться связаться с DHCP-сервером примерно каждые 5 минут.

Клиенты Windows обычно дают серверу около 60 секунд (плюс-минус), чтобы собрать все вместе. После этого они переходят в резервный режим, при котором устройства проверяют каждые 5 минут. Если 5 минут - это слишком долго, чтобы ждать, вы можете перезагрузить коммутатор, к которому они подключены. Даже горячая перезагрузка, если коммутатор имеет эту функцию, подойдет.

Есть ли причина, по которой этим клиентам нельзя предоставить статический IP-адрес? Хотя это «технически незаконно», я видел места, где некоторым устройствам назначались адреса в пространстве 192.168.0.0/16, а затем серверы DHCP были настроены на начало назначения адресов выше назначенных.

Если это неразумно, почему бы не установить срок аренды DHCP на две недели или более?