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

редактировать
Снижение качества обслуживания из-за высокого сетевого трафика

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

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

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

Содержание
  • 1 Пропускная способность сети
  • 2 Перегрузка
  • 3 Контроль перегрузки
    • 3.1 Теория управления перегрузкой
    • 3.2 Классификация алгоритмов контроля перегрузки
  • 4 Снижение риска
    • 4.1 Практическое предотвращение перегрузки сети
    • 4.2 Предотвращение перегрузки TCP / IP
    • 4.3 Активное управление очередью
      • 4.3.1 Случайное раннее обнаружение
      • 4.3.2 Надежное случайное раннее обнаружение
      • 4.3.3 WRED на основе потока
      • 4.3.4 Явное уведомление о перегрузке
      • 4.3.5 TCP формирование окна
      • 4.3.6 Обратный ECN
  • 5 Побочные эффекты предотвращения застойного коллапса
    • 5.1 Радиосвязи
    • 5.2 Кратковременные соединения
  • 6 Контроль допуска
  • 7 См. также
  • 8 Ссылки
  • 9 Библиография
  • 10 Внешние ссылки
Емкость сети

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

Застойный коллапс

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

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

Контроль перегрузки

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

Теория управления перегрузками

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

Пусть xi {\ displaystyle x_ {i}}x_ {i} будет скоростью потока i {\ displaystyle i}i , cl {\ displaystyle c_ {l} }c_ {l} - емкость ссылки l {\ displaystyle l}l , а rli {\ displaystyle r_ {li}}r_ { {li}} - 1, если поток i {\ displaystyle i}i использует ссылку l {\ displaystyle l}l и 0 в противном случае. Пусть x {\ displaystyle x}x , c {\ displaystyle c}c и R {\ displaystyle R}R - соответствующие векторы и матрица. Пусть U (x) {\ displaystyle U (x)}U (x) будет возрастающей, строго вогнутой функцией, называемой утилитой, которая измеряет, сколько выгода, которую пользователь получает, передавая со скоростью x {\ displaystyle x}x . Тогда оптимальное распределение скорости удовлетворяет

max x ∑ i U (xi) {\ displaystyle \ max \ limits _ {x} \ sum _ {i} U (x_ {i})}\ max \ limits _ {x} \ sum _ {i} U (x_ {i})
таким образом, что R x ≤ c {\ displaystyle Rx \ leq c}Rx \ leq c

двойник Лагранжа этой задачи разделяется, так что каждый поток устанавливает свою собственную скорость, основанную только на цене, о которой сообщает сеть. Емкость каждого канала накладывает ограничение, которое приводит к множителю Лагранжа, p l {\ displaystyle p_ {l}}p_ {l} . Сумма этих множителей, yi = ∑ lplrli, {\ displaystyle y_ {i} = \ sum _ {l} p_ {l} r_ {li},}y_ {i} = \ sum _ {l} p_ {l} r _ {{li}}, - это цена, по которой поток отвечает.

Контроль перегрузки становится распределенным алгоритмом оптимизации. Многие современные алгоритмы управления перегрузкой могут быть смоделированы в этой структуре, где pl {\ displaystyle p_ {l}}p_ {l} - это либо вероятность потери, либо задержка в очереди на ссылке l {\ displaystyle l }l . Основным недостатком является то, что он назначает одинаковую цену для всех потоков, в то время как управление потоком через скользящее окно вызывает пакетную передачу, которая заставляет разные потоки наблюдать разные потери или задержки в данном канале.

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

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

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

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

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

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

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

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

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

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

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

Алгоритм предотвращения перегрузки TCP является основной основой для управления перегрузкой в Интернете.

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

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

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

Случайное раннее обнаружение

Одним из решений является использование случайного раннего обнаружения (КРАСНЫЙ) в выходной очереди сетевого оборудования. На сетевом оборудовании портах с более чем одной исходящей очередью можно использовать взвешенное случайное раннее обнаружение (WRED).

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

Надежное случайное раннее обнаружение

Алгоритм надежного случайного раннего обнаружения (RRED) был предложен для повышения пропускной способности TCP против отказа в обслуживании (DoS) атаки, особенно низкоскоростные атаки типа «отказ в обслуживании» (LDoS). Эксперименты подтвердили, что алгоритмы, подобные RED, были уязвимы для атак LDoS из-за колеблющегося размера очереди TCP, вызванного атаками.

WRED на основе потока

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

Явное уведомление о перегрузке

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

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

Формирование окна TCP

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

Обратный ECN

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

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

Радиосвязи

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

Кратковременные соединения

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

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

Управление допуском

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

См. Также
Ссылки
Библиография
  • Джон Эванс; Кларенс Филсфилс (2007). Развертывание IP и MPLS QoS для мультисервисных сетей: теория и практика. Морган Кауфманн. ISBN 978-0-12-370549-5.
Внешние ссылки
Последняя правка сделана 2021-05-31 04:56:14
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте