DNS查找时间是否受子域和CNAME使用的影响?
使用子域和CNAME是否会减慢DNS查找时间?据我所知,如果客户想要查找,例如DNS查找时间是否受子域和CNAME使用的影响?,dns,nameservers,Dns,Nameservers,使用子域和CNAME是否会减慢DNS查找时间?据我所知,如果客户想要查找,例如rweb.stat.ucla.edu,至少需要四个步骤: [registrar] NS ucla.edu ==> ns2.dns.ucla.edu [ns2.dns.ucla.edu] NS stat.ucla.edu ==> dns.stat.ucla.edu [dns.stat.ucla.edu] CNAME rweb.stat.ucla.edu ==> id-86-243.stat.ucla.e
rweb.stat.ucla.edu
,至少需要四个步骤:
[registrar] NS ucla.edu ==> ns2.dns.ucla.edu
[ns2.dns.ucla.edu] NS stat.ucla.edu ==> dns.stat.ucla.edu
[dns.stat.ucla.edu] CNAME rweb.stat.ucla.edu ==> id-86-243.stat.ucla.edu
[dns.stat.ucla.edu] A id-86-243.stat.ucla.edu ==> 128.97.86.243
这是否意味着客户端在访问页面时必须连接到这些服务器?或者DNS服务器是否相互连接并直接解析(和缓存)
rweb.stat.ucla.edu==>128.97.86.243
?另外,我不清楚查找根域的初始记录需要做多少工作?首先,注册器从未参与实际的DNS查找。注册器(实际上,注册器)是DNS协议范围之外的管理实体。实际的查找过程更像这样:
rweb.stat.ucla.edu.
的A
。
- 他们不会告诉你,但会给你指出
edu的服务器。
edu.
服务器询问rweb.stat.ucla.edu.
的A
。
- 他们不会告诉你,但会告诉你ucla.edu的服务器。
ucla.edu
服务器询问rweb.stat.ucla.edu.
的A
。
可能是一个被委托给另一组名称服务器的区域,在这种情况下,您将获得第三次推荐答案stat.ucla.edu
- 但我们不能说它不是
- 你会得到一个答案:
hasrweb.stat.ucla.edu.
CNAME
id-86-243.stat.ucla.edu
id-86-243.stat.ucla.edu
…除了由于CNAME
的目标与原始记录位于同一区域内(或者通常位于恰好由同一名称服务器提供服务的任何区域内),名称服务器将在DNS响应的附加部分为您提供id-86-243.stat.ucla.edu
的A
记录。解析程序将注意到这一点,并且不必在A
记录本身之后运行
因为解析器缓存答案,所以许多查询都可以从缓存中得到回答,实际上不必每次都被询问。特别是查询的前几个步骤都可能已经被解析器缓存,除非在它使用冷缓存启动之后。因此,解析程序通常可以从第3步开始(因为它记住了ucla.edu.的名称服务器是从它的缓存中得到的),或者至少在第2步开始(因为它记住了edu.
的名称服务器是什么),如果它还不知道最终答案的话
因此,您的问题的简短答案是是,使用
CNAME
会让解析程序做更多的工作,并使解析过程花费更长的时间。但在实践中,这并不重要,因为解析器的缓存非常有用。如果CNAME
的目标与CNAME
记录本身位于同一区域,则由于有了有用的附加记录,它的重要性就更小了。大多数DNS服务器都配置为缓存。比如一个名字的改变可能需要12个小时才能在全国范围内迁移。他们到底在缓存什么?整个往返行程?或者单独查找?通常,它们会缓存已缓存的内容。当缓存最后一个x时,它通常只是一个队列,并有一个超时。关于DNS服务器必须如何确定答案,没有一条硬性规定。这不是我的专长。你为什么在乎?导航到多个服务器的不是客户机。这是你的DNS服务器的责任,走出去,并得到它没有的。伟大的书是计算机网络和互联网的角。你知道,我如何才能找出一个子域名是使用CNAME或记录?本质上,我有几个对子域的请求。基本上,a.domain
和b.domain
以及DNS
查找这两个域所需的时间大致相同。我想这意味着dns
解析没有被缓存。