Почему на байты dns наложено ограничение в 63 байта?
DNS rfc 1035 накладывает ограничение в 63 байта на каждую метку DNS, а общая длина имени DNS не должна превышать 255 байтов. Почему на байты dns наложено ограничение в 63 байта? Как система может поддерживать неограниченную длину этикетки?
Благодарю.
1 ответ
Решение
63-байтовое ограничение связано с тем, что в протоколе DNS метки хранятся как <length><label>
длина - это один байт, но два старших бита поля длины зарезервированы для чего-то другого (сжатие), таким образом, оставляя 6 битов для самой длины, 2^6=64 возможных значений - 0,63.
Система не может поддерживать неограниченную длину этикетки. Это не искусственный предел, это вплетено в протокол.