域名系统(Domain Name System, DNS)是互联网的核心应用层协议之一, 它用于查询域名对应的IP地址。在使用域名访问任何网络资源时都需要先进行域名解析。
域名服务器分为三种,本地域名服务器,授权域名服务器,根域名服务器。
域名系统是一个典型的分布式数据库, 每个名称服务器(nameserver)只存储着部分数据。当其无法解析某个域名时, 就向其它服务器请求解析直到成功解析或超时。
下面简单介绍域名系统解析过程:
1、查询本地hosts文件, unix系操作系统一般在/etc/hosts
2、若hosts文件不存在相关记录, 则检查本地DNS缓存;
3、若本地DNS缓存不存在相关记录则查询首选名称服务器;
4、若目标域名处在名称服务器的管理之下, 则名称服务器可以给出可靠的解析结果;
5、若目标域名不属于名称服务器管理但在它的缓存中, 名称服务器可以根据它的缓存给出一个不可靠的解析结果;
6、若首选名称服务器无法解析域名, 那就可以采取以下策略:若本地DNS配置了转发, 则请求转发给上一级DNS解析。上级DNS将解析结果返回给本地DNS, 由本地DNS返回给客户端。