domain-name-system – DNS名称服务器如何回退?

我们的NS记录中列出了两个DNS服务器.昨晚,我们的一台DNS服务器出现故障.正如所料,一些DNS服务器没有解析我们的主机名.我认为这将是暂时的,并且一旦我们的NS记录的TTL到期(1小时)就会开始工作.

一小时后,我仍然从使用Earthlink,Verizon和OpenDNS服务器的桌面获得DNS超时.我测试了其他DNS服务器是否正在回答:

dig @ns2.example.com www.example.com +short

这很有效.

我的问题:

>有没有人得到一个答案,为什么其他DNS服务器即使在TTL过期后也没有打到我们的其他DNS服务器?
> DNS服务器更喜欢域的主DNS服务器(来自SOA记录)吗?
>是否有任何算法用于从可用的NS记录中选择名称服务器?我假设这是特定于实现的,但也许有一些适用于此的标准.

解决方法

这是一个不幸的烦恼.多个DNS服务器应该是为了提高可靠性,但在实践中它经常具有相反的效果.

问题是客户端只等待响应这么长时间,服务器等待大约相同的时间.假设您有两个DNS服务器,A和B.说A正在运行而B已经失败.有时候是这样的:

>客户端连接到名称服务器Z并要求其提供信息. Z选择B并发送查询.
>客户端超时,因为名称服务器Z没有响应.
>客户端尝试命名服务器Y.Y选择B并发送查询.
>名称服务器Z超时并尝试A.它得到正确答案,但客户端不再等待.
>客户端超时,因为名称服务器Y没有响应.
>客户端放弃了,其名称服务器都无法响应.
>名称服务器Y超时并尝试A.它得到正确答案,但客户端不再等待.

而且没有好的解决方案.等待查看名称服务器是否回复的时间越长,您需要等待的时间越长,因为您等待的名称服务器等待的时间越长.可以说,问题是Y和Z并没有足够快地放弃B.

从本质上讲,如果你的任何名称服务器都没有出来,一些客户会因为运气不好而超时,因为他们只尝试过那些糟糕的服务器.

好的一面是,如果你有两个名称服务器,一个名称服务器失败,大约75%的名称服务器将获得答案,而不是0%.

相关文章

操作步骤 1、进入elasticsearch的plugin,进入ik。进入config。 2、在config下面建立以.dic为后缀的字典...
lengend data数据中若存在'',则表示换行,用''切割。
代码实现 option = { backgroundColor: '#080b30', tooltip: { trigger: &...
问题原因 原因在于直接在js中取的变量并复制给var变量。 于是就变成这样。 解决办法 var data = &#...
前言 最近做了一个调查问卷导出的功能,需求是将维护的题目,答案,导出成word,参考了几种方案之后,选...
对于很多人来说,用字符编码都是熟能生巧,而不清楚为什么是那样的字符编码,所以我在这列了一个表,翻...