Почему корней DNS тринадцать, хотя в 512 байт влезало пятнадцать

opium 36 минут назад Краткое содержание статьи Почему корней DNS тринадцать, хотя в 512 байт влезало пятнадцать 4 мин 1.4K Сетевые технологии * История IT Серверное администрирование * Аналитика Корневых серверов DNS...
Will Anthropic have the best AI model at the end of October 2026?
В сфере искусственного интеллекта произошло заметное событие. opium 36 минут назад Краткое содержание статьи Почему корней DNS тринадцать, хотя в 512 байт влезало пятнадцать 4 мин 1. 4K Сетевые технологии * История IT Серверное администрирование * Аналитика Корневых серверов DNS тринадцать, и обычно это объясняют одной фразой: четырнадцатый не влезал в 512 байт UDP-ответа. Так написано и в недавней статье на Хабре, как общеизвестный факт.
Сам предел появился в RFC 883 1983 года, перешёл в RFC 1035 без объяснения, а FAQ комитета RSSAC при ICANN выводит из него тринадцать расчётом на бумаге. Я проверил этот расчёт на живом сервере. Поднял в контейнере BIND 8.
Технические детали
2 из Debian 1998 года, загрузил в него список корневых серверов от 22 августа 1997-го, восстановил по документам, кто тогда держал . com, и задавал ему вопросы, как резолвер того времени. При обычных именах ни один ответ этой конфигурации в 512 байт не упирался.
Корневому серверу хватало места на пятнадцать серверов, а за пределом он молча выкидывал адреса, не ставя флаг усечения. Тринадцать получаются из расчёта FAQ с запасом под имя в вопросе. Стены на тринадцати в пакетах нет.
Как FAQ насчитал тринадцатьК 1993 году корневых серверов было восемь, с длинными именами вроде NS. В хронологии Шона Донелана на 21 апреля 1993 года стоит запись «Root server list UDP packet size limit exceeded». Тогда предел действительно мешал.
Отраслевые последствия
В 1995-м серверы переименовали в a…i. net: общий хвост пишется в пакет один раз, дальше на него ссылается двухбайтный указатель. В 1997 году добавили J, K, L и M, и серверов стало тринадцать.
FAQ считает так: заголовок 12 байт, первая NS-запись 31, двенадцать сжатых NS по 15, тринадцать A-записей по 16, тип и класс вопроса 4. Итого 435 байт, и 77 остаётся на имя в вопросе. Под имя FAQ откладывает 64 байта и пишет, что «adding another server would require 25 bytes, and since 435 + 64 + 25 > 512» серверов больше не добавляли.
Запас под имя нужен, по FAQ, потому что те же серверы отвечали за . ORG, а в ответе про example. com в пакет попадает и само имя из запроса.
Этот прогресс даёт важные сигналы о будущем отрасли, и технологический мир внимательно наблюдает.



