Я искал ответ на этот вопрос (тот, что в заголовке), и лучшее, что я нашел, было:
При разработке протокола DNS размер транспортного блока UDP (размер полезной нагрузки) был ограничен 512 байтами для оптимизации производительности при одновременной генерации минимального сетевого трафика.
Мой вопрос: как именно это повышает производительность и есть ли другие причины для такого ограничения при использовании UDP?
domain-name-system
Моха всемогущий верблюд
источник
источник
Ответы:
Полезная нагрузка 512 байт гарантирует, что пакеты DNS могут быть повторно собраны, если они фрагментированы при передаче. Кроме того, вообще говоря, есть меньшая вероятность случайного отбрасывания небольших пакетов.
Стандарт IPv4 определяет, что каждый хост должен иметь возможность собирать пакеты размером 576 байтов или меньше. С заголовком IPv4 (20 байт, хотя он может достигать 60 байт с параметрами) и 8-байтовым заголовком UDP, пакет DNS с полезной нагрузкой 512 байт будет меньше, чем 576 байт.
Как говорит @RyanRies: DNS может использовать TCP для больших нагрузок и для зонных передач и DNSSEC. Когда TCP вступает в игру, гораздо больше задержек, потому что, в отличие от UDP, между клиентом и сервером происходит рукопожатие, прежде чем начинают передаваться какие-либо данные.
источник
Современный DNS больше не ограничен полезной нагрузкой 512 байт для UDP.
При использовании EDNS0 можно указать больший размер полезной нагрузки, что также обычно бывает для клиентов, поддерживающих DNSSEC.
Поддержка больших полезных нагрузок по UDP была обоюдоострым мечом, однако это отчасти является причиной того, почему использование серверов имен для атак с усилением стало более популярным, поскольку вы можете добиться лучшего усиления, если злоумышленник использует запрос, который получает большой ответ ,
См. Подробности о EDNS0 в rfc2671.
источник
Рон Эйтчисон - Pro DNS и BIND 10 - 2011
источник
Это вещь QOS.
Поскольку UDP не имеет состояния, обработка пакетов с ошибками невозможна.
Таким образом, поддерживая максимальный размер пакетов, будет больше изменений в том, что они достигнут своего назначения, уменьшая влияние отсутствия обработки ошибок.
источник