打字练习 (4)

上传人:子 文档编号:41696049 上传时间:2018-05-30 格式:DOC 页数:5 大小:28KB
返回 下载 相关 举报
打字练习 (4)_第1页
第1页 / 共5页
打字练习 (4)_第2页
第2页 / 共5页
打字练习 (4)_第3页
第3页 / 共5页
打字练习 (4)_第4页
第4页 / 共5页
打字练习 (4)_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《打字练习 (4)》由会员分享,可在线阅读,更多相关《打字练习 (4)(5页珍藏版)》请在金锄头文库上搜索。

1、打字练习打字练习 (4)(4)3.2.2. 择 NS RR 和关联 RR。3.3. 深入名字服务器3.3.1. 查询和响应名字服务器的主要内容就是响应标准查询。查询和响应有专用的格式,查询包括 QTYPE,QCLASS 和 QNAME,它描述了需要数据的类型,类(class)和名字。服务器的响应取决于它支持不支持循环查询:最简单的是不支持循环查询管理问题当有些组织希望掌握自己的域时,第一步是标记合适的父区,然后取得父区中管理结点的许可来管理。管理的时候没有什么具体的技术问题,可是还是有一些规则的,对中型的区可以没有这些规定,但是小型的就不行了。本文不具体讨论这一问题了,有兴趣可参阅相关的资料。

2、一旦选择了子区的名字,此区的新管理结点要冗余的名字服务器来支持。注意:没有要求一个区的服务器必须在此域中有名字的主机上。在许多种情况下,一个区要想被更容易地访问到最好把内容放得分散一点,不要集中在一起。现在许多国家的名字服务器是放置在别国的,这样在取得名字解析的时候不用把请求千里迢迢送到远程主机上去了。作为配置的最后一步,就是要选,它返回的要么是本地信息,要么是一个错误码,告诉用户你要的信息这里没有,然后再返回一个邻近服务器的地址,让用户到那里去查一查。如果支持循环查询,那名字服务器如果未能在本地找到相应的信息,就代替用户向其它服务器进行查询,这时它是代替用户扮演了resolver 的角色,直

3、到最后把结果找到(也可能根本没有结果,那就返回错误) ,并返回给用户为止。使用循环查询要客户和服务器双方都支持才行。这个信息通过查询和响应中的两位来交换:如果允许循环查询则设置 RA 位,服务器方可以不管客户是否进行请求而直接设置此位查询中如果请求循环查询则设置 RD 位,客户只有在知道服务器方支持循环查询后才能够进行循环查询请求客户可以在响应中同时设置 RA 和 RD 位来确认是否支持循环查询请求。请注意:服务器在客户未指明 RD 位时不会自己进行循环查询。如果请求了循环查询,同时也支持循环查询,对查询的响应会是以下之一:查询指定的 CNAME RR 有多个别名指定的名字服务器不存在临时错误

4、如果未请求循环查询或不支持循环查询,则响应可以可能是:认证权威服务器指出名字不存在临时错误另外还会提供一些信息,指出所查询的 RR 是否从一个区来,或者是不是被缓存;另一种信息指明名字服务器指出还有一个服务器拥有相同的记录,这个服务器更靠近要查询的名字的祖先。3.3.2. 算法名字服务器使用的算法和本地操作系统和数据结构相关,下面的算法假设 RR 以几个树型结构组织,一个树就是区,有一个树是用于缓冲的:是不是支持循环查询要看服务器,如果支持,而且需要循环查询,转到第 5 步;查询最靠近 QNAME 祖先的结点所在的区,如果未找到这个区,转第4 步;开始在区内从上到下进行匹配,匹配过程的结束条件

5、有以下几个:如果整个 QNAME 匹配了,我们就找到了。如果数据所在结果是CNAME,QTYPE 不匹配 CNAME,复制 CNAME RR 到响应的应答区,将QNAME 改变为 CNAME RR 中的标准形式后返回第 1 步;否则复制所有匹配 QTYPE 的 RR 到响应的应答区,然后转第 6 步;如果匹配的结果使我们离开了认证权威,我们就获得一个参照(referral) ,我们这时会碰到一个带有 NS RR 的结点,复制 NS RR到响应的认证区内,在其它区域随便放上什么地址,如果从认证数据或缓冲内没有获得地址,可以使用关联 RR。然后转到第 4 步;如果在一些标记上不可能有匹配,看看是不

6、是有“*“标记存在,如果“*“标记不存在,检查我们要查找的名字是不是 QNAME,如果名字就是原来的 QNAME,在响应中设置错误,否则退出。如果“*“存在,以RR 和 QTYPE 匹配,如果匹配成功,将它们复制到响应中,但设置 RR的拥有者(owner)为 QNAME,不是带有“*“的结点,然后转到第 6步;在缓冲中进行匹配,如果在缓冲中找到 QNAME,将所有和它关联的而且匹配 QTYPE 的 RR 复制到响应区,如果没有从认证权威来的授权,可以在缓冲中寻找最好的一个,将它放在认证区内,然后转到第 6步;使用本地 resolver 响应请求。保存包括中间 CNAME 在内的结果到应答中。仅

7、使用本地数据,试着加入其它有用的 RR 到查询的附加部分。然后退出。3.3.3. Wildcard在前面的算法中,我们对其拥有者以*开始的 RR 进行了特殊处理,这类的 RR 称为 wildcards。Wildcard RR 可以看成合成 RR 的指令,在有合适的条件时,服务器创建 RR,这个 RR 的拥有者名和查询名相同,而内容是从 wildcard RR 获得的。这种机制经常用于创建一个区,这个区可用于在网络上从一个邮件系统向另一个邮件系统转发邮件。这种情况下,通常的假设是区中的所有名字都存在,只要没有说不存在,都认为有。wildcard RR 的内容遵守通常 RR 的格式,区中的 wil

8、dcard 有一个拥有者名,它控制者可以进行匹配的查询名。wildcard RR 的拥有者名是以下的形式:“*.“,其中是任何域名,不应该再包括其它*标记,而且它应该在区的认证数据之中。我们可以把 wildcard 看成是通配符的作用。wildcard RR 在以下情况中不适用:查询在应该在别的区中;如果区中已经存在了它所代表的某个域。例如,如果 wildcard RR有“*.X“,区中包括了 B.X,那么 wildcard 就不代表 B.X,A.B.X 或X,而只能代表 Z.X 了。在查询名中的*没有什么特殊作用,它只用于在认证权威区中检测wildcard,这样的查询是唯一可以在响应中获得包

9、括拥有者名中包含*的查询请求,其它请求的响应都不能包含*。这样查询的结果不能缓冲。在合成 RR 时,wildcard RR 的内容不应该被改变。下面是一个例子,我们假设一个大公司有一个大型的非 TCP/IP 网络,它要创建一个邮件网关。如果公司是 X.COM,而 TCP/IP 网关为A.X.COM,下面的 RR 可能会在 COM 区中:对于所有 X.COM 中的 MX 查询,都会得到 A.X.COM。存在两个wildcard RR 是必须的,因为有 A.X.COM,就必须要有*.A.X.COM,否则 W.A.X.COM 就查询不出来,原因请在本节中的 wildcard RR 不适用的情况中寻找

10、。3.3.4. 否定响应缓冲(可选)DNS 可以允许服务器提供一种否定响应缓冲服务,在这种服务下服务器返回一个否定响应和一个 TTL,resolver 可以认为在 TTL 的时间之内相同的查询都会获得否定响应。同样的,resolver 可以进行一个配置多个类型的查询,并缓冲不存在的类型。实现的方法是当数据是被认证时服务器加入一个 SOA RR 到响应的附加区域,SOA 必须是那个区的,而且这个区必须中响应中数据的认证权威区,SOA 的 MINIMUM 域控制缓冲否定响应的时间。在有些情况下,响应数据可能包括多个拥有者名,这时 SOA 机制应该用于匹配 QNAME 的数据上,它才是唯一被认证了的

11、数据。服务器和resovler 不应该试图添加 SOA 到非认证响应的附加区域,也不应该进行任何推测。这个功能是可选的,虽然现在它越来越有可能成为标准,但是服务器并非非要加 SOA RR 到所有的认证响应中去,resolver 也不一定非要缓冲否定结果。所有的 resolver 和支持循环查询的服务器都应该可以忽略 SOA RR。3.3.5. 区的维护与传输区管理员的部分工作是维护所有服务器上的区数据。当必须要进行修改时,修改必须让所有的名字服务器知道。这一过程可以通过FTP 或其它什么过程完成,而推荐的方法是 DNS 协议的区传输部分所指出的方法。通常的自动更新模式是一个服务器是区的主服务器

12、,管理员对区内的域名文件(master file)进行修改,修改后管理员通知主服务器装载新的数据,其它的非主服务器定期和主服务器进行同步。为了知道是否发生了修改,非主服务器必须检查 SOA 的 SERIAL 域,只要有改变,SERIAL 域就会改变,这种改变可能是加一,也可能是其它的什么算法,反正变了就行。因为我们改变的域大小是有范围的,因此理论上必须有一个修改的时间间隔,基本上,老的复本必须在序列号(就是那个域)用完其空间一半时消失。实际上只要保证比较操作的正确性就可以了。非主服务器的定期同步由区内 SOA RR 的参数 REFRESH,RETRY 和EXPIRE 决定。当非主服务器装入新区

13、时,它会在 REFRESH 秒后向主服务器查询新序列号,如果查询未能完成,它会每隔 RETRY 秒重新进行一次。如果查询得到的序列号和原来的序列号一样,则不需要进行改变。在 REFRESH 时间间隔后重新开始。如果非主服务器在EXPIRE 间隔后不能进行查询,它必须抛弃现有的区数据。当查询后知道区内的数据已经改变,非主服务器必须通过 AXFR 请求请求主服务器传送区数据。AXFR 可能会被拒绝而产生错误,但是通常情况下会得到一系列响应信息。第一个和最后一个信息必须包括区内顶认证结点的数据。中间的信息包括区内其它 RR 的信息,包括认证的和非认证的。这些数据使非主服务器得到区数据的复本,因为必须保证数据的准确,我们必须使用基于连接的协议。以上的查询操作不但可以在主服务器非主服务器之间进行,而且可以在非主服务器之间进行。这可以提高整体的运行效率。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号