01--DNS服务器1

DNS介绍

  Domian Name Servicelinux

  这是一种协议规范,属于C/S架构,在C/S架构下咱们须要套接字的方式来访问这个服务,因此,服务器端必需要拥有一个服务器端口;数据库

  因此,DNS服务使用的端口为 53/tcp 和 53/udp;其中 53/tcp 端口在主从服务器进行解析库同步的时候使用,53/udp 端口在作USL解释的时候使用;windows

现有DNS架构介绍

  如今又DNS架构由美国 IANA 组织来进行维护,IANA 组织同时也维护IP地址;缓存

  本地域名--hosts文件

    在网络发展之初,咱们的网站地址与 域名 之间的对应关系都存放在本地;这时候的网站主机并很少,这时候,添加一台主机,咱们只须要将该主机和域名对应关系添加到本地hosts文件便可;服务器

    windows的hosts文件:网络

      C:\Windows\System32\drivers\etc\hosts架构

1.2.3.4    www.test.com

      添加这个对应关系在最后后面便可dom

    linux的hosts文件:tcp

      /etc/hosts分布式

      同windows配置

    这样windows和linux就能够实现本地解析了;

  现有dns架构构成过程

    可是,随着互联网中网站服务器的添加,本地hosts添加的数量愈来愈多,这时候本地再来维护这个庞大的解析库关系,就变得很困难,而且查找起来也异常困难;

    此时,IANA机构提供了一台性能强大的公网服务器,来维护这个数据库,这时候,主机要作域名解析就能够直接找到这台服务器,从它上面获取解析结果;

    可是,数量依然在不停的增长,查找这些解析库成为了一个比较困难的问题;这时候咱们IANA机构就引入了分布式的想法,将解析任务交给了它的下级服务器,而这些服务器就是咱们的顶级域名服务器;这些服务器每一台服务器负责一个域名区域;

    而客户解析,由于查找麻烦的缘由,也不本身来查找域名,而是将这个工做交给了固定的DNS服务器,而本身直接找DNS服务器那去解析结果;

    这种架构,就是咱们现有的解析架构了;

  dns树形结构介绍

    根据刚才的描述,咱们有了各自的顶级域名服务器

      顶级域名(top level domain-tld)在最初的时候只有7个,包括:

        .com  .edu  .mil  .gov  .net   .org  .int

      而随着时间的推移,IANA开放了全部顶级域名服务器;通常状况下,顶级域名服务器在现有的互联网环境下能够更具三点来划分,包括组织域、国家域、反向域;

 

    在根域名下就是咱们的顶级域名服务器;此时,引入了一个概念--域domian;

    每个域名管理一个区域内部的服务器;

     全部的域名都是在根下(.),以后则是顶级域名,由根域名服务器进行管理,以后则是一级域名服务器,由顶级域名服务器进行管理;

    公司内部的DNS服务器,则向上级域名服务器进行注册,则此域名服务器,就能解析全部在该区域内的主机(例如.agongsi下的ns1 ns2 www三个主机)

DNS解析过程

  咱们在了解域名结构后,以后咱们就须要知道在互联网上如何进行域名解析;

  域名查找方式

    默认状况下咱们更具区域来进行域名解析;PC在请求域名的时候会直接找到本身的DNS服务器,再由该DNS服务区代理PC去进行这个地址的解析;

    首先就会来到根域名服务器,来进行查找,根域名服务器则会告诉DNS服务器该域名所在的顶级域名区域,例如 .com;

    收到该回复后,DNS服务器则会再去询问顶级域名服务器。这时候,.com 就会回复它的下级域名服务器,例如 .agongsi 的域名给DNS服务器;

    这时候,DNS就去询问 .agongsi 这个区域的负责人,也就是 ns 服务器,这时候就能回复获得对应的IP地址;

    最后,将这个IP地址放回给PC;

    递归查找:

      其中,PC只须要指定dns服务器,向该dns服务器发起解析请求,就能获得解析结果,这个过程咱们叫作递归查找;

    迭代查找

      其中,DNS服务器依次去查找了根域名服务器、顶级域名服务器、公司域名服务器;最后才能获得正确的解析结果,这个过程咱们叫作迭代查找;

      可知,迭代查找是很是消耗资源的;

    【注意:除了查找DNS外,都有的过程当中都会进行DNS解析名称的缓存,这个咱们以后再说】

  使用互联网DNS解析域名

    此时,咱们要注意一个问题,再上图中,PC所链接的DNS也是公司内部的DNS服务器,也就是说,这台DNS服务器除了为PC作解析之外,同时也能够承当为互联网上其余PC解析本地服务器的责任;

    同理,为了方便咱们上网,咱们内部并不须要去搭建DNS服务器,能够直接指定互联网上的DNS服务器,让运营商的DNS服务器来为咱们进行解析也能够;

    【注意,这里只有一个问题,就是权限问题,咱们不可能让每一个人公司都去提供一个相似于8.8.8.8的DNS服务器,用来给别人进行解析,因此,咱们就须要对DNS作权限管理,这个问题咱们以后再说明】

  解析类型

    常见的解析类型由两种,这个在两个不一样的区域来实现解析的;因此,在配置的时候,咱们使用两个zone来配置;

    正向解析

      Name -->  IP 将域名解析为IP地址

    反向解析

      IP --> Name 将IP解析为 name ;这个技术是以线索提示的方式来实现,这是一种较为复杂的问题,在互联网上大多数的域名都没法行进行反向解析;可是,方向解析是很重要的,例如:它能够用来验证对方有些服务器是否为来及邮件服务器;

DNS服务器的类型

  根据DNS服务器的解析过程,咱们由多种DNS服务器,主要包括主备dns服务器,缓存服务器,以及DNS转发器;

  主DNS服务器/(从)辅助DNS服务器

首先,主DNS的解析库是由管理员直接手动维护;
  辅助DNS服务器:从主DNS服务器或其余的从DNS服务器那里 “复制”(区域传递)一份解析库;
辅助DNS服务器的解析库的来源则是从主服务器同步而来的,从而避免了人为的失误所致使的解析库不一致的问题;复制过程过要考虑主DNS服务器不断变化的问题;咱们经过 序列号来肯定;
序列号:解析库的版本号;前提:主服务器解析库内容发生变化,其序列号递增;
同步过程又分为两种,区域传递:
一、全量传送:传递整个解析库
二、增量传送:传递解析库变化的那个部份内容;
同步时间间隔-- 刷新时间:从服务器从主服务器请求同步解析库的时间间隔;
重试时长:从服务器从主服务器请求同步解析库失败时,再次尝试时间间隔;
过时时长:从服务器始终联系不到主服务器时,过多久后就放弃从服务器角度,中止提供服务;
通知机制:主服务器要求辅助服务器主动向服务器及逆行解析库同步
【注意:主从服务器是同时工做的,都会接受请求,因此是能够基于主从服务器进行负载分担的;】

  缓存DNS服务器

为了提升解析速度,我经过本地缓存的方式来实现本地解析;
同时,缓存的域名解析条目会被服务器拿来,随时比对其本来的域名服务器上的域名条目,这就是经过比较hash值的方式,保证缓存的域名条目的正确性;
经过公共缓存的方式来实现上述解析方式;
本地DNS服务器实现本地域名缓存;
PC1访问网站的缓存,保持在本地缓存;
这样就更加提升了服务器的解析速度。

  转发器

    本地DNS服务器直接指定互联网dns服务器,帮助进行DNS条目的解析;

    由图可知,转换器上须要指定公网DNS,这时候全部的DNS请求都会由公网DNS为咱们解析;

相关文章
相关标签/搜索