DNS服务器(一):基本原理

1、简介
数据库

网络中的主机通讯是经过IP地址来实现的,一般IPv4的地址是四个数字加点组成,若是和每台主机通讯咱们都要去记忆IP地址的话,这一般对于人类来说是至关痛苦的。因而网络上就有了一套为了解决这个问题的方案出现了,也就是DNS主机名称解析系统。它是一套可以将数以千万计的IP地址经过查询DNS数据库,轻松的转化成与之对应的一串单词字符串,也就是主机名,网络上称之为域名,相对于IP地址,用单词组成的域名明显好记多了。缓存


2、DNS域名解析系统的层级关系服务器

DNS域名解析系统是有层级关系的,整个层级关系的表现形式就像一棵大树,每一层,咱们称之为域。最顶层的域咱们一般叫做根域,用点号表示,第二层一般用com、net、edu、gov、mil、org....,这层咱们叫做顶级域,往下第三层,也就是咱们常常见到的域名了,如,51cto.com,这一层咱们称之为二级域,当二级域加上www后,就是第四层了,就这样一直往下细分。域名的写法一般是由小到大,从左往右书写,用点链接,最后加点表示根,整个结构以下图所示:网络

wKioL1MhDxLinreBAAEpIW-0pxM039.jpg


3、DNS的资源记录
ide

咱们要查询这些庞大数据固然要有专门的主机负责这些工做了,提供查询、存储DNS数据服务的主机咱们称之为DNS服务器。网络上为了方便域名的注册、管理、解析,将DNS域名映射到特定类型的资源信息,咱们称之为资源记录。资源记录是有类型的,大数据

资源记录类型
SOA NS MX A PTR AAAA CNAME
起始受权 域名服务器 邮件交换器 域名-->IP IP-->域名 域名-->IPv6
别名记录

特色:spa

只能有一个,并且必须是第一个blog

特色:递归

用于表示DNS服务器的域名地址dns

特色:

用于一个域下的邮件使用

特色:

咱们常常用到的就是它了

特色:

和A记录相反,用于反向解析

特色:

基本不用

特色:

用于做A记录的域名的别名,


4、DNS服务器的工做原理

假设咱们以wubinary.blog.51cto.com为例:

第一步:当咱们使用DNS客户端请求查询此域名的的A记录时,DNS服务器首先会判断所要查询域名是属于哪一个区域,是否在本身的管辖范围,假设这次域名不在管辖范围。

第二步:为了肯定当前域名是在哪一个级别,DNS服务器要向根询求帮助,根会向DNS服务器返回所在域名的顶级域的DNS服务器地址,也就是根的下一级com的DNS服务器地址。此时DNS服器根据这个地址又再次查询,这次查询得到了51cto.com的DNS的服务器地址。因而终于肯定了wubinary.blog.51cto.com的区域所在的DNS服务器地址了。DNS服务器的此类肯定一个地址,并使用这个址去查询下一个的查询方式咱们称之为迭代查询

第三步:肯定了区域地址后,51cto.com为了向DNS服务器返回结果须要一级一级的往下查。一开始查询到了blog.51cto.com的DNS服务器地址,因而blog.51cto.com的DNS服务器则向下查询。blog.51cto.com又查询到了wubinary.blog.51cto.com的DNS服务器地址,此时的地址正是DNS服务器要找的地址。到了这一步,wubinary.blog.51cto.com的DNS服务器则会把结果向它的上级汇报,因而上一级又向上一级汇报,最终结果回到了最初的DNS服务器,此时DNS客户端才能得到最终的IP地址。像这样DNS服务器的数据逐级遍历及逐级返回的过程,咱们称之为递归查询


若是咱们查询的域名正好和当前查询使用的DNS服务器所匹配,则DNS服务器会先查询本地缓存是否存在,若是存在则返回缓存数据,若是不存在则去数据文件中读取数据并运回结果。


5、三个与解析有关的配置文件

/etc/hosts:此文件早期在没有出现DNS服务器的时候,做用和DNS服务器相似,不过随着网络的发展,单个文件根本没法知足需求,因而,此文件一般运用于本地IP解析。

/etc/resolv.conf:定义DNS服务器IP地址,本地解析域名一般使用的都是这里面定义的IP地址。

/etc/nsswitch.conf:这个文件则是来决定先要使用/etc/hosts仍是/etc/resolv.conf的设置。


总结:理解DNS的树状结构、递归及迭代查询后,其它就好办了。

相关文章
相关标签/搜索