Linux ,c/c++, web,前端,php,js
分类:
2011-08-22 13:26:06
原文地址:上网时DNS解析流程 作者:haoay321
一、上网时我们经常遇到DNS的名称解析(名称到IP的解析),具有有以下两种解析。
1.递归查询:
一般客户机和服务器之间属递归查询,即当客户机向DNS服务器发出请求后,若DNS服务器本身不能解析,则会向另外的DNS服务器发出查询请求,得到结果后转交给客户机;
2.迭代查询(反复查询):
一般DNS服务器之间属迭代查询,如:若DNS2不能响应DNS1的请求,则它会将DNS3的IP给DNS2,以便其再向DNS3发出请求;
详解实例:
递归查询当一个客户系统发送一个递归查询给本地名字服务器时,本地名字服务器必须返回输入的友好的名字的IP地址,说明找不到其地址或者返回一个错误说明请求的地址不存在。
典型的情况是本地名字服务器将首先在其自身的boot文件、cache、数据库或者反向查询文件中检查DNS数据。如果从这些本地资源没有获得答案,它会联系其它DNS服务器使用迭代查询请求帮助,然后将其接收到的信息送回给最初发出域名解析请求的客户。在这种情况下,dns服务器使用配置成转发器.
迭代查询
在迭代查询查询中,名字服务器返回它们具有的最好的信息。虽然一个DNS服务器可能不知道某个友好的名字的IP地址,它可能知道可能具有要找的IP地址的名字服务器的IP地址,所以它将信息发回。对一个迭代查询的响应就像一个DNS服务器说:“我不知道你找的IP地址是多少,但是我知道位于10.1.2.3的域名服务器可以告诉你。”
这个过程很简单。这里是一个本地名字服务器使用迭代查询为一个客户解析地址的例子:
为了完成简单查询,DNS服务器必须能够正确解析针对自己的正向和反向解析请求;而为了完成递归查询,DNS服务器必须能够连接到根提示信息中的根DNS服务器。