var
您好,欢迎访问景安网络旗下资讯网!
运营 建站 系统 数据库 编程

首页 > IDC资讯  >智能DNS的工作原理是什么?

智能DNS的工作原理是什么?

来源:互联网作者:vps发布时间:2015-12-18点击:1728

CDN是个很庞大的概念和体系。全世界CDN服务提供商屈指可数。我们熟悉的Google就是某CND的最大客户。我们今天只选取其中一小部分来讨论。说了半天。看上去似乎很复杂。鉴于经典的大多是搞WEB的。接触的最多的是WEB服务器/数据库等。既然是浅谈。我就举个简单的例子。

  CDN是个很庞大的概念和体系。全世界CDN服务提供商屈指可数。


  我们熟悉的Google就是某CND的最大客户。我们今天只选取其中一小部分来讨论。


  说了半天。看上去似乎很复杂。鉴于经典的大多是搞WEB的。接触的最多的是WEB服务器/数据库等。既然是浅谈。我就举个简单的例子。


  比如你弄一网站。假设你有能力购买2台服务器。作为WEB服务。暂时我们认为服务器本身不存在性能问题。一台托管在北方的网通机房。一台托管在南方的电信机房。2台服务器内容互为同步。则通过智能的DNS解析设备。将网通的用户定位到北方网通的服务器上。将电信的用户定位到南方电信的服务器上。这。就是最基础的CDN。我的理解是---广域网的负载均衡。


  2台服务器放置问题我不想多谈。有钱就行。2台服务器内容同步的方式很多。我也不想多谈。今天主要是要谈一下。如何实现让网通的用户去访问放置在网通的服务器。电信的用户去访问放置在电信的服务器。


  即如今很多服务提供商所谓的智能DNS解析。也就是互联网链路的负载均衡。


  电信/网通。2条链路的负载均衡。我们先来谈谈这个。因为这个是访问者最直观的体验。


  既然CDN的目的是为了提高用户访问网站的响应速度。最直接的方法就是做互联网链路的智能导向。


  当然。CDN也涉及多台服务器负载均衡。应用的负载均衡。包括中间件的应用负载均衡。因为时间关系暂且不表。


  虽然很绕。但是如果能搞明白。那才能理解下面的关于智能DNS的技术原理。


  上述DNS查询的常规流程。基本上就是如下图:


  PC->LocalDNS->RootDNS->域名DNS解析服务器地址->IP->返回给PC


  智能DNS的工作原理即是在域名DNS解析服务器地址这一步。工作流程如下:


  PC->LocalDNS->RootDNS->智能DNS解析->返回IP地址->返回给PC


  注意。上述的"返回IP地址"这一步。其实是根据PC的来源。智能的返回电信或者网通的IP地址。即如果请求解析的PC是电信线路的。则返回托管在南方电信机房的服务器的电信IP地址。反之。则返回托管在北方网通机房的网通的IP地址。


  看到这里。出现了一个问题。如何判断这个请求DNS的PC。他是电信线路还是网通线路呢?


  有2个方法。一个聪明的。一个笨的。我们先说笨的方法。如果智能DNS有一张庞大的IP地址分配表。表里面有所有的电信IP地址段和所有的网通地址段。则可以通过查询这个IP地址表来判断。请求的PC是属于哪个线路上的。这个方法是最直接。最高效。最稳妥的方法。虽然的确是笨了点。但是请各位注意。往往笨的方法就代表着稳定。代表着高可用性。所以。我很遗憾的告诉大家。基本上银行。证券。金融。这些重要部门。都是使用的这种笨的方法。


  另外一个聪明的方法。则是通过智能的动态检测的方法。在智能DNS解析设备接受到PC的DNS请求的时候。将使用电信/网通的2条线路分别发送一个探测包。发送目标可以为目标PC的IP地址。不过更多的发送目标为LocalDNS。这个包可能是ICMP的PING包。也可能是反向DNS查询的DNS包(TCP53)。当2个包有回应后。比较2个包的时间戳。延迟小的。则判定为优先解析的链路。


  说到这里。基本上把智能DNS解析的工作原理简单的介绍了一下。当然。实际环境中会有更复杂。更多方法更多手段来实现。我写这篇小文的目的。一来分享一下。二来混点威望。仅此而已。


  CDN很庞大。我认为此文主要是探讨其中的一部分。即互联网链路的负载均衡。也就是业内称为:广域网的全球负载均衡和应用交付网络。




关键词: 智能DNS

版权声明:本文系技术人员研究整理的智慧结晶,转载勿用于商业用途,并保留本文链接,侵权必究!

本文链接:https://www.zzidc.com:443/info/idczx/1676.html

返回顶部