Ваш файл не перемещается по интернету как единый, цельный объект. Он разбивается на части.
Этот фрагмент данных становится пакетом. Это базовая единица передачи на сетевом уровне. Когда вы отправляете документ или транслируете видео, система разбивает его на части. Каждая часть отправляется к месту назначения своим путём. Этот процесс называется коммутацией пакетов.
Каждый пакет содержит не только ваши данные. У него есть заголовок. Представьте его как почтовую этикетку. Он содержит технические детали. Размер файла. Исходный адрес. Адрес назначения. Все метаданные, необходимые для правильной маршрутизации информации.
Иногда вы можете услышать термин датаграмма. Он часто используется как синоним пакета. Технически он относится к пакету, доставка которого не гарантируется. Он просто отправляется. Вы надеетесь, что он дойдёт. Никаких гарантий.
Здесь важна надёжность. Протокол TCP решает проблему «надежды». Он гарантирует, что данные действительно дойдут до места назначения. Если маршрутизатор перегружен? TCP это замечает. Если пакет не доходит, он уничтожается. Затем он отправляется повторно. Ваше электронное письмо не появляется наполовину из-за сбоя на сервере. TCP обрабатывает повторные попытки отправки.
Оружие слежки, скрытое на виду
У движения этих пакетов есть и более тёмная сторона.
На сцену выходит глубокий анализ пакетов (DPI).
Большинство людей знают, что их IP-адрес виден. Заголовок является общедоступной информацией в сети. Но DPI заходит гораздо глубже. Он не просто смотрит на этикетку. Он вскрывает конверт. Он читает полезную нагрузку.
Правительства и органы цензуры используют эту технику как основной инструмент слежки.
Они следят не только за тем, с кем вы общаетесь. Они читают то, что вы говорите. Анализируя содержимое пакетов, эти структуры могут идентифицировать конкретные обмениваемые данные. Они могут блокировать, фильтровать или регистрировать всё, что вы делаете в интернете.
Это недёшево. Это непросто.
Управление сетевым трафиком в реальном времени требует огромных вычислительных мощностей. Огромный объём данных, проходящих через глобальную инфраструктуру, поражает воображение. Внедрение DPI в масштабах всей сети замедляет работу. Это добавляет задержки. Но для государств, которые не ставят онлайн-приватность на первое место, цена контроля оправдана.
Вы можете задаться вопросом, почему ваше соединение работает медленно в часы пик. Иногда это связано с перегрузкой. Иногда это связано с инспекцией.
Пакеты в Linux и macOS
Часто возникает путаница, потому что слово «пакет» означает две разные вещи в ИТ.
В сетевых технологиях это фрагмент данных.
В таких системах, как UNIX, включая Linux, macOS и BSD, это программный архив.
Подумайте о программном пакете в этом контексте как о наборе. Он содержит исполняемые файлы. Файлы конфигурации. Документацию. Скрипты. Всё необходимое для установки приложения.
Обычно вы не работаете с этими файлами вручную. Вы используете менеджеры пакетов.
Такие инструменты, как apt или yum, автоматизируют этот процесс. Они обрабатывают установку. Они управляют обновлениями. Они обеспечивают удаление. Это сохраняет вашу систему в чистоте. Вам не нужно искать каждый отдельный файл, создаваемый программой. Менеджер знает, где всё находится.
Эта двойственность может раздражать новичков. Вы отлаживаете сетевую проблему. Кто-то упоминает «потерю пакетов». Вы начинаете искать повреждённые программные пакеты. Это совершенно разные миры. Один касается транспортировки. Другой касается установки.
Интернет построен на этих маленьких, хрупких фрагментах данных. Они полагаются на заголовки, чтобы найти свой путь. Они полагаются на такие протоколы, как TCP, чтобы оставаться целыми. И они полагаются на то, что вы не знаете, что кто-то читает их содержимое до того, как оно попадёт на ваш экран.
