1

据我所知,域似乎是 DNS 哈希的键,其中值是域名的资源记录。为什么它们的长度有限?我发现的规范说一个域名:

+最大标签长度为 63 个字符

+最多有 127 个标签。

+不能超过255字节的数据

还有对特殊字符排序等的各种限制。这是为什么呢?

4

1 回答 1

2

标签长度 63 字节的限制是因为在 DNS 协议中,标签存储为 ,长度是单个字节,但长度字段的两个高位保留用于其他内容(压缩),因此长度本身留有 6 位,2^ 6=64 个可能的值 - 0..63。

为了简化实现,域名的总长度(即标签八位字节和标签长度八位字节)被限制在 255 个八位字节或更少。

我没有在规范中找到 127 个标签的限制。它的产生仅仅是因为整个域名最多 255 个字节,并且标签总是不少于 2 个字节(单个字母和点或长度和字母)。

于 2013-10-13T04:41:18.503 回答