gec*_*ls1 0 domain-name-system
抱歉,如果这是一个愚蠢的问题或者我问错地方了。但我一直在学习 DNS,并且顶级域 (TLD) 服务器(尤其是 .com 的服务器)让我感到困扰。如果我没理解错的话,.com TLD 服务器有现有每个.com 网站的记录吗?我查了一下维基百科,它说大约有 1.45 亿个 .com 网站注册。
我是否正确理解 .com TLD 服务器(实际上是一个服务器集群)对于存储这么多记录来说绝对是巨大的?或者说现在虽然规模很大,但也不是没有道理?我确实想说,我知道 TLD 服务器仅指向权威名称服务器,因此它不包含每个 .com 站点的完整 DNS 记录。但我仍然在努力解决这个问题。我知道我可能会弄错,但是将这么多记录存储在一个地方似乎并不正确,所以我问我是否正确理解了这一点。谢谢!
你对事情的理解是正确的。
.COM 区域文件确实很大...但您甚至可以获取它,对于任何通用顶级域名 (gTLD),它都是公开可用的,可通过 ICANN 集中区域数据访问服务(您可以在https://czds.icann.org/home找到)
当然,它的长度将是多个 GB,因为它包含字符串、.COM 下(几乎)所有域名的名称、其权威名称服务器以及一些相关的其他记录(胶水、DNSSEC 签名、DS 记录等)。
这个文件很大,但在“大数据”世界中仍然很小。
但您还必须了解这只是一种导出格式。服务器本身可能不会那样处理该数据。数据可以位于数据库中(如今拥有数十亿条记录的数据库并不被认为是真正的“大”),也可以通过适当的结构(例如二叉树、tries 或 DAFSA 结构等)加载到内存中。
或者说现在虽然规模很大,但也不是没有道理?
大型权威 DNS 运营商还有其他一些事情困扰着他们,比区域的容量复杂得多:查询率和能够响应每个人的能力(因为 DNS 作为一项服务,应该有 100% 的正常运行时间)。这意味着在所有阶段都有充足的过度配置。
但这似乎不适合将这么多记录存储在一个地方
在什么意义上是对的?这就是 DNS 的工作原理,每个节点都需要有一个其下方所有委托节点的列表。.com历史上是一个大区域,但没有什么特别的,我的意思是对于计算机来说,这个标签就像任何其他标签一样。
我是否正确理解 .com TLD 服务器(实际上是一个服务器集群)对于存储这么多记录来说绝对是巨大的?
不。你确实有一个严重的错觉,认为现在即使是较低范围的服务器也会受到影响 - 对于你的手机来说这将是一个很大的数字,对于笔记本电脑来说甚至不是什么了不起的数字。DNS 记录小得惊人。
或者说现在虽然规模很大,但也不是没有道理?
它甚至不是很大。几百兆字节并不算大。20年前它们并不大。
您的数学计算严重错误 - 现代中端服务器将拥有 32 到 64 个核心,如果需要的话可以轻松达到数百 GB。这些都是成本优化的服务器,而不是任何接近高端的服务器。对于托管一个仅千兆字节一小部分的文件的服务器来说,这已经是很大的空间了。足以真正优化内存索引等的访问。