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

Когда клиент Windows перестанет использовать вторичный DNS-сервер и вернется к первичному

Я пытаюсь получить четкое представление о том, как именно клиент Windows работает с DNS. Например, предположим, что я настраиваю сетевой адаптер с первичным и вторичным DNS-серверами.

Сколько времени потребуется, чтобы переключиться и начать использовать вторичный DNS-сервер, если первичный DNS-сервер выйдет из строя?

Что требуется, чтобы он начал использовать первичный DNS-сервер после того, как первичный DNS-сервер снова подключится к сети? Произойдет ли это в конечном итоге автоматически?

Если запрос к вашему первичному DNS-серверу приводит к чему-то аналогичному host-not-reachable, тогда распознаватель клиента автоматически попробует тот же запрос к следующему DNS-серверу и так до тех пор, пока он либо успешно не свяжется с DNS-сервером, либо не закончит серверы. пытаться. Таким образом, переключение на вторичный сервер занимает столько же времени, сколько и время ожидания соединения с первым.

Я считаю, что преобразователь Windows будет продолжать использовать любой сервер, который отвечает, в течение 15 минут (или до тех пор, пока стек TCP / IP не будет сброшен с помощью перезагрузки или чего-то еще), а затем снова запустится в верхней части списка.

Обратите внимание, что такое переключение происходит только тогда, когда сервер недоступен, а не когда запрошенная запись не разрешается. Если первичный сервер доступен, но отвечает ответом «нет такого хоста», то переключение не происходит.

Вот статья в KB здесь упоминается 15-минутная вещь для XP.

Здесь есть хорошая серия блок-схем низкоуровневого поведения DNS-клиента Windows XP: http://technet.microsoft.com/en-us/library/bb457118.aspx

Я не нахожу такой же уровень документации для распознавателей Windows Vista и более новых, хотя я ожидал, что он есть в наборе ресурсов (поскольку они обновляются для каждой новой версии Windows).

(Я немного упрощаю это ... вам действительно стоит прочитать статью, если вы хотите знать, как это на самом деле работает, потому что логика немного сложна.)

Клиент XP DNS пытается выполнить каждый запрос разрешения имен через первичный DNS-сервер, указанный на первичном сетевом адаптере. Если это время истекает (через одну секунду), он пытается выполнить один и тот же запрос на каждом адаптере на машине, используя основной DNS-сервер, указанный на каждом адаптере, все сразу, ожидая 2 секунды для каждого ответа. Если ответа нет, он отправляет запрос всем DNS-серверам, указанным на всех адаптерах, и ждет 4 секунды. Он делает это снова, ожидая 8 секунд, а затем возвращает таймаут, если он все еще не получил ответа (и будет продолжать возвращать тайм-аут в течение следующих 30 секунд без выдачи каких-либо новых запросов).

Я сомневаюсь, что распознаватель сильно изменился в Vista и более новых ОС, но могут быть некоторые незначительные отличия.

Интересно, что в наборе ресурсов не упоминается поведение, описанное в связанной статье базы знаний Сквиллмана. Готов поспорить, что это упущение со стороны набора ресурсов.