Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

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

Сети используют методы контроля и предотвращения перегрузок , чтобы попытаться избежать коллапса. К ним относятся: экспоненциальный откат в таких протоколах, как CSMA / CA в 802.11 и аналогичный CSMA / CD в исходном Ethernet , уменьшение окна в TCP и справедливое формирование очередей в таких устройствах, как маршрутизаторы и сетевые коммутаторы . Другие методы, которые решают проблему перегрузки, включают схемы приоритета, которые передают одни пакеты с более высоким приоритетом перед другими, а также явное выделение сетевых ресурсов конкретным потокам с использованиемвходной контроль .

Емкость сети [ править ]

Сетевые ресурсы ограничены, включая время обработки маршрутизатора и пропускную способность канала . Конкуренция за ресурсы может происходить в сетях при ряде общих обстоятельств. Беспроводная локальная сеть легко заполняются один персональным компьютером. [2] Даже в быстрых компьютерных сетях магистраль может быть легко перегружена несколькими серверами и клиентскими ПК. Атаки типа «отказ в обслуживании» со стороны ботнетов способны заполнять даже самые крупные магистральные сетевые каналы Интернета, создавая масштабную перегрузку сети. В телефонных сетях массовые вызовы могут перегрузить цифровые телефонные сети.

Застойный коллапс [ править ]

Застойный коллапс (или застойный коллапс) - это состояние, при котором застой препятствует или ограничивает полезное общение. Коллапс перегрузки обычно происходит в узких точках сети, где входящий трафик превышает исходящую пропускную способность. Точки соединения между локальной сетью и глобальной сетью являются общими узкими местами. Когда сеть находится в таком состоянии, она переходит в стабильное состояние, при котором потребность в трафике высока, но доступна небольшая полезная пропускная способность, во время которого происходят задержки и потери пакетов, а качество обслуживания крайне низкое.

К 1984 году застойный коллапс был идентифицирован как возможная проблема. [3] Впервые он был замечен в раннем Интернете в октябре 1986 года [4], когда магистральная сеть фазы I NSFnet упала на три порядка с ее пропускной способности 32 кбит / с до 40 бит / с, [ править ] , которые продолжались до тех пор , пока конечные узлы приступили к реализации Ван Якобсона и Салли Floyd «ы контроль перегрузки между 1987 и 1988 [5] , когда больше пакетовбыли отправлены, чем могли бы быть обработаны промежуточными маршрутизаторами, промежуточные маршрутизаторы отбрасывали множество пакетов, ожидая, что конечные точки сети повторно передадут информацию. Однако ранние реализации TCP имели плохое поведение при повторной передаче. Когда эта потеря пакета произошла, конечные точки отправили дополнительные пакеты, которые повторяли потерянную информацию, удваивая входящую скорость.

Контроль перегрузки [ править ]

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

Теория контроля перегрузки [ править ]

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

Пусть будет скорость потока , будет пропускная способность канала и будет 1, если поток использует ссылку, и 0 в противном случае. Позвольте , и быть соответствующими векторами и матрицей. Пусть будет возрастающей, строго вогнутой функцией , называемой полезностью , которая измеряет, сколько пользы получает пользователь, передавая со скоростью . Тогда оптимальное распределение ставок удовлетворяет

такой, что

Лагранж двойного этой проблема разъединяет, так что каждый поток устанавливает свой курс, основанный только на цене сигнализируется сетью. Каждая емкость ссылки накладывает ограничение, что приводит к множителю Лагранжа , . Сумма этих множителей и есть цена, на которую реагирует поток.

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

Классификация алгоритмов контроля перегрузки [ править ]

К способам классификации алгоритмов управления перегрузками относятся:

  • По типу и количеству отзывов, полученных от сети: Убыток; задерживать; однобитовые или многобитовые явные сигналы
  • За счет инкрементального развертывания: модификация требует только отправителя; отправитель и получатель нуждаются в модификации; доработка требует только роутер; отправитель, получатель и маршрутизаторы нуждаются в модификации.
  • По характеристикам: продуктовые сети с высокой пропускной способностью и задержкой; ссылки с потерями; справедливость; преимущество перед короткими потоками; ссылки с переменной ставкой
  • По критерию справедливости: Макс-мин честность; пропорционально справедливо; контролируемая задержка

Смягчение [ править ]

Были изобретены механизмы для предотвращения перегрузки сети или борьбы с ее коллапсом:

  • Сетевой планировщик  - активное управление очередью, которое переупорядочивает или выборочно отбрасывает сетевые пакеты при наличии перегрузки
  • Явное уведомление о перегрузке  - расширение протоколов связи IP и TCP, которое добавляет механизм управления потоком
  • Контроль перегрузки TCP  - различные реализации усилий по борьбе с перегрузкой сети

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

Общие механизмы предотвращения перегрузки маршрутизатора включают справедливую организацию очередей и другие алгоритмы планирования , а также случайное раннее обнаружение (RED), при котором пакеты случайно отбрасываются при обнаружении перегрузки. Это превентивно запускает конечные точки для замедления передачи до того, как произойдет коллапс перегрузки.

Некоторые сквозные протоколы разработаны и хорошо работают в условиях перегрузки; TCP - хорошо известный пример. Первые реализации TCP для обработки перегрузки были описаны в 1984 г. [6], но включение Ван Якобсоном решения с открытым исходным кодом в стандартный дистрибутив Berkeley UNIX (« BSD ») в 1988 г. впервые обеспечило хорошее поведение.

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

Практическое предотвращение перегрузки сети [ править ]

Протоколы , ориентированные на соединение , такие как широко используемый протокол TCP , отслеживают потерю пакетов или задержку постановки в очередь, чтобы настроить скорость передачи. Различные процессы предотвращения перегрузки сети поддерживают разные компромиссы. [7]

Предотвращение перегрузки TCP / IP [ править ]

Алгоритм предотвращения перегрузки TCP является первичной основой для управления перегрузками в сети Интернет. [8] [9] [10] [11] [12]

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

Активное управление очередью [ править ]

Активное управление очередью (AQM) - это переупорядочивание или отбрасывание сетевых пакетов внутри буфера передачи, связанного с контроллером сетевого интерфейса (NIC). Эту задачу выполняет сетевой планировщик .

Случайное раннее обнаружение [ править ]

Одним из решений является использование случайного раннего обнаружения (RED) в выходной очереди сетевого оборудования. [13] [14] На сетевых аппаратных портах с более чем одной выходной очередью можно использовать взвешенное случайное раннее обнаружение (WRED).

КРАСНЫЙ косвенно сигнализирует TCP отправителю и получателю, отбрасывая некоторые пакеты, например, когда средняя длина очереди превышает пороговое значение (например, 50%), и удаляет линейно или кубически больше пакетов [15] , например, до 100%, по мере того, как очередь заполняется дальше .

Надежное раннее случайное обнаружение [ править ]

Надежный случайное раннее выявление алгоритм (RRED) был предложен улучшить TCP пропускной способности в отношении отказа в обслуживании (DoS), в частности , атаки низкоскоростных (ЛПС) атаки отказа в обслуживание. Эксперименты подтвердили, что алгоритмы, подобные RED, были уязвимы для LDoS-атак из-за колеблющегося размера очереди TCP, вызванного атаками. [16]

WRED на основе потока [ править ]

Некоторое сетевое оборудование оснащено портами, которые могут отслеживать и измерять каждый поток и, таким образом, могут сигнализировать о потоке с слишком большой полосой пропускания в соответствии с некоторой политикой качества обслуживания. Затем политика может разделить полосу пропускания между всеми потоками по некоторым критериям. [17]

Явное уведомление о перегрузке [ править ]

Другой подход - использовать явное уведомление о перегрузке (ECN). [18] ECN используется только тогда, когда два хоста сигнализируют о своем желании его использовать. В этом методе бит протокола используется для сигнализации явной перегрузки. Это лучше, чем косвенное уведомление о перегрузке, о котором сигнализирует потеря пакета алгоритмами RED / WRED, но для этого требуется поддержка обоих хостов. [19] [13]

Когда маршрутизатор получает пакет, помеченный как поддерживающий ECN, и маршрутизатор ожидает перегрузки, он устанавливает флаг ECN, уведомляя отправителя о перегрузке. Отправитель должен ответить уменьшением полосы пропускания передачи, например, уменьшением скорости передачи путем уменьшения размера окна TCP или другими способами.

Формирование окна TCP [ править ]

Избежать перегрузок можно эффективно за счет сокращения трафика. Когда приложение запрашивает большой файл, графику или веб-страницу, оно обычно объявляет окно размером от 32 до 64 КБ. Это приводит к тому, что сервер отправляет полное окно данных (при условии, что файл больше окна). Когда несколько приложений одновременно запрашивают загрузки, эти данные могут создать точку перегрузки у вышестоящего провайдера. За счет уменьшения количества оконных объявлений удаленные серверы отправляют меньше данных, что снижает перегрузку. [20] [21]

Обратный ECN [ править ]

Обратный ECN (BECN) - еще один предлагаемый механизм уведомления о перегрузке. Он использует сообщения блокировки источника ICMP в качестве механизма сигнализации IP для реализации базового механизма ECN для IP-сетей, сохраняя уведомления о перегрузке на уровне IP и не требуя согласования между конечными точками сети. Эффективные уведомления о перегрузке могут быть переданы протоколам транспортного уровня, таким как TCP и UDP, для соответствующих корректировок. [22]

Побочные эффекты предотвращения застойного коллапса [ править ]

Радио ссылки [ править ]

Протоколы, предотвращающие застойный коллапс, часто основаны на идее, что потеря данных вызвана перегрузкой. Это верно почти во всех случаях; ошибки при передаче случаются редко. Однако это приводит к тому, что в некоторых случаях Wi-Fi , 3G или другие сети с радиоуровнем имеют низкую пропускную способность, поскольку беспроводные сети подвержены потере данных из-за помех. TCP-соединения, работающие на физическом уровне на основе радио, видят потерю данных и имеют тенденцию ошибочно полагать, что происходит перегрузка.

Кратковременные связи [ править ]

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

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

Контроль допуска [ править ]

Для управления доступом требуется, чтобы устройства получали разрешение перед установкой новых сетевых подключений. Если новое соединение рискует создать перегрузку, в разрешении может быть отказано. Одним из примеров этого является использование возможностей бесконфликтной передачи (CFTXOP) в стандарте ITU-T G.hn , который обеспечивает высокоскоростную (до 1 Гбит / с) локальную сеть по разным проводам (линии электропередач, телефонная связь). линии и коаксиальные кабели).

См. Также [ править ]

  • Управление пропускной способностью  - процесс измерения и управления связью по сетевому каналу, чтобы избежать переполнения канала или переполнения канала.
  • Bufferbloat  - перегрузка, вызванная чрезмерной буферизацией пакетов
  • Каскадный отказ  - система взаимосвязанных частей, в которой отказ одной или нескольких частей может вызвать отказ других.
  • Замена дросселя
  • Эрланг (единица)
  • Макс-мин честность
  • Синдром ученика чародея  - ошибка сетевого протокола в оригинальных версиях TFTP.
  • Контроль перегрузки TCP  - методы повышения производительности сети по протоколу управления передачей
  • Инженерия телетрафика
  • Разбивка  - компьютер постоянно обменивается данными между памятью и хранилищем, оставляя мало возможностей для производительной обработки.
  • Формирование трафика  - метод управления пропускной способностью
  • Надежность (компьютерные сети)

Ссылки [ править ]

  1. ^ (Аль-Бахадили, 2012, стр. 282) Аль-Бахадили, Х. (2012). Имитационное моделирование при проектировании и моделировании компьютерных сетей: использование и анализ . Херши, Пенсильвания: IGI Global.
  2. ^ den Hartog, F., Raschella, A., Bouhafs, F., Kempker, P., Boltjes, B., & Seyedebrahimi, M. (2017, ноябрь). Путь к разрешению Wi-Fi Tragedy of the Commons в многоквартирных домах . В 2017 году 27-я Международная конференция по телекоммуникационным сетям и приложениям (ITNAC) (стр. 1-6). IEEE.
  3. ^ RFC  896
  4. ^ Падение, КР; Стивенс, WR (2011). Иллюстрированный TCP / IP, Том 1: Протоколы (2-е изд.). Pearson Education. п. 739. ISBN 9780132808187.
  5. ^ Хафнер, Кэти. «Салли Флойд, которая помогала вещам работать гладко в Интернете, умерла в возрасте 69 лет» . Нью-Йорк Таймс . Нью-Йорк Таймс . Дата обращения 5 сентября 2019 .
  6. ^ Винтон Г. Серф; Роберт Э. Кан (май 1974 г.). «Протокол межсетевого взаимодействия в пакетной сети» (PDF) . IEEE Transactions on Communications . 22 (5): 637–648. DOI : 10.1109 / tcom.1974.1092259 . Архивировано из оригинального (PDF) 4 марта 2016 года.
  7. ^ Ли, BP; Балан, РК; Jacob, L .; Seah, WKG; Ананда, А.Л. (2000), «Туннели TCP: предотвращение коллапса перегрузки», Труды 25-й ежегодной конференции IEEE по локальным компьютерным сетям. LCN 2000 . С. 408-417, DOI : 10,1109 / LCN.2000.891077 , ISBN 0-7695-0912-6, S2CID  34447400
  8. ^ Ван Якобсон , Майкл Дж. Карелс . Предотвращение перегрузки и контроль (1988). Труды симпозиума Sigcomm '88 , том 18 (4): стр. 314–329. Стэнфорд, Калифорния. Август 1988 г. В этой статье были разработаны многие алгоритмы предотвращения перегрузки, используемые в TCP / IP.
  9. ^ RFC 2001 - Медленный запуск TCP, предотвращение перегрузки, быстрая повторная передача и алгоритмы быстрого восстановления
  10. ^ RFC 2581 - Контроль перегрузки TCP
  11. ^ RFC 3390 - TCP, увеличивающее начальное окно TCP
  12. ^ Предотвращение перегрузки TCP, объясненное с помощью диаграммы последовательности
  13. ^ a b Салли Флойд: RED (случайное раннее обнаружение) Управление очередью
  14. ^ Салли Флойд, Ван Якобсон. Шлюзы случайного раннего обнаружения для предотвращения перегрузки (1993). IEEE / ACM Transactions on Networking , vol.1 (4): pp.397–413. Изобретены шлюзы случайного раннего обнаружения (RED).
  15. ^ Аналитическая конструкция функции RED, гарантирующая стабильное поведение системы , CiteSeerX 10.1.1.105.5995 , ... Преимущество этой функции заключается не только в предотвращении сильных колебаний, но и в недопущении недостаточного использования канала при низких нагрузках. Применимость производной функции не зависит от диапазона нагрузки, никакие параметры настраивать не нужно. По сравнению с исходной линейной функцией капель применимость значительно расширилась ... Наш пример с реалистичными параметрами системы дает аппроксимирующую функцию кубического размера очереди ... 
  16. ^ Чжан, Чангван; Инь, Цзяньпин; Цай, Чжипин; Чен, Вэйфэн (2010). «RRED: надежный алгоритм RED для противодействия низкоскоростным атакам типа« отказ в обслуживании »» (PDF) . Письма связи IEEE . IEEE . 14 (5): 489–491. DOI : 10,1109 / LCOMM.2010.05.091407 . S2CID 1121461 .  
  17. ^ «Обзор предотвращения перегрузки» . Cisco Systems . Проверено 7 августа 2020 .
  18. ^ RFC 3168 - Добавление явного уведомления о перегрузке (ECN) в IP
  19. ^ Сравнительное исследование RED, ECN и контроля скорости TCP (1999)
  20. ^ Generalized Window Advertising for TCP CongestionControl (PDF) , получено 13 ноября 2020 г.
  21. ^ Pop, O .; Moldován, I .; Simon, Cs .; Bíró, J .; Koike, A .; Ишии, Х. (2000), "Окно Рекламируемый- на основе протокола TCP Управление потоком в маршрутизаторах", телекоммуникационная сеть разведки , стр 197-218,. DOI : 10.1007 / 978-0-387-35522-1_12 , ISBN 978-1-4757-6693-6
  22. ^ Предложение по Backward ECN для Интернет-протокола
  • «Развертывание IP и MPLS QoS для мультисервисных сетей: теория и практика» Джона Эванса, Кларенса Филсфилса (Морган Кауфманн, 2007, ISBN 0-12-370549-5 ) 
  • RFC 2914 - Принципы контроля перегрузки, Салли Флойд, сентябрь 2000 г.
  • RFC 896 - «Контроль перегрузки в IP / TCP», Джон Нэгл, 6 января 1984 г.
  • Введение в предотвращение и контроль перегрузок , Ван Якобсон и Майкл Дж. Карелс, ноябрь 1988 г.

Библиография [ править ]

  • Джон Эванс; Кларенс Филсфилс (2007). Развертывание IP и MPLS QoS для мультисервисных сетей: теория и практика . Морган Кауфманн. ISBN 978-0-12-370549-5.

Внешние ссылки [ править ]

  • Нэгл, Дж. RFC 896 : Контроль перегрузки в объединенных сетях IP / TCP (1984)
  • Флойд, С. RFC 2914 : Принципы контроля перегрузки (2000)
  • Флойд, С. и К. Фолл, Содействие использованию сквозного контроля перегрузки в Интернете (IEEE / ACM Transactions on Networking, август 1999 г.)
  • Салли Флойд, « Об эволюции сквозного контроля перегрузки в Интернете: идиосинкразический взгляд» (семинар IMA по масштабированию явлений в коммуникационных сетях, октябрь 1999 г.) ( формат PDF )
  • Ссылочный термин: очередность
  • Пьер-Франсуа Кет, Шрирам Челлаппан, Арджан Дуррези, Мукундан Шридхаран, Хитай Озбай, Радж Джайн, «Рекомендации по оптимизации многоуровневой ECN с использованием модели TCP на основе потока жидкости»
  • Салли Флойд, Ратул Махаджан, Дэвид Уэтералл: КРАСНЫЙ-ПП: КРАСНЫЙ с преимущественным сбросом
  • Универсальный простой симулятор RED для образовательных целей от Мехмета Сузена
  • Подходы к контролю перегрузки в пакетных сетях
  • Документы в управлении перегрузкой
  • Домашняя страница случайного раннего обнаружения
  • Домашняя страница явных уведомлений о перегрузке
  • Домашняя страница TFRC
  • Домашняя страница AIMD-FC
  • [постоянная мертвая ссылка ] Моделирование контроля перегрузки TCP: быстрое восстановление
  • Последние публикации о низкоскоростных атаках типа «отказ в обслуживании» (DoS)