读书频道 > 网站 > 网页设计 > 网络应用协议与实践教程
2.2.3 区文件和资源记录
13-09-09    奋斗的小年轻
收藏    我要投稿   

本文所属图书 > 网络应用协议与实践教程

本书介绍TCP IP中的应用层协议及其应用,既包括了历史最久的域名服务、电子邮件、文件传输,也包括了近些年发展较快的P2P应用、即时通信应用、VoIP应用,并对应用层中最重要的Web应用,按基本协议、开发技术以及立即去当当网订购

如前所述,域树的节点用域名标识,每个节点对应一个资源信息集(可以是空集),资源信息集由若干资源记录组成。

资源记录包含以下5 项内容:

1)所属域(owner)。资源记录对应的域名。

2)类型(type)。用16 位的值标识资源类型,常见的类型有:

.A——主机的IPv4 地址。

.AAAA——主机的IPv6 地址。

.CNAME——别名的规范名称。

.HINFO——主机的处理器和操作系统信息。

.MX——域对应的邮件交换信息。

.NS——域对应的权威(authoritative)域名服务器。

.PTR——域名空间其他部分的指针。

.SOA——域的起始授权机构。

3)协议(class)。用16 位值标识协议,常见的协议有:

.IN——Internet(因特网)。

.CH——CHAOS(MIT 的一种局域网协议)。

.HS——HESIOD(MIT 使用的一种信息服务)。

4)生存时间(TTL)。资源记录的生存时间,用32 位整型表示,单位为秒,主要被解析器用来确定资源记录被缓存的时间长度。

5)资源数据(RDATA)。描述资源内容的数据,与资源的类型和协议有关,例如:

.A 类型、IN 协议——32 位的IPv4 地址。

.A 类型、CH 协议——域名和16 位的CHAOS 地址。

.CNAME——域名。

.MX——16 位的优先值(越小越优先)和用于所属域的邮件交换的主机名。

.NS——主机名。

.PTR——域名。

.SOA——若干字段,依次分别是第一主域名服务器名称(MNAME)、管理用邮件地址(RNAME)、序列号(sn)、刷新时间(refresh)、重试时间(retry)、到期时间(expire)、NXDOMAIN 应答缓存时间(min)。

资源记录的所属域通常不用明确说明,例如,许多域名服务器的内部会建立域名空间的树或散列结构,而将资源记录附在对应的节点上。资源记录的其余部分,如类型、协议、生22 网络应用协议与实践教程存时间均是长度固定的字段,而资源数据的长度根据需要变化。

具有相同3 元组(所属域、类型、协议)的资源记录组成资源记录集(RRset),资源记录集的顺序不作限制,域名服务器和解析器也不需要保留这些顺序,但资源记录集内资源记录的顺序应当保留,因为这与DNSSEC(RFC 4033)的签名有关。

在域名系统协议的报文中,资源记录用二进制格式表示。为了简化管理和维护,在前述的主文件中,资源记录用文本格式保存,并以区为单元分成多个区文件(zone file)存储。区文件包含一系列的记录(entry),通常一行保存一条记录,也可以用括号跨行保存,每条记录的各项之间用制表符和空格分隔。每行的结尾可以包含注释,注释以分号起始。

记录的格式有以下6 种:

.< 空白>[< 注释>]

.$TTL < 默认生存时间> [< 注释>]

.$ORIGIN < 域名> [< 注释>]

.$INCLUDE < 文件名> [< 域名>] [< 注释>]

.< 域名>< 资源记录> [< 注释>]

.< 空白>< 资源记录> [< 注释>]

空行可以出现在区文件的任意位置;$ORIGIN 说明之后使用的相对域名(relative domainname);$INCLUDE 说明引入的区文件,可以用紧跟的域名说明引入内容的相对域名,这不会改变原有区文件的相对域名设置;资源记录有两种表示方式,如果以空白开始,则表示资源记录采用之前的所属域,否则以域名(与相对域名组成完整域名)开始,并重置所属域的值。两种表示方式具体如下:

.[< 生存时间>] [< 协议>] < 类型> < 资源数据>

.[< 协议>] [< 生存时间>] < 类型> < 资源数据>

生存时间用十进制数表示,协议和类型用之前给出的标准缩写表示。这里给出的是易于解析的默认格式,域名服务器的具体实现中可能会对资源记录的表示格式进行调整。

如前所述,域名可以包含任意格式数据,在区文件中,可以用引用符“\”表示这些特殊格式的内容,例如:

.\X,X 是数字(0 ~ 9)以外的特殊字符,表示符号本身,原先的特殊意义失效,特殊符号有:.,表示根域名@,表示区文件当前使用的相对域名\,引用符( 和),将包含的多行内容合成一行记录;,标注注释内容的起始

.\DDD,这里D 代表数字(0 ~ 9)的字符,表示DDD(十进制)对应的一个字节(octet)。例如,\010 表示\n,\013 表示\r,\032 表示空格,\097 表示'a'。

除了应当满足上述格式要求,区文件还应当符合以下4 项规范:

1)一个区文件中所有的资源记录采用相同的协议。

2)有且仅有一条SOA 记录在区文件的开始。

3)如果出现委托并需要辅助信息(glue information),则应当说明辅助信息。

4)区文件中出现的授权节点之外的信息应当是辅助信息。

一个区文件的示例如下:
#1 $TTL 172800 ; 以下资源记录的默认生存时间为2天
#2 $ORIGIN .
#3 demo.cn 172800 IN SOA dns.demo.cn.hostmaster.demo.cn.(
#4 2011050301 ; serial
#5 10800 ; refresh (3 hours)
#6 1800 ; retry (30 minutes)
#7 604800 ; expire (1 week)
#8 3600 ; minimum (1 hour)
#9 )
#10 172800 NS dns.demo.cn.
#11 172800 NS dns2.demo.cn.
#12 86400 MX 10 mail.demo.cn.
#13 $ORIGIN demo.cn.
#14 dns 172800 A 172.16.0.53
#15 dns2 172800 A 172.16.0.54
#16 mail 86400 A 172.16.0.55
#17 www 3600 A 172.16.0.56
#18 3600 AAAA 2001:da8:9000::234
#19 $ORIGIN lab.demo.cn.
#20 @ 172800 NS dns.lab.demo.cn.
#21 dns 172800 A 172.31.0.53

上面的示例给出了demo.cn.区的定义,其中出现了关于lab.demo.cn.的委托,因此第21行是辅助记录(glue record),说明负责解析lab.demo.cn.域的域名服务器的IP 地址,当用户查询lab.demo.cn.的权威域名服务器(NS)时,除了应答dns.lab.demo.cn.,同时也给出对应的IP 地址,从而简化了查询过程,提高了查询效率。

点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.3 功能
下一篇:1.5 小结
相关文章
图文推荐
JavaScript网页动画设
1.9 响应式
1.8 登陆页式
1.7 主题式
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站