我试图深刻理解Windows客户端如何与DNS协同工作。 例如,假设我使用主DNS服务器和辅助DNS服务器来configurationnetworking适配器。
如果主DNS服务器出现故障,需要多长时间进行故障转移并开始使用辅助DNS服务器?
一旦主DNS服务器重新联机,它需要什么来开始使用主DNS服务器? 这最终会自动发生吗?
如果对主DNS服务器的查询导致类似于主机不可访问的情况,那么客户端parsing器将自动尝试针对下一个DNS服务器的相同查询,依此类推,直到成功联系DNS服务器或用完服务器尝试。 所以本质上,故障转移到辅助服务器需要很长的时间,因为它需要超时连接到第一个服务器。
我相信,Windowsparsing器将会继续使用服务器在15分钟内回答的问题(或者直到TCP / IP协议栈通过重新启动或者其它东西重置),然后再重新开始。
请注意,此故障转移只发生在服务器不可访问时,而不是查询logging不可parsing时。 如果可以到达主服务器,但是响应一个没有这样的主机应答,则故障切换不会发生。
这里有一篇关于XP的文章 ,提到了15分钟的事情。
有关Windows XP DNS客户端的低级别行为的一系列stream程图,请执行以下操作: http : //technet.microsoft.com/en-us/library/bb457118.aspx
我没有find与Windows Vista和更新的parsing器相同级别的文档,但我期望它在资源工具包中(因为每个新版本的Windows都会被修改)。
(我正在简化这一点…如果你想知道它是如何工作的,你应该阅读这篇文章,因为逻辑有点复杂。)
XP DNS客户端首先通过主networking适配器上指定的主DNS服务器尝试每个名称parsing请求。 如果超时(在一秒钟内),则使用每个适配器上指定的主DNS服务器尝试在机器中的每个适配器上进行相同的查询,同时等待每个响应2秒。 如果没有响应,则向所有适配器上指定的所有DNS服务器发送请求,并等待4秒钟。 它会再次执行此操作,等待8秒钟,如果尚未收到响应,则返回超时(并且在接下来的30秒内将不会返回超时而不发出任何新的查询)。
我怀疑在Vista和更新的操作系统中,parsing器已经发生了很大的变化,但是可能会有一些细微的差别。
有趣的是,资源工具包没有提及Squillman的链接知识库文章描述的行为。 我敢打赌,这是资源工具包的一部分。