Документация: ПО Факел — разрабатываемая версия
Политика Shaper¶
Обзор¶
Политика Shaper ограничивает исходящий трафик интерфейса заданной полосой пропускания и распределяет ее между классами. Каждому классу гарантируется его полоса пропускания (bandwidth); свободную полосу политики класс может занимать до значения ceiling. Трафик, не подошедший ни под один класс, обрабатывается как трафик по умолчанию (default).
Внутри класса и для трафика по умолчанию работает очередь, дисциплина которой выбирается параметром queue-type: FQ-CoDel (по умолчанию) или очередь с приоритетами.
Политика реализована иерархическим шейпером (HTB) плоскости передачи данных FVE и применяется только к исходящему трафику (egress).
Важно
В текущей версии ПО Факел не применяются параметры priority и codel-quantum; передача параметра queue-limit в FVE не подтверждена. Группы правил match-group применяются, но условия max-length, tcp, ether, mark и vif в них не учитываются. Сводный список — на странице Ограничения.
Состояние примененных политик отображает команда show qos; команды show qos shaper и show qos cake interface <interface> читают дисциплины очередей ядра Linux и не отображают политики FVE (см. Ограничения).
Пример настройки¶
В примере исходящий трафик интерфейса eth0 ограничивается полосой 50 Мбит/с: голосовому трафику гарантируется 10 Мбит/с, трафику сети 192.168.30.0/24 — 5 Мбит/с.
Шаг |
Команда |
Описание |
|---|---|---|
1 |
set qos policy shaper |
Создает политику |
2 |
set qos policy shaper |
Гарантирует классу |
3 |
set qos policy shaper |
Относит к классу |
4 |
set qos policy shaper |
Создает для класса |
5 |
set qos policy shaper |
Гарантирует классу |
6 |
set qos policy shaper |
Разрешает классу |
7 |
set qos policy shaper |
Относит к классу |
8 |
set qos policy shaper |
Гарантирует трафику по умолчанию полосу 5 Мбит/с |
9 |
set qos policy shaper |
Разрешает трафику по умолчанию занимать свободную полосу до 50 Мбит/с |
10 |
set qos interface |
Применяет политику к исходящему трафику интерфейса |
Список команд¶
Режим «Конфигурирование»¶
qos policy shaper <policy-name>¶
Синтаксис:
set qos policy shaper
<policy-name>delete qos policy shaper
<policy-name>show qos policy shaper
Аргументы:
<policy-name>— имя политики. Формат: строка из латинских букв, цифр, символов «-» и «_», начинается с буквы или цифры. Имя должно быть уникальным среди политик всех типов.
Режим: «Конфигурирование».
qos policy shaper <policy-name> description <description>¶
Синтаксис:
set qos policy shaper
<policy-name>description<description>delete qos policy shaper
<policy-name>description<description>show qos policy shaper
<policy-name>description
Аргументы:
<policy-name>— имя политики. Формат: строка из латинских букв, цифр, символов «-» и «_», начинается с буквы или цифры. Имя должно быть уникальным среди политик всех типов;<description>— описание. Формат: строка.
Режим: «Конфигурирование».
qos policy shaper <policy-name> bandwidth <bandwidth>¶
Синтаксис:
set qos policy shaper
<policy-name>bandwidth<bandwidth>delete qos policy shaper
<policy-name>bandwidth<bandwidth>show qos policy shaper
<policy-name>bandwidth
Аргументы:
<policy-name>— имя политики. Формат: строка из латинских букв, цифр, символов «-» и «_», начинается с буквы или цифры. Имя должно быть уникальным среди политик всех типов;<bandwidth>— полоса пропускания. Формат: число с единицей измеренияbit,kbit,mbit,gbitилиtbit(например,50mbit); число без единицы измерения — килобиты в секунду (см. Единицы измерения).
Режим: «Конфигурирование».
qos policy shaper <policy-name> class <class-id>¶
Синтаксис:
set qos policy shaper
<policy-name>class<class-id>delete qos policy shaper
<policy-name>class<class-id>show qos policy shaper
<policy-name>class
Аргументы:
<policy-name>— имя политики. Формат: строка из латинских букв, цифр, символов «-» и «_», начинается с буквы или цифры. Имя должно быть уникальным среди политик всех типов;<class-id>— идентификатор класса. Формат: целое число. Диапазон значений: от 2 до 32768.
Режим: «Конфигурирование».
qos policy shaper <policy-name> class <class-id> description <description>¶
Синтаксис:
set qos policy shaper
<policy-name>class<class-id>description<description>delete qos policy shaper
<policy-name>class<class-id>description<description>show qos policy shaper
<policy-name>class<class-id>description
Аргументы:
<policy-name>— имя политики. Формат: строка из латинских букв, цифр, символов «-» и «_», начинается с буквы или цифры. Имя должно быть уникальным среди политик всех типов;<class-id>— идентификатор класса. Формат: целое число. Диапазон значений: от 2 до 32768;<description>— описание. Формат: строка.
Режим: «Конфигурирование».
qos policy shaper <policy-name> class <class-id> bandwidth <bandwidth>¶
Синтаксис:
set qos policy shaper
<policy-name>class<class-id>bandwidth<bandwidth>delete qos policy shaper
<policy-name>class<class-id>bandwidth<bandwidth>show qos policy shaper
<policy-name>class<class-id>bandwidth
Аргументы:
<policy-name>— имя политики. Формат: строка из латинских букв, цифр, символов «-» и «_», начинается с буквы или цифры. Имя должно быть уникальным среди политик всех типов;<class-id>— идентификатор класса. Формат: целое число. Диапазон значений: от 2 до 32768;<bandwidth>— полоса пропускания. Формат: число с единицей измеренияbit,kbit,mbit,gbitилиtbit(например,50mbit); число без единицы измерения — килобиты в секунду (см. Единицы измерения).
Режим: «Конфигурирование».
qos policy shaper <policy-name> class <class-id> ceiling <ceiling>¶
Синтаксис:
set qos policy shaper
<policy-name>class<class-id>ceiling<ceiling>delete qos policy shaper
<policy-name>class<class-id>ceiling<ceiling>show qos policy shaper
<policy-name>class<class-id>ceiling
Аргументы:
<policy-name>— имя политики. Формат: строка из латинских букв, цифр, символов «-» и «_», начинается с буквы или цифры. Имя должно быть уникальным среди политик всех типов;<class-id>— идентификатор класса. Формат: целое число. Диапазон значений: от 2 до 32768;<ceiling>— максимальная скорость. Формат: число с единицей измеренияbit,kbit,mbit,gbitилиtbit(например,50mbit); число без единицы измерения — килобиты в секунду (см. Единицы измерения).
Режим: «Конфигурирование».
qos policy shaper <policy-name> class <class-id> priority <priority>¶
Синтаксис:
set qos policy shaper
<policy-name>class<class-id>priority<priority>delete qos policy shaper
<policy-name>class<class-id>priority<priority>show qos policy shaper
<policy-name>class<class-id>priority
Аргументы:
<policy-name>— имя политики. Формат: строка из латинских букв, цифр, символов «-» и «_», начинается с буквы или цифры. Имя должно быть уникальным среди политик всех типов;<class-id>— идентификатор класса. Формат: целое число. Диапазон значений: от 2 до 32768;<priority>— приоритет. Формат: целое число. Диапазон значений: от 0 до 20.
Режим: «Конфигурирование».
qos policy shaper <policy-name> class <class-id> set-dscp <set-dscp>¶
Синтаксис:
set qos policy shaper
<policy-name>class<class-id>set-dscp<set-dscp>delete qos policy shaper
<policy-name>class<class-id>set-dscp<set-dscp>show qos policy shaper
<policy-name>class<class-id>set-dscp
Аргументы:
<policy-name>— имя политики. Формат: строка из латинских букв, цифр, символов «-» и «_», начинается с буквы или цифры. Имя должно быть уникальным среди политик всех типов;<class-id>— идентификатор класса. Формат: целое число. Диапазон значений: от 2 до 32768;<set-dscp>— метка DSCP:0–63или имя:default,reliability,throughput,lowdelay,priority,immediate,flash,flash-override,critical,internet,network,AF11–AF43,CS1–CS7,EF(см. Метки DSCP).
Режим: «Конфигурирование».
qos policy shaper <policy-name> class <class-id> queue-type <queue-type>¶
Синтаксис:
set qos policy shaper
<policy-name>class<class-id>queue-type<queue-type>delete qos policy shaper
<policy-name>class<class-id>queue-type<queue-type>show qos policy shaper
<policy-name>class<class-id>queue-type
Аргументы:
<policy-name>— имя политики. Формат: строка из латинских букв, цифр, символов «-» и «_», начинается с буквы или цифры. Имя должно быть уникальным среди политик всех типов;<class-id>— идентификатор класса. Формат: целое число. Диапазон значений: от 2 до 32768;<queue-type>— дисциплина очереди. Возможные значения:fq-codel— справедливая очередь с алгоритмом CoDel;priority— очереди с приоритетами;drop-tailиfair-queue— принимаются, но очередь не создается;random-detect— приводит к ошибке при фиксации конфигурации (см. Ограничения). Значение по умолчанию: fq-codel.
Режим: «Конфигурирование».
qos policy shaper <policy-name> class <class-id> flows <flows>¶
fq-codel (значение по умолчанию).Синтаксис:
set qos policy shaper
<policy-name>class<class-id>flows<flows>delete qos policy shaper
<policy-name>class<class-id>flows<flows>show qos policy shaper
<policy-name>class<class-id>flows
Аргументы:
<policy-name>— имя политики. Формат: строка из латинских букв, цифр, символов «-» и «_», начинается с буквы или цифры. Имя должно быть уникальным среди политик всех типов;<class-id>— идентификатор класса. Формат: целое число. Диапазон значений: от 2 до 32768;<flows>— количество потоков. Формат: целое число. Диапазон значений: от 1 до 65536. Значение по умолчанию: 1024.
Режим: «Конфигурирование».
qos policy shaper <policy-name> class <class-id> interval <interval>¶
fq-codel (значение по умолчанию).Синтаксис:
set qos policy shaper
<policy-name>class<class-id>interval<interval>delete qos policy shaper
<policy-name>class<class-id>interval<interval>show qos policy shaper
<policy-name>class<class-id>interval
Аргументы:
<policy-name>— имя политики. Формат: строка из латинских букв, цифр, символов «-» и «_», начинается с буквы или цифры. Имя должно быть уникальным среди политик всех типов;<class-id>— идентификатор класса. Формат: целое число. Диапазон значений: от 2 до 32768;<interval>— интервал в миллисекундах. Формат: целое число. Значение по умолчанию: 100.
Режим: «Конфигурирование».
qos policy shaper <policy-name> class <class-id> target <target>¶
fq-codel (значение по умолчанию).Синтаксис:
set qos policy shaper
<policy-name>class<class-id>target<target>delete qos policy shaper
<policy-name>class<class-id>target<target>show qos policy shaper
<policy-name>class<class-id>target
Аргументы:
<policy-name>— имя политики. Формат: строка из латинских букв, цифр, символов «-» и «_», начинается с буквы или цифры. Имя должно быть уникальным среди политик всех типов;<class-id>— идентификатор класса. Формат: целое число. Диапазон значений: от 2 до 32768;<target>— задержка в миллисекундах. Формат: целое число. Значение по умолчанию: 5.
Режим: «Конфигурирование».
qos policy shaper <policy-name> class <class-id> codel-quantum <codel-quantum>¶
Синтаксис:
set qos policy shaper
<policy-name>class<class-id>codel-quantum<codel-quantum>delete qos policy shaper
<policy-name>class<class-id>codel-quantum<codel-quantum>show qos policy shaper
<policy-name>class<class-id>codel-quantum
Аргументы:
<policy-name>— имя политики. Формат: строка из латинских букв, цифр, символов «-» и «_», начинается с буквы или цифры. Имя должно быть уникальным среди политик всех типов;<class-id>— идентификатор класса. Формат: целое число. Диапазон значений: от 2 до 32768;<codel-quantum>— квант в байтах. Формат: целое число. Диапазон значений: от 0 до 1048576. Значение по умолчанию: 1514.
Режим: «Конфигурирование».
qos policy shaper <policy-name> class <class-id> queue-limit <queue-limit>¶
Синтаксис:
set qos policy shaper
<policy-name>class<class-id>queue-limit<queue-limit>delete qos policy shaper
<policy-name>class<class-id>queue-limit<queue-limit>show qos policy shaper
<policy-name>class<class-id>queue-limit
Аргументы:
<policy-name>— имя политики. Формат: строка из латинских букв, цифр, символов «-» и «_», начинается с буквы или цифры. Имя должно быть уникальным среди политик всех типов;<class-id>— идентификатор класса. Формат: целое число. Диапазон значений: от 2 до 32768;<queue-limit>— размер очереди. Формат: целое число. Диапазон значений: от 1 до 4294967295.
Режим: «Конфигурирование».
qos policy shaper <policy-name> default¶
Синтаксис:
set qos policy shaper
<policy-name>defaultdelete qos policy shaper
<policy-name>defaultshow qos policy shaper
<policy-name>default
Аргументы:
<policy-name>— имя политики. Формат: строка из латинских букв, цифр, символов «-» и «_», начинается с буквы или цифры. Имя должно быть уникальным среди политик всех типов.
Режим: «Конфигурирование».
qos policy shaper <policy-name> default bandwidth <bandwidth>¶
Синтаксис:
set qos policy shaper
<policy-name>default bandwidth<bandwidth>delete qos policy shaper
<policy-name>default bandwidth<bandwidth>show qos policy shaper
<policy-name>default bandwidth
Аргументы:
<policy-name>— имя политики. Формат: строка из латинских букв, цифр, символов «-» и «_», начинается с буквы или цифры. Имя должно быть уникальным среди политик всех типов;<bandwidth>— полоса пропускания. Формат: число с единицей измеренияbit,kbit,mbit,gbitилиtbit(например,50mbit); число без единицы измерения — килобиты в секунду (см. Единицы измерения).
Режим: «Конфигурирование».
qos policy shaper <policy-name> default ceiling <ceiling>¶
Синтаксис:
set qos policy shaper
<policy-name>default ceiling<ceiling>delete qos policy shaper
<policy-name>default ceiling<ceiling>show qos policy shaper
<policy-name>default ceiling
Аргументы:
<policy-name>— имя политики. Формат: строка из латинских букв, цифр, символов «-» и «_», начинается с буквы или цифры. Имя должно быть уникальным среди политик всех типов;<ceiling>— максимальная скорость. Формат: число с единицей измеренияbit,kbit,mbit,gbitилиtbit(например,50mbit); число без единицы измерения — килобиты в секунду (см. Единицы измерения).
Режим: «Конфигурирование».
qos policy shaper <policy-name> default priority <priority>¶
Синтаксис:
set qos policy shaper
<policy-name>default priority<priority>delete qos policy shaper
<policy-name>default priority<priority>show qos policy shaper
<policy-name>default priority
Аргументы:
<policy-name>— имя политики. Формат: строка из латинских букв, цифр, символов «-» и «_», начинается с буквы или цифры. Имя должно быть уникальным среди политик всех типов;<priority>— приоритет. Формат: целое число. Диапазон значений: от 0 до 7.
Режим: «Конфигурирование».
qos policy shaper <policy-name> default set-dscp <set-dscp>¶
Синтаксис:
set qos policy shaper
<policy-name>default set-dscp<set-dscp>delete qos policy shaper
<policy-name>default set-dscp<set-dscp>show qos policy shaper
<policy-name>default set-dscp
Аргументы:
<policy-name>— имя политики. Формат: строка из латинских букв, цифр, символов «-» и «_», начинается с буквы или цифры. Имя должно быть уникальным среди политик всех типов;<set-dscp>— метка DSCP:0–63или имя:default,reliability,throughput,lowdelay,priority,immediate,flash,flash-override,critical,internet,network,AF11–AF43,CS1–CS7,EF(см. Метки DSCP).
Режим: «Конфигурирование».
qos policy shaper <policy-name> default queue-type <queue-type>¶
Синтаксис:
set qos policy shaper
<policy-name>default queue-type<queue-type>delete qos policy shaper
<policy-name>default queue-type<queue-type>show qos policy shaper
<policy-name>default queue-type
Аргументы:
<policy-name>— имя политики. Формат: строка из латинских букв, цифр, символов «-» и «_», начинается с буквы или цифры. Имя должно быть уникальным среди политик всех типов;<queue-type>— дисциплина очереди. Возможные значения:fq-codel— справедливая очередь с алгоритмом CoDel;priority— очереди с приоритетами;drop-tailиfair-queue— принимаются, но очередь не создается;random-detect— приводит к ошибке при фиксации конфигурации (см. Ограничения). Значение по умолчанию: fq-codel.
Режим: «Конфигурирование».
qos policy shaper <policy-name> default flows <flows>¶
fq-codel (значение по умолчанию).Синтаксис:
set qos policy shaper
<policy-name>default flows<flows>delete qos policy shaper
<policy-name>default flows<flows>show qos policy shaper
<policy-name>default flows
Аргументы:
<policy-name>— имя политики. Формат: строка из латинских букв, цифр, символов «-» и «_», начинается с буквы или цифры. Имя должно быть уникальным среди политик всех типов;<flows>— количество потоков. Формат: целое число. Диапазон значений: от 1 до 65536. Значение по умолчанию: 1024.
Режим: «Конфигурирование».
qos policy shaper <policy-name> default interval <interval>¶
fq-codel (значение по умолчанию).Синтаксис:
set qos policy shaper
<policy-name>default interval<interval>delete qos policy shaper
<policy-name>default interval<interval>show qos policy shaper
<policy-name>default interval
Аргументы:
<policy-name>— имя политики. Формат: строка из латинских букв, цифр, символов «-» и «_», начинается с буквы или цифры. Имя должно быть уникальным среди политик всех типов;<interval>— интервал в миллисекундах. Формат: целое число. Значение по умолчанию: 100.
Режим: «Конфигурирование».
qos policy shaper <policy-name> default target <target>¶
fq-codel (значение по умолчанию).Синтаксис:
set qos policy shaper
<policy-name>default target<target>delete qos policy shaper
<policy-name>default target<target>show qos policy shaper
<policy-name>default target
Аргументы:
<policy-name>— имя политики. Формат: строка из латинских букв, цифр, символов «-» и «_», начинается с буквы или цифры. Имя должно быть уникальным среди политик всех типов;<target>— задержка в миллисекундах. Формат: целое число. Значение по умолчанию: 5.
Режим: «Конфигурирование».
qos policy shaper <policy-name> default codel-quantum <codel-quantum>¶
Синтаксис:
set qos policy shaper
<policy-name>default codel-quantum<codel-quantum>delete qos policy shaper
<policy-name>default codel-quantum<codel-quantum>show qos policy shaper
<policy-name>default codel-quantum
Аргументы:
<policy-name>— имя политики. Формат: строка из латинских букв, цифр, символов «-» и «_», начинается с буквы или цифры. Имя должно быть уникальным среди политик всех типов;<codel-quantum>— квант в байтах. Формат: целое число. Диапазон значений: от 0 до 1048576. Значение по умолчанию: 1514.
Режим: «Конфигурирование».
qos policy shaper <policy-name> default queue-limit <queue-limit>¶
Синтаксис:
set qos policy shaper
<policy-name>default queue-limit<queue-limit>delete qos policy shaper
<policy-name>default queue-limit<queue-limit>show qos policy shaper
<policy-name>default queue-limit
Аргументы:
<policy-name>— имя политики. Формат: строка из латинских букв, цифр, символов «-» и «_», начинается с буквы или цифры. Имя должно быть уникальным среди политик всех типов;<queue-limit>— размер очереди. Формат: целое число. Диапазон значений: от 1 до 4294967295.
Режим: «Конфигурирование».