导致我尝试剖析这个过程的具体查询是:
如果父域名example.com
已经被解析,那么对子域名assets.example.com
进行DNS查找是否会更快?
按照我(天真的)的理解,将域名转换为IP地址的基本过程相当简单。13个根服务器的地址已经硬编码在网络硬件中,它们知道如何解析像com
和net
这样的顶级域。对于查找example.com
,我们的本地DNS服务器(可能是路由器)向其中一个根服务器询问在哪里可以找到com
顶级名称服务器。然后它询问结果名称服务器是否知道如何解析example
。如果它知道,我们就完成了,否则我们就会传递到另一个服务器。此过程中的每个名称服务器都可能具有缓存,因此一段时间内,我们的本地路由器现在会轻松找到com
和example
的位置,而com
服务器将知道在哪里查找example
。
但是,我还是不太明白。
- 我知道还有其他中间DNS服务器,例如由ISP提供的服务器。在什么时候会查询它们?
- 如果
com
顶级域名服务器不知道如何解析example
,那么它如何确定要检查哪些其他名称服务器?或者这是否意味着无法解析example.com
? - 当我注册一个域名并配置名称服务器时,我是否实际上正在编辑该TLD的名称服务器数据库中我的子域名的一组NS记录?
维基百科解释说,一些DNS服务器将缓存与递归查询实现相结合,从而使它们能够提供缓存命中并可靠地解析缓存未命中。我不明白这些服务器是如何被查询的,或者即使是广泛意义上的解析算法是如何工作的。
回顾我的初始问题,我可能会尝试回答“否”,假设A记录都在同一个名称服务器上。这个回答准确吗?