DNS原理和智能DNS及CDN

CDN是什么



  CDN(Content Delivery Network)是内容分发网络。  



作用:



  使用户可以就近取的所需要的内容,加速用户访问网站资源的速度。物理距离更近,响应速度更快。拦截部分网络请求,对主站分流作用,减轻了主站的负载。



  CDN= 更智能的镜像 + 缓存 + 流量导向



原理:



  利用部署大量网络节点,通过服务器缓存加速,让用户可以就近同运营商网络,更快的访问网络资源。



常用使用场景:



  1.视频网站视频加速。



  2.图片网站,图床。缓存静态资源如各类型图片、html、css、js文件。



  3.大文件下载,获得更快的下载速度。



  



CDN关键技术:



  1. 缓存算法  



    缓存算法决定命中率、源服务器压力、POP节点存储能力。



  2. 分发能力。



    分发能力取决于互联网数据中心(IDC)能力和IDC策略性分布。



  3. 负载均衡。



    负载均衡(智能调度)决定最佳路由、响应时间、可用性、服务质量。



  4. 基于DNS[BIND])。



  5. 支持协议。



    支持协议如静动态加速(图片加速、https带证书加速)、下载加速、流媒体加速、企业应用加速、手机应用加速等。



  



DNS是什么



  DNS(Domain Name System)域名系统,域和名是分开的是指两个东西,是可以根据域名查出其对应的IP地址的一种服务。域名是由点,字母和数字组成,点分割不同的域。



  域名是分层的,可分为不同级别,包括顶级域名、二级域名、三级域名、注册域名等。



  域名是不区分大小写的,如下图。


  



  我们可以在linux系统中用dig命令来查看。如果是centos系统没有该命令可以使用 yum install bind-utils 来安装。



  



 当然也可以通过一些其他工具查看,比如站长工具DNS域名查询 http://tool.chinaz.com/dns


  



  



DNS缓存



智能DNS:



  智能DNS比传统DNS更好的地方就是能够基于IP信息给不同的用户最合适的服务器IP,可以给用户提供更好的网络服务。



  作用:



    1.通过减少地理上的链路距离来减少访问服务的延时。



    2.静态资源CDN加速。



    3.负载均衡,比如北京的用户访问服务会自动跳转到北京的服务器,减少服务器压力。



    4.防止DDOS攻击。



  缺陷:



    1.成本增加,比如硬件成本,维护成本。



    2.不支持配套failed over应用检测机制,比如有一台服务器宕机了,但是智能DNS还会把请求发送给这台已经宕机的服务器。不能实时切换服务。



    3.准确性欠缺。



智能DNS实现原理
  如下图所示



  



  图中



  CNT: 电信运营商缩写 CNU :联通缩写 CNM :移动缩写



  Local DNS:用户所在区域的DNS,也是用户首先访问的,负责缓存DNS相关信息。



DNS扩展协议EDNS



  EDNS就是在遵循已有的DNS消息格式的基础上增加一些字段,来支持更多的DNS请求业务。



DDNS



  动态域名解析(Dynamic DNS,简称DDNS)是把互联网服务原理名指向可变IP地址的系统。



DNS优化(DNS 缓存)



  DNS查询的过程经历了很多的查询步骤,如果每次DNS解析的话都要重新查询就会耗费太多的时间和资源。所以我们应该尽早的返回真实的 IP 地址,减少查询过程,也就是 DNS 缓存。



DNS劫持



  域名劫持是互联网攻击的一种方式,通过攻击域名解析服务器(DNS),或伪造域名解析服务器(DNS)的方法,把目标网站域名解析到错误的地址从而实现用户无法访问目标网站的目的。那么如何预防DNS劫持呢?下面看看HTTPDNS。



HTTPDNS



  HTTPDNS 就是利用 HTTP 协议与 DNS 服务器交互,代替了传统的基于 UDP 协议的 DNS 交互,绕开了运营商的 Local DNS,可以防止了域名劫持。

说的智能DNS,大家可能不太了解,今天小编带你了解智能DNS和原理。几年前原来的中国电信公司按照地域划分成了新的电信公司和网通集团,南电信、北网通的说法也随之而来。在北方地区,用户若使用网通的服务器就会发现网速很快,但是访问电信的服务器时网速就变得很慢,甚至还会出现访问不到的情形。这些现象就是因为原中国电信分家的结果,还影响了公司的经济效益。智能DNS却能很好的解决上述问题。



首先给大家介绍一下普通的DNS服务器。普通的DNS服务器是给使用用户解析出访问的IP地址记录,但是却不能自动判断用户是什么服务器,这样就会使使用的用户解析固定IP地址。



智能DNS,它是根据用户们的来路,通过系统的智能化判断来路后,再反馈给用户,这样用户们不用自己进行选择,减轻了用户的使用过程的复杂程度。例如,在一家企业里,他们使用的宽带有电信、网通、移动,有三个使用不同宽带的客户访问该公司的网站时,智能DNS就会自动根据这个客户的IP地址进行判断,判断出该客户使用的是哪家宽带,再通过电信反馈给这个客户。说得再通俗一些,就是假如你有一个网站,这个网站连着多个服务器(电信、网通、移动……),通过智能DNS解析,能让来你网站访问者(他使用的是移动的服务器)链接到你的移动上;信的访问者就会链接到你的电信服务器上。它起到均衡的作用,防止某个服务器访问者过多,是网站瘫痪。



原理:发起访问的域名通过智能DNS进行判断,根据预先设定的智能DNS库进行判断,判断出是哪一家的运营商,再对对应的运营公司出一个最佳的IP,然后进行访问。



智能DNS解析的优点:



第一、它可以自动区分开网通用户和电信用户,可以使用户减少这两家运营商他们之间的接口。



第二、针对于那些客流量较大的网站,可以使用智能DNS解析把这些流量分配给几个不同的服务器,这样可以大大提高网站的速度。



第三、在有网通和电信的的电脑室里可以设置多个镜像的站点,当不同地区的客户访问不同的服务器,同时也可以加快访问的速度。



https://help.aliyun.com/document_detail/29730.html



网络通讯大部分是基于TCP/IP的,而TCP/IP是基于IP地址的,所以计算机在网络上进行通讯时只能识别如“202.96.134.133”之类的IP地址,而不能认识域名。我们无法记住10个以上IP地址的网站,所以我们访问网站时,更多的是在浏览器地址栏中输入域名,就能看到所需要的页面,这是因为有一个叫“DNS服务器”的计算机自动把我们的域名“翻译”成了相应的IP地址,然后调出IP地址所对应的网页。



什么是DNS?
DNS( Domain Name System)是“域名系统”的英文缩写,是一种组织成域层次结构的计算机和网络服务命名系统,它用于TCP/IP网络,它所提供的服务是用来将主机名和域名转换为IP地址的工作。DNS就是这样的一位“翻译官”,它的基本工作原理可用下图来表示。



DNS域名称
域名系统作为一个层次结构和分布式数据库,包含各种类型的数据,包括主机名和域名。DNS数据库中的名称形成一个分层树状结构称为域命名空间。域名包含单个标签分隔点,例如:im.qq.com。
完全限定的域名 (FQDN) 唯一地标识在 DNS 分层树中的主机的位置,通过指定的路径中点分隔从根引用的主机的名称列表。 下图显示与主机称为 im 内 qq.com DNS 树的示例。 主机的 FQDN 是 im.qq.com。
DNS 域的名称层次结构



DNS域名称空间的组织方式
按其功能命名空间中用来描述 DNS 域名称的五个类别的介绍详见下表中,以及与每个名称类型的示例。



DNS 和 Internet 域
互联网域名系统由名称注册机构负责维护分配由组织和国家/地区的顶级域在 Internet 上进行管理。 这些域名按照国际标准 3166。 一些很多现有缩写,保留以供组织中,以及两个字母和三个字母的国家/地区使用的缩写使用下表所示。一些常见的DNS域名称如下图:



资源记录
DNS 数据库中包含的资源记录 (RR)。 每个 RR 标识数据库中的特定资源。我们在建立DNS服务器时,经常会用到SOA,NS,A之类的记录,在维护DNS服务器时,会用到MX,CNAME记录。
常见的RR见下图:



Dns服务的工作过程
当 DNS 客户机需要查询程序中使用的名称时,它会查询本地DNS 服务器来解析该名称。客户机发送的每条查询消息都包括3条信息,以指定服务器应回答的问题。
● 指定的 DNS 域名,表示为完全合格的域名 (FQDN) 。
● 指定的查询类型,它可根据类型指定资源记录,或作为查询操作的专门类型。
● DNS域名的指定类别。
对于DNS 服务器,它始终应指定为 Internet 类别。例如,指定的名称可以是计算机的完全合格的域名,如im.qq.com,并且指定的查询类型用于通过该名称搜索地址资源记录。
DNS 查询以各种不同的方式进行解析。客户机有时也可通过使用从以前查询获得的缓存信息就地应答查询。DNS 服务器可使用其自身的资源记录信息缓存来应答查询,也可代表请求客户机来查询或联系其他 DNS 服务器,以完全解析该名称,并随后将应答返回至客户机。这个过程称为递归。
另外,客户机自己也可尝试联系其他的 DNS 服务器来解析名称。如果客户机这么做,它会使用基于服务器应答的独立和附加的查询,该过程称作迭代,即DNS服务器之间的交互查询就是迭代查询。
DNS 查询的过程如下图所示。



1、在浏览器中输入www.qq.com域名,操作系统会先检查自己本地的hosts文件是否有这个网址映射关系,如果有,就先调用这个IP地址映射,完成域名解析。



2、如果hosts里没有这个域名的映射,则查找本地DNS解析器缓存,是否有这个网址映射关系,如果有,直接返回,完成域名解析。



3、如果hosts与本地DNS解析器缓存都没有相应的网址映射关系,首先会找TCP/ip参数中设置的首选DNS服务器,在此我们叫它本地DNS服务器,此服务器收到查询时,如果要查询的域名,包含在本地配置区域资源中,则返回解析结果给客户机,完成域名解析,此解析具有权威性。



4、如果要查询的域名,不由本地DNS服务器区域解析,但该服务器已缓存了此网址映射关系,则调用这个IP地址映射,完成域名解析,此解析不具有权威性。



5、如果本地DNS服务器本地区域文件与缓存解析都失效,则根据本地DNS服务器的设置(是否设置转发器)进行查询,如果未用转发模式,本地DNS就把请求发至13台根DNS,根DNS服务器收到请求后会判断这个域名(.com)是谁来授权管理,并会返回一个负责该顶级域名服务器的一个IP。本地DNS服务器收到IP信息后,将会联系负责.com域的这台服务器。这台负责.com域的服务器收到请求后,如果自己无法解析,它就会找一个管理.com域的下一级DNS服务器地址(qq.com)给本地DNS服务器。当本地DNS服务器收到这个地址后,就会找qq.com域服务器,重复上面的动作,进行查询,直至找到www.qq.com主机。



6、如果用的是转发模式,此DNS服务器就会把请求转发至上一级DNS服务器,由上一级服务器进行解析,上一级服务器如果不能解析,或找根DNS或把转请求转至上上级,以此循环。不管是本地DNS服务器用是是转发,还是根提示,最后都是把结果返回给本地DNS服务器,由此DNS服务器再返回给客户机。



从客户端到本地DNS服务器是属于递归查询,而DNS服务器之间就是的交互查询就是迭代查询。


附录:
本地DNS配置转发与未配置转发数据包分析
新建一DNS,具体怎么建我这里就不再描述了,见我的上一篇博文《在Win2003中安装bind【部署智能DNS】》
1、DNS服务器不设转发
在192.168.145.228服务器上安装上wireshark软件,并打开它,设置数据包为UDP过滤,在192.168.145.12客户机上用nslookup命令查询一下www.sohu.com,马上可以看到本地DNS服务器直接查全球13台根域中的某几台,然后一步步解析,通过递代的方式,直到找到www.sohu.com对应的IP为220.181.118.87。
本地DNS服务器得到www.sohu.com的IP后,它把这个IP返回给192.168.145.12客户机,完成解析。



2、DNS服务器设置转发



因www.sohu.com域名在第一步的验证中使用过,有缓存,为了不受上步实验干扰,我们在客户机上192.168.145.12上nslookup www.baidu.com。从图上看,本地DNS把请求转发至192.168.133.10服务器,133.10服务器把得到的IP返回给本地DNS,然后本地DNS再把IP告诉DNS客户机,完成解析。

随着原中国电信集团按南北地域分家,新的中国电信和网通集团随即成立,互联网的骨干网也被一分为二了,北有网通、南有电信。从此,细心的网民可以发现,有些经常访问的网站速度一下子慢了下来,有时候还有访问不到的情况出现。例如北方地区的网络用户访问中国网通的服务器会非常快,而访问中国电信的服务器时,感觉非常慢。这种现象不仅影响了网站的访问量,更严重的是它直接影响了一些经营性网站的经济效益。据分析,产生这个问题的根本原因是中国电信分家之后,电信与网通之间的互连存在问题。虽然信息产业部已经在规划南北互通计划,但在今后相当长的一段时期内,南北方网互连的问题还会长期存在。 智能DNS阳光互联解决方案很好的解决了上面所述的问题 智能DNS解析 [1] 是针对电信和网通互联互通不畅的问题推出的一种DNS解决方案。 中文名智能dns解析外文名dns特 点解决网站速度一下子慢的问题针对问题电信和网通互联互通不畅的问题性 质DNS解析系统 目录 1 原理 2 基本内容 3 用途 4 好处 5 客户群体 6 条件 7 络拓扑图 原理编辑 智能DNS策略解析很好的解决了上面所述的问题。DNS策略解析最基本的功能是可以智能的判断访问您网站的用户,然后根据不同的访问者把您的域名分别解析成不同的IP地址。如访问者是网通用户,DNS策略解析服务器会把你的域名对应的网通IP地址解析给这个访问者。如访问者是电信用户,DNS策略解析服务器会把您域名对应的电信IP地址解析给这个访问者。 智能DNS策略解析还可以实现就近访问机制(即将推出)。有些用户在国外和国内都放置了服务器,使用我们的DNS策略解析服务可以让国外的网络用户访问你国外的服务器,国内的用户访问国内的服务器,从而使国内外的用户都能迅速的访问到你的服务器。 智能DNS策略解析还可以给你的多个主机实现负载均衡,这时来自各地的访问流量会比较平均的分布到你的每一个主机上.我们提供的这套DNS策略解析服务为用户提供了完善的管理工具,用户登陆这个管理后台后就可以方便的自行添加、修改、删除您的各种域名记录.包括域名A记录、CNAME记录、MX记录。 基本内容编辑 具体实现是:把同样的域名记录分别设置指向网通和电信IP,当网通的客户访问时,智能DNS会自动判断访问者来路,并返回网通服务器的IP地址;电信的客户访问时会自动返回电信的IP地址。 这样,就可以避免网通的客户去访问电信的网络,以及电信的客户去访问网通的网络,很好的解决了客户跨网访问不畅的问题。当然亦可加入多IP,由智能DNS自动“选路”;相同的线路的IP地址可以做负载均衡、宕机检测等功能。 比如,WinMyDNS的智能DNS就会自动判断用户的上网线路是网通还是电信,然後智能返回网通或者电信服务器的IP。 新一代智能DNS比如WinMyDNS的多线多地区智能DNS,能够自动判断用户的上网线路是上海电信还是广东电信,然后智能返回对应的上海电信和广东电信服务器IP。 同时新一代智能DNS比如WinMyDNS,还有负载均衡、宕机处理功能,如果服务器宕机,新一代的智能DNS能够实时检测出宕机服务器IP,并把dns解析请求解析到运行正常的服务器。从而提供一个高可靠永不宕机的服务。 智能DNS的出现,颠复了传统的每个域名对应一个镜像的做法转到电信,转到网通),让用户更加傻瓜的去访问网站就可以转到电信或者网通的服务器上)。 用途编辑 双线路的机房:服务本身有两个IP,一个电信IP,一个网通IP或者其他线路。 镜象网站:在网通及电信的机房放置多个相同的镜象站点, 让不同的地方客户访问不同的站点。 负载均衡:对于流量比较大的网站,可以把流量分配到几台不同的服务器上,以提高网站速度。 个性化站点服务:比如通过IP表的重新定义, 让国外的客户自动访问英文版的网站; 让国内的客户自动访问中文版的网站。 CDN加速器:通过与squid等WEB缓存软件结合实现CDN加速器。 防止DDOS攻击:通过多个线路分散攻击流量,从而达到抵挡DDOS攻击。 智能DNS解析实现原理: 定义IP表:定义各个不同客户群的IP表,以区别客户来源。 定义智能DNS解析:为每一种不同的客户来源定义一条个性化的DNS解析记录。 使他们之间访问的IP地址不同。 好处编辑 1、区分网通用户与电信用户,减少用户使用两运营商之间的接口网络。2、在网通及电信的机房放置多个相同的镜象站点,让不同的地方客户访问不同的站点,加快访问速度。3、对于流量比较大的网站,可以通过该功能把流量分配到几台不同的服务器上,以提高网站的运行速度。 客户群体编辑 1、网站访问有大量来自网通,电信的客户,同时拥有网通,电信服务器的IP或空间的IP,对网站的访问速度要求较高。 2、做电信或网通CDN加速的用户 。 3、购买双线空间的用户或服务器用户(是指的是拥有电信,网通两个IP的虚拟主机用户或服务器用户)。 条件编辑 1、域名的dns服务器先修改为:ns1 2、必须同时拥有电信和网通两个线路的IP。 智能dns解析的技术原理:电信用户访问电信服务器,网通用户访问网通服务器,其他线路用户,根据您设置的默认其他线路的解析服务器来决定访问电信或网通的服务器


Category web