DNS查找时间是否受子域和CNAME使用的影响?

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

使用子域和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.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
      可能是一个被委托给另一组名称服务器的区域,在这种情况下,您将获得第三次推荐答案
    • 但我们不能说它不是
    • 你会得到一个答案:
      rweb.stat.ucla.edu.
      has
      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
    解析没有被缓存。