gpt4 book ai didi

dns - 使用子域和 CNAME 是否会影响 DNS 查找时间?

转载 作者:行者123 更新时间:2023-12-02 05:07:56 25 4
gpt4 key购买 nike

使用子域和 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 协议(protocol)范围之外的管理实体。实际的查找过程看起来更像这样:

  1. 向根服务器请求rweb.stat.ucla.edu.A
    • 他们不会告诉你,但他们会告诉你 edu. 的服务器。
  2. edu. 服务器请求 rweb.stat.ucla.edu.A
    • 他们不会告诉你,但他们会告诉你 ucla.edu.
    • 的服务器
  3. ucla.edu 服务器请求 rweb.stat.ucla.edu.A
    • stat.ucla.edu 可以是委托(delegate)给另一组名称服务器的区域,在这种情况下,您将第三次获得推荐答案。
    • 但不能说不是。
    • 你得到一个答案:rweb.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. are) 如果它还不知道最终答案。

所以对您的问题的简短回答是,使用CNAME 会使解析器做更多的工作,并使解析过程花费更长的时间。但实际上这并不重要,因为解析器的缓存非常有用。如果 CNAME 的目标与 CNAME 记录本身位于同一区域,则由于有用的附加记录,它甚至更不重要。

关于dns - 使用子域和 CNAME 是否会影响 DNS 查找时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15980455/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com