分享

DNS查询的四种方式,通俗易懂!

 新用户4943bDEZ 2023-10-31 发布于湖南

DNS通过层次结构的分布式数据库建立一致性的名字空间,用来定位网络资源。DNS查询过程可以分为本地查询、直接查询、递归查询和迭代查询。

以qq.com的DNS查询为例。

一、本地查询

主机保存有近期的DNS查询记录,这里面主要包含两块内容。一是hosts文件,文件保存在客户机系统盘中,文件路径是Windows/system32/drivers/etc/。另外一个是客户机的高速缓存,可以用ipconfig/displaydns查看。
如果主机发起DNS查询,首先查询hosts文件,然后在查询DNS缓存。如果hosts文件被恶意程序篡改,那么上网将异常,甚至还会打开不良网页。
很明显,本地缓存不会有qq.com的DNS记录。因此,主机向本地DNS服务器发起查询。
二、直接查询
本地DNS服务器是192.168.16.1,这是一个家庭路由器,本地DNS缓存里也不会有相应的DNS记录,因为它并不负责解析qq.com。因此,本地DNS服务器必须将查询请求转发至转发器。这个转发器即家庭路由器WAN口内设置的DNS地址,一般会有主备两个。
三、迭代查询
转发器按照域名级别高低,先后查询根服务器、.com域服务器、qq.com域服务器,最终得到授权应答。这个查询过程即迭代查询。
四、递归查询
转发器将相应的查询结果返回至本地DNS服务器192.168.16.1,本地DNS服务器将查询结果返回至主机,最终得出qq.com的ns记录。
因为本地DNS服务器不是qq.com的授权解析服务器,所以查询得出的结果是非权威应答。
递归的意思是:只需要发出一次请求,就能得到相应的结果。比如主机-本地DNS、本地DNS-转发器,都是递归查询。
迭代的意思是:需要经过多次挨个查询,才能得到相应的结果。比如转发器-根服务器、转发器-.com域服务器等,都是迭代查询。
具体流程可以参考下图:

下面来看【2015年】试题:

下列DNS查询过程中,采用迭代查询的是(D),采用递归查询的是(B)。

(35)A.客户端向本地DNS服务器发出查询请求

B.客户端在本地缓存中找到目标主机的地址

C.本地域名服务器缓存中找到目标主机的地址

D.由根域名服务器找到授权域名服务器的地址

(36)A.转发查询非授权域名服务请求

B.客户端向本地域名服务器发出查询请求

C.由上级域名服务器给出下级服务器的地址

D.由根域名服务器找到授权域名服务器的地址

解答:

35题A是递归查询,B是本地查询,C是直接查询,只有D才是迭代查询。

36题A、C、D均是迭代查询。

END

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多