Почему на байты dns наложено ограничение в 63 байта?

DNS rfc 1035 накладывает ограничение в 63 байта на каждую метку DNS, а общая длина имени DNS не должна превышать 255 байтов. Почему на байты dns наложено ограничение в 63 байта? Как система может поддерживать неограниченную длину этикетки?

Благодарю.

1 ответ

Решение

63-байтовое ограничение связано с тем, что в протоколе DNS метки хранятся как <length><label>длина - это один байт, но два старших бита поля длины зарезервированы для чего-то другого (сжатие), таким образом, оставляя 6 битов для самой длины, 2^6=64 возможных значений - 0,63.

Система не может поддерживать неограниченную длину этикетки. Это не искусственный предел, это вплетено в протокол.

Другие вопросы по тегам