一、定义
DNS是(Domain Name System域名系统)的缩写,是一个将ip地址映射成为域名或者将域名映射成为ip的一种服务。
我们知道,网络通信都是基于TCP/IP协议族的,网络层是IP协议地址。想要不同的计算机之间进行通信,是需要知道对方的IP的,可是为什么我们平时很少用到ip,而是用到域名这种东西呢?
其实主要是为了方便阅读,让我们记住一串的ip还不如记域名来的方便。当我们访问域名的时候,其实有个叫做DNS服务器帮我们完成了域名到IP的解析。
如下图所示

二、结构
域名系统其实是一个分布式数据库,它存放着各种类型的域名,包括域名与ip地址的映射关系等。它的域名层次结构如下所示

三、解析过程
如下图所示

分析如下:
当在浏览器中输入www.yy.com时
1、操作系统首先会检查本地的host文件,如果有匹配的域名和ip地址的映射,直接返回这ip地址,否则,进入下一个解析
2、host没有的话,则会检查本地dns解析器缓存,如果有,则返回对应的ip映射,完成解析
3、dns解析器也没有的话,则调用本地dns服务器,也就是网络中设置的首选dns服务器,如果这dns服务器中存在这个域名和ip的映射,则返回ip,完成映射
4、如果首选dns服务器也,没有的话,则根据首选dns服务器的设置,如果是未转发模式,则会把请求转发到根服务器,再由根服务器转发到顶级服务器,如上图所示顺序,最后完成解析,返回给本地服务器
5、如果是转发模式,则会把请求转发到上一级dns服务器,如果还不能解析,则会转发到根服务器或者再上上级服务器,以此类推。最后完成解析,返回给本地服务器
其实不管是浏览器还是客户端的请求,都是以上图中的形式完成了域名到ip地址的解析
网友评论