Документация: ПО Факел — разрабатываемая версия
Общие принципы работы QoS¶
Как работает QoS¶
В ПО Факел политики QoS применяются в плоскости передачи данных FVE:
политики Shaper, Priority Queue, FQ-CoDel и CAKE реализованы планировщиками исходящего трафика и применяются только к исходящему трафику интерфейса (
egress);политика Limiter реализована полисером и применяется к входящему (
ingress) и исходящему трафику;правила классификации всех политик образуют общий набор классификатора FVE, в котором класс определяется идентификатором.
Порядок настройки: создайте политику (Политики QoS), задайте классы и правила классификации (Классификация трафика), примените политику к интерфейсу (Применение политики). Состояние QoS отображает команда show qos.
Единицы измерения¶
Скорость (bandwidth, ceiling) задается абсолютным значением: число и единица измерения записываются слитно, например 50mbit. Значения в процентах не поддерживаются.
Единица |
Значение |
|---|---|
|
бит в секунду |
|
килобит в секунду (103) |
|
мегабит в секунду (106) |
|
гигабит в секунду (109) |
|
терабит в секунду (1012) |
без единицы |
килобит в секунду |
Число без единицы измерения означает килобиты в секунду, поэтому всегда указывайте единицу явно.
Размер всплеска (burst) политики Limiter задается числом с суффиксом k — тысячи байт, например 15k. В текущей версии ПО Факел суффикс M также означает тысячи байт.
Классы и трафик по умолчанию¶
Политики Shaper, Limiter и Priority Queue делят трафик на классы. Класс имеет числовой идентификатор и параметры обработки (полосу пропускания, очередь и т. д.); трафик относится к классу по правилам классификации (Классификация трафика). Трафик, не подошедший ни под один класс, обрабатывается по параметрам default.
Правила классификации всех политик образуют общий набор, в котором класс определяется только идентификатором, поэтому используйте в разных политиках разные идентификаторы классов.
В классе политики Shaper или Priority Queue и для трафика по умолчанию работает очередь, дисциплина которой выбирается параметром queue-type: FQ-CoDel (fq-codel, по умолчанию) или очередь с приоритетами (priority). Значения drop-tail, fair-queue и random-detect (Политика Drop Tail, Политика Fair Queue, Политика Random Detect) принимаются командной строкой, но в текущей версии ПО Факел для drop-tail и fair-queue очередь не создается, а random-detect приводит к ошибке при фиксации конфигурации (см. Ограничения).
Метки DSCP¶
Метка DSCP (Differentiated Services Code Point) задается в правилах классификации (ip dscp, ipv6 dscp) и в параметре set-dscp политики Shaper, который заменяет метку в пакетах класса. Метка задается числом от 0 до 63 или именем. Значения имен по RFC 2474, RFC 2597 и RFC 3246:
Имя |
Значение DSCP |
Назначение |
|---|---|---|
default |
0 |
Обычная доставка (Best Effort) |
CS1–CS7 |
8, 16, 24, 32, 40, 48, 56 |
Селекторы классов (Class Selector), RFC 2474 |
AF11, AF12, AF13 |
10, 12, 14 |
Гарантированная доставка (Assured Forwarding), класс 1: низкая, средняя, высокая вероятность отбрасывания |
AF21, AF22, AF23 |
18, 20, 22 |
Assured Forwarding, класс 2 |
AF31, AF32, AF33 |
26, 28, 30 |
Assured Forwarding, класс 3 |
AF41, AF42, AF43 |
34, 36, 38 |
Assured Forwarding, класс 4 |
EF |
46 |
Ускоренная доставка (Expedited Forwarding), например для голоса |
Имена reliability, throughput, lowdelay, priority, immediate, flash, flash-override, critical, internet и network соответствуют устаревшим значениям поля ToS.
Примечание
В текущей версии ПО Факел именованные метки DSCP из таблицы передаются в FVE как значения байта ToS (например, EF — 0xB8), а числовые значения — без преобразования, поэтому результат для имен не подтвержден (см. Ограничения).
Обработка входящего трафика¶
К входящему трафику интерфейса применяется только политика Limiter без классов: трафик ограничивается скоростью default bandwidth, пакеты сверх нее отбрасываются. Политики с очередями (Shaper, Priority Queue, FQ-CoDel, CAKE) и Limiter с классами на входящем направлении не проходят проверку при фиксации конфигурации (см. Ограничения). Сценарий с перенаправлением входящего трафика на интерфейс IFB описан на странице Обработка входящего трафика.
Ограничения текущей версии перечислены на странице Ограничения.