Политика Round Robin#
Описание#
Политика Round Robin является распределяющей политикой на основе классов, которая распределяет трафик по различным классам (максимальное количество классов - 4096). Можно встроить политику Round Robin в каждый из доступных классов, включая класс по умолчанию.
Каждому классу назначается специальный счетчик дефицита данных (количество байт, которое может быть передано в рамках потока при его обработке), инициализируемый параметром - квантом. Квант - это настраиваемый параметр, который представляет собой фиксированное количество байт, предоставляемых счетчику на каждом цикле его работы. Затем политика Round Robin начинает перемещать указатель по очередям. Если счетчик дефицита данных превышает размер пакета в начале очереди, пакет будет отправлен, а значение счетчика - уменьшено на размер пакета. Затем размер следующего пакета снова сравнивается со значением счетчика, и процесс повторяется. Как только очередь окажется пустой или текущего значения счетчика будет недостаточно для сравнения, указатель будет перемещен к следующей очереди. Если очередь пустая, то значение счетчика дефицита данных сбрасывается к нулевому значению.
На каждом цикле работы счетчик дефицита данных добавляет квант, поэтому даже большие по размеру пакеты могут быть обработаны в очереди.
Политика Round Robin может быть встроена в класс другой политики с помощью параметра queue-type
.
fakel@fakel# set traffic-policy round-robin DRR class 10 queue-type
Possible completions:
fq-codel Fair Queue Codel
fair-queue Stochastic Fair Queue (SFQ)
drop-tail First-In-First-Out (FIFO)
priority Priority queueing based on DSCP
Список команд#
Основные настройки#
- • set traffic-policy round-robin <policy name>#
Задает уникальное имя для политики фильтрации трафика типа Round Robin.
- • set traffic-policy round-robin <policy name> class <class-ID>#
Задает числовой идентификатор класса для политики фильтрации трафика типа Round Robin.
- • set traffic-policy round-robin <policy name> class <class-ID> quantum <packets>#
Задает квант для определенного идентификатора класса, значение которого будет добавляться на каждом цикле работы счетчика дефицита данных.
- • set traffic-policy round-robin <policy name> class <class ID> queue-limit <packets>#
Задает размер очереди в пакетах.