DNS解析过程

域名解析顺序

Posted by Derrick on April 3, 2020

客户机需要进行域名请求解析,从域名解析请求的发出,到最后实现域名解析,其过程主要分为两部分:

客户机域名解析顺序

客户机解析过程其顺序如下:首先查看本地DNS缓存是否有相关的历史记录,如果没有的话,再查看本地HOSTS文件有没有相对应的记录,如果还是没有,则向本地TCP/IP配置中的首选的DNS服务器的DNS服务器查询,如果”首选DNS服务器”也没有对应的记录,则会向备用DNS服务器查询。其查询顺序主要分为三步:”本地DNS缓存”,”本地HOSTS文件”,”DNS服务器”。

服务器域名解析顺序

DNS服务器收到客户端的DNS解析请求后,首先查看本身DNS服务器的区域里有没有被查询的区域,如果有,则在此区域内查找对应的主要记录;如果DNS服务器缓存中存在对应的DNS记录缓存,也会向客户端提供解析;假设DNS服务器没有对应区域也没有对应的缓存记录,如果DNS服务器配置了转发器,则会向转置的DNS服务器发出域名解析请求,如果没有配置DNS转发器,则会向根DNS服务器发出域名解析请求,再由根DNS服务器逐级向下转发相关查询命令。


DNS解析顺序具体案例描述

DNS

一台计算机访问Internet的DNS解析过程是(以访问www.baidu.com站点为例),首先查看当前计算机的DNS缓存里有没有www.baidu.com这条记录;如果没有,再查看当前计算机的hosts文件,hosts文件位于C:\WINDOWS\system32\drivers\etc\(linux路径/etc/)目录当中;如果hosts文件中没有,就接着查找当前DNS服务器里有没有www.baidu.com这条记录;如果还是没有,看当前的DNS服务器有没有配置DNS转发器,如果配置了DNS转发器就查找它的上一级DNS服务器,如果没有配置DNS转发器,就直接查找DNS“根”服务器。查找到DNS“根”服务器后,“根”服务器将DNS请求转到“.com”域中,“.com”域再将请求转到“baidu”域中,然后在“baidu”域查找www的A记录,这样一个DNS解析过程就完成了。