2013-10-10 63 views
1

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

+ 63个字符

最大标签长度+有一个最大的127个标签。

+肯定不会超过255个字节的数据

和theres也各种基于特殊字符顺序的限制,等等,这是为什么?

回答

2

标签长度 63字节的限制是因为在DNS协议,标签存储为,长度为一个字节,但长度字段的两个高比特保留用于其他的东西(压缩),从而留下6个位对于长度本身,2^6 = 64个可能值 - 0..63。

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

我在规格中没有找到127个标签的限制。它只是由于整个域名最多255个字节和标签始终不小于2个字节(单个字母,点或长度和字母)这一事实而产生的。