DNS协议概述

域名的概念与机制
1. 介绍
本文主要介绍域名(DNS)的一些机制及实现方法,下面我们就具体看一下它的情况 。
1.1. 域名的历史
产生域名的的根本动机在于治理方便,原来的主机名与IP地址映射是保存在NIC的hosts.txt文件中的,当时因为主机数量少,这个文件也不经常变化,因此其它主机几天一次从NIC的主机上下载这个文件进行主机名和IP地址映射就可以了 。但随着网络的发展,这种方法变得无法使用,因为经常会有主机要求下载,对NIC的主机造成巨大的压力,而且也不能保证服务的质量 。许多局域网用户希望自己治理自己的主机名,而不希望等NIC许多天把自己的主机名加在hosts.txt文件中,有些组织也希望有自己的名字空间配置 。是需要一个能够简单治理的方法了 。最后决定使用层次式的名字空间组织方案,以.为分隔标准不同的层次 。整个名字空间以分布式数据库治理 。请看阅读前不要把平常的域名和这里的域名系统混在一起 。最好的方法就是把原来的观念忘记了,看现在的新东西 。
1.2. DNS设计目标
DNS的设置目标影响了它的结构,主要目标是对资源有一个一致的名字空间,为了避免不同编码带来的问题,需要包括网络标记,地址,路由或其它信息作为名字的一部分 。出于对实验数据的分析,看来分布式的存储条件是必须的 。要在获取数据的代价和数据准确性之间有一个平衡 。需要对名字所代表的资源类型有一个标记 。要支持多协议访问 。名字服务器操作独立于通信系统 。应该能够使用不同的机器都能够使用这一系统,使用的方法可能不同,但是都要能够使用 。
1.3. 基于使用的一些假设
设计系统时是基于下面假设进行的:数据库的初始大小和使用系统的主机成正比,但最后数据库的大小会和用户的数目成正比,这一过程会发生在一些资源(如邮箱和其它一些要加入到域名系统中的信息)进入系统开始;大部分的数据改变比较慢,但系统能够对改变有一些快速的适应 。由相应的组织负责分布式数据库的维护 。域名系统的用户可以选择自己喜欢的主机 。因为其中的数据十分敏感而且重要,因此一定要保证正确性,假如因为主机或网络失败而造成无法为用户服务,用户要以原来的数据为准,不要自己胡乱想一个数据就用 。在查询的时候要避免循环查询,一种方法是将未找到这一信息返回给用户,让用户再找新的主机寻找相应的地址,一种是由主机找别的主机寻找相应的地址,找到后由相应的主机返回地址给用户,这两个方法各有好处 。域名系统假设所有的数据是在一个主文件中保存,这个主文件的内容分布存储于系统中的各台主机上 。用户通过标准的查询程序resolover查询 。主文件的标准形式使得它可以在不同主机间进行传输(利用FTP,电子邮件等方式) 。本地可以使用文本编辑器进行治理,然后将这个文件传输到名字服务器那里,然后通知名字服务器的治理员加载这个文件就是了 。对于resolver来说,配置好的名字服务器是地址信息的主要来源 。域名系统定义了访问数据的过程和访问其它名字服务器的方法,它还定义了缓冲的大小和更新缓冲的时间等配置信息 。
系统治理员需要提供:
区域(zone)边界定义
主文件数据
主文件的更新
更新策略描述
域名系统需要提供:
源数据的标准格式
查询数据库的标准方法
多其它名字服务器上更新数据的标准方法
1.4. DNS组成
DNS由下面三个部分组成:
域名空间和资源记录,域名空间是一个树状结构,资源记录是与名字相关的一些数据 。从概念上说,每个结点和域名空间树的叶子结点都有一定的信息,而查询是要查询出一些与之相关的特定信息 。

推荐阅读