Протокол HTTP на прикладном уровне может передавать аудио, изображения и т. д. в теле через 1 или несколько ответов TCP, если размер файла превышает 4 МБ (размер тела ответа HTTP, если я не ошибаюсь).
Прежде всего, пакеты маленькие; обычно MTU составляет 1500 байт, включая заголовки, поэтому реально говоря, каждый пакет составляет примерно 12-1450 байт. Все, что больше, отправляется в виде нескольких пакетов TCP.
Кроме того, современные протоколы, такие как QUIC (и, как расширение, HTTP/3), используют UDP для передачи данных, перенося обработку потерянных пакетов на приложение.
Что касается DNS-сервера, я знаю, что он используется для разрешения имен хостов, но можно ли его использовать для переноса изображений или других мультимедийных файлов в его тело, пожалуйста?
Конечно. Создайте запись TXT с изображением или чем-то подобным. DNS транспортирует данные. В случае с записями TXT ему все равно, что это за данные. Для других записей, таких как A, AAAA и т. д., существуют некоторые технические ограничения на то, какие данные ожидает протокол. Записи TXT могут быть до 255 байт, но их может быть неограниченное количество.