域名系统是如何控制的?

Xin*_*nus 3 domain-name-system

我不知道域名系统如何避免全球相同域名的重复条目。

假设我启动了一个域名服务器并将域 google.com 映射到我的 ip 地址,其他域名服务器如何检测歧义?谁负责避免此类重复?

pho*_*bus 16

没有关系的原因是因为没有人会要求您的个人 DNS 服务器解析 google.com。

假设我向浏览器询问 google.com。以下是我的 ISP 的递归名称服务器执行的步骤,假设 google 的 A 记录未在本地缓存:

  1. 我从我的 ISP 的名称服务器请求 google.com 的 DNS A 记录(它不在我的个人 DNS 缓存中)。
  2. 如果它最近没有被缓存,则名称服务器知道它对 google.com 区域没有权威性,因此无法在本地区域数据库中查找它。因此,它会随机询问 13 个根域名服务器中的一个关于 google.com 的信息。
  3. 根服务器使用其 NS 记录将 ISP 的名称服务器发送到 .COM TLD 的全球顶级域服务器。
  4. GTLD 名称服务器也不知道 google.com 在哪里,但它会向名称服务器发送对 google.com 区域具有权威性的名称服务器的记录。
  5. 现在我们的域名服务器询问权威服务器,它返回 google.com 的 A 记录,该记录返回给我们(并缓存在 ISP 的域名服务器上,以避免再次经历所有这些)。

如您所见,在此过程中,我或我的域名服务器绝不会询问您的 DNS 服务器 google.com 在哪里。

现在,存在潜在的漏洞,通过缓存中毒和其他类似的攻击。最著名的漏洞之一是 Kaminsky 漏洞。

有关 DNS 解析的分步指南,以及严重问题和漏洞的描述,请查看此图解指南