Random early detection

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

Random early detection (RED) (Произвольное Раннее Обнаружение) — один из алгоритмов AQM для управления переполнением очередей маршрутизаторов.

Random Early Detection algorithm en.svg

Общие положения[править | править вики-текст]

Недостатки других алгоритмов[править | править вики-текст]

В традиционном алгоритме отбрасывания конца очереди (Tail drop), маршрутизатор или другое сетевое оборудование набирает в буфер максимальное количество пакетов, отбрасывая всё, что остается незагруженным. Если буферы постоянно заполнены, сеть становится перегруженной [1]

В итоге получается, что Tail drop нерационально использует пространство памяти маршрутизатора. Также в случае множественных коротких TCP сессий в сети наступает перегрузка (когда на маршрутизатор поступает большое количество инициализующих пакетов). Не-TCP программы, не обладающие защитой от перегрузки, также вызывают заторы в сети [2].

Решение проблемы[править | править вики-текст]

RED отслеживает средний размер очереди и отбрасываемых пакетов, основываясь на статистической вероятности. Также RED может использовать отслеживание пометок ECN.

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

Другими словами, когда заполненность буфера маршрутизатора превышает какое-либо пороговое значение, вероятность отбрасывания входящего пакета зависит от степени превышения этого порогового значения.

RED становится намного эффективнее других алгоритмов в случае малых размеров очередей, а также при «взрывном» характере трафика.

Использование RED делает невозможным разделение по классам качества обслуживания (QoS). Поэтому в случае, когда QoS важно, используются другие варианты алгоритма, такие как Weighted RED (WRED) или RED In/Out (RIO).

Альтернативные варианты[править | править вики-текст]

  • Взвешенный RED (WRED) позволяет использовать различные вероятности для различных приоритетов (IP precedence, DSCP) или очередей.
  • Адаптивный / Активный RED (ARED) алгоритм [3] решает в каждом отдельном случае, сделать ли RED более или менее агрессивным, основываясь на наблюдениях за средней длиной очереди.

Примечания[править | править вики-текст]

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