Потеря пакетов происходит, когда один или несколько пакетов данных, перемещающихся по компьютерной сети, не достигают места назначения. Потеря пакетов либо вызваны ошибками при передаче данных, как правило , через беспроводные сети , [1] [2] или перегрузки сети . [3] Потеря пакетов измеряется как процент потерянных пакетов по отношению к отправленным пакетам.
Протокол управления передачей (TCP) обнаруживает потерю пакетов и выполняет повторную передачу , чтобы обеспечить надежную передачу сообщений . Потеря пакетов в TCP-соединении также используется для предотвращения перегрузки и, таким образом, приводит к намеренному снижению пропускной способности соединения.
В приложениях реального времени, таких как потоковое мультимедиа или онлайн-игра , потеря пакетов может повлиять на качество работы пользователя (QoE).
Причины
Internet Protocol (IP) разработан в соответствии с принципом конца до конца , как доставка максимальных усилий службы, с целью сохранения логических маршрутизаторов необходимо реализовать как можно более простой. Если бы сеть обеспечивала надежную доставку самостоятельно, это потребовало бы инфраструктуры хранения и пересылки , в которой каждый маршрутизатор выделял значительный объем дискового пространства для пакетов, пока он ждал, чтобы убедиться, что следующий узел правильно их получил. Надежная сеть не сможет обеспечить гарантии доставки в случае отказа маршрутизатора. Надежность также нужна не для всех приложений. Например, при потоковой передаче мультимедиа в реальном времени важнее быстро доставить недавние пакеты, чем гарантировать, что в конечном итоге будут доставлены устаревшие пакеты. Приложение или пользователь также могут решить повторить операцию, которая занимает много времени, и в этом случае к бремени доставки исходного набора будет добавлен другой набор пакетов. Такая сеть может также нуждаться в протоколе управления и контроля для управления перегрузками, что еще больше усложняет работу.
Чтобы избежать всех этих проблем, Интернет-протокол позволяет маршрутизаторам просто отбрасывать пакеты, если маршрутизатор или сегмент сети слишком заняты для своевременной доставки данных. Это не идеально для быстрой и эффективной передачи данных, и не ожидается, что это произойдет в незагруженной сети. [4] Отбрасывание пакетов действует как неявный сигнал о том, что сеть перегружена, и может привести к тому, что отправители уменьшат потребляемую полосу пропускания или попытаются найти другой путь. Например, используя воспринимаемую потерю пакетов в качестве обратной связи для обнаружения перегрузки, протокол управления передачей (TCP) спроектирован таким образом, что чрезмерная потеря пакетов заставит отправителя задросселировать и прекратить наводнение данных в узкое место. [5]
Пакеты также могут быть отброшены, если контрольная сумма заголовка IPv4 или последовательность проверки кадров Ethernet указывают, что пакет был поврежден. Потеря пакетов также может быть вызвана атакой с отбрасыванием пакетов .
Беспроводная сеть
Беспроводные сети подвержены воздействию ряда факторов, которые могут повредить или потерять пакеты при передаче, таких как радиочастотные помехи (RFI), [6] слишком слабые радиосигналы из-за большого расстояния или многолучевого замирания , неисправное сетевое оборудование или неисправные сетевые драйверы.
Wi-Fi по своей природе ненадежен, и даже когда два идентичных приемника Wi-Fi расположены в непосредственной близости друг от друга, они не демонстрируют одинаковых схем потери пакетов, как можно было бы ожидать. [7]
Сотовые сети могут испытывать потерю пакетов, вызванную «высоким коэффициентом ошибок по битам (BER), нестабильными характеристиками канала и мобильностью пользователей». [8] Преднамеренное дросселирование TCP не позволяет беспроводным сетям работать со скоростью, близкой к их теоретической потенциальной скорости передачи, поскольку неизмененный TCP обрабатывает все отброшенные пакеты, как если бы они были вызваны перегрузкой сети , и поэтому может дросселировать беспроводные сети, даже если они на самом деле не перегружены. [8]
Перегрузка сети
Перегрузка сети является причиной потери пакетов, которая может повлиять на все типы сетей. Когда контент поступает в течение длительного периода в данный маршрутизатор или сегмент сети со скоростью, превышающей возможную для отправки, нет другого выхода, кроме как отбрасывать пакеты. [3] Если один маршрутизатор или канал ограничивает пропускную способность всего пути или сети в целом, это называется узким местом . В некоторых случаях пакеты намеренно отбрасываются подпрограммами маршрутизации [9] или с помощью техники сдерживания сети в целях оперативного управления. [10]
Эффекты
Потеря пакетов напрямую снижает пропускную способность для данного отправителя, поскольку некоторые отправленные данные никогда не принимаются и не могут считаться пропускной способностью. Потеря пакетов косвенно снижает пропускную способность, поскольку некоторые протоколы транспортного уровня интерпретируют потерю как указание на перегрузку и корректируют свою скорость передачи, чтобы избежать перегрузки.
Когда необходима надежная доставка, потеря пакетов увеличивает задержку из-за дополнительного времени, необходимого для повторной передачи. [a] При отсутствии повторной передачи пакеты с наихудшими задержками могут предпочтительно отбрасываться (в зависимости от используемой дисциплины организации очереди ), что приводит к снижению общей задержки.
Измерение
Потеря пакетов может быть измерена как частота потери кадров, определяемая как процент кадров, которые должны были быть отправлены сетью, но не были. [11]
Допустимая потеря пакетов
Потеря пакетов тесно связана с соображениями качества обслуживания . Допустимая величина потери пакетов зависит от типа отправляемых данных. Например, для передачи голоса по IP- трафику один комментатор посчитал, что «[m] пересылка одного или двух пакетов время от времени не повлияет на качество разговора. Потери от 5% до 10% от общего потока пакетов повлияют на качество значительно ". [12] Другой описал потерю пакетов менее 1% как «хорошую» для потоковой передачи аудио или видео и 1-2,5% как «приемлемую». [13]
Диагностика
Потеря пакетов обнаруживается надежными протоколами, такими как TCP. Надежные протоколы автоматически реагируют на потерю пакетов, поэтому, когда человеку, например сетевому администратору, необходимо обнаружить и диагностировать потерю пакетов, он обычно использует информацию о состоянии от сетевого оборудования или специальных инструментов.
Протокол управляющих сообщений Интернета обеспечивает функцию эха , при которой передается специальный пакет, который всегда дает ответ. Такие инструменты, как ping , traceroute и MTR, используют этот протокол для визуального представления пути, по которому проходят пакеты, и для измерения потерь пакетов на каждом переходе . [b]
Многие маршрутизаторы имеют страницы состояния или журналы, где владелец может найти количество или процент пакетов, сброшенных за определенный период.
Восстановление пакетов для надежной доставки
В соответствии с принципом непрерывности Интернет-протокол оставляет ответственность за восстановление пакетов посредством повторной передачи отброшенных пакетов конечным точкам - компьютерам, отправляющим и получающим данные. Они находятся в лучшем положении, чтобы решить, необходима ли повторная передача, потому что приложение, отправляющее данные, должно знать, лучше ли передать сообщение полностью или частично, прошла ли необходимость отправки сообщения, и как контролировать количество потребляемой полосы пропускания, чтобы учесть любую перегрузку.
Сетевые транспортные протоколы, такие как TCP, предоставляют конечным точкам простой способ гарантировать надежную доставку пакетов, так что отдельным приложениям не нужно самостоятельно реализовывать логику для этого. В случае потери пакета получатель запрашивает повторную передачу или отправитель автоматически повторно отправляет любые сегменты, которые не были подтверждены. [15] Хотя TCP может восстанавливаться после потери пакетов, повторная передача пропущенных пакетов снижает пропускную способность соединения, поскольку получатели ждут повторных передач, и они потребляют дополнительную полосу пропускания. В некоторых вариантах TCP, если переданный пакет потерян, он будет повторно отправлен вместе с каждым пакетом, который уже был отправлен после него.
Такие протоколы, как протокол дейтаграмм пользователя (UDP), не восстанавливают потерянные пакеты. Ожидается, что приложения, использующие UDP, при необходимости будут реализовывать свои собственные механизмы обработки потери пакетов.
Влияние дисциплины в очередях
Существует множество дисциплин организации очередей, используемых для определения отбрасываемых пакетов. Большинство базового сетевого оборудования будет использовать организацию очереди FIFO для пакетов, ожидающих прохождения через узкое место, и они будут отбрасывать пакет, если очередь будет заполнена на момент получения пакета. Этот тип отбрасывания пакетов называется отбрасыванием хвоста . Другие механизмы полной очереди включают случайное раннее отбрасывание или взвешенное случайное раннее отбрасывание . Отбрасывание пакетов нежелательно, так как пакет либо утерян, либо должен быть повторно передан, и это может повлиять на пропускную способность в реальном времени; однако увеличение размера буфера может привести к раздутию буфера, что по-своему влияет на задержку и дрожание во время перегрузки.
В тех случаях , когда качество обслуживания является ограничение скорости соединения, например, с помощью дырявого ведра алгоритма, пакеты могут быть умышленно заглядывали , чтобы замедлить определенные услуги , чтобы обеспечить доступную полосу пропускания для других служб , отмеченных высшей важностью. По этой причине потеря пакетов не обязательно указывает на низкую надежность соединения или признаки узкого места в полосе пропускания.
Смотрите также
- Проскальзывание бит
- Столкновение (телекоммуникации)
- Goodput
- Маскировка потери пакетов
- Формирование трафика
Заметки
- ^ Во время типичной перегрузки сети не все пакеты в потоке отбрасываются. Это означает, что неотброшенные пакеты будут приходить с малой задержкой по сравнению с повторно переданными пакетами, которые прибывают с большой задержкой. Мало того, что повторно переданные пакеты должны пройти часть пути дважды, отправитель не осознает, что пакет был отброшен, пока он либо не получит подтверждение получения в ожидаемом порядке, либо не сможет получить подтверждение в течение достаточно длительного времени, чтобы предполагается, что пакет был отброшен, а не просто задержан.
- ^ В некоторых случаях эти инструменты могут указывать отбрасывание пакетов, завершающихся небольшим количеством переходов, но не тех, которые достигают места назначения. Например, маршрутизаторы могут давать эхо-сигналу пакетов ICMP низкий приоритет и отбрасывать их предпочтительно в пользу траты ресурсов на подлинные данные; это обычно считается артефактом тестирования и может быть проигнорировано в пользу сквозных результатов. [14]
Рекомендации
- ^ Salyers, Дэвид C .; Стригель, Аарон; Поеллабауэр, Кристиан. «Надежность беспроводной связи: переосмысление потери пакетов 802.11» (PDF) . Архивировано из оригинального (PDF) на 2019-07-12 . Проверено 19 февраля 2018 .
- ^ Тиан, Е; Сюй, Кай; Ансари, Нирван (март 2005 г.). «TCP в беспроводной среде: проблемы и решения» (PDF) . Радиосвязь IEEE : S27 – S32. Архивировано из оригинального (PDF) 09.08.2017 . Проверено 19 февраля 2018 .
- ^ a b Куроз, JF и Росс, KW (2010). Компьютерные сети: подход сверху вниз . Нью-Йорк: Аддисон-Уэсли. п. 36.
- ^ Kurose, JF; Росс, KW (2010). Компьютерные сети: подход сверху вниз . Нью-Йорк: Аддисон-Уэсли. стр. 42 -43.
Доля потерянных пакетов увеличивается с увеличением интенсивности трафика. Поэтому производительность на узле часто измеряется не только с точки зрения задержки, но и с точки зрения вероятности потери пакета ... потерянный пакет может быть повторно передан на сквозной основе, чтобы гарантировать, что все данные в конечном итоге будут переданы. от источника до места назначения.
- ^ Kurose, JF & Ross, KW (2008). Компьютерные сети: подход сверху вниз . Нью-Йорк: Аддисон-Уэсли. п. 282-283.
- ^ Дэвид С. Салиерс, Аарон Стригель, Кристиан Поеллабауэр, Надежность беспроводной сети: переосмысление потери пакетов 802.11 (PDF) , заархивировано из оригинала (PDF) 12 июля 2019 г. , получено 12 мая 2019 г.CS1 maint: несколько имен: список авторов ( ссылка )
- ^ Дэвид С. Салиерс, Аарон Стригель, Кристиан Поеллабауэр, Надежность беспроводной сети: переосмысление потери пакетов 802.11 (PDF) , заархивировано из оригинала (PDF) 12 июля 2019 г. , получено 9 марта 2019 г.CS1 maint: несколько имен: список авторов ( ссылка )
- ^ а б Е Тянь; Кай Сюй; Нирван Ансари (март 2005 г.). «TCP в беспроводной среде: проблемы и решения» (PDF) . Радиосвязь IEEE . IEEE . Архивировано из оригинального (PDF) 09.08.2017 . Проверено 19 февраля 2018 .
- Перейти ↑ Perkins, CE (2001). Специальная сеть . Бостон: Эддисон-Уэсли. п. 147.
- ^ «Управление приложениями путем управления характеристиками сети» Вахаб Пурнагшбанд, Леонард Клейнрок, Питер Рейхер и Александр Афанасьев ICC 2012
- ^ RFC 1242
- ^ Mansfield, KC & Antonakos, JL (2010). Компьютерные сети из локальных сетей в глобальные: оборудование, программное обеспечение и безопасность . Бостон: Технология курсов, обучение Cengage. п. 501.
- ^ «Архивная копия» . Архивировано из оригинала на 2013-10-10 . Проверено 16 мая 2013 .CS1 maint: заархивированная копия как заголовок ( ссылка )
- ^ «Потеря пакета или задержка на промежуточных переходах» . Проверено 25 февраля 2007 .
- ^ Kurose, JF & Ross, KW (2010). Компьютерные сети: подход сверху вниз . Нью-Йорк: Аддисон-Уэсли. п. 242.