使用 Google 的公共 DNS 似乎是个好主意8.8.8.8
,8.8.4.4
因为它真的很快——比我自己的 ISP 的 DNS 快得多!——而且可能也更可靠。对我来说,这似乎是一个快速的胜利,而且更容易记住。
假设我们对 Google 并不抱有“偏见”,那么为什么不是每个人都应该使用 Google DNS?我如何确定哪个 DNS 服务器速度最快、最可靠,或者通常被认为是最好的?
注:我见过这个问题,但我不想与 OpenDNS 进行比较。这是关于普通人在家中日常使用的内容。
更新:我似乎把自己的手伸进了隐私问题的蜂巢。我理解这个问题,但我期待的是一场更注重技术的讨论……
答案1
有一个有用的工具可以测试可用的不同 DNS 名称服务器(您的 ISP、当前配置、DynDNS、Google 公共 DNS 和其他)。
从我的角度来看,Google DNS 非常快,但根据 GoogleDNS 支持的负载,我的 ISP Dns 有时会更快。
NameBench(Linux/Windows/Mac OS X)
输出 :
(来源:googlecode.com)
答案2
运行自己的缓存 DNS 服务器怎么样?您可能已经为内部服务托管了 DNS,那么为什么不直接设置这些服务器进行直接查找,而不是将请求转发给您的 ISP 或 Google?
好处:
- 它们距离你的用户非常近 (< 2ms)
- 缓存 DNS 运行起来非常简单
- 缓存仍然相当有效,因为您的用户可能访问相同的网站(例如 serverfault.com 和 facebook.com)
- 您可以记录 DNS 请求以进行故障排除
- 无需担心其他人记录您的 DNS 查询
- 对于裂脑 DNS 区域是必需的
答案3
大型网站和服务(例如 Facebook)通常使用内容分发网络 (CDN) 将您的请求路由到最近的(因此可能是最快的)服务器以获取其内容。它们通过 DNS 任播路由来实现这一点,即当您通过 DNS 服务器执行 DNS 查询时返回最近的服务器地址。换句话说,DNS 服务器的物理位置会影响您从某些 CDN 获得的速度和响应时间。请使用附近的 DNS 服务器。
但是,这些公共 DNS 服务器使用任播路由为您提供来自最近服务器的 DNS 响应。否则,它们无法为您提供如此快速的响应和高正常运行时间。例如,当您从荷兰查询 8.8.8.8 时,回答查询的服务器与您从日本查询时回答查询的服务器不同。这可能会部分弥补 CDN 问题。
Google 本身也发出了同样的警告(其中解析器是 DNS 服务器):
但请注意,由于域名服务器根据解析器的 IP 地址而不是用户的 IP 地址进行地理定位,因此 Google 公共 DNS 具有与其他开放 DNS 服务相同的限制:即用户被引导到的服务器可能比本地 DNS 提供商引导到的服务器更远。这可能会导致某些网站的浏览体验变慢。
来源:https://developers.google.com/speed/public-dns/faq#cdn
我找不到 Google 公共 DNS 位置列表,但 OpenDNS 有一个城市列表他们的状态页面这应该可以让您了解哪一个是您最接近的。
答案4
也许你还没有完全戴上“锡纸帽”;但谷歌内部正在考虑你是否应该。最近泄露的一份谷歌内部文件显示,他们正在思考是否应该开始挖掘所有可能的数据。