DNS协议概述( 二 )


名字服务器是服务器程序,它保留域名树结构和相应的信息,它可以缓冲各种数据,保存域名树中的任何部分,但是通常它保存域名空间的一个子集,假如需要查询其它信息可以通过指向其它名字服务器的地址寻找 。这个名字服务器是这一部分的认证权威,所有的认证信息组成一个单元称为区,这些区可以分布于不同的服务器上以保证数据的冗余 。
resolver是向名字服务器提出查询请求并将结果返回给客户的程序,它必须可以访问至少一个名字服务器,并将结果直接返回给用户或向别的名字服务器查询 。它通常是用户可以访问的系统方法,在resolver和用户程序之间不需要协议 。
下面我们通过三个不同的角度来看看它们的相互关系:
从用户的角度,域名系统可以通过简单的过程或操作系统调用来调用本地resolver进行查询 。域名空间包括一个单独的树,用户可以从树中的任何一个部分查询信息 。
从resolver的角度,域名系统由一些名字服务器组成,每个服务器有域树的整个或部分数据,resolver将这些数据库视为基本是静态的 。
从名字服务器的角度,域名系统由称为区(zone)的本地数据集组成,名字服务器必须定期从主备份上更新自己区内的数据,它还必须处理从resovler传送来的查询请求 。
2. 域名空间和资源记录
2.1. 定义和名词
域名空间是树状结构,每个结点和资源集相对应(这个资源集可能为空),域名系统不区别树内结点和叶子结点,统称为结点 。每个结点有一个标记,这个标记的长度为0到63个字节 。不同的结点可以使用相同的标记 。0长度的标记(空标记)为根记录保留 。结点的域名是从结点到根的标记组成的 。这些标记对大小写不敏感,这就是说,A和a对域名是等效的 。但是你在收到域名时最好保留它的大小写状态以便以后的服务扩展便于使用 。
用户需要输入域名时,每个节点的标记长度不管多长,总要以点分隔 。绝对域名的最后总以点结束,例如"poneria.ISI.EDU.",而相对域名则不这样,它由本地域指明位置即可 。相对域名相对于一个公认的域名或相对于用作搜索列的一串域名 。相对名通常在用户接口出现,在用户接口,表示方法因实现不同而不同,相对域名也出现在主文件中,主文件相对于一个源域名而设立 。为了简化实现,整个域名的长度不得大于255个字节 。域由域名标记,它由其下的域组成 。假如一个域包括在另一域中,则称它为这个域的子域 。我们可能通过表示很直观的看出 。如A.B.C.D是B.C.D,C.D,D和" "的子域 。
2.2. 治理规范
作为策略,DNS技术说明未说明一个特定的树结构或什么规则来选择标记,此说明希望达到的目的是越简单越好 。应用程序的开发可以不管名字空间的边界和名字服务器的存在 。这不是说没有规矩地乱来,而是把规则制定得开放以便于处理问题,树的不同部分可以有不同的规则 。例如IN-ADDR.ARPA分布在网络各处,用于将网络或主机号转换为主机名,而NetBIOS域是平面式的,原因很简单,这样便于应用 。但是,对于名字空间的通常部分,我们还是有规定的,目的是为了应用起来比较方便 。低层域名最终被分为多个区,这样的域应该在顶层域上提供一个标记使最终的解析可能不必重名字就可以完成 。在治理的时候,老的软件可能不支持结点标记中的数字,非凡字符 。
2.3. 技术规范
在DNS能够被用来为某些种类的结点保存名字信息前,必须满足下面两个条件:
要有在对象名和域之间映射的规则,这个规则描述了关于对象的信息如何被访问

推荐阅读