DNS 服务器如何交互?

DNS 服务器如何交互?

如果我注册了一个域名,那么所有的 DNS 服务器都会更新我的域名,但谁真正控制这些 DNS 服务器呢?我发现它们像 godaddy.com 一样独立,它们如何相互交互?是否没有一个系统可以控制所有的 DNS 服务器并且它们都与它绑定?

答案1

首先,对英语感到抱歉。

嗯,在过去,DNS 完全由大学和军队控制,他们在他们之间复制所有信息,但是大量的寄存器导致这些服务器崩溃。

因此,解决方案是转向分布式系统,其中少数 DNS(根)由国际机构控制。

根服务器之后是“com”和“gov”DNS,它们可能与根相同或不同(在某些情况下),并且可以由国家控制(或不控制)...它们也可以出售(“tv”就是一个例子)给私人公司。

之后,我们发现了负责其区域的我们的 DNS 服务器,这个系统非常好,因为只需在不同的服务器上进行几次迭代,就可以比在庞大的 DNS 记录数据库中更快地获取页面。

答案是 DNS 分布式系统由许多不同的实体控制,但采取必要的措施来避免问题或黑客攻击。

这些链接也会给你提供一些有用的信息:

根服务器

http://en.wikipedia.org/wiki/Root_nameserver

http://www.isoc.org/briefings/020/

答案2

它的工作原理如下:

  • 用户查询www.yourdomain.com->缓存服务器(缓存服务器的IP由用户或DHCP指定):

    www.yourdomain.com isn't existed in cache server, ...
    
  • 缓存服务器查询 -> 根DNS服务器 (根DNS服务器的IP由OS指定)

    root DNS server just forward the query to .com server, ...
    
  • 根 DNS 服务器查询 -> .com 服务器

    (the nameserver of yourdomain.com is registered here.)
    .com server just forward the query to your nameserver, ...
    
  • .com 服务器查询 -> 您的名称服务器

  • 您的名称服务器响应查询:www.yourdomain.com=1.2.3.4

  • 缓存服务器收到查询,并将其缓存以供将来使用

  • 缓存服务器响应用户。

答案3

当您注册域名时,您可以通过 godaddy 等注册商进行注册。通常,您可以(根据注册商)选择几种方式来处理域名的 DNS 授权:

  1. 使用他们的 DNS 服务。然后,您可以通过他们的控制面板或 API 管理您域名的 DNS 记录。注册商的名称服务器对您的域名具有权威性,您无需运行自己的名称服务器。

  2. 使用 DNS 托管服务。如果您不喜欢注册商提供的服务,但又不想运营自己的名称服务器,可以使用第三方 DNS 托管选项。

  3. 运行自己的名称服务器。这通常是由那些想要更好地控制其域名 DNS 的人做的:注册商提供的服务太有限,您对可用性有特殊要求,或者您只是不信任注册商来处理您的域名 DNS。

  4. 运行自己的名称服务器,但让注册商提供 DNS 服务。这是一种“隐身主控”方法。您在只有您的注册商可以访问的名称服务器上管理域名的 DNS。然后,他们将您域名的 DNS 数据传输到自己的名称服务器,供全世界使用。这对于那些希望对其 DNS 记录进行细粒度控制但又不想管理自己的公共 DNS 服务器的人来说很有用。但对于外界来说,它看起来与选项 #1 没什么不同(因此有“隐身”部分)。

无论您选择哪种选项,委派信息(即根据您采取的方法告诉全世界哪些名称服务器对您域名的 DNS 具有权威性)都会从您的注册商传递到顶级域名(.com、.net、.us、.de 等)的注册中心。

对于上述选项 #1 和 #4,所涉及的名称服务器如下所示:

root nameservers     -->  top level domain      -->  registrar's nameservers
(managed by various       nameservers (managed       (managed by your registrar)
entities*)                 by the TLD registry)

对于托管选项 #2,略有不同:

root nameservers     -->  top level domain      -->  DNS hosting company's nameservers
(managed by various       nameservers (managed       (managed by, of course,
 entities*)                by the TLD registry)        the DNS hosting company.)

对于选项 3(自己动手):

root nameservers     -->  top level domain      -->  your nameservers
(managed by various       nameservers (managed       (managed by you!)
 entities*)                by the TLD registry)

(每个 --> 代表一个 DNS 委派)

* 根名称服务器信息由美国商务部签订合同的 ICANN 所有,并由 VeriSign 与 ICANN 合作管理,由许多不同的组织运营在全球范围内。

您的顶级域名的名称服务器通常由顶级域名的注册机构拥有、运营和管理。

无论如何,我希望这会有所帮助。

答案4

所有 DNS 服务器彼此之间不交互。任何 DNS 服务器都不会“更新”您的 DNS 信息。DNS 是一种拉取技术,而不是推送技术。我的 DNS 服务器了解您的 DNS 记录的唯一方式是它们(或它们的 DNS 客户端之一)提交对您的 DNS 记录之一的查询。然后我的 DNS 服务器提交查询以使用转发器或根提示查找您的名称服务器,然后根据该答案查询您的名称服务器以查找相关记录。在其他任何时候,我的 DNS 服务器都不知道有关您的域 DNS 记录的任何信息。

相关内容