admin管理员组

文章数量:1530847

2024年6月24日发(作者:)

DNS查询-DNS查询过程

今天静夜书主要聊聊DNS查询中的DNS查询过程,了解这个过程对于我们日常的

一些程序设计、网络运维及网络管理都能带来很大的便利,特别是清楚其查询步骤后,对

于日常运维都非常有帮助。DNS查询中的DNS查询过程是很容易忽略的一块网络知识,

虽然忽略后也没有造成太大的影响,但是如果能够明白DNS查询中的DNS查询过程,

就能够为某些工作提供很大的便利,甚至是保护网络安全,下面我从几个具体方面阐述:

首先,当客户端程序要通过一个主机名称来访问网络中的一台主机时,它首先要得到

这个主机名称所对应的IP地址,因为IP数据报中允许放置的是目地主机的IP地址,而

不是主机名称。可以从本机的hosts文件中得到主机名称所对应的IP地址,但如果

hosts文件不能解析该主机名称时,只能通过向客户机所设定DNS服务器进行查询了。

说明:在UNIX系统中,可以设置hosts和dns的使用次序。

可以以不同的方式对DNS查询进行解析。第一种是本地解析,就是客户端可以使用

缓存信息就地应答,这些缓存信息是通过以前的查询获得的;第二种是直接解析,就是直

接由所设定的DNS服务器解析,使用的是该DNS服务器的资源记录缓存或者其权威回

答(如果所查询的域名是该服务器管辖的);第三种是递归查询,即设定的DNS服务器代

表客户端向其他DNS服务器查询,以便完全解析该名称,并将结果返回至客户端。第四

种是迭代查询,即设定的DNS服务器向客户端返回一个可以解析该域名的其他DNS服

务器,客户端再继续向其他DNS服务器查询。

1.本地解析

本地解析的过程如图14-2所示。客户机平时得到的DNS查询记录都保留在DNS缓

存中,客户机操作系统上都运行着一个DNS客户端程序。当其他程序提出DNS查询请

求时,这个查询请求要传送至DNS客户端程序。DNS客户端程序首先使用本地缓存信息

进行解析,如果可以解析所要查询的名称,则DNS客户端程序就直接应答该查询,而不

需要向DNS服务器查询,该DNS查询处理过程也就结束了。

2.直接解析

如果DNS客户端程序不能从本地DNS缓存回答客户机的DNS查询,它就向客户机

所设定的局部DNS服务器发一个查询请求,要求局部DNS服务器进行解析。如图14-3

所示,局部DNS服务器得到这个查询请求,首先查看一下所要求查询的域名是不是自己

能回答的,如果能回答,则直接给予回答,如是不能回答,再查看自己的DNS缓存,如

果可以从缓存中解析,则也是直接给予回应。

本文标签: 查询服务器解析名称缓存