CNAME
域名
MX
作为一个域的邮件服务资源的主机名,主机名后有一个16位的配置值
NS
主机名
PTR
域名
SOA
一些域
拥有资源的名字通常是隐式的,不构成RR的一部分 。TTL时间只影响缓冲内的数据,不影响区内的已经保存的认证数据 。TTL通常由治理员设置,TTL=0表示禁止缓冲 。RDATA内的数据是二进制串和域名的混合 。域名通常使用指针指向DNS内的其它数据 。
2.6.1. RR的文本表示
RR在DNS中是以二进制形式表示的,而在名字服务器或resolver中保存的时是经过压缩编码处理的 。本文中我们采用相同于主文件中表示的表示方法,也就是不压缩的方法,以便显示RR的内容 。行开始时给出谁拥有RR,假如这一位置空出,就表示本行RR的拥有者和上面RR的拥有者是一个 。其后是TTL,type和RR的class 。RR的RDATA部分是在当前数据的表示类型的基础上得到的 。下面是一些RR的例子:
ISI.EDU. MX 10 VENERA.ISI.EDU.
MX 10 VAXA.ISI.EDU.
VENERA.ISI.EDU. A 128.9.0.32
A 10.1.0.52
VAXA.ISI.EDU. A 10.2.0.27
A 128.9.0.33
其中我们注重到MX那一部分,它的RDATA部分有是一个16位数后面跟一个域名组成 。其它的也就不说了 。本例子显示了6个RR,第三个域名有两个RR 。下面是一个例子,它显示在不同的class下如何表示:
XX.LCS.MIT.EDU. IN A 10.0.0.44
CH A MIT.EDU. 2420
2.6.2. 别名和统一命名
现存的系统中有时会对相同的资源有不同的命名,不但主机是这样,邮箱也是这样,不同的名字指向的是同一个位置 。大部分系统都能够对多个名字指定一个是统一命名的结果,另外的是别名 。域名系统提供使用统一命名的机制(CNAME RR),CNAME RR标记它的owner名为别名,并指出在RDATA部分的相应统一命名 。假如一个结点存在CNAME RR,不应该有其它的数据,这保证了统一命名和它的别名不能不同 。这也使得缓冲的CNAME可以不用检索认证权威服务器就可以提供服务 。在有CNAME RR时,DNS软件假如查询不到与域名相关的资源,它会检查资源集中是不是有一个有匹配class的CNAME,假如有,名字服务器返回的应答中包括这个CNAME记录,并根据在CNAME中指定的数据开始新的查询 。下面我们看一个例子,假设名字服务器处理对USC-ISIC.ARPA的查询,它要求查询A信息,下面是RR的内容:
USC-ISIC.ARPA IN CNAME C.ISI.EDU
C.ISI.EDU IN A 10.0.0.52
这两个RR都作为响应返回,而只查询CNAME的*查询则只返回CNAME 。
RR中指向其它名字的域名应该指向主名而不是别名,这就避免了查询中过多的转向查询 。例如,对于上面的RR,它的IN-ADDR.ARPA记录应该是:
52.0.0.10.IN-ADDR.ARPA IN PTR C.ISI.EDU
最后指向的是C.ISI.EDU,而不是USC-ISIC.ARPA,当然一个健壮的域名软件不会因为提供了循环的CNAME而失败 。
2.7. 查询
查询就是发向名字服务器要求响应的一个请求 。在Internet上,这种请求以UDP或TCP传输,名字服务器的响应可以是查询结果,或是另一个名字名字器地址,要么就是一个错误信息 。通常用户并不直接发送请求,而是向resolver发送请求,由resolver依次将一个或多个请求发向名字服务器,并负责处理错误情况 。请求和响应有标准格式,它们包括一个头和数个固定的域,然后是包括查询参数和RR的四个部分 。头中最重要的域是称为操作符的东西,它指出要进行什么操作 。在所有可能的16个值中,标准查询是必须的,反向查询和状态查询是可选的,有一个完全查询已经过时,其它的还未指定 。而上面的提到的四个部分如下:
Question
推荐阅读
- Linux下基于DNS的多机均衡负载的实现
- Windows下DNS ID欺骗的原理与实现
- DNS在操作系统中的简单配置
- 关于EIGRP协议几个问题分析
- 对EIGRP协议用offset-list命令做负载均衡
- 如何配置ftp和dns服务器
- EGP 外部网关协议
- 写协议的步骤是什么
- IP骨干网BGP路由协议的扩展性
- BGP协议建立连接及使用ISDN备份卫星链路