1.简略版
浏览器缓存——》系统hosts文件——》本地DNS解析器缓存——》本地域名服务器(本地配置区域资源、本地域名服务器缓存)——》根域名服务器——》主域名服务器——》下一级域名域名服务器
客户端——》本地域名服务器(递归查询)
本地域名服务器—》DNS服务器的交互查询是迭代查询
2.详细解释
当我们在浏览器地址栏中输入某个Web服务器的域名时。用户主机首先用户主机会首先在自己的DNS高速缓存中查找该域名所应的IP地址。
如果没有找到,则会向网络中的某台DNS服务器查询,DNS服务器中有域名和IP地映射关系的数据库。当DNS服务器收到DNS查询报文后,在其数据库中查询,之后将查询结果发送给用户主机。
现在,用户主机中的浏览器可以通过Web服务器的IP地址对其进行访问了。
如果上级的DNS没有该域名的DNS缓存,则会继续向更上级查询,包含两种查询方式,分别是递归查询和迭代查询。
递归查询
如果主机所询问的本地域名服务器不知道被查询域名的 IP 地址,那么本地域名服务器就以 DNS 客户端的身份,向其他根域名服务器继续发出查询请求报文,即替主机继续查询,而不是让主机自己进行下一步查询。
我们以一个例子来了解DNS递归查询的工作原理,假设图中的主机 (IP地址为m.xyz.com) 想知道域名y.abc.com的IP地址。
- 1、主机首先向其本地域名服务器进行递归查询。
- 2、本地域名服务器收到递归查询的委托后,也采用递归查询的方式向某个根域名服务器查询。
- 3、根域名服务器收到递归查询的委托后,也采用递归查询的方式向某个顶级域名服务器查询。
- 4、顶级域名服务器收到递归查询的委托后,也采用递归查询的方式向某个权限域名服务器查询。
过程如图所示:
迭代查询
当根域名服务器收到本地域名服务器发出的迭代查询请求报文时,要么给出所要查询的IP 地址,要么告诉本地服务器下一步应该找哪个域名服务器进行查询,然后让本地服务器进行后续的查询。
迭代查询过程如下:
- 1、主机首先向其本地域名服务器进行递归查询。
- 2、本地域名服务器采用迭代查询,它先向某个根域名服务器查询。
- 3、根域名服务器告诉本地域名服务器,下一次应查询的顶级域名服务器的IP地址。
- 4、本地域名服务器向顶级域名服务器进行迭代查询。
- 5、顶级域名服务器告诉本地域名服务器,下一次应查询的权限域名服务器的IP地址。
- 6、本地域名服务器向权限域名服务器进行迭代查询。
- 7、权限域名服务器告诉本地域名服务器所查询的域名的IP地址。
- 8、本地域名服务器最后把查询的结果告诉主机。
过程如图所示:
由于递归查询对于被查询的域名服务器负担太大,通常采用以下模式:从请求主机到本地域名服务器的查询是递归查询,而其余的查询是迭代查询。
评论 (0)