递归时怎么选择最优的 NS?

2016-09-05 23:55:26 +08:00
 mrzhiin
递归时如果得到了多个 NS ,会选择哪一个查询?是随机还是会自动挑选延迟最低的?
如果每个 NS 绑定了多个 IP ,恰恰选择的 NS 的 ip 挂了,接下来是向这个 NS 的其他 IP 查询,还是向其它 NS ?
4921 次点击
所在节点    DNS
12 条回复
anjunecha
2016-09-06 00:42:32 +08:00
will randomly select one or multiple NS
mytsing520
2016-09-06 02:07:59 +08:00
随机
HIT100
2016-09-06 08:20:14 +08:00
随机,不一定分配延时小的解析节点。
xcodeghost
2016-09-06 08:20:41 +08:00
在进行递归查询时, Local DNS 是如何选择权威 NS 服务器的呢?

BIND :请求 RTT 时间(从发起查询请求到接收到回应的时间)越小,该权威 NS 被选择的几率越大

和 RTT 值有关。
HIT100
2016-09-06 08:34:56 +08:00
lv3ns1.ffdns.net
lv3ns2.ffdns.net
lv3ns3.ffdns.net
lv3ns4.ffdns.net

就比如 cloudxns 的 4 组 NS 服务器,虽然有海外解析节点,但不一定海外用户解析请求就能分配海外解析节点的。随机的,况且又不是 Anycast
qcloud
2016-09-06 09:14:21 +08:00
@HIT100 那么问题来了, Anycast 哪家强?
johnjiang85
2016-09-06 10:09:08 +08:00
相关协议中有 RTT 延时选择机制及算法,开源的 BIND 和 UNBOUND 也曾经使用过,但是目前这两个开源的更多的是使用随机选择 IP 的方式,而不是根据 RTT 延时机制去较大概率选择质量好的 IP ,较小概率选择质量差的 IP 。质量差的 IP (即使是完全无应答的 IP )也会去选择是因为网络总是在变化的,有可能之前较差的慢慢变好,根据算法会调整每个 IP 的选择到的概率, BIND 和 UNBOUND 中的 RTT 延时算法是按照 RFC 实现的,但是在实际的使用中, DNS 选优效果并不好。 DNSPod 的 119.29.29.29 的后端递归也使用了 RTT 延时机制,基本思想参照 RFC 的思想,但是算法经过了优化,可以测试不同 IP 的质量,并线性调整各 IP 的权重。

第二个问题差不多,会随机去选择一个或多个 NS 的一个或多个 IP 去重试,根据递归的不同,选择也会有所不同,重试时同样会有第一个问题了选择哪个 IP 的问题。
txydhr
2016-09-09 20:33:55 +08:00
我觉得不必太纠结这个,因为 dns 查询稍微超时就立刻换下一个 ip
loggerhead
2016-11-05 11:36:54 +08:00
@johnjiang85 正好最近两天在考虑改进 shadowsocks 的客户端,通过一种机制去选择最优的服务器(低延时、低丢包),想到了你说的「根据 RTT 延时机制去较大概率选择质量好的 IP ,较小概率选择质量差的 IP 」。但是你又提到「 BIND 和 UNBOUND 中的 RTT 延时算法是按照 RFC 实现的,但是在实际的使用中, DNS 选优效果并不好。 」。

有点不明白效果不好的原因是什么?如果我按上面说的方法去改进 shadowsocks 会有用吗?
johnjiang85
2016-11-07 20:03:50 +08:00
@loggerhead RFC2988/6298 有相关内容, bind 部分版本是极大概率选择 rtt 最短的 IP , unbound 一搬是在最短 RTT 相差 400ms 以内的都认为是质量较好的 IP ,从而平均选择。这里有篇论文可以参考下,有分析。
johnjiang85
2016-11-07 20:04:19 +08:00
loggerhead
2016-11-07 22:41:29 +08:00
@johnjiang85 谢谢!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/304175

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX