DNS的查询方式

原文转自:http://blog.sina.com.cn/s/blog_4078ccd60101cj6r.html

当客户端程序要通过一个主机名称来访问网络中的一台主机时,它首先要得到这个主机名称所对应的IP地址,因为IP数据报中允许放置的是目地主机的IP地址,而不是主机名称。可以从本机的hosts文件中得到主机名称所对应的IP地址,但如果hosts文件不能解析该主机名称时,只能通过向客户机所设定DNS服务器进行查询了。

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

可以以不同的方式对DNS查询进行解析。第一种是本地解析,就是客户端可以使用缓存信息就地应答,这些缓存信息是通过以前的查询获得的;第二种是直接解析,就是直接由所设定的DNS服务器解析,使用的是该DNS服务器的资源记录缓存或者其权威回答(如果所查询的域名是该服务器管辖的);第三种是递归查询,即设定的DNS服务器代表客户端向其他DNS服务器查询,以便完全解析该名称,并将结果返回至客户端。第四种是迭代查询,即设定的DNS服务器向客户端返回一个可以解析该域名的其他DNS服务器,客户端再继续向其他DNS服务器查询。

1.本地解析

本地解析的过程如图14-2所示。客户机平时得到的DNS查询记录都保留在DNS缓存中,客户机操作系统上都运行着一个DNS客户端程序。当其他程序提出DNS查询请求时,这个查询请求要传送至DNS客户端程序。DNS客户端程序首先使用本地缓存信息进行解析,如果可以解析所要查询的名称,则DNS客户端程序就直接应答该查询,而不需要向DNS服务器查询,该DNS查询处理过程也就结束了。
     DNS查询过程


2.直接解析

如果DNS客户端程序不能从本地DNS缓存回答客户机的DNS查询,它就向客户机所设定的局部DNS服务器发一个查询请求,要求局部DNS服务器进行解析。如图14-3所示,局部DNS服务器得到这个查询请求,首先查看一下所要求查询的域名是不是自己能回答的,如果能回答,则直接给予回答,如是不能回答,再查看自己的DNS缓存,如果可以从缓存中解析,则也是直接给予回应。

 DNS查询过程


3.递归解析

当局部DNS服务器自己不能回答客户机的DNS查询时,它就需要向其他DNS服务器进行查询。此时有两种方式,如图14-4所示的是递归方式。局部DNS服务器自己负责向其他DNS服务器进行查询,一般是先向该域名的根域服务器查询,再由根域名服务器一级级向下查询。最后得到的查询结果返回给局部DNS服务器,再由局部DNS服务器返回给客户端。

DNS查询过程




4.迭代解析

当局部DNS服务器自己不能回答客户机的DNS查询时,也可以通过迭代查询的方式进行解析,如图14-5所示。局部DNS服务器不是自己向其他DNS服务器进行查询,而是把能解析该域名的其他DNS服务器的IP地址返回给客户端DNS程序,客户端DNS程序再继续向这些DNS服务器进行查询,直到得到查询结果为止。

DNS查询过程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
DNS(Domain Name System)是一种用于将域名转换为 IP 地址的分布式数据库系统。它提供了两种查询方式,即递归查询和迭代查询。这两种查询方式有以下对比: 1.递归查询:客户端向本地 DNS 服务器发出域名解析请求,本地 DNS 服务器在自己的缓存中查找,如果没有找到,则向根 DNS 服务器发出请求,根服务器返回给本地 DNS 服务器一个指向顶级域名服务器的地址。本地 DNS 服务器再向顶级域名服务器发出请求,顶级域名服务器返回给本地 DNS 服务器一个指向下一级域名服务器的地址。本地 DNS 服务器继续向下一级域名服务器发出请求,直到找到对应的 IP 地址,并将 IP 地址返回给客户端。 2.迭代查询:客户端向本地 DNS 服务器发出域名解析请求,本地 DNS 服务器向根 DNS 服务器发出请求,根服务器返回一个指向顶级域名服务器的地址。本地 DNS 服务器向顶级域名服务器发出请求,顶级域名服务器返回一个指向下一级域名服务器的地址。本地 DNS 服务器再向下一级域名服务器发出请求,直到找到对应的 IP 地址,并将 IP 地址返回给客户端。 总的来说,递归查询是一种由本地 DNS 服务器代替客户端向根 DNS 服务器和各级域名服务器进行查询方式,而迭代查询是一种由客户端代替本地 DNS 服务器向根 DNS 服务器和各级域名服务器进行查询方式。递归查询更加高效,但需要本地 DNS 服务器的支持;迭代查询则更加可靠,但需要客户端的支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值