DNS基本功能是:为请求客户提供名称解析,因此查询机制无疑是系统中最重要的元素

查询分类:递归查询、迭代查询

执行递归查询

需要DNS服务器解析特定名称的解析器或者客户机------------递归查询

如果配置在某个特定的名称服务器上使用转发器,那么递归查询也是由DNS服务器完成。

递归查询询问某个特定的名称服务器是否能够解析某个特定的记录。

递归查询的应答或者否定的或者肯定的。

153306127.png

★迭代查询

迭代查询请求DNS服务器解析查询或者尽力推举一个可能包含有关在何处解析查询的更准确信息的DNS服务器,然后对推举的服务器再次执行迭代查询,如此反复,直到获得肯定或否定结果

1):检查本地c:\windows\system32\drivers\etc\host,检查是否有对应的IP地址,若有,则将查询结果返回给客户端。很早以前,我们就是通过手动在hosts档里建立域名与IP地址的对应关系来进行域名解析的,但是这种方法显然不方便但是,当服务器收到域名解析请求时首先会从hosts文件中查询是否有记录。

2):如果查询不到对应的IP地址,客户端就继续查询本地缓存信息,若有本地缓存信息的记录,就将IP地址返回给客户端,客户端可直接访问网站。

每次DNS解析后都会将解析结果保存在计算机DNS缓存中,如果当DNS解析出现变更之后,但是DNS缓存中的结果却没有更新,这样就会出现DNS解析错误,这是怎么办呢?这是就要使用ipconfig/flushdns清除DNS缓存,这时计算机对该域名的访问就会重新连接到DNS服务器获取最新的解析信息了。

3)如果缓存信息里没有域名的IP信息,就查询本地DNS服务器

1)查询区域文件有没有对应IP地址,如果有,客户端就可以直接访问网站了。

2)如果没有,根据c:\windows\system32\dns\cache.dns文件中指定的根DNS服务器的IP地址,转向根DNS服务器(如果配置了转发器,就会转发到网络上其他DNS服务器上解析。)

4)根域名服务器查看区域文件记录,如果没有记录,就将其管理范围内.com服务器IP地址告诉本地DNS服务器。

5)本地DNS服务器询问.com域服务器。

6.com域服务器查看区域文件记录,如果没有记录,就将其管理范围的.wen服务器IP地址告诉本地DNS服务器。

7)本地DNS服务器询问.wen域服务器。

8.wen域服务器查看区域文件,如果没有记录,就将其管理范围的.sh服务器IP地址告诉本地DNS服务器

9)本地DNS服务器询问.sh域服务器。

10.sh查询区域文件记录,如果没有记录,就查询失败了,如果有,就将mail.sh.wen.comIP地址告诉本地DNS服务器

11)本地DNS服务器再将IP地址返回给客户端。客户端就可以进行网站访问了。

153038857.png

153042813.png

153045383.png

153048113.png

153051910.png

153054346.png