1. DNS域名空间
如果网络规模较小,那么使用hosts文件是一个非常简单的解决方案,但对于目前已经包括有几十亿台主机的Internet,hosts文件很明显无法满足要求。所以在Internet中才又引入了DNS系统,它的工作机制相比hosts要复杂、高效得多。
在这个树状结构的最顶层称为根域,根域用“·”表示,相应的服务器称为根服务器,互联网管理委员会规定,整个域名空间的解析权都归根服务器所有,也就是说根服务器对互联网上所有的域名都享有完全的解析权!同时为了减轻根服务器的压力,又采用了一种“委派”机制,将位于根域下一层的顶级域分别委派给不同的顶级域服务器进行解析。
如根服务器把com域的域名解析权委派给com域服务器,以后凡是接收到以com结尾的域名解析请求,根服务器都会转发给com域服务器,由它对域名进行解析。
由根服务器委派的域名主要有:net、org、edu、gov、cn、uk……,这些被根服务器委派的域名称为顶级域名。
每个顶级域名都有预设的用途,例如com域名用于商业公司,edu域名用于教育机构,gov域名用于政府机关等等,这种顶级域名也被称为顶级机构域名。根服务器还针对不同国家进行了域名委派,例如把所有以cn结尾的域名委派给中国互联网管理中心,以uk结尾的域名委派给英国互联网管理中心,cn、uk这些顶级域名被称为顶级地理域名。
每个被委派的域名服务器再同样使用委派的方式向下发展,例如中国互联网管理中心在.cn顶级域名下面又设置了一些二级域名:.com.cn、.net.cn、.edu.cn……,并将这些二级域名的解析权委派给相应的服务器。
2. DNS域名结构
国际通用的顶级域名,包括net、com、org。
客户机首先把解析请求发送到自己的本地域名服务器上,如果这台DNS服务器中正好有这个名字所对应的IP,那就可以直接将结果发回给客户机。如果服务器中没有相关记录,那就得展开下面的一系列求助过程。
首先他要把这个域名发送到根服务器去请求解析,根服务器发现这个域名是以cn结尾的,于是告诉查询者这个域名应该询问负责cn的DNS服务器。这时查询者会转而向负责cn的域名服务器发出查询请求,负责cn域名的服务器发现域名是以com.cn结尾,就将负责com.cn的DNS服务器发给查询者。查询者只能再向com.cn服务器发出查询请求,com.cn服务器回答说“www.benet.com.cn”是以benet.com.cn结尾的域名,以benet.com.cn结尾的域名已经被委派到DNS服务器benet.com.cn了,因此这个域名的解析应该去问他。于是查询者最后向benet.com.cn服务器发出查询请求,这次应该可以如愿以偿了,benet.com.cn服务器会告诉查询者所需要的答案,查询者拿到这个答案后,会把这个查询结果放入自己的缓存中,如果在缓存的有效期内有其他DNS客户再次请求这个域名,DNS服务器就会利用自己缓存中的结果响应用户,而不用再去根服务器那里跑一趟了。
- 递归查询:客户端计算机和DNS服务器之间都是采用递归查询,客户端得到结果只能是成功或失败 。
- 迭代查询:DNS服务器与服务器之间进行的查询。从根服务器开始逐级往下查询,直至找到最佳结果。
本文转自 yttitan 51CTO博客,原文链接:http://blog.51cto.com/yttitan/1158218