Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
This document describes the fallback and timeout behavior that exist when one or more Domain Name System (DNS) Servers IPs are configured on a Windows DNS client.
Applies to: Supported versions of Windows Client
Original KB number: 2834226
Summary
For more information, see Forwarders and conditional forwarders resolution timeouts.
Configuring DNS clients with more than one DNS Server IP adds additional fault tolerance to your DNS infrastructure. Adding multiple DNS Servers IPs allows DNS names to continue to be resolved if failures of the only configured DNS Server, of the underlying network link, or the supporting network infrastructure that connects a given client to a DNS Server. Such name failures may cause application or component hangs, resource outages waiting for dependent timeout expirations that directly or indirectly cause operational failures.
For these reasons, it's recommended to configure any Windows client with more than one DNS server, but it's important to be aware of the Windows client resolution process, as it's different based on how many DNS servers we've configured.
What is the default behavior of a DNS client when a single DNS server is configured on the NIC
Time (seconds since start) | Action |
---|---|
0 | Client queries the DNS server |
1 | If no response is received after 1 second, client queries again the DNS server |
2 | If no response is received after 1 more second, client queries again the DNS server |
4 | If no response is received after 2 more seconds, client queries again the DNS server |
8 | If no response is received after 4 more seconds, client queries again the DNS server |
10 | If no response is received after 2 more seconds, client stops querying |
Any Name Error response by the DNS server will cause the process to stop - client doesn't retry if the response was negative.
In this scenario, the client is then trying to query the same DNS server five times before timing out.
Example
Windows DNS client with a single DNS server configured, querying for Microsoft.com
Ipconfig on the client
IPv4 Address. . . . . . . . . . . : 10.0.0.31(Preferred)
DNS Servers . . . . . . . . . . . : 10.0.0.1
Network trace output
Time Time Offset TimeDelta Source Dest Details
6:23:33.8063812 0.0000000 0.0000000 10.0.0.31 10.0.0.1 DNS:QueryId = 0xA5B4, QUERY (Standard query), Query for microsoft.com of type Host Addr on class Internet
6:23:34.8026943 0.9963131 0.9963131 10.0.0.31 10.0.0.1 DNS:QueryId = 0xA5B4, QUERY (Standard query), Query for microsoft.com of type Host Addr on class Internet
6:23:35.8042696 1.9978884 1.0015753 10.0.0.31 10.0.0.1 DNS:QueryId = 0xA5B4, QUERY (Standard query), Query for microsoft.com of type Host Addr on class Internet
6:23:37.8184257 4.0120445 2.0141561 10.0.0.31 10.0.0.1 DNS:QueryId = 0xA5B4, QUERY (Standard query), Query for microsoft.com of type Host Addr on class Internet
6:23:41.8394589 8.0330777 4.0210332 10.0.0.31 10.0.0.1 DNS:QueryId = 0xA5B4, QUERY (Standard query), Query for microsoft.com of type Host Addr on class Internet
What is the default behavior of a DNS client when two DNS servers are configured on the NIC
Time (seconds since start) | Action |
---|---|
0 | Client queries the first DNS server of the list |
1 | If no response is received after 1 second, client queries the second DNS server of the list |
2 | If no response is received after 1 more second, client queries again the second DNS server of the list |
4 | If no response is received after 2 more seconds, client queries all the servers in the list at the same time |
8 | If no response is received after 4 more seconds, client queries all the servers in the list at the same time |
10 | If no response is received after 2 more seconds, client stops querying |
Any Name Error response by any of the DNS servers will cause the process to stop - client doesn't retry with the next server if the response was negative. Client tries new servers only if the previous are unreachable.
Example
Windows DNS client with two DNS servers configured querying for Microsoft.com
Ipconfig on the client
IPv4 Address. . . . . . . . . . . : 10.0.0.31(Preferred)
DNS Servers . . . . . . . . . . . : 10.0.0.1
10.0.0.2
Network trace output
Time Time Offset TimeDelta Source Dest Details
6:28:12.5060330 0.0000000 0.0000000 10.0.0.31 10.0.0.1 DNS:QueryId = 0x7B1C, QUERY (Standard query), Query for microsoft.com of type Host Addr on class Internet
6:28:13.5129164 1.0068834 1.0068834 10.0.0.31 10.0.0.2 DNS:QueryId = 0x7B1C, QUERY (Standard query), Query for microsoft.com of type Host Addr on class Internet
6:28:14.5124283 2.0063953 0.9995119 10.0.0.31 10.0.0.2 DNS:QueryId = 0x7B1C, QUERY (Standard query), Query for microsoft.com of type Host Addr on class Internet
6:28:16.5288823 4.0228493 2.0164540 10.0.0.31 10.0.0.1 DNS:QueryId = 0x7B1C, QUERY (Standard query), Query for microsoft.com of type Host Addr on class Internet
6:28:16.5289050 4.0228720 0.0000227 10.0.0.31 10.0.0.2 DNS:QueryId = 0x7B1C, QUERY (Standard query), Query for microsoft.com of type Host Addr on class Internet
6:28:20.5582196 8.0521866 4.0293146 10.0.0.31 10.0.0.1 DNS:QueryId = 0x7B1C, QUERY (Standard query), Query for microsoft.com of type Host Addr on class Internet
6:28:20.5582475 8.0522145 0.0000279 10.0.0.31 10.0.0.2 DNS:QueryId = 0x7B1C, QUERY (Standard query), Query for microsoft.com of type Host Addr on class Internet
What is the default behavior of a DNS client when three or more DNS servers are configured on the NIC
How many of them are used and what are the timeouts?
Time (seconds since start) | Action |
---|---|
0 | Client queries the first DNS server of the list |
1 | If no response is received after 1 second, client queries the second DNS server of the list |
2 | If no response is received after 1 more second, client queries the third DNS server of the list |
4 | If no response is received after 2 more seconds, client queries all the servers in the list at the same time |
8 | If no response is received after 4 more seconds, client queries again all the servers in the list at the same time |
10 | If no response is received after 2 more seconds, client stops querying |
Any Name Error response by any of the DNS servers will cause the process to stop - client doesn't retry with the next server if the response was negative. Client tries new servers only if the previous are unreachable.
If the only reachable server is in position 4 or higher, we have an expected delay of at least 4 seconds after the original query before actually trying it. This can cause issues if the application that has requested the DNS resolution has an application resolution timeout lower than this value. The only way to have this server queried earlier will be to set it in the first three positions.
Example
Client with five DNS servers configured querying for Microsoft.com
Ipconfig on the client
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
Network trace output
Time Time Offset TimeDelta Source Dest Details
9:50:19.4165728 0.0000000 0.0000000 10.0.0.31 10.0.0.1 DNS:QueryId = 0xE2A2, QUERY (Standard query), Query for microsoft.com of type Host Addr on class Internet
9:50:20.4030068 0.9864340 0.9864340 10.0.0.31 10.0.0.2 DNS:QueryId = 0xE2A2, QUERY (Standard query), Query for microsoft.com of type Host Addr on class Internet
9:50:21.4053190 1.9887462 1.0023122 10.0.0.31 10.0.0.3 DNS:QueryId = 0xE2A2, QUERY (Standard query), Query for microsoft.com of type Host Addr on class Internet
9:50:23.4022371 3.9856643 1.9969181 10.0.0.31 10.0.0.1 DNS:QueryId = 0xE2A2, QUERY (Standard query), Query for microsoft.com of type Host Addr on class Internet
9:50:23.4022575 3.9856847 0.0000204 10.0.0.31 10.0.0.2 DNS:QueryId = 0xE2A2, QUERY (Standard query), Query for microsoft.com of type Host Addr on class Internet
9:50:23.4022646 3.9856918 0.0000071 10.0.0.31 10.0.0.3 DNS:QueryId = 0xE2A2, QUERY (Standard query), Query for microsoft.com of type Host Addr on class Internet
9:50:23.4023130 3.9857402 0.0000484 10.0.0.31 10.0.0.4 DNS:QueryId = 0xE2A2, QUERY (Standard query), Query for microsoft.com of type Host Addr on class Internet
9:50:23.4023347 3.9857619 0.0000217 10.0.0.31 10.0.0.5 DNS:QueryId = 0xE2A2, QUERY (Standard query), Query for microsoft.com of type Host Addr on class Internet
9:50:27.4113578 7.9947850 4.0090231 10.0.0.31 10.0.0.1 DNS:QueryId = 0xE2A2, QUERY (Standard query), Query for microsoft.com of type Host Addr on class Internet
9:50:27.4113788 7.9948060 0.0000210 10.0.0.31 10.0.0.2 DNS:QueryId = 0xE2A2, QUERY (Standard query), Query for microsoft.com of type Host Addr on class Internet
9:50:27.4113860 7.9948132 0.0000072 10.0.0.31 10.0.0.3 DNS:QueryId = 0xE2A2, QUERY (Standard query), Query for microsoft.com of type Host Addr on class Internet
9:50:27.4113932 7.9948204 0.0000072 10.0.0.31 10.0.0.4 DNS:QueryId = 0xE2A2, QUERY (Standard query), Query for microsoft.com of type Host Addr on class Internet
9:50:27.4114034 7.9948306 0.0000102 10.0.0.31 10.0.0.5 DNS:QueryId = 0xE2A2, QUERY (Standard query), Query for microsoft.com of type Host Addr on class Internet
More information
Shall the client have more than one NIC active with different DNS servers configured on them, the client resolution behavior is slightly different.
If name resolution tools such as nslookup are used, the client resolution behavior is different.