本文的目的在于阐述DNS名称解析过程。为了给出一个例子,我们假设某个用户试图从客户机ftp到ftp.internic.net。
该客户机将经历如下解析步骤:
1. 客户机根据/etc/nsswitch.conf文件来确定名字解析的顺序。在本例中,假定的顺序是:首先是本地文件,其次
NIS+服务器,最后是DNS。
2. 客户机查找本地/etc/inet/hosts文件,没有发现匹配项。
3. 客户机向NIS+服务器发起关于ftp.internic.net地址的查询,仍然没有找到。
4. 客户机根据/etc/resolv.conf文件确定名称解析搜索列表和本地DNS服务器的地址。
5. 客户机解析例程向本地DNS服务器发起一个递归的DNS查询,以返回ftp.intenic.net的地址。这次,客户机将阻塞直
到本地DNS服务器完成名称解析。
6. 如果该查询最近出现过,本地DNS服务器首先会检查缓冲。如果该查询结果在本地缓冲里,它向客户机返回一个非权
威的查询结果
7. 本地DNS服务器向负责internic.net域查询的DNS服务器(如果没有适当的DNS服务器就向根服务器)发起一个交互查
询。在本例中,我们假设缓冲中没有所需的查询结果,而且根服务器服务于我们的查询。
8. 根服务器返回最接近的信息。这样,你只能从根服务器得到的所有net.服务器的名称和地址。根服务器返回的这些
名称和地址还包含了维持时间(time-to-alive),维持时间用于通知本地域名服务器,这些名称和地址可以缓冲多长
时间。
9. 本地DNS服务器向上一步查询返回的net.服务器的其中之一发起查询,查询的过程与上述向根服务器进行的交互查询
是一样的。
10. net.服务器返回最为接近的信息--internic.net.服务器的地址和名称及其维持时间(time-to-live)。
11. 本地DNS服务器向其中的一个internic.net.服务器发起相同的查询。
12. internic.net.服务器返回ftp.internic.net的地址及其维持时间(time-to-live)。
13. 本地DNS服务器向客户机返回所请求的地址,然后就可以处理ftp命令。
14. 本地DNS服务器将缓冲ftp.internic.net的地址用于以后的查询。
(责任编辑:城尘 68476636-8003)