В интернет-связи текст, изображения, видео, файлы и другие данные не отправляются одним огромным куском.
На практике данные делятся на единицы, удобные для сети, получают сведения о назначении и затем отправляются.
Такая небольшая единица, переносимая по сети, обычно называется пакетом.
Понимание пакетов помогает думать о том, как данные перемещаются по сети, что смотрит роутер при пересылке и какая информация обрабатывается на маршруте связи.
Что такое пакет
Пакет — это единица данных, передаваемая и принимаемая по сети.
При просмотре сайтов, отправке изображений, просмотре видео или отправке сообщений данные делятся на удобные для сети части. К каждой части добавляется управляющая информация, например о назначении.
Строго говоря, название зависит от уровня связи. Например, на уровне IP говорят IP-пакет, на уровне TCP — сегмент, на канальном уровне — фрейм.
Но в этой статье мы не углубляемся в названия каждого уровня и широко называем «пакетами» единицы связи, которые делятся и переносятся по сети.
Название
Где в основном используется
Смысл
Пакет
IP-уровень / сетевой уровень
Единица с IP-адресом назначения и другими данными, переносимая по сети
Сегмент
TCP-уровень
Единица данных, обрабатываемая TCP
Датаграмма
Контекст UDP или IP
Данные, рассматриваемые как самостоятельная единица доставки
Фрейм
Канальный уровень
Единица, которая перемещается между устройствами в одном сетевом участке
Важно, что данные связи отправляются не только как «содержимое», но и обрабатываются вместе с информацией, нужной для доставки.
Зачем делить данные на маленькие части
Большие данные делят на маленькие части, чтобы вся сеть могла эффективно обрабатывать большой объем связи.
Если бы большой файл или видео отправлялись одним огромным куском, такая связь надолго занимала бы линию и оборудование. Другие связи ждали бы, и эффективность сети ухудшалась бы.
При отправке пакетами связь многих пользователей и приложений можно обрабатывать мелкими чередующимися частями.
Способ
Характеристика
Удобство обработки в сети
Отправлять большие данные как есть
Одна связь идет крупным блоком
Трудно вставлять другую связь, эффективность легко падает
Делить на маленькие пакеты
Связь разделена на малые единицы
Много связей легче обрабатывать параллельно
Благодаря этому в одной сети одновременно работают Web, видео, чат, отправка файлов и другое.
Пакетизация — базовый механизм, благодаря которому интернет обрабатывает множество связей одновременно.
В пакете есть сведения о назначении
Чтобы пакет двигался по сети, нужна информация о том, куда его доставить.
В IP-связи типичные сведения — IP-адрес источника и IP-адрес назначения.
IP-адрес источника показывает, откуда отправлена связь. IP-адрес назначения показывает, куда ее нужно доставить.
Информация
Роль
IP-адрес источника
Показывает отправителя пакета
IP-адрес назначения
Показывает место доставки пакета
Часть данных
Содержит часть фактического содержимого для отправки
Управляющая информация
Содержит вспомогательные сведения, нужные для обработки связи
Здесь не рассматривается подробная структура IP-заголовка.
Нужно усвоить, что пакет содержит не только часть данных, которые хочется отправить, но и информацию для доставки по сети.
Роутер проверяет сведения о назначении в полученном пакете и решает, куда отправить его дальше.
Этот механизм принятия решения и пересылки обычно называется маршрутизацией.
Точнее, роутер смотрит IP-адрес назначения, сверяется со своей маршрутной информацией и выбирает следующий узел пересылки. Этот следующий узел не обязательно является конечным назначением. Часто это следующий роутер или следующая сеть.
Элемент
Роль
Пакет
Единица связи, движущаяся по сети
IP-адрес назначения
Информация о том, куда доставить пакет
Роутер
Устройство, которое по сведениям о назначении решает следующий узел пересылки
Маршрутизация
Процесс, который по маршрутной информации выбирает направление пакета
Роутер обычно не пересылает пакет, понимая смысл его части данных.
Например, он не читает текст Web-страницы или смысл изображения, а в основном смотрит сведения о назначении и маршрутную информацию.
Пакет проходит через несколько сетей
Интернет — не одна огромная единая сеть.
Он состоит из множества соединенных сетей: домашних, корпоративных, сетей операторов связи, сетей дата-центров и других.
Пакет по пути от источника к назначению проходит через несколько роутеров и сетей.
При этом каждый роутер не управляет детально всем путем до конечного пункта. Обычно он решает только, куда передать пакет дальше, исходя из своей маршрутной информации.
Так пакет приближается к назначению через промежуточные точки сети.
Маршрут не всегда полностью одинаков
Даже при доступе к одному сайту маршрут связи не обязательно всегда полностью совпадает.
Обычно один поток связи часто идет похожим маршрутом, но состояние сети может менять путь.
Например:
Фактор
Содержание
Сетевой сбой
Часть линии или оборудования недоступна, используется другой путь
Перегрузка
Из-за балансировки или управления маршрутом может использоваться другой путь
Изменение настроек
Оператор или администратор меняет настройки
Изменение связей
Маршрут меняется из-за состояния соединений между сетями
Однако неточно думать, что каждый пакет каждый раз свободно выбирает совершенно другой путь.
Чаще всего роутеры пересылают по маршрутной информации. Связь к одному назначению часто идет тем же путем, а изменение маршрута зависит от состояния сети и настроек.
Здесь не рассматриваются детали BGP и другого управления маршрутами. Важно, что интернет-связь проходит через несколько сетей и не является одной фиксированной линией.
На стороне получателя данные возвращаются в пригодный вид
Данные, разделенные на стороне отправителя, на стороне получателя возвращаются в вид, пригодный для обработки.
Например, при открытии Web-страницы браузер получает несколько данных связи и обрабатывает их как HTML, CSS, JavaScript, изображения и другое.
В TCP связь управляет порядком и подтверждением доставки разделенных данных, чтобы получатель мог использовать их в правильном порядке.
В UDP и другой связи с отличными свойствами подтверждение и повторная отправка не выполняются самим протоколом так же, как в TCP. Поэтому в зависимости от назначения нужную обработку выполняет приложение.
Тип связи
Обработка на стороне получателя
Связь через TCP
Благодаря управлению порядком и повторной отправке данные легче восстановить в правильном порядке
Связь через UDP
Не предполагает гарантии доставки и порядка; при необходимости обрабатывается приложением
Обычно пользователь не думает об этой обработке.
Браузер или приложение показывает и обрабатывает полученные данные как экран или файл, понятный человеку.
Пакетная связь поддерживает огромный объем коммуникаций
В интернете одновременно общаются пользователи по всему миру.
Вместо того чтобы выделять каждой связи отдельный занятый путь, данные делятся на маленькие пакеты, а сетевое оборудование пересылает их последовательно, обрабатывая большой объем связи.
Базовый поток пакетной связи можно разложить так:
Этап
Содержание обработки
Сторона отправителя
Делит данные на сетевые единицы
Пакетизация
Добавляет сведения о назначении и другую управляющую информацию
В сети
Роутеры и другое оборудование пересылают по сведениям о назначении
На маршруте
Через несколько сетей движется к назначению
Сторона получателя
Возвращает полученные данные в вид, пригодный для приложения
Благодаря этому интернет может обрабатывать много связей одновременно.
Пакет — маленькая единица, но из их совокупности возникают Web, видео, сообщения, онлайн-встречи, передача файлов и другое.
Важный взгляд для анонимности
Пакет не долетает мгновенно и напрямую от источника к назначению.
На пути есть несколько промежуточных точек: роутеры, сети операторов связи, сети дата-центров и другое.
Поэтому при размышлении об анонимности и приватности нужно понимать, где на маршруте и какая информация может быть видна.
Например, если содержимое связи зашифровано, сторонний наблюдатель на маршруте не обязательно может прочитать его как есть.
Но есть информация, которая не скрывается полностью даже при шифровании: факт связи, IP-адрес назначения, объем связи, время связи.
Информация
Может быть видна на маршруте
Дополнение
Содержимое связи
Может быть видно, если не зашифровано
HTTPS и подобные механизмы лучше защищают содержимое
IP-адрес назначения
Вероятность высокая
Информация, нужная для маршрутизации
Объем связи
Может быть виден
Тенденция объема отправленных и полученных данных
Время связи
Может быть видно
Информация о том, когда была связь
Сведения источника
Могут быть видны
Видимость меняется в зависимости от NAT, и другой конфигурации
Понимание пакетов и маршрутизации — основа для размышления о том, как информация движется по сети и в каких точках может наблюдаться.
Итоги
Пакет — маленькая единица связи для отправки и приема данных по сети.
Большие данные делятся на сетевые единицы, получают сведения о назначении и отправляются.
Роутер решает, куда переслать пакет дальше, по сведениям о назначении и маршрутной информации.
Пакеты идут к назначению через несколько сетей, и маршрут не всегда полностью фиксирован. Он может меняться из-за сбоев, перегрузок, изменений настроек и связей между сетями.
На стороне получателя данные обрабатываются в вид, пригодный для приложения. В TCP есть управление порядком и повторной отправкой, а в UDP важна более легкая доставка.
Понимание этого механизма помогает точнее думать, как связь переносится в интернете и какая информация может обрабатываться на маршруте.
Связанные инструменты
Public IP Check
WhatIsMyIP
Внешний ресурс, связанный с этой статьей. Открывайте его только если он подходит вашей ситуации и модели угроз.
Почему указано здесь: Он может помочь с темой статьи, но находится вне Anonymity Sense, поэтому перед использованием его нужно проверить.