为CDN使用不同的DNS服务器

回到谷歌首次发布他们的8.8.8.8和8.8.4.4 DNS服务器时,我做了一些分析,他们对我们的位置更快。 最近的一个testing证实了这一点。 然而,经过仔细考虑,我拒绝切换远离我们的ISP DNS,因为看看我们的stream量快照,我们的许多请求是为了cdn地址。 使用中央DNS对CDN站点进行查找可以产生可以工作(并快速生成结果)的结果,但是由于它们可能会返回不太理想的节点,所以速度会变慢。

那么我的问题是,如果有可能使用某种方式区分CDNnetworking,并将这些查询指向我的ISP DNS,但是指出正常查询Google的8.8.8.8 DNS。

在分析时,是否通过现有的AD DNS服务器进行了configuration文件分析 – 与您的ISP和Google之间的AD DNS转发器设置不同? 还是你直接简介你的ISP和谷歌的DNS?

我得到的是,如果你已经有一个本地DNS服务器(AD,BIND或其他),并且如果你所有的客户端都使用本地,转发DNS服务器 – 只要本地DNS服务器是configuration正确,会caching上游结果。 因此,在合理的TTL时间内,只有给定资源名称的第一个DNS查询才需要在您的networking之外转发以进行parsing。 考虑到这一点,你不能只使用你的ISP的DNS作为configuration转发服务器来解决外部结果,同时受益于本地化的结果 – 理解,一切都会被caching?

这只是代理DNS服务器上的水平分割DNS服务,在简单的情况下这相当简单。

  • 对于转发代理DNS服务器,只需使用条件转发。 请参阅您的DNS服务器软件手册,了解如何进行有条件转发。 djbdns,微软的DNS服务器,ISC的BIND,我的DNSFCPD和其他几个都可以做条件转发。
  • 对于parsing代理DNS服务器,使用服务器软件提供的任何委托覆盖机制。 对于djbdns,将一个文件添加到servers/目录。 对于ISC的BIND和微软的DNS服务器,一个使用存根区域。

问题是CDN 不是简单的案例,你正在为自己准备一个永久的维护头痛。

有时CDN使用相当冗长的别名链。 您无法知道CDNs分发信息在链中的哪个位置被编码,因为每个CDN都是自由的。

例如 : www.microsoft.com.toggle.www.ms.akadns.net.的别名toggle.www.ms.akadns.net. 这是g.www.ms.akadns.net.的别名g.www.ms.akadns.net. 这是lb1.www.ms.akadns.net.的别名lb1.www.ms.akadns.net. 映射到IP地址65.55.12.249 。 您可以在microsoft.com.进行修剪和移植microsoft.com.g.www.ms.akadns.net.www.ms.akadns.net.ms.akadns.net.akadns.net. 。 但是你不知道哪一个是没有知识的适当的地方,这两个CDN都是特定的, 甚至不一定是你们一开始就知道的 。 得到它是错误的,你回来了后端查询来自第三方的IP地址的问题,并且DNS数据适合于那个地址不适合你的。

而且,Akamai可以在10分钟内自由地更改所有这些中间域名,无需通知您,这样您就可以重新configuration您的跨界域覆盖。 明天再做一遍也是免费的。 乘以你打算使用水平分割DNS服务的所有不同的CDN,你就有了一个巨大的红色皇后赛。

无论如何,正如其他人所指出的 ,首先使用第三方,无约束,外部的,广告商资助的,混杂的代理DNS服务器并不是一个好主意。 人们不会梦想将代理HTTP服务或SMTP提交服务移交给广告商资助的,无合同的外部第三方。 代理DNS服务有点不同,并且适用相同的理由。 你想要做的是一个相当不好的主意。

如果你想让你的局域网的DNS查找性能更好,那就改用它了。

这是构成这个问题的行为使我的答案变得清晰的案例之一。 我没有想到任何DNS服务器能够自动作出这种区分。 我只是想手动将我们networking中最常用的cdn的一部分引导到正确的位置。 要做到这一点,我不得不在任何地方手动input值,在这一点上,我也可以做查找,并将这些logging直接放到我们的AD DNS服务器。 有条件的货运公司会更好,但我还没有在AD做过这样的方法。

然而,我会坐在这上面一段时间,因为这样做会产生影响(即需要经常检查事情没有改变,检查是否值得保留某些logging等等),而且还有可能是一个更好的方法。 在我们的情况下,我们是一个小学院,所以主要是两个cdn:netflix和facebook。 这两个网站分别占我们stream量的40%左右,分别是大小和点击率,一般来说查找速度更快,对这两个网站的结果都是正确的,可能会有明显的提升。