Политика FQ-CoDel#
Описание#
Политика FQ-CoDel распределяет трафик по 1024 FIFO очередям и направлена на обеспечение наилучшего качества между ними. При использовании данной политики по возможности сохраняется небольшая длина очередей.
Политика FQ-CoDel направлена на борьбу с переполнение буфера и на снижение задержек без необходимости задания сложной конфигурации. Данная политика используется по умолчанию для интерфейсов в некоторых дистрибутивах операционной систем Linux.
Политика использует стохастическую (случайную) модель распределения для классификации входящих пакетов на различные потоки и используется для обеспечения равных долей пропускной способности всем потокам, использующим очередь. Каждый поток обрабатывается в соответствии с дисциплиной CoDel. Переупорядочение пакетов в составе потока исключено, так как дисциплина CoDel использует внутреннюю очередь FIFO.
В основе политики FQ-CoDel лежит модифицированный планировщик очередей Deficit Round Robin (DRR) с алгоритмом CoDel Active Queue Management (AQM), работающим с каждой очередью.
Примечание
Политика FQ-Codel - политика без шейпинга, поэтому она будет полезна только в том случае, если исходящий интерфейс действительно перегружается трафиком. В противном случае ПО Факел не будет оперировать очередью, и политика не будет иметь никакого эффекта. Если в канале есть доступная для использования полоса пропускания, то можно встроить FQ-Codel в другую политику с шейпингом на основе классов, чтобы убедиться в том, ПО Факел оперирует очередью. Рекомендуется встраивать политику FQ-CoDel в политику Shaper.
Политика FQ-CoDel может эффективно использоваться с параметрами по умолчанию на скорости 10 Гбит/сек. Для других скоростей может потребоваться изменение параметров.
При скорости 1 Гбит/сек и ниже рекомендуется уменьшить значение параметра queue-limit
до 1000 пакетов или меньше.
При скорости 10 Мбит/сек рекомендуется установить значение параметра queue-limit
в 600 пакетов.
При скорости 100 Мбит/сек и выше, если политика FQ-CoDel встроена в политику Shaper
рекомендуется установить значение параметра quantum
в 8000 байт, чтобы снизить нагрузку на процессор.
При скорости менее 40 Мбит/сек рекомендуется установить уменьшить значение параметра quantum
до 300 байт.
При скорости менее 3 Мбит/сек кроме задания значения параметра quantum
в 300 байт
рекомендуется также увеличить значение параметра target
до 15 миллисекунд и значение параметра interval
до 150 миллисекунд.
Далее представлен пример пример использования политики FQ-CoDel, встроенной в политику Shaper:
set traffic-policy shaper FQ-CODEL-SHAPER bandwidth 2gbit
set traffic-policy shaper FQ-CODEL-SHAPER default bandwidth 100%
set traffic-policy shaper FQ-CODEL-SHAPER default queue-type fq-codel
Список команд#
Основные настройки#
- • set traffic-policy fq-codel <policy name>#
Задает уникальное имя для политики фильтрации трафика типа FQ-CoDel.
- • set traffic-policy fq-codel <policy name> codel-quantum <bytes>#
Задает максимальное количество байт (по умолчанию - 1514), извлекаемых из очереди за один раз.
- • set traffic-policy fq-codel <policy name> flows <number-of-flows>#
Задает количество дочерних очередей (по умолчанию - 1024), в которые будут помещаться классифицированные пакеты.
- • set traffic-policy fq-codel <policy name> interval <miliseconds>#
Задает период времени в миллисекундах (по умолчанию - 100), используемый управляющим циклом CoDel для обнаружения устоявшихся очередей, чтобы исключить значительное увеличение минимально определенной задержки.
- • set traffic-policy fq-codel <policy-name> queue-limit <number-of-packets>`#
Задает предельный размер очереди в пакетах (по умолчанию - 10240). При достижении предельного размера все новые пакеты отбрасываются.
- • set traffic-policy fq-codel <policy-name> target <miliseconds>`#
Задает минимально допустимую задержку в миллисекундах (по умолчанию - 5) для ожидающей/устоявшейся очереди. Задержка определяется путем отслеживания минимальной задержки отдельной очереди, с которой сталкиваются проходящие через нее пакеты.