Открыть сервис

Потеря пакетов в компьютерных сетях

Потеря пакетов — это явление в компьютерных сетях, при котором один или несколько блоков данных (пакетов), отправленных от источника к получателю, не достигают пункта назначения. Пакет — базовая единица передачи в сетях с коммутацией пакетов, в частности в сетях на основе протоколов IP (Internet Protocol). Поскольку доставка пакетов в таких сетях по своей природе негарантирована, потеря части трафика считается штатным, а не аварийным событием. Она измеряется в процентах от общего числа отправленных пакетов и служит одной из ключевых метрик качества канала связи.

Причины потери пакетов

Потери возникают на разных уровнях сетевой модели и по разным причинам.

  • Перегрузка канала (конгестия). Когда интенсивность входящего трафика превышает пропускную способность интерфейса, переполняется буфер маршрутизатора или коммутатора, и новые пакеты отбрасываются. Это наиболее частая причина потерь в сетях общего пользования.
  • Ошибки на физическом уровне. Повреждение кабеля, плохой контакт в разъёме, электромагнитные помехи, затухание сигнала на длинных линиях приводят к искажению битов. Пакет с ошибкой контрольной суммы отбрасывается принимающей стороной.
  • Аппаратные и программные сбои. Отказы сетевых карт, портов, дефекты прошивок и ошибки в конфигурации оборудования.
  • Беспроводные помехи. В сетях Wi-Fi и мобильной связи сигнал ослабевает из-за расстояния, стен, работы других передатчиков и погодных условий.
  • Сбои маршрутизации. Изменение маршрутов, «чёрные дыры» на пути следования, неверные настройки таблиц маршрутизации.
  • Атаки и фильтрация. Сетевые атаки, а также намеренное отбрасывание трафика межсетевыми экранами и системами защиты от вторжений.

Механизмы компенсации

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

TCP (Transmission Control Protocol) подтверждает получение данных и повторно передаёт утраченные сегменты. Каждый сегмент нумеруется, получатель отправляет подтверждение (ACK), а при отсутствии подтверждения в течение тайм-аута отправитель повторяет передачу. Это обеспечивает целостность данных, но при больших потерях резко снижает скорость: протокол воспринимает потери как признак перегрузки и уменьшает размер окна передачи.

UDP (User Datagram Protocol) не гарантирует доставку и не выполняет повторных передач. Потери компенсируются на уровне приложений — например, в потоковом видео, IP-телефонии и онлайн-играх, где важнее своевременность, чем полнота. Приложения применяют буферизацию, интерполяцию и коды коррекции ошибок (FEC), позволяющие восстановить часть утраченных данных без повторной передачи.

Влияние на приложения

Последствия потерь зависят от их доли и характера трафика.

Тип трафикаРеакция на потери
Загрузка файлов, веб-сёрфинг (TCP)Замедление, повторные передачи, рост задержки
Потоковое видеоАртефакты, «квадратики», буферизация
IP-телефонияПропадание слов, металлический оттенок голоса
Онлайн-игры«Лаги», телепортация персонажей, рассинхронизация
ВидеоконференцииЗамирание картинки, рассинхрон звука и изображения

Небольшие потери — порядка 1–2 % — большинство приложений переносит незаметно для пользователя. При 5 % и выше начинаются заметные сбои, а при 10–20 % интерактивные сервисы становятся практически непригодными.

Диагностика и измерение

Для оценки потерь применяются несколько подходов.

  • Утилита ping отправляет ICMP-запросы и показывает долю неполученных ответов. Однако она измеряет потери только для служебного трафика, а не для реального потока данных.
  • traceroute позволяет определить, на каком участке маршрута теряются пакеты.
  • Утилиты измерения пропускной способности и качества, например iperf, а также специализированные системы мониторинга, фиксируют потери по счётчикам интерфейсов сетевого оборудования.
  • Счётчики ошибок на портах маршрутизаторов и коммутаторов показывают количество отброшенных и повреждённых кадров.

Важно отличать потери от задержки (латентности) и её колебаний (джиттера): это разные метрики, хотя они часто сопутствуют друг другу.

Способы снижения

Меры борьбы с потерями зависят от их причины.

  • Увеличение пропускной способности канала и настройка механизмов управления очередями (QoS), приоритизация чувствительного к задержкам трафика.
  • Замена повреждённых кабелей и разъёмов, экранирование линий, устранение источников помех.
  • Оптимизация размещения точек доступа Wi-Fi, выбор свободных частотных каналов.
  • Настройка параметров повторной передачи и буферов на уровне протоколов.
  • Применение кодов коррекции ошибок и избыточности на уровне приложений.

Значение

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

Источники: Таненбаум Э., Уэзеролл Д. «Компьютерные сети»; Олифер В., Олифер Н. «Компьютерные сети. Принципы, технологии, протоколы»; RFC 5681 (TCP Congestion Control); RFC 792 (ICMP).