stringtranslate.com

Потеря пакетов

Потеря пакетов происходит, когда один или несколько пакетов данных, проходящих через компьютерную сеть , не достигают своего пункта назначения. Потеря пакетов вызвана либо ошибками в передаче данных, как правило, через беспроводные сети , [1] [2] либо перегрузкой сети . [3] : 36  Потеря пакетов измеряется как процент потерянных пакетов по отношению к отправленным пакетам.

Протокол управления передачей (TCP) обнаруживает потерю пакетов и выполняет повторную передачу для обеспечения надежной передачи сообщений . Потеря пакетов в соединении TCP также используется для предотвращения перегрузки и, таким образом, намеренно снижает пропускную способность соединения.

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

Причины

Интернет -протокол (IP) разработан в соответствии с принципом «из конца в конец» как служба доставки с наилучшими усилиями , с намерением сохранить логику, которую должны реализовать маршрутизаторы , как можно более простой. Если бы сеть делала надежные гарантии доставки самостоятельно, это потребовало бы инфраструктуры хранения и пересылки , где каждый маршрутизатор выделяет значительный объем дискового пространства для пакетов, ожидая, чтобы проверить, что следующий узел правильно их получил. Надежная сеть не смогла бы поддерживать свои гарантии доставки в случае отказа маршрутизатора. Надежность также не нужна для всех приложений. Например, при потоковой передаче мультимедиа в реальном времени важнее быстро доставлять последние пакеты, чем гарантировать, что устаревшие пакеты будут в конечном итоге доставлены. Приложение или пользователь также могут решить повторить операцию, которая занимает много времени, и в этом случае еще один набор пакетов будет добавлен к бремени доставки исходного набора. Такой сети также может потребоваться протокол управления и контроля для управления перегрузками, что еще больше усложняет задачу.

Чтобы избежать всех этих проблем, протокол Интернета позволяет маршрутизаторам просто сбрасывать пакеты, если маршрутизатор или сегмент сети слишком заняты, чтобы доставить данные своевременно. Это не идеально для быстрой и эффективной передачи данных и не ожидается в неперегруженной сети. [4] Сбрасывание пакетов действует как неявный сигнал о том, что сеть перегружена, и может заставить отправителей уменьшить объем потребляемой полосы пропускания или попытаться найти другой путь. Например, используя воспринимаемую потерю пакетов в качестве обратной связи для обнаружения перегрузки, протокол управления передачей (TCP) разработан таким образом, что чрезмерная потеря пакетов заставит отправителя сбавить скорость и прекратить заполнять узкое место данными. [3] : 282–283 

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

Беспроводные сети

Беспроводные сети подвержены воздействию ряда факторов, которые могут повредить или потерять пакеты при передаче, таких как радиочастотные помехи (RFI), [1] радиосигналы, которые слишком слабы из-за расстояния или многолучевого затухания , неисправное сетевое оборудование или неисправные сетевые драйверы.

Wi-Fi по своей сути ненадежен , и даже когда два идентичных приемника Wi-Fi размещаются в непосредственной близости друг от друга, они не демонстрируют схожих моделей потери пакетов, как можно было бы ожидать. [1]

Сотовые сети могут испытывать потерю пакетов, вызванную «высоким коэффициентом ошибок по битам (BER), нестабильными характеристиками канала и мобильностью пользователя». [5] Преднамеренное регулирование TCP не позволяет беспроводным сетям работать на скоростях, близких к их теоретически возможным скоростям передачи данных, поскольку немодифицированный TCP обрабатывает все потерянные пакеты так, как будто они были вызваны перегрузкой сети , и поэтому может затормозить беспроводные сети, даже если они на самом деле не перегружены. [5]

Перегрузка сети

Перегрузка сети является причиной потери пакетов, которая может повлиять на все типы сетей. Когда контент поступает в течение длительного периода на заданный маршрутизатор или сетевой сегмент со скоростью, превышающей скорость, через которую его можно отправить, нет другого выбора, кроме как отбрасывать пакеты. [3] : 36  Если один маршрутизатор или соединение ограничивает пропускную способность всего пути перемещения или перемещения по сети в целом, это известно как узкое место. В некоторых случаях пакеты намеренно отбрасываются процедурами маршрутизации, [6] или с помощью метода устрашения сети в целях оперативного управления. [7]

Эффекты

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

Когда необходима надежная доставка, потеря пакетов увеличивает задержку из-за дополнительного времени, необходимого для повторной передачи. [a] Если предположить, что повторная передача не требуется, пакеты, испытывающие наибольшие задержки, могут быть отброшены в первую очередь (в зависимости от используемой дисциплины очередности ), что приведет к снижению общей задержки.

Измерение

Потерю пакетов можно измерить как процент потерь кадров, определяемый как процент кадров, которые должны были быть пересланы сетью, но не были. [8] : 4 

Допустимая потеря пакетов

Потеря пакетов тесно связана с соображениями качества обслуживания . Допустимое количество потери пакетов зависит от типа отправляемых данных. Например, для трафика Voice Over IP один комментатор посчитал, что «[потеря] одного или двух пакетов время от времени не повлияет на качество разговора. Потери от 5% до 10% от общего потока пакетов существенно повлияют на качество». [9] Другой описал потерю пакетов менее 1% как «хорошую» для потокового аудио или видео, а 1–2,5% как «приемлемую». [10]

Диагноз

Потеря пакетов обнаруживается надежными протоколами, такими как TCP. Надежные протоколы реагируют на потерю пакетов автоматически, поэтому, когда человеку, например сетевому администратору, необходимо обнаружить и диагностировать потерю пакетов, он обычно использует информацию о состоянии от сетевого оборудования или специально разработанных инструментов.

Протокол управляющих сообщений Интернета обеспечивает функциональность эха , где передается специальный пакет, который всегда производит ответ. Такие инструменты, как ping , traceroute , MTR и PathPing, используют этот протокол для предоставления визуального представления пути, по которому проходят пакеты, и для измерения потери пакетов на каждом скачке . [b]

Многие маршрутизаторы имеют страницы состояния или журналы, где владелец может узнать количество или процент пакетов, потерянных за определенный период.

Восстановление пакетов для надежной доставки

Согласно принципу «из конца в конец» , интернет-протокол оставляет ответственность за восстановление пакетов путем повторной передачи потерянных пакетов конечным точкам — компьютерам, отправляющим и получающим данные. Они находятся в лучшем положении, чтобы решить, нужна ли повторная передача, поскольку приложение, отправляющее данные, должно знать, лучше ли повторно передать сообщение полностью или частично, прошла ли необходимость в отправке сообщения и как контролировать объем потребляемой полосы пропускания для учета любой перегрузки.

Сетевые транспортные протоколы, такие как TCP, предоставляют конечным точкам простой способ обеспечения надежной доставки пакетов, так что отдельным приложениям не нужно реализовывать логику для этого самостоятельно. В случае потери пакета получатель запрашивает повторную передачу, или отправитель автоматически повторно отправляет любые сегменты, которые не были подтверждены. [3] : 242  Хотя TCP может восстанавливаться после потери пакета, повторная передача отсутствующих пакетов снижает пропускную способность соединения, поскольку получатели ждут повторных передач, и ими потребляется дополнительная полоса пропускания. В некоторых вариантах TCP, если переданный пакет потерян, он будет повторно отправлен вместе с каждым пакетом, который уже был отправлен после него.

Такие протоколы, как User Datagram Protocol (UDP), не обеспечивают восстановления потерянных пакетов. Приложения, использующие UDP, должны реализовать собственные механизмы для обработки потери пакетов, если это необходимо.

Влияние дисциплины очередей

Существует множество дисциплин очередей , используемых для определения того, какие пакеты следует отбрасывать. Большинство базового сетевого оборудования будет использовать очередь FIFO для пакетов, ожидающих прохождения через узкое место, и они отбросят пакет, если очередь заполнена на момент получения пакета. Этот тип отбрасывания пакетов называется отбрасыванием хвоста . Другие механизмы полной очереди включают случайное раннее обнаружение и взвешенное случайное раннее обнаружение . Отбрасывание пакетов нежелательно, поскольку пакет либо теряется, либо должен быть передан повторно, и это может повлиять на пропускную способность в реальном времени; однако увеличение размера буфера может привести к раздуванию буфера , что имеет свое собственное влияние на задержку и дрожание во время перегрузки.

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

Смотрите также

Примечания

  1. ^ При типичной перегрузке сети не все пакеты в потоке отбрасываются. Это означает, что неотброшенные пакеты будут прибывать с низкой задержкой по сравнению с повторно переданными пакетами, которые прибывают с высокой задержкой. Не только повторно переданные пакеты должны пройти часть пути дважды, но и отправитель не поймет, что пакет был отброшен, пока он либо не получит подтверждение получения в ожидаемом порядке, либо не получит подтверждение в течение достаточно долгого времени, чтобы предположить, что пакет был отброшен, а не просто задержан.
  2. ^ В некоторых случаях эти инструменты могут указывать на сброс пакетов, которые заканчиваются через небольшое количество переходов, но не тех, которые доходят до пункта назначения. Например, маршрутизаторы могут давать эхо пакетов ICMP с низким приоритетом и предпочтительно сбрасывать их в пользу расходования ресурсов на подлинные данные; это обычно считается артефактом тестирования и может игнорироваться в пользу сквозных результатов. [11]

Ссылки

  1. ^ abc Salyers, David C.; Striegel, Aaron; Poellabauer, Christian. «Надежность беспроводной связи: переосмысление потери пакетов 802.11» (PDF) . Архивировано из оригинала (PDF) 2019-07-12 . Получено 2018-02-19 .
  2. ^ Tian, ​​Ye; Xu, Kai; Ansari, Nirwan (март 2005 г.). "TCP в беспроводных средах: проблемы и решения" (PDF) . IEEE Radio Communications . 43 (3): S27–S32. doi :10.1109/MCOM.2005.1404595. S2CID  735922. Архивировано из оригинала (PDF) 2017-08-09 . Получено 2018-02-19 .
  3. ^ abcd Куроуз, Дж. Ф. и Росс, К. У. (2010). Компьютерные сети: подход сверху вниз . Нью-Йорк: Addison-Wesley.
  4. ^ Куроуз, Дж. Ф.; Росс, К. В. (2010). Компьютерные сети: подход сверху вниз . Нью-Йорк: Addison-Wesley. С. 42–43. ISBN 9780136079675. Доля потерянных пакетов увеличивается по мере увеличения интенсивности трафика. Поэтому производительность узла часто измеряется не только с точки зрения задержки, но и с точки зрения вероятности потери пакета… потерянный пакет может быть повторно передан на сквозной основе, чтобы гарантировать, что все данные в конечном итоге будут переданы от источника к месту назначения.
  5. ^ ab Ye Tian; Kai Xu; Nirwan Ansari (март 2005 г.). "TCP в беспроводных средах: проблемы и решения" (PDF) . Радиосвязь IEEE . IEEE . Архивировано из оригинала (PDF) 2017-08-09 . Получено 2018-02-19 .
  6. ^ Перкинс, CE (2001). Ad Hoc Networking . Бостон: Addison-Wesley. С. 147.
  7. ^ «Управление приложениями путем управления сетевыми характеристиками» Вахаб Пурнагшбанд, Леонард Клейнрок, Питер Рейхер и Александр Афанасьев ICC 2012
  8. ^ S. Bradner, ed. (Июль 1991). Терминология сравнительного анализа для сетевых устройств взаимодействия. Сетевая рабочая группа. doi : 10.17487/RFC1242 . RFC 1242. Информационный.
  9. ^ Мэнсфилд, К. К. и Антонакос, Дж. Л. (2010). Компьютерные сети от локальных сетей до глобальных сетей: оборудование, программное обеспечение и безопасность . Бостон: Курс технологий, Cengage Learning. стр. 501.
  10. ^ "ICTP-SDU: About PingER". Архивировано из оригинала 2013-10-10 . Получено 2013-05-16 .
  11. ^ "Потеря пакетов или задержка на промежуточных участках" . Получено 25.02.2007 .

Внешние ссылки