NET: DNS: время ожидания разрешения DNS-клиента

В этом документе описывается резервное и время ожидания, которые существуют при настройке одного или нескольких IP-адресов DNS-серверов в DNS-клиенте Windows.

Область применения: Windows 10 — все выпуски
Исходный номер базы знаний: 2834226

Сводка

Дополнительные сведения см. в разделе NET: DNS: время ожидания разрешения серверов пересылки и условной пересылки.

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

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

Поведение DNS-клиента по умолчанию при настройке одного DNS-сервера в сетевой карте

Поведение следующее (протестировано в Windows XP, Windows 7 и Windows 8 клиентах с одним сетевым адаптером):

Время (в секундах с момента запуска) Действие
0 Клиент запрашивает DNS-сервер
1 Если после 1 секунды ответ не получен, клиент снова запрашивает DNS-сервер.
2 Если ответ не получен через 1 секунду, клиент снова запрашивает DNS-сервер.
4 Если ответ не получен через 2 секунды, клиент снова запрашивает DNS-сервер.
8 Если ответ не получен через 4 секунды, клиент снова запрашивает DNS-сервер.
10 Если ответ не получен через 2 секунды, клиент перестает выполнять запросы

Любой ответ dns-сервера об ошибке имени приведет к остановке процесса. Клиент не повторяет попытку, если ответ был отрицательным.

В этом сценарии клиент пытается запросить один и тот же DNS-сервер пять раз до истечения времени ожидания.

Пример

Windows 8 клиент с настроенным одним DNS-сервером, запрашивающий Microsoft.com

Ipconfig на клиенте

IPv4-адрес. . . . . . . . . . . : 10.0.0.31(предпочтительный)
Серверы DNS . . . . . . . . . . . : 10.0.0.1

Выходные данные сетевого монитора

Время смещения времениDelta Источник Сведений о dest

6:23:33.8063812 0.0000000 0.00000 10.0.31 10.0.0.1 DNS:QueryId = 0xA5B4, QUERY (стандартный запрос), запрос на microsoft.com типа Надстройка узла в классе Internet

6:23:34.8026943 0.9963131 0.9963131 10.0.0.31 10.0.0.1 DNS:QueryId = 0xA5B4, QUERY (стандартный запрос), запрос для microsoft.com типа Addr узла в классе Internet

6:23:35.8042696 1.997884 1.0015753 10.0.0.31 10.0.0.1 DNS:QueryId = 0xA5B4, QUERY (стандартный запрос), запрос для microsoft.com типа Надстройка узла в классе Internet

6:23:37.8184257 4.0120445 2.0141561 10.0.0.31 10.0.0.1 DNS:QueryId = 0xA5B4, QUERY (стандартный запрос), Запрос microsoft.com типа Надстройка узла в классе Internet

6:23:41.8394589 8.0330777 4.0210332 10.0.0.31 10.0.0.1 DNS:QueryId = 0xA5B4, QUERY (стандартный запрос), запрос microsoft.com типа Надстройка узла в классе Internet

Поведение dns-клиента Windows XP по умолчанию при настройке двух DNS-серверов в сетевой карте

Поведение следующее (протестировано на клиентах Windows XP с одним сетевым адаптером):

Время (в секундах с момента запуска) Действие
0 Клиент запрашивает первый DNS-сервер в списке
1 Если ответ не получен через 1 секунду, клиент запрашивает второй DNS-сервер списка и в то же время снова запрашивает первый DNS-сервер.
3 Если ответ не получен через 2 секунды, клиент снова запросит первый DNS-сервер.
7 Если ответ не получен через 4 секунды, клиент снова запрашивает первый DNS-сервер.
9 Если ответ не получен через 2 секунды, клиент перестает выполнять запросы

Любой ответ об ошибке имени любого из DNS-серверов приведет к остановке процесса. Клиент не повторяет попытку на следующем сервере, если ответ был отрицательным. Клиент пытается использовать новые серверы только в том случае, если предыдущие серверы недоступны.

В этом сценарии клиент пытается запросить в основном первый DNS-сервер и дополнительный один раз.

Пример

Клиент Windows XP с двумя DNS-серверами, настроенными для Microsoft.com

Ipconfig на клиенте

IPv4 Address. . . . . . . . . . . : 10.0.0.31(Preferred)  
DNS Servers . . . . . . . . . . . : 10.0.0.1  
                                10.0.0.2

Выходные данные сетевого монитора

Время смещения времениDelta Источник Сведений о dest

6:39:09.8013750 0.0000000 0.00000 10.0.0.31 10.0.0.1 DNS:QueryId = 0x1960, QUERY (стандартный запрос), запрос microsoft.com типа Надстройка узла в классе Internet

6:39:10.8013750 1.0000000 1.000000 10.0.0.31 10.0.0.2 DNS:QueryId = 0x1960, QUERY (стандартный запрос), Запрос microsoft.com типа Надстройка узла в классе Internet

6:39:10.8013750 1.0000000 0.00000 10.0.0.31 10.0.0.1 DNS:QueryId = 0x1960, QUERY (стандартный запрос), запрос microsoft.com типа Addr узла в классе Internet

6:39:12.8013750 3.0000000 2.000000 10.0.0.31 10.0.0.1 DNS:QueryId = 0x1960, QUERY (стандартный запрос), запрос для microsoft.com типа Надстройка узла в классе Internet

6:39:16.8013750 7.0000000 4.000000 10.0.0.31 10.0.0.1 DNS:QueryId = 0x1960, QUERY (стандартный запрос), запрос microsoft.com типа Надстройка узла в классе Internet

Поведение dns-клиента Windows 7 или Windows 8 по умолчанию при настройке двух DNS-серверов в сетевой карте

Поведение следующее (протестировано в Windows 7 и Windows 8 клиентов с одним сетевым адаптером):

Время (в секундах с момента запуска) Действие
0 Клиент запрашивает первый DNS-сервер в списке
1 Если после 1 секунды ответ не получен, клиент запрашивает второй DNS-сервер списка.
2 Если ответ не получен через 1 секунду, клиент снова запрашивает второй DNS-сервер списка.
4 Если ответ не получен через 2 секунды, клиент запрашивает все серверы в списке одновременно.
8 Если ответ не получен через 4 секунды, клиент запрашивает все серверы в списке одновременно.
10 Если ответ не получен через 2 секунды, клиент перестает выполнять запросы

Любой ответ об ошибке имени любого из DNS-серверов приведет к остановке процесса. Клиент не повторяет попытку на следующем сервере, если ответ был отрицательным. Клиент пытается использовать новые серверы только в том случае, если предыдущие серверы недоступны.

Пример

клиент Windows 8 с двумя DNS-серверами, настроенными для запросов к Microsoft.com

Ipconfig на клиенте

IPv4 Address. . . . . . . . . . . : 10.0.0.31(Preferred)
DNS Servers . . . . . . . . . . . : 10.0.0.1
                                10.0.0.2  

Выходные данные сетевого монитора

Время смещения времениDelta Источник Сведений о dest

6:28:12.5060330 0.0000000 0.00000 10.0.0.31 10.0.0.1 DNS:QueryId = 0x7B1C, QUERY (стандартный запрос), запрос microsoft.com типа Host Addr в классе Internet

6:28:13.5129164 1.0068834 1.006834 10.0.0.31 10.0.0.2 DNS:QueryId = 0x7B1C, QUERY (стандартный запрос), Запрос microsoft.com типа Надстройка узла в классе Internet

6:28:14.5124283 2.0063953 0.9995119 10.0.0.31 10.0.0.2 DNS:QueryId = 0x7B1C, QUERY (стандартный запрос), Запрос microsoft.com типа Надстройка узла в классе Интернет

6:28:16.5288823 4.0228493 2.0164540 10.0.0.31 10.0.0.1 DNS:QueryId = 0x7B1C, QUERY (стандартный запрос), запрос microsoft.com типа Надстройка узла в классе Internet

6:28:16.5289050 4.0228720 0.000227 10.0.0.31 10.0.0.2 DNS:QueryId = 0x7B1C, QUERY (стандартный запрос), запрос microsoft.com типа Надстройка узла в классе Internet

6:28:20.5582196 8.0521866 4.0293146 10.0.0.31 10.0.0.1 DNS:QueryId = 0x7B1C, QUERY (стандартный запрос), запрос microsoft.com типа Надстройка узла в классе Internet

6:28:20.5582475 8.0522145 0.0000279 10.0.0.31 10.0.0.2 DNS:QueryId = 0x7B1C, QUERY (стандартный запрос), запрос для microsoft.com типа Надстройка узла в классе Internet

Поведение DNS-клиента по умолчанию при настройке трех или более DNS-серверов в сетевой карте

Сколько из них используется и какое время ожидания?

Поведение следующее (протестировано в Windows XP, Windows 7 и Windows 8 клиентах с одним сетевым адаптером):

Время (в секундах с момента запуска) Действие
0 Клиент запрашивает первый DNS-сервер в списке
1 Если после 1 секунды ответ не получен, клиент запрашивает второй DNS-сервер списка.
2 Если ответ не получен через 1 секунду, клиент запрашивает третий DNS-сервер списка.
4 Если ответ не получен через 2 секунды, клиент запрашивает все серверы в списке одновременно.
8 Если ответ не получен через 4 секунды, клиент снова запрашивает все серверы в списке одновременно.
10 Если ответ не получен через 2 секунды, клиент перестает выполнять запросы

Любой ответ об ошибке имени любого из DNS-серверов приведет к остановке процесса. Клиент не повторяет попытку на следующем сервере, если ответ был отрицательным. Клиент пытается использовать новые серверы только в том случае, если предыдущие серверы недоступны.

Если единственный доступный сервер находится в позиции 4 или выше, ожидаемая задержка не менее 4 секунд после первоначального запроса, прежде чем он будет выполняться. Это может вызвать проблемы, если у приложения, запросив разрешение DNS, время ожидания разрешения приложения меньше этого значения. Единственный способ запросить этот сервер ранее — задать его в первых трех позициях.

Пример

Клиент с пятью DNS-серверами, настроенными для Microsoft.com

Ipconfig на клиенте

Pv4 Address. . . . . . . . . . . : 10.0.0.31(Preferred)
DNS Servers . . . . . . . . . . . : 10.0.0.1
                                10.0.0.2
                                10.0.0.3
                                10.0.0.4
                                10.0.0.5

Выходные данные сетевого монитора

Время смещения времениDelta Источник Сведений о dest

9:50:19.4165728 0.0000000 0.00000 10.0.0.31 10.0.0.1 DNS:QueryId = 0xE2A2, QUERY (стандартный запрос), запрос microsoft.com типа Надстройка узла в классе Internet

9:50:20.4030068 0.9864340 0.9864340 10.0.0.31 10.0.0.2 DNS:QueryId = 0xE2A2, QUERY (стандартный запрос), Запрос microsoft.com типа Надстройка узла в классе Internet

9:50:21.4053190 1.9887462 1.0023122 10.0.0.31 10.0.0.3 DNS:QueryId = 0xE2A2, QUERY (стандартный запрос), запрос для microsoft.com типа Надстройка узла в классе Internet

9:50:23.4022371 3.9856643 1.9969181 10.0.0.31 10.0.0.1 DNS:QueryId = 0xE2A2, QUERY (стандартный запрос), запрос для microsoft.com типа Host Addr в классе Internet

9:50:23.4022575 3.9856847 0.0000204 10.0.0.31 10.0.0.2 DNS:QueryId = 0xE2A2, QUERY (стандартный запрос), запрос на microsoft.com типа Host Addr в классе Internet

9:50:23.4022646 3.9856918 0.000071 10.0.0.31 10.0.0.3 DNS:QueryId = 0xE2A2, QUERY (стандартный запрос), Запрос microsoft.com типа Надстройка узла в классе Internet

9:50:23.4023130 3.9857402 0.0000484 10.0.0.31 10.0.0.4 DNS:QueryId = 0xE2A2, QUERY (стандартный запрос), запрос для microsoft.com типа Host Addr в классе Internet

9:50:23.4023347 3.9857619 0.0000217 10.0.0.31 10.0.0.5 DNS:QueryId = 0xE2A2, QUERY (стандартный запрос), запрос для microsoft.com типа Надстройка узла в классе Internet

9:50:27.4113578 7.9947850 4.0090231 10.0.0.31 10.0.0.1 DNS:QueryId = 0xE2A2, QUERY (стандартный запрос), Запрос для microsoft.com типа Надстройка узла в классе Internet

9:50:27.4113788 7.9948060 0.000210 10.0.0.31 10.0.0.2 DNS:QueryId = 0xE2A2, QUERY (стандартный запрос), Запрос microsoft.com типа Надстройка узла в классе Internet

9:50:27.4113860 7.9948132 0.0000072 10.0.0.31 10.0.0.3 DNS:QueryId = 0xE2A2, QUERY (стандартный запрос), Запрос microsoft.com типа Addr узла в классе Internet

9:50:27.4113932 7.9948204 0.000072 10.0.0.31 10.0.0.4 DNS:QueryId = 0xE2A2, QUERY (стандартный запрос), Запрос microsoft.com типа Надстройка узла в классе Internet

9:50:27.4114034 7.9948306 0.000102 10.0.0.31 10.0.0.5 DNS:QueryId = 0xE2A2, QUERY (стандартный запрос), Запрос microsoft.com типа Надстройка узла в классе Internet

Дополнительная информация

Если у клиента есть несколько сетевых карт, на которых настроены разные DNS-серверы, поведение разрешения клиента немного отличается.