1、简介

DNS(Domain Name System)域名系统。

目前提供网络服务的应用使用唯一的32位的IP地址来标识,但是由于数字比较复杂、难以记忆,因此产生了域名系统(DNS),通过域名系统,可以使用易于理解和形象的字符串名称来标识网络应用(如www.baidu.com、www.taobao.com)。访问互联网应用可以使用域名,也可以通过IP地址直接访问该应用,在使用域名访问网络应用时,DNS负责将域名解析为IP地址。

全世界共有有13台DNS根域服务器

顶级域名:
.com .org .edu .gov .net .mil .info
商业 组织 教育 政府 通讯 军事 信息

根域:
cn hk us jp tw in
.com.cn .net.us .edu.cn

2、DNS服务器特点

1.分布式的数据库
2.解决了数据不一致,避免了名字冲突
3.有缓存机制,提高了性能和可靠性

3、域名解析过程

为了将一个名字解析成一个IP地址,用户应用程序调用一个称为解析器的库程序,将名字作为参数传递给它,形成DNS用户;然后DNS用户发送查询请求给本地域名服务器,服务器首先在其管辖区域内查找名字,名字找到后,把对应的IP地址返回给DNS客户。完整的名字解析过程如下图所示:
image.png

DNS是在互联网上进行域名解析到对应IP地址的服务器,保存互联网上所有的IP与域名的对应信息,然后将我们对网址的访问,解析成IP地址并返回,然后电脑再去通过IP地址去访问服务器,获得数据。

首先就要讲一下域名,这里我拿百度的地址来进行讲解: www.baidu.com.

完整的域名,后面都是有一个“.”的,但是一般使用中都是默认省略点了,这是一个完整的域名。通过 “.” 来进行分割成三个部分:

www: www是 主机名
baidu: baidu是 域名
com: com是 类型

但是平时,我们习惯将整 域名+类型合起来成为域名,主机名,称之为子域名。 而实际上并不是这样的。严格来说就是 主机名,域名,类型。

然后,当我们访问 www.baidu.com 时,电脑会先去dns服务器上查找与这个网址对应的 ip并返回。这个过程就是DNS解析。而DNS服务器又分为下面几种:

1、”.” :完整网址中最后的那个“.” 就代表DNS的根服务器,根服务器是DNS服务器中最上层的服务器,分布在全球各地。其中保存着该区域的所有的类型DNS服务器的IP地址

2、com : com是一个DNS类型,像常见的com,net,org,edu,gov是政府的规定的正式类型,还有常见的商用类型等。里面保存着的都是类型为 com 的域名服务器的IP地址。

3、baidu.com : baidu为域名,是com的下级dns服务器,里面保存着域名为 baidu.com 的所有主机对应的IP地址

当我们访问 www.baidu.com 时,会先去根服务器中查找所有的 com 类型服务器的地址,然后再去 com 类型的服务器上查找所有 baidu.com 域名的服务器地址,最后再去 所有 baidu.com 的域名服务器上找到 www.baidu.com 这个网址对应的IP地址,然后返回给访问www.baidu.com的电脑主机。 然后主机就用这个IP与服务器建立连接。

另外,所有这些不同层级DNS服务器都一般是由多台服务器同时提供服务,做一个冗余好可用,负载均衡。 在这上面分为:

1、主服务器: 又名master服务器,所有其他从服务器和缓存服务器的域名解析信息都是由master服务器上抓取下来的,所有的修改都直接在master上修改就行了,别的自动同步

2、从服务器: 又名salve服务器,是作为master服务器的冗余备份,让master故障后,salve还能继续提供服务。

3、缓存服务器: 主要作用就是缓存DNS信息,提供服务给用户查询,并不能自定义域名配置进行解析。

然后再DNS服务器上进行查询的时候,分为两种查询模式,递归查询和循环查询:

递归查询:
就是去到一个dns服务器查询到结果后,就将结果返回给查询者,查询者再去查询别的DNS服务器,这样一次一次的进行查询返回,直到找到数据。

循环查询(迭代查询):
循环查询就是查询者像一个DNS服务器发起查询后,由这个DNS服务器去查询别的服务器A,A又去查询别的服务器B,直到找到结果,然后返回B,B返回给A,A再返回给查询者。

一般情况下,是我们个人主机,向我们网络配置中配置的DNS服务器进行查询,使用循环查询,由指定的DNS服务器代替我们用递归查询去网络上查询得到结果。然后返回给个人用户主机。 这就是DNS服务器的工作原理。

而现在我们就是要搭建自己DNS服务器,让公司内所有员工的DNS服务器地址都指向到这台服务器上。通过这个本地的DNS服务器来进行解析,代替常用的DNS服务器,如果各大运行商的,114的,阿里云的等等。

这样做就可以自定义自己内部的域名,通过域名来访问内网的服务器,像公司内网的论坛,内网的网站等等,都可以直接输入网址进行访问。