![为什么只有 13 个根服务器](https://linux22.com/image/692626/%E4%B8%BA%E4%BB%80%E4%B9%88%E5%8F%AA%E6%9C%89%2013%20%E4%B8%AA%E6%A0%B9%E6%9C%8D%E5%8A%A1%E5%99%A8%20.png)
最初,当互联网刚刚发展起来时,DNS 数据包大小仅为 512 字节(最大),DNS 服务器仅在 udp 协议上监听,并且由于其他类似的问题;根服务器的数量固定为 13 个,以便将来自根服务器的答复放入一个 512 字节的数据包中。
现在,我们处于 21 世纪,我们已在各个域中启用了 DNSSEC(从过去的 2-3 年开始,所有 gTLD 都已签名),这迫使所有服务器(无论是权威服务器还是缓存服务器)在 TCP(以及 UDP)上侦听和回复,并且这会将 DNS 数据包大小增加到 4096 字节。
我知道每个根服务器的多个实例都在运行,它们为我们提供了弹性,到目前为止,我们还没有遇到过任何此类根服务器重大停机问题。
那么,是什么阻止我们增加根服务器的数量?
答案1
我认为它是以下因素的组合:
- 实际上没有必要增加更多(全球有数百个任播节点用于 13 个根服务器条目)
- 这样可以继续兼容旧的非 EDNS0 客户端
答案2
答案3
它是 13 个服务器集群,而不是字面上的 13 个根服务器(哎呀,想象一下如果它是地下室里的老式服务器会怎么样?)。选择 13 个根名称服务器的原因是为了将所有 IP 地址放入一个 512 字节的数据包中。当我们过渡到 IPv6 时会有多少个根服务器?:-)
答案4
这不是 13 个单独的服务器。而是 13 个“指定机构”。实际上有 367 个服务器组成了“13 个”根服务器/指定机构。