简单来讲,DNS 相当于一个翻译官,负责将域名翻译成 ip 地址
域名是一个具有层次的结构,从上到下一次为根域名、顶级域名、二级域名、三级域名...
例如www.xxx.com,www为三级域名、xxx为二级域名、com为顶级域名,系统为用户做了兼容,域名末尾的根域名.一般不需要输入
在域名的每一层都会有一个域名服务器,如下图:
除此之外,还有电脑默认的本地域名服务器
DNS 查询的方式有两种:
在域名服务器解析的时候,使用缓存保存域名和 IP 地址的映射
计算机中 DNS 的记录也分成了两种缓存方式:
解析域名的过程如下:
首先搜索浏览器的 DNS 缓存,缓存中维护一张域名与 IP 地址的对应表
若没有命中,则继续搜索操作系统的 DNS 缓存
若仍然没有命中,则操作系统将域名发送至本地域名服务器,本地域名服务器采用递归查询自己的 DNS 缓存,查找成功则返回结果
若本地域名服务器的 DNS 缓存没有命中,则本地域名服务器向上级域名服务器进行迭代查询
本地域名服务器将得到的 IP 地址返回给操作系统,同时自己将 IP 地址缓存起来
操作系统将 IP 地址返回给浏览器,同时自己也将 IP 地址缓存起
至此,浏览器就得到了域名对应的 IP 地址,并将 IP 地址缓存起
流程如下图所示:
原文:https://www.cnblogs.com/frank-link/p/14814915.html