IP/DNS DC Locator Algorithm
The IP/DNS DC Locator algorithm is executed in the context of the NetLogon
service, (typically) running on the client. The algorithm, shown in the flowchart,
works as follows:
• Call DnsQuery specifying one of the criteria specific DNS host names.
• If IP is not supported or DNS is not supported, return from the algorithm
indicating so.
• If the specified name cannot be found (perhaps because the domain has been
renamed), return from the algorithm indicating so.
• Upon retrieving the list of DCs from DNS, the client will ping the various DCs in
weighted random order. After each ping, the client will wait 1/10
th
second for a
response to the ping. Choosing the DCs at random provides a first level of load
balancing. Doing multiple pings in quick succession ensures the discovery
algorithm terminates in a reasonable amount of time. The pinging continues
until all the returned DCs have been tried or until positive response has been
received from the pinged DC, whatever comes first.
• When a DC responds to the ping, the parameters supplied in the response is
compared to the parameters required by client. If the information mismatches,
the response is ignored.
• The first DC to respond to a ping and satisfy client’s requirements is used by
the client.
Windows 2000 White Paper 34