I've read extensive documentation on how the DC Locator process works and how Windows clients find their nearest domain controller. However, there's one piece that isn't totally clear in anything I've read.
The docs I've read indicate that if the client cannot contact its nearest DC, it will set a flag that causes a 15 minute timer to count down on the client. Upon the timer's expiration, the DC cache list is flushed and the client will once again attempt to communicate with its nearest DC.
What the documentation doesn't indicate is ... if this communication with the nearest DC fails again, will the client ever try again? Or does it simply stick with the other DC it had a session with and never try for the nearest DC again?
I would hope the behavior would be to repeatedly attempt to contact the nearest DC and once found, initiate a session with it. I have a feeling that this is not the case though. If the communication with the nearest DC fails after the 15 minute timer, the client will forever (until a reboot) stick with the first DC it found.
Hopefully this is clear. If not, please ask any follow up questions that come to mind.
I'm particularly interested in Windows XP's behavior in this area.