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%.

相关文章

vue阻止冒泡事件 阻止点击事件的执行 <div @click=&a...
尝试过使用网友说的API接口获取 找到的都是失效了 暂时就使用...
后台我拿的数据是这样的格式: [ {id:1 , parentId: 0, name:...
JAVA下载文件防重复点击,防止多次下载请求,Cookie方式快速简...
Mip是什么意思以及作用有哪些