域名的概念与机制(3)
来源:asp之家 发布时间:2010-02-05 18:56:00
3.3.2. 算法
名字服务器使用的算法和本地操作系统和数据结构相关,下面的算法假设RR以几个树型结构组织,一个树就是区,有一个树是用于缓冲的:
是不是支持循环查询要看服务器,如果支持,而且需要循环查询,转到第5步;
查询最靠近QNAME祖先的结点所在的区,如果未找到这个区,转第4步;
开始在区内从上到下进行匹配,匹配过程的结束条件有以下几个:
如果整个QNAME匹配了,我们就找到了。如果数据所在结果是CNAME,QTYPE不匹配CNAME,复制CNAME RR到响应的应答区,将QNAME改变为CNAME RR中的标准形式后返回第1步;否则复制所有匹配QTYPE的RR到响应的应答区,然后转第6步;
如果匹配的结果使我们离开了认证权威,我们就获得一个参照(referral),我们这时会碰到一个带有NS RR的结点,复制NS RR到响应的认证区内,在其它区域随便放上什么地址,如果从认证数据或缓冲内没有获得地址,可以使用关联RR。然后转到第4步;
如果在一些标记上不可能有匹配,看看是不是有"*"标记存在,如果"*"标记不存在,检查我们要查找的名字是不是QNAME,如果名字就是原来的QNAME,在响应中设置错误,否则退出。如果"*"存在,以RR和QTYPE匹配,如果匹配成功,将它们复制到响应中,但设置RR的拥有者(owner)为QNAME,不是带有"*"的结点,然后转到第6步;
在缓冲中进行匹配,如果在缓冲中找到QNAME,将所有和它关联的而且匹配QTYPE的RR复制到响应区,如果没有从认证权威来的授权,可以在缓冲中寻找最好的一个,将它放在认证区内,然后转到第6步;
使用本地resolver响应请求。保存包括中间CNAME在内的结果到应答中。
仅使用本地数据,试着加入其它有用的RR到查询的附加部分。然后退出。
3.3.3. Wildcard
在前面的算法中,我们对其拥有者以*开始的RR进行了特殊处理,这类的RR称为wildcards。Wildcard RR可以看成合成RR的指令,在有合适的条件时,服务器创建RR,这个RR的拥有者名和查询名相同,而内容是从wildcard RR获得的。这种机制经常用于创建一个区,这个区可用于在网络上从一个邮件系统向另一个邮件系统转发邮件。这种情况下,通常的假设是区中的所有名字都存在,只要没有说不存在,都认为有。
wildcard RR的内容遵守通常RR的格式,区中的wildcard有一个拥有者名,它控制者可以进行匹配的查询名。wildcard RR的拥有者名是以下的形式:"*.",其中是任何域名,不应该再包括其它*标记,而且它应该在区的认证数据之中。我们可以把wildcard看成是通配符的作用。wildcard RR在以下情况中不适用:
查询在应该在别的区中;
如果区中已经存在了它所代表的某个域。例如,如果wildcard RR有"*.X",区中包括了B.X,那么wildcard就不代表B.X,A.B.X或X,而只能代表Z.X了。
在查询名中的*没有什么特殊作用,它只用于在认证权威区中检测wildcard,这样的查询是唯一可以在响应中获得包括拥有者名中包含*的查询请求,其它请求的响应都不能包含*。这样查询的结果不能缓冲。在合成RR时,wildcard RR的内容不应该被改变。
下面是一个例子,我们假设一个大公司有一个大型的非TCP/IP网络,它要创建一个邮件网关。如果公司是X.COM,而TCP/IP网关为A.X.COM,下面的RR可能会在COM区中:
X.COM
MX
10
A.X.COM
*.X.COM
MX
10
A.X.COM
A.X.COM
A
1.2.3.4
A.X.COM
MX
10
A.X.COM
*.A.X.COM
MX
10
A.X.COM
对于所有X.COM中的MX查询,都会得到A.X.COM。存在两个wildcard RR是必须的,因为有A.X.COM,就必须要有*.A.X.COM,否则W.A.X.COM就查询不出来,原因请在本节中的wildcard RR不适用的情况中寻找。


猜你喜欢
- 一、Linux .NET Core简介 一直以来,微软只对自家平台提供.NET支持,这样等于让这个“理论上”可以跨平台的框架在Li
- 1月11日,由搜索引擎营销研究中心(RDC SEM)副主任樂思蜀(王志炜)牵头,举办了西安SEO从业者对西安业内状况与发展做了深入的交流聚会
- SessionState 的Timeout),其主要原因有三种一:有些杀病毒软件会去扫描您的Web.Config文件,那时Session肯定
- 簇是指可分配的用来保存文件的最小磁盘空间,计算机中所有的信息都保存在簇中。簇越小,保存信息的效率就越高。在FAT16文件系统中,每个分区最多
- 不少Web服务器都是架设在Windows 2003服务器系统环境中的,但是在默认状态下该服务器系统存在不少安全漏洞,许多黑客或者非法攻击者往
- 您是否和我一样被VMware气到了呢,您是否再也不想理VMware了呢,您是否不想再在自己电脑上看到VMware这几个英文字母了呢,来吧,跟
- IIS500错误,是因为微软的一个BUG所造成的。下面是解决办法:主要是由于IWAM账号(在我的计算机即是IWAM_MYSERVER账号)的
- 我觉得CF作为一个快速开发开发工具来说可以用最简洁的代码来实现各种效果.即使开发复杂的网站或电子商务之类的,也是非常灵活.此外用的人少也是一
- Apache启动不了,电脑80端口被占有如何解决问题如下:1. 80端口被占用,Apache启动失败。√MySQL5.1已启动。2.Apac
- 做站也有一段时间了,总的来说,从开始建站到现在,一路的辛酸与快乐只有自己心里清楚,但是,走过来的站长之路也只是重复其它的站长的脚步而已,最近
- 问题:使用GetArticleList标签,,显示的时间比较长时会换行解决方法。 解决方法:这里只要修改下文件即可,找到 Include/P
- 做网站联盟做久了,在管理联盟中,看到有些站长做广告,是拼命申请广告联盟,总是以为东边不亮西边亮,这个没钱赚那个有钱赚,其实这是很错误的,敬请
- 由于ASP脚本系统在互联网上广泛的应用,针对ASP系统的脚本攻击越来越流行。在这些攻击中,攻击者多是利用注入、跨站、暴库、上传、cookie
- 一、简介rsync 是一个常用的 Linux 应用程序,用于文件同步。它可以在本地计算机与远程计算机之间,或者两个本地目录之间同步文件(但不
- ubuntu(虚拟机)版本16.04 LTS添加swap用free查看swap分区大小free -m创建一个swap文件夹mkdir swa
- 10月23日消息,国内领先的社交网站51.com宣布,截止2009年10月中旬,该网站用户上传的图片数量已经超过110亿张,相比去年10月份
- 我们的防火墙是不是经常有人来攻击你XXX端口呢?如果关掉相应没有用处的端口不就好了吗? 一般来说,我们采用一些功能强大的反黑软件和防火墙来保
- 首先是管理方面的特点,主要有:是否图形方式配置、是否图形方式安装、有没有远程管理能力、可否利用简单网管协议配置和监视。第二是从扩展能力来说,
- 老马说,你现在混日子,小心将来日子混了你。我们中的很多站长都在混日子,也许,我们仿佛找到了理想,伸出一把手却又没有抓住,一点感觉都没有似的。
- 这里我们按照所需要的服务开放响应的端口。在2003系统里,不推荐用TCP/IP筛选里的端口过滤功能,譬如在使用FTP服务器的时候