Битлента
Словарь терминов3 мин чтения·

Сетевой пакет данных: из чего он состоит

Что такое сетевой пакет, зачем данные режут на части, что лежит в заголовке и полезной нагрузке и как пакеты собираются обратно у получателя.

Почему данные не отправляют целиком

Файл в сотни мегабайт нельзя протолкнуть по сети одним куском. Канал общий, и один длинный передаваемый блок надолго занял бы его для всех остальных. Поэтому информацию режут на небольшие порции, которые называют пакетами, и отправляют по одной. Такой подход называется коммутацией пакетов, и на нём построен интернет.

У него есть и запас прочности. Если один пакет потерялся или повредился, достаточно повторить только его, а не всю передачу. Кроме того, разные пакеты одного потока могут идти разными маршрутами и огибать перегруженные участки, что повышает устойчивость сети.

Из чего состоит пакет

Любой пакет делится на две части. Полезная нагрузка, она же payload, это фрагмент самих данных: кусок веб-страницы, часть письма, кадр видео. Заголовок содержит служебную информацию, необходимую для доставки, и играет роль конверта.

В заголовке IP лежат адрес отправителя и адрес получателя, номер версии протокола, поле TTL, тип вложенного протокола и контрольная сумма самого заголовка. Транспортный протокол добавляет свой заголовок: у TCP это порты, порядковые номера, флаги и размер окна, у UDP заметно короче, только порты, длина и контрольная сумма. Получается вложенность, где нагрузка одного уровня оказывается пакетом другого.

Путь пакета по сети

Отправитель формирует пакет, и первый маршрутизатор смотрит на адрес назначения и выбирает следующий переход. Так повторяется на каждом узле: устройство читает заголовок, уменьшает TTL, принимает решение и передаёт пакет дальше. Полезная нагрузка при этом не анализируется, если только устройство не выполняет расширенную фильтрацию.

На стороне получателя пакеты могут приходить не в том порядке, в каком были отправлены, а иногда и не приходить вовсе. Транспортный уровень собирает их, ориентируясь на порядковые номера, и запрашивает повтор недостающих частей. Для протоколов без такого механизма упорядочивание остаётся задачей приложения.

🛡️ Остались проблемы с соединением?
Можно пользоваться постоянно: российские приложения работают, включать и выключать ничего не нужно. Без карты и регистрации, настройка за пару минут.
Попробовать бесплатно

Размер и накладные расходы

Размер пакета ограничен максимальным размером блока на канале. В типичной Ethernet-сети он составляет около полутора тысяч байт, что подробнее разобрано в описании MTU. Заголовки забирают часть этого объёма, поэтому реальная полезная нагрузка чуть меньше. Мелкие пакеты дают относительно больше накладных расходов, а очень большие увеличивают риск фрагментации и повторной передачи.

Вот почему скорость соединения на практике оказывается ниже номинальной: часть канала занята служебными данными, подтверждениями и повторами.

Как увидеть пакеты у себя

Посмотреть на пакеты можно с помощью анализатора трафика, например Wireshark, или консольной утилиты tcpdump. Запустите захват на своём сетевом интерфейсе, откройте любую страницу и вы увидите цепочку: запрос DNS, установку TCP-соединения, обмен по TLS и передачу данных. Кликая по строке, можно развернуть каждый заголовок отдельно.

Захватывайте только собственный трафик в своей сети: перехват чужих данных без разрешения недопустим, и в современном мире значительная часть содержимого всё равно зашифрована, так что видны будут лишь заголовки.

Пакеты и восприятие скорости

Пользователь измеряет скорость в мегабитах в секунду, но сеть оперирует единицами по полторы тысячи байт. Поэтому важны не только пропускная способность, но и то, сколько пакетов теряется, насколько нестабильна задержка между ними и в каком порядке они приходят. Видеозвонок, в котором каждый пакет несёт крошечный фрагмент звука, страдает от потерь заметнее, чем загрузка файла, где потерянное просто отправят снова.

Отсюда практический вывод: если страницы открываются медленно, а тест скорости показывает хорошие цифры, стоит посмотреть на потери и задержку до узлов, а не только на пропускную способность. Для этого подойдут ping и traceroute.

Слово «пакет» используют широко, и в разговоре оно может означать разное. Для сетевиков это единица данных сетевого уровня, для пользователя любая порция трафика. В защитных системах говорят о фильтрации пакетов: правило смотрит на адреса, порты и флаги в заголовке и решает, пропустить или отбросить. Более продвинутые системы отслеживают состояние соединения и сопоставляют пакет с уже открытым сеансом.

Отдельный случай: пакет ICMP, служебное сообщение, которое несёт не пользовательские данные, а информацию о состоянии сети, например «узел недоступен».

🛡️ Остались проблемы с соединением?
Можно пользоваться постоянно: российские приложения работают, включать и выключать ничего не нужно. Без карты и регистрации, настройка за пару минут.
Попробовать бесплатно
сетипакетыipпротоколы

Часто задаваемые вопросы

Читайте также