> For the complete documentation index, see [llms.txt](https://almukhametov.gitbook.io/sdsm/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://almukhametov.gitbook.io/sdsm/15.-qos/6.-predotvrashenie-peregruzok-congestion-avoidance/red-random-early-detection.md).

# RED — Random Early Detection

```
А что если взять и дропы размазать по некоторой части буфера?
```

Условно говоря, начинать отбрасывать случайные пакеты, когда очередь заполняется на 80%, заставляя некоторые TCP-сессии уменьшить окно и соответственно, скорость.\
А если очередь заполнена на 90%, начинаем отбрасывать случайным образом 50% пакетов.\
90% — вероятность растёт вплоть до Tail Drop (100% новых пакетов отбрасывается).

```
Именно так и работает **RED** — более продвинутый алгоритм AQM.
```

**Early Detection** — фиксируем потенциальную перегрузку;\
**Random** — отбрасываем пакеты в случайном порядке.\
Иногда расшифровывают RED (на мой взгляд семантически более корректно), как Random Early Discard.

```
Графически это выглядит так:
```

![](https://4003779768-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LMBWLPim3JtXtLmcDeQ%2F-LMBZ6o6CbLq_Ycgu311%2F-LMBZBb3jfZlN9Ul25HB%2Fimage%20\(114\).png?generation=1536735366394722\&alt=media)

![](https://4003779768-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LMBWLPim3JtXtLmcDeQ%2F-LMBZ6o6CbLq_Ycgu311%2F-LMBZBb5FCXexuTHLjK3%2Fimage%20\(18\).png?generation=1536735386066672\&alt=media)

```
До заполнение буфера на 80% пакеты не отбрасываются совсем — вероятность 0%.
```

От 80 до 100 пакеты начинают отбрасываться, и тем больше, чем выше заполнение очереди.\
Так процент растёт от 0 до 30.

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

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

Ровно по этой же причине UDP не может оккупировать всё.
