В данной работе авторы моделируют алгоритм Random Early Detection (RED), а также такие его модификации, как Double Slope Random Early Detection (DSRED) и Gentle Random Early Detection (GRED). Алгоритм RED позволяет контролировать нагрузку в сети с помощью выборочного случайного отбрасывания пакетов до того, как очередь будет заполнена полностью, в этом случае TCP-подобные протоколы начинают снижать скорость передачи, предотвращая тем самым повторную синхронизацию. При использовании такой случайной потери пакетов в очереди TCP-протоколы быстрее находят подходящую скорость передачи данных и удерживают размер очереди и время задержки на приемлемом уровне. Существование большого числа модификаций классического алгоритма RED связано с проблемой подбора параметров алгоритма (пороговых значений очереди, параметра максимального сброса и т.д.), при которых система функционировала бы стабильно и эффективно. В качестве программного средства моделирования используется среда OpenModelica, математическое моделирование проводится на языке Modelica. На основе полученных результатов в ходе моделирования планируется провести сравнительный анализ трёх алгоритмов при схожих начальных параметрах, выявить преимущества того или иного алгоритма.
The goal of this work is to simulate the Random Random Detection algorithm (RED) and its modifications Double Slope Random Early Detection (DSRED) and Gentle Random Early Detection (GRED) in Modelica. RED and its modifications allow to control the network load by selectively discarding packets before the queue is full and TCP-like protocols begin to reduce the transmission rate preventing resynchronization. This selective packet loss helps TCP find the right data rate faster and keep the queue size and latency at the appropriate level. The existence of a large number of modifications of the classical RED algorithm is associated with the problem of selecting the parameters of the algorithm (queue thresholds, maximum drop parameter, etc.) under which the system would function stably and efficiently. The Modelica language is used as the implementation language. Based on the results obtained during the simulation it is planned to conduct a comparative analysis of the three algorithms with similar initial parameters to reveal the advantages of one or another algorithm.