3.3. Пакеты: почему данные режутся на кусочки
3.3. Пакеты: почему данные режутся на кусочки
Опубликовано: 11.04.2026
Пакеты: почему данные режутся на кусочки
Что такое пакет, из чего он состоит и почему разные пакеты одного файла могут прийти по разным маршрутам
В предыдущей статье мы разобрались, как бит буквально становится сигналом - изменением напряжения в медном проводе, вспышкой в оптоволокне или радиоволной в воздухе. Физический уровень умеет только одно: передавать нули и единицы. Но как тогда из этого потока бит получается страница сайта, видеозвонок или письмо? Ответ - в идее пакета. Это один из самых важных принципов в устройстве интернета, и он не очевиден с первого взгляда.
📦 Почему нельзя просто передавать данные подряд
Представьте себе шоссе. По нему едут машины из разных городов в разные города. Если одна фура займёт всю полосу - остальные стоят и ждут. Именно так устроена коммутация каналов - принцип, по которому работали телефонные сети. Когда вы звоните кому-то, между вашим телефоном и телефоном собеседника резервируется непрерывный физический канал. Он держится всё время разговора - даже в паузах, когда никто ничего не говорит.
Для голоса это терпимо: звонок длится несколько минут, а потом канал освобождается. Но для передачи данных - катастрофа. Файл в 100 мегабайт занимает канал на всё время передачи. Пока он идёт, никто другой этим каналом не пользуется. А если линия обрывается на середине - нужно начинать заново.
Пакетная передача решает эту проблему радикально иначе: данные не занимают канал непрерывно. Они нарезаются на маленькие блоки - пакеты - и каждый пакет летит по сети самостоятельно.
🚛 Аналогия: стройка и двадцать фур
Нужно доставить на стройку в другом городе сто тонн кирпича. Можно нанять одну огромную фуру - она займёт дорогу целиком, встанет в пробке и заблокирует всех остальных. Если маршрут перекрыт - груз стоит.
А можно разбить кирпич на двадцать обычных машин, пронумеровать каждый поддон и отправить по разным маршрутам. Одна попала в пробку - остальные едут в объезд. Придут они не в одно время и не в том порядке. Но на месте кран разгружает поддоны по номерам - и стройка начинается. Ни одна машина не знала про остальных. Каждая просто везла свой поддон с номером и адресом.
Именно так работает передача данных в интернете. Каждый пакет — это отдельная машина с пронумерованным грузом.
🔬 Анатомия пакета: что внутри
Пакет — это не просто кусок данных. Это данные плюс инструкция по доставке. Технически пакет состоит из двух частей: заголовка (header) и полезной нагрузки (payload, или просто «данные»). Иногда в конце добавляется ещё трейлер с контрольной суммой для проверки целостности.
Заголовок — это «адрес на конверте». Он содержит служебную информацию, которая нужна сети, чтобы доставить пакет. Вот что там обычно записано:
| Поле заголовка | Что означает | Аналогия |
|---|---|---|
| IP-адрес отправителя | Откуда пришёл пакет | Обратный адрес на конверте |
| IP-адрес получателя | Куда нужно доставить | Адрес получателя |
| TTL (Time To Live) | Максимальное число промежуточных узлов | Срок годности: если пакет блуждает - его уничтожат |
| Протокол | Что именно внутри - TCP, UDP или другой | Тип вложения: «хрупкое», «срочно» |
| Контрольная сумма | Число для проверки целостности заголовка | Пломба: видно, если вскрыли |
| Смещение фрагмента | Порядковый номер фрагмента | «Страница 47 из 312» |
Полезная нагрузка — это само содержимое: кусок файла, часть веб-страницы, фрагмент видео. Получатель собирает пакеты по порядку и восстанавливает исходные данные.
📏 MTU: почему пакеты именно такого размера
Пакеты не бывают бесконечно большими. У каждой сети есть ограничение - MTU, Maximum Transmission Unit — максимальный размер пакета, который она готова передать за один раз. Для обычной сети Ethernet это 1500 байт. Из них 20 байт занимает заголовок IP, ещё 20 - заголовок TCP. На данные остаётся около 1460 байт.
Почему именно 1500? Это компромисс, принятый в 1970-х и закреплённый стандартом. Маленький MTU - слишком много пакетов и заголовков на один файл. Большой MTU - один испорченный пакет тянет за собой много данных, и надо повторять передачу большого куска.
Если пакет попадает в сеть с меньшим MTU (например, через какой-то туннель или специфическое оборудование), его приходится фрагментировать - нарезать на ещё более мелкие части. Это нежелательно: фрагментация добавляет накладные расходы и может привести к потере всего пакета, если потеряется хотя бы один фрагмент. Именно с MTU связана одна из частых причин тормозов VPN: туннель добавляет свои заголовки к пакету, эффективный MTU уменьшается, и начинается фрагментация - или пакеты отбрасываются совсем. Поэтому современные протоколы стараются заранее выяснить минимальный MTU на маршруте и подстраивать размер пакетов под него.
🗺️ Как пакет находит дорогу: маршрутизация
Вот пакет отправлен. В его заголовке - IP-адрес получателя. Но сам пакет не знает «карты» интернета. Он знает только одно: его надо передать на следующий узел, который знает, куда идти дальше.
Промежуточные узлы называются маршрутизаторами (routers). Каждый маршрутизатор — это специализированный компьютер с несколькими сетевыми интерфейсами и таблицей маршрутизации. В этой таблице записано: «если адрес получателя начинается с таких-то цифр - передай пакет вот туда». Маршрутизатор смотрит в заголовок пакета, находит подходящую запись в таблице и пересылает дальше. И так - узел за узлом - пока пакет не доберётся до получателя.
Таблица маршрутизации изнутри
Таблица маршрутизации - не статический список всех адресов в интернете. Это набор правил с масками подсетей: диапазон адресов - через какой интерфейс. Когда приходит пакет, маршрутизатор ищет самое конкретное подходящее правило. Если не находит ничего подходящего - отправляет по маршруту «по умолчанию» (default route), то есть к вышестоящему узлу, который знает больше.
| Адрес назначения | Маска | Через какой интерфейс | Смысл |
|---|---|---|---|
| 192.168.1.0 | /24 | eth0 (локальная сеть) | Все адреса 192.168.1.x - в локальную сеть напрямую |
| 10.0.0.0 | /8 | vpn0 | Адреса 10.x.x.x - через VPN-туннель |
| 0.0.0.0 | /0 | eth1 (провайдер) | Всё остальное - провайдеру, он разберётся |
🛤️ Почему разные пакеты одного файла идут разными маршрутами
Это, пожалуй, самая неочевидная часть. Когда вы скачиваете файл, все его пакеты отправляются примерно в одно время. Казалось бы - пусть идут по одному маршруту, строем. Но интернет так не работает.
Маршрутизаторы принимают решение для каждого пакета независимо, в момент его прихода. Между отправкой пакета №1 и пакета №100 может пройти несколько миллисекунд - а за это время ситуация в сети могла измениться. Один из промежуточных узлов перегрузился. Появился более быстрый маршрут. Лопнул оптический кабель где-то в океане. Таблицы маршрутизации постоянно обновляются с помощью специальных протоколов (BGP, OSPF) - и следующий пакет уже пойдёт иначе.
Результат: пакеты одного файла могут прийти не в том порядке, с разными задержками. Один прилетел быстро - напрямую. Другой сделал крюк через Амстердам. Третий немного задержался на перегруженном узле.
Кто собирает пакеты обратно
Сетевой уровень (IP) доставляет пакеты, но не гарантирует порядок и не проверяет, все ли они дошли. За сборку и надёжность отвечает транспортный уровень. Если используется протокол TCP - он пронумеровывает байты, отслеживает, что дошло, запрашивает повтор потерянных пакетов и собирает всё в правильном порядке. Если используется UDP - он этого не делает: пакеты приходят как пришли, и если какой-то потерялся - никто не переспросит. Подробнее об этом - в следующей статье.
🏷️ Уровни: пакет внутри кадра внутри сигнала
Пакеты не существуют в вакууме. Когда IP-пакет отправляется по сети, он упаковывается внутрь структуры нижнего уровня - кадра (frame). Кадр — это единица передачи для конкретной физической среды: Ethernet, Wi-Fi, оптика. У кадра тоже есть заголовок - с MAC-адресами (физическими адресами сетевых интерфейсов), а не с IP-адресами. Хорошая аналогия: IP-адрес нужен, чтобы найти дорогу между городами (сетями), а MAC-адрес - чтобы найти конкретный компьютер в пределах одной комнаты (локальной сети).
Получается матрёшка: данные упакованы в TCP-сегмент, тот - в IP-пакет, тот - в Ethernet-кадр, тот - в физический сигнал на проводе. На каждом промежуточном узле внешняя «оболочка» снимается, читается, и надевается новая - уже для следующего участка пути.
| Уровень | Единица данных | Адрес | Кто работает |
|---|---|---|---|
| Физический | Биты / сигнал | - | Кабель, Wi-Fi, оптика |
| Канальный (Ethernet, Wi-Fi) | Кадр (frame) | MAC-адрес | Коммутатор (switch) |
| Сетевой (IP) | Пакет (packet) | IP-адрес | Маршрутизатор (router) |
| Транспортный (TCP/UDP) | Сегмент / датаграмма | Порт | Операционная система |
| Прикладной (HTTP, DNS…) | Сообщение | URL, имя домена | Браузер, приложение |
⏱️ TTL: пакеты с ограниченным сроком жизни
В заголовке каждого пакета есть поле TTL - Time To Live. Это число, обычно от 64 до 128. Каждый маршрутизатор, через который проходит пакет, уменьшает TTL на единицу. Если TTL доходит до нуля - пакет уничтожается, а отправителю летит уведомление «время жизни истекло».
Зачем это нужно? Чтобы пакеты не блуждали по сети вечно. Если из-за ошибки в таблицах маршрутизации пакет начнёт ходить по кругу (узел А→ узел Б→ узел А→…), он рано или поздно умрёт сам, а не будет забивать каналы до скончания веков.
Именно так работает команда traceroute (или tracert в Windows) работает именно за счёт TTL. Она отправляет пакеты с TTL=1, TTL=2, TTL=3 и так далее - и каждый раз получает уведомление от узла, где пакет «умер». Так можно узнать всю цепочку маршрутизаторов от вашего компьютера до любого сервера в интернете.
tracert any.by (Windows) или traceroute any.by (Linux/macOS). Вы увидите каждый промежуточный маршрутизатор - с именем, IP-адресом и временем ответа в миллисекундах. Обычно от Беларуси до европейских серверов - 8–15 узлов и 10–30 мс.📊 Что может пойти не так: потери, задержки, дублирование
IP-протокол — это сервис «доставки без гарантий». Он честно старается доставить каждый пакет, но ничего не обещает. Что бывает в реальных сетях:
| Проблема | Причина | Кто это исправляет |
|---|---|---|
| Потеря пакета | Перегрузка маршрутизатора, обрыв кабеля | TCP: запрашивает повтор. UDP: молчит. |
| Пакеты не в том порядке | Разные маршруты с разными задержками | TCP: сортирует по номерам. UDP: отдаёт как есть. |
| Дублирование пакета | Повторная отправка + исходный тоже дошёл | TCP: обнаруживает дубли и отбрасывает |
| Задержка (latency) | Длинный маршрут, очереди в маршрутизаторах | Ничего — это свойство физики и сети |
| Пакет с испорченными данными | Помехи на физическом уровне | Контрольная сумма: пакет отбрасывается |
Именно эту разницу - между ненадёжным IP и надёжным TCP поверх него - мы разберём в следующей статье. Там же станет понятно, почему видеозвонки предпочитают UDP, а загрузка файлов немыслима без TCP.
Итог: пакет как атом интернета
Пакет — это базовая единица передачи данных в интернете. Любой файл, любое сообщение, любой видеокадр на пути от сервера к вашему устройству проходит через стадию «нарезки на пакеты» и последующей «сборки». Каждый пакет несёт в себе адрес отправителя, адрес получателя и кусок данных. Маршрутизаторы передают его по цепочке - каждый делает только один шаг, принимая решение самостоятельно. Пакеты одного файла могут идти разными путями и прийти в любом порядке - это не ошибка, а принцип работы.
В следующей статье разберём IP-адреса: что они означают, почему адреса «закончились» и что такое NAT - механизм, позволяющий миллиарду домашних устройств использовать один внешний адрес.
© 2008–2026 ANY.BY - ремонт компьютеров и ноутбуков в Барановичах. Использование материалов сайта возможно с письменного разрешения.
📍 Привезите технику в сервис ANY.BY — диагностика бесплатно, работаем без выходных.
🚗 Не можете приехать — вызовите мастера на дом.
🛒 Ноутбуки, компьютеры и комплектующие — магазин magaz.by.
📞 +375 (33) 323-70-00 (МТС) | +375 (29) 323-70-00 (A1)
✉️ Telegram | Viber
📞 Мы на связи для Вас:
| Пн–Пт | 10:00–19:00 |
| Суббота | 11:00–17:00 |
| Воскресенье | 12:00–16:00 |
Спасибо большое за ремонт! Всё работает отлично, цена очень порадовала.
Юбилейный отзыв!) Сервис на высшем уровне. Качество, скорость, отношение — всё 10 из 10.
Очень довольна ремонтом ноутбука. Быстро и по адекватной цене.
Отличный сервис. Всё сделали быстро и качественно. Буду обращаться ещё.
Спасибо большое! Всё супер, ноутбук работает отлично.
Все понравилось. Отличный сервис, внимательный персонал. Компьютер работает как новый.
Понадобилось срочно починить ноутбук для работы. Сделали за один день. Очень выручили, спасибо!
Приятный сервис, вежливый персонал. Сделали всё в лучшем виде.
Ремонтировал монитор. Сделали быстро, цена устроила. Всё работает исправно.
Очень довольна сервисом. Быстро, качественно и недорого.
Цикл статей ANY.BY - от транзистора до интернета.
Простым языком, без лишней теории.