2013-10-10 61 views
1

據我所知,域似乎是DNS的哈希鍵,其中值是域名的資源記錄。他們爲什麼長度有限?我發現的規範說,一個域名:爲什麼域名長度有限制?

+ 63個字符

最大標籤長度+有一個最大的127個標籤。

+肯定不會超過255個字節的數據

和theres也各種基於特殊字符順序的限制,等等,這是爲什麼?

回答

2

標籤長度 63字節的限制是因爲在DNS協議,標籤存儲爲,長度爲一個字節,但長度字段的兩個高比特保留用於其他的東西(壓縮),從而留下6個位對於長度本身,2^6 = 64個可能值 - 0..63。

爲了簡化實現中,域名的總長度(即, 標籤字節,標籤長度八位字節)被限制爲255個八位字節或更少 。

我在規格中沒有找到127個標籤的限制。它只是由於整個域名最多255個字節和標籤始終不小於2個字節(單個字母,點或長度和字母)這一事實而產生的。