为什么 DNS 根区只有 13 个地址

网络工程 dns
2022-03-02 18:27:22

我知道任播,也知道 UDP 限制。现在,我正在阅读这篇文章,它说以下内容(强调我的):

每个 IPv4 地址需要 32 个字节因此,DNS 的设计者选择了 13 个作为 IPv4 的根服务器的数量,一个数据包占用 416 个字节,并为其他支持数据留下多达 96 个字节,并且如果需要,将来可以灵活地添加更多的 DNS 根服务器。​​​

我的问题是:

  • IPv4地址不是只需要4个字节吗?
  • 一般来说,创建 DNS 规范的人使用哪个公式说 13 是我们可以在 UDP 数据包中获得的地址数量?在我看来,我们可以得到超过 13 个。
1个回答

“每个 IPv4 地址”表示“每个 IPv4 DNS 根服务器条目”。这篇文章说得很清楚。512 字节(最小)UDP 有效负载除以 32 字节等于 16。他们留下 96 字节以供将来扩展,因此 (512-96)/32=13。