DNS简介
了解完用户访问网站的基本流程后,再来了解下DNS解析的基本流程,这是企业针对运维岗位进行招聘时经常会面试的问题,因此,必须要熟练掌握。DNS,全称为 Domain Name System,它在一个网站运行中起到了至关重要的作用,其主要作用是把网站域名解析为对应的P地址,例如:把www.baidu.com解析为对应的IP地址记录,如1.1.1.1,这个从域名到IP的解析过程,称作A记录,即 Address Record DNS系统除了负责这个最重要的A记录解析外,还有很多的功能
例如: 设置 CNAME别名记录,这个别名解析功能常被CDN加速服务商应用。 设置MX邮件记录,这个MX记录功能,在购买或搭建邮件服务时会被用到。 设置PTR记录,反向解析,即把IP地址解析为对应的域名,和A记录的解析相反,此功能在邮件服务等业务中会用到。
DNS系统的架构类似于一棵倒挂着的树(和 Linux系统目录结构类似),它的顶点也是根(""),只不过这个根是用点("")来表示的,不是目录的根斜线("/)。整个DNS系统的树状结构如图所示。 DNS解析流程
(1)DNS解析流程说明
客户端是怎样一步步通过各个层级的DNS,获取到域名所对应的IP的呢?这里给大家做一个较为详细的说明。DNS的解析流程实际上就是从用户在客户端浏览器中输入网站地址并按回车开始的,一直持续到获取域名对应的IP,整个过程可分为如下几个步骤。
第一步:客户端用户在浏览器里输人www.etiantian.org网站地址后回车,系统首先会查找系统本地的DNS缓存及hosts文件信息,确定是否存在www.etiantian.org域名对应的IP解析记录,如果有就直接获取到IP地址,然后去访问这个IP地址对应的www.etiantian.org域名的服务器。一般第一次请求时,DNS缓存是没有解析记录的,而 hosts多为内部临时测试使用。
第二步:如果客户端本地DNS缓存及本地hosts文件没有www.etiantian.org域名对应的解析记录,那么,系统会把浏览器的解析请求发送给在客户端本地设置的DNS服务器地址(通常称此DNS为LDNS,即 Local dns)解析,如果LDNS服务器的本地缓存有对应的解析记录就会直接返回IP地址给客户端;如果没有,则LDNS会负责继续请求其他的DNS服务器。
第三步:LDNS从DNS系统的("")根开始请求对www.etiantian.org域名的解析, 根DNS服务器在全球一共有13台,根服务器下面是没有www.etiantian.org域名解析 记录的,但是根下面有www.etiantian.org对应的顶级域.org的解析记录,因此,根会 把.org对应的DNS服务器地址返回给LDNS。
第四步:LDNS获取到org对应的DNS服务器地址后,就会去.org服务器请求 www.etiantian.org域名的解析,而org服务器下面也没有www.etiantian.org域名对应的 解析记录,但是有 etiantian.org域名的解析记录,因此,。org服务器会把 etiantian.org对 应的DNS服务器地址返回给LDNS。
第五步:同理,LDNS获取到 etiantian.org对应的DNs服务器地址后,就会去 etiantian.org服务器请求对www.etiantian.org域名的解析,etiantian.org域名对应的DNs 服务器是该域名的授权DNS服务器,这个DNS服务器正是企业购买域名时用于管理解 析的服务器(也可能是自建的授权DNS服务器),这个服务器会有与www.etiantian.org 对应的IP解析记录,如果此时没有,就表示企业的域名人员没有为www.etiantian.org 域名做解析,即网站还没架设好。
第六步:etiantian.org域名DNS服务器会把www.etiantian.org对应的IP解析记录 (例如1.1.1.1)发给LDNS。
第七步:LDNS把来自授权DNS服务器的与www.etiantian.org对应的IP解析记录发给客户端浏览器,并且LDNS会在本地把域名和IP的对应解析记录缓存起来,以便下一次更快地返回相同解析请求的记录。至此,整个DNS的解析流程就完成了。
DNS解析流程图
通过实践理解DNS解析流程 下面通过dig命令来帮助大家进一步理解DNS解析流程。