## 域名系统 #### (一)DNS的访问过程 (1)确认本机是否绑定hosts或者存在缓存。 (2)已设置默认DNS使用默认DNS,未设置即访问运营商localDNS。 (3)localDNS访问根DNS (4)访问顶级域名DNS (5)访问二级域名DNS,递归查询(权威DNS) ![](https://box.kancloud.cn/1d3c2ac8472f65d07a5c21f408305b1f_700x492.png) ![](https://img.kancloud.cn/93/a0/93a0542ae1c8814acad28708b9ac07a2_1080x555.png) > 注意:图中的IP可看成公网IP > > 详细解析过程请参考:https://www.cnblogs.com/liyuanhong/articles/7353974.html ***** >[info] 1、本地DNS服务器(又称LocalDNS、递归DNS,公共DNS是递归DNS的一种特例) 打开浏览器输入网站首页时,首先主机发送DNS请求会先到本地DNS服务器,若本地DNS服务器内有对应的缓存,可以直接进行调用; >[info] 2、DNS根服务器 若DNS服务器内没有对应的缓存,那么转发至DNS根服务器进行解析,但DNS根服务器没有记录具体的域名和IP地址的对应关系,而是告知本地的DNS服务器去域服务器上去查询,并且直接给出域服务器的地址; >[info] 3、DNS域服务器 本地DNS服务器继续向域服务器发出解析请求,网易对应的是.com域服务器,那么请求直接发送至.com域服务器,但域服务器接收到请求后也不会直接回应对应的域名和IP地址的对应关系,而是告知本地DNS服务器网易的域名所对应解析服务器的地址。 >[info] 4、解析服务器 本地DNS服务器向解析服务器发送解析请求,解析服务器会回应网易域名和IP地址的对应关系,本地DNS服务器在接收到回应后,将域名和IP地址的对应关系发送给客户,并且保留一份记录到自身的DNS服务器缓存中去,当下一个用户去访问网易的网站后会直接从本地DNS服务器进行调用。 >[warning] 参考文档:[https://blog.51cto.com/10316297/2121578](https://blog.51cto.com/10316297/2121578) ***** 分割线 ***** DNS似乎并没有这么简单: ![](https://box.kancloud.cn/fb8fd567bdf96e25ebbb2191bc10ff38_1378x1023.png) 以查询www.me.ayouleyang.cn域名为例: (1)LocalDNS缓存服务器 (2)根服务器 (3)cn服务器 (4)ayouleyang.cn服务器 ayouleyang.cn的解析DNS为dns17.hichina.com 又从头查一遍dns17.hichina.com域名的A记录 (5)me.ayouleyang.cn服务器 me.ayouleyang.cn的DNS服务器为dns.ayouleyang.cn 从头查一遍dns.ayouleyang.cn对应的A记录 (6)查询www.me.ayouleyang.cn得出结果 每一个NS记录都靠一个域名来解析,所以NS记录自身的域名也要解析一遍。 ***** > 其他学习文档:[https://blog.csdn.net/kim\_weir/article/details/78465641](https://blog.csdn.net/kim_weir/article/details/78465641)