Из любопытства, почему часто требуется секунды получить конфигурацию сети через DHCP, когда ЦП может обрабатывать миллионы операций в секунду, а проверка связи с маршрутизатором занимает пару миллисекунд?
В моей домашней среде с одним WiFi-роутером и примерно 5 устройствами нередко можно увидеть время, равное 5-10 секундам.
В дополнение к фактическому получению аренды DHCP от DHCP-сервера (что обычно не занимает много времени), некоторые серверы сначала пингуют IP-адрес, который он собирается передать, прежде чем он действительно выдаст его, чтобы убедиться, что он еще не используется в сети - время ожидания истекает через несколько секунд. Иногда клиент делает то же самое (опять же, для предотвращения конфликтов IP-адресов), что увеличивает время. Затем, помимо этого, некоторые клиенты также регистрируют свои записи DNS и т. Д.
DHCP может занять немного больше времени, поскольку он включает серию транзакций не с одним сервером, а со всеми устройствами в сети во время первоначального запроса, поскольку он отправляет широковещательное сообщение.
Если вы проверите RFC для DHCP,
http://www.faqs.org/rfcs/rfc2131.html
вы можете ясно видеть, какой цикл переговоров включает. Вначале клиент отправляет DHCPDISCOVER всем устройствам в локальной сети, затем серверы, на которых запущена служба DHCP, возвращают сообщение DHCPOFFER. Клиент также может дождаться ответа от всех доступных DHCP-серверов, прежде чем он выберет один. Затем он отправляет DHCPREQUEST с идентификатором, который указывает, какой сервер он выбрал в качестве своего IP-провайдера. Наконец, он получает DHCPACK со всеми параметрами конфигурации. Это просто краткое изложение «3.1 Взаимодействие клиент-сервер - выделение сетевого адреса» из RFC.
По моему опыту, dhcp занимает много времени, в основном в большой локальной сети с большим количеством подключенных узлов. В домашней сети всего с одним DHCP-сервером (например, WIFI-маршрутизатором) и одним или двумя ПК, это довольно быстро.
Я нашел две причины (и решения), когда хотел получить быстрые ответы от моего DHCP-сервера.
1) Мой DHCP выполнил эхо-запрос адреса, который он хотел выделить. Это добавило задержки в 3 секунды. Я удалил это, изменив конфигурацию DHCP, чтобы MAC-адрес соответствовал IP-адресу. Это в основном использование DHCP для выделения статического адреса. Это устранило для меня 3-секундную задержку.
2) У меня изолированная сеть, но иногда такое бывает. Выполнялся поиск DNS, что для меня привело к задержке в несколько секунд с получением IP-адреса от DHCP. В конфиге DHCP-сервера были опции для нашего домена и DNS-серверов. После удаления параметров DNS и вышеуказанного изменения я получил мгновенные ответы от DHCP-сервера. (**)
Именно эти проблемы я обнаружил в своей настройке. Ваш пробег может отличаться.
ура
ФУНТ
(**) Если бы у меня была копейка за каждый раз, когда неудачный поиск DNS вызывал задержку, которая приводила к странному эффекту стука, в результате которого я чесал голову, у меня было бы много-много копеек.
Я не знаю, какой у вас сценарий, но в реальном мире вы получаете IP-адрес ... и т. Д. Со старого сервера (dhcp-сервер всегда имеет самое старое оборудование :)) с большим количеством запросов, за брандмауэром , один или несколько маршрутизаторов / коммутаторов ... Задержка, мощность процессора ... а в мире Windows реализация DHCP не так эффективна, как хотелось бы !.
Если вы испытываете проблемы с производительностью с dhcp;