公共 DNS 比如 114.114.114.114 和阿里 DNS 等是怎么解决各省线路和运营商的问题的?

2014-12-08 11:23:32 +08:00
 lhbc
使用了CDN的域名,在各运营商和各省解析的结果都不相同
那这些公共DNS怎么根据查询IP返回正确的解析结果?

目前能够想到的办法就是在所有省份的各个运营商都部署服务器,然后根据查询者的IP,使用不同线路进行查询,然后得到该省份的运营商的解析结果返回给查询者
比如广东电信的用户向阿里DNS查询某域名,阿里DNS根据用户的IP判断,使用广东电信的服务器向广东电信的DNS查询,然后返回结果给用户

但这个成本非常高,而且架构很复杂

请问有没有低成本、架构简单(一两台服务器)就能解决的办法?
4981 次点击
所在节点    问与答
8 条回复
xiaozhizhu1997
2014-12-08 11:40:19 +08:00
首先是anycast,建立多节点。
然后根据你的IP判断你属于什么地区什么ISP。
lhbc
2014-12-08 12:08:59 +08:00
@xiaozhizhu1997 这个了解。通过购买准确的IP库判断来源IP所属的运营商和地区。
重点是如何向上层DNS或者权威DNS请求用户所属的运营商和地区的结果。
zhuyie
2014-12-08 12:21:34 +08:00
你本机DNS设置为114,请求的确是发到114那边,但这是一个“可递归”查询请求,114会为你搞定后面的查询,最终结果是由你CDN的DNS服务器返回的。你CDN的DNS服务器当然知道它自己的节点分布情况。
ovear
2014-12-08 12:24:08 +08:00
ls基本都说错了。可以百度下edns
jasontse
2014-12-08 12:43:39 +08:00
@ovear
有没有错 ip.dnspod.cn 看一下就知道了,edns 太小众兼容性不行。
lhbc
2014-12-08 12:45:26 +08:00
@ovear 这个有了解过
不过需要权威DNS支持EDNS才有效
目前大多数权威DNS都不支持吧
ovear
2014-12-08 12:51:29 +08:00
@jasontse 不小众 114 4个8 opendns 都支持
运营商的dns就算不支持 既然是运营商的dns了 拿到的递归dns的ip就足够了
@lhbc
@lhbc
@lhbc
ovear
2014-12-08 12:52:16 +08:00
靠。手机卡了 多@了几次

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

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

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

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

© 2021 V2EX