Здесь термин « пакет» является неоднозначным, поскольку иногда он неправильно используется для обозначения различных элементов вашей передачи. Давайте посмотрим, во что обернуты ваши данные, и вы поймете, что я имею в виду, и, надеюсь, получите ответ, который вы хотели:
Предположим, вы отправляете 1 байт данных 1 через Интернет в модели TCP/IP.
Данные запускаются на уровне приложения и должны быть помещены в заголовки для нижних уровней, чтобы их можно было обойти.
Сначала эти данные помещаются в сегмент TCP, который добавляет заголовок из 20 байтов (минимальный размер теперь 21 байт).
Это ставит нас на транспортный уровень.
Затем он оборачивается в IP-пакет, который добавляет еще один заголовок размером 20 байт (минимальный размер теперь составляет 41 байт).
Теперь мы на уровне интернета.
Обратите внимание, что эта упаковка меняется каждый раз, когда новый маршрутизатор пересылает ваши данные в новую подсеть.
Это завернуто в фрейм ссылки некоторого типа - размер заголовка и нижнего колонтитула которого различается в зависимости от типа используемого фрейма, который зависит от типа используемой ссылки.
Это на уровне ссылки.
Эта упаковка изменяется каждый раз, когда блок передается между двумя объектами.
Наконец, физическая передача (например, электрические сигналы по кабелю, радиоволны и т.д.).
Вот некоторые информативные изображения, доступные со страницы модели TCP/IP Википедии, которые помогают визуально объяснить, что происходит:
1. Я думаю, вы могли бы отправить 0 байтов ... но не проверяли это. На самом деле я не проверял, разрешен ли 1 байт, но эй.