Queues в RouterOS: Queue Tree MikroTik (часть 2)

Во второй части статьи рассматривается второй механизм QoS, реализованный в RouterOS Queue Tree. Представлен набор практических примеров из первой части статьи, выполненный средствами Queue Tree.

Нет комментариевПросмотров: 2119
11февраля 2019
все статьи

6. MikroTik Queue Tree

Вторым способом конфигурации QoS, после Simple Queues, является Queue Tree. Дерево очередей предназначено для построения иерархических систем распределения доступной пропускной способности.

В отличии от простых очередей, MikroTik  Queue Tree применяют политики к однопоточному трафику, т.е. для ограничения пропускной способности в направлениях upload/download потребуется создать два правила. Второй отличительной особенностью является механизм проверки соответствия: если в простых правилах проверка на соответствие выполняется последовательно, то здесь трафик проходит через всё дерево, а применяемая к трафику политика определяется его маркировкой, поэтому использование Queue Tree без маркировки в Mangle невозможно.

На рисунках 4.1 и 4.2 представлена простая схема прохождения трафика и отдельно рассмотрены два блока — Input и Postrouting, т.к. применение политик дерева очередей выполняется в этих цепочках. Важно отметить, что применение политик RouterOS Queue Tree предшествует применению RouterOS Queues, поэтому при одновременном использовании этих инструментов нужно следить, чтобы проходящий трафик не соответствовал правилам в том и другом разделах, поскольку к нему применятся обе политики. Рекомендуется, при настройке маршрутизатора, использовать один из двух механизмов.

Simple Queues MikroTik
Рисунок 4.1 — Простая схема прохождения пакетов в RouterOS

MikroTik QoS в RouterOS
Рисунок 4.2 — Схема прохождения пакетов для цепочек Input и Postrouting в RouterOS

6.1 Параметры дерева очередей

Конфигурация дерева очередей выполняется в разделе /queue tree и представляет собой набор следующих параметров:

Наименование параметра

Значение по умолчания

Описание

name

queueN

Имя очереди

parent

global

Имя очереди, являющейся родительской по отношению к текущей.

В качестве родительской может быть указано имя интерфейса, global или имя другой очереди.

packet-mark

-

Маркировка пакета.

К пакетам с указанной маркировкой будут применены политики данной очереди.

limit-at

0

CIR

queue

default-small

Имя типа очереди, используемого при обработке (см. раздел 1)

priority

8

Установка приоритета очереди.

max-limit

0

MIR

burst-limit

0

Параметры использования опции burst (см. раздел 2)

burst-treshold

0

burst-time

0s

bucket-size

0.1

7. Настройка Queue Tree

Повторим примеры, рассмотренные в разделе 5, выполнив конфигурацию с использованием дерева очередей. Начальную конфигурацию устройств и схему соединений оставим прежней (см. раздел 5).

7.1 Ограничение скорости для подсети

Выполним ограничение скорости для подсети 172.16.1.0/24 upload 10 Мбит/с, download 5 Мбит/с. Для этого в цепочке prerouting выполним маркировку пакетов, в качестве src- и dst-адресов которых используется необходимая подсеть, а после к пакетам с определённой маркировкой применим ограничения скорости.

На R1 и R2 запустим тестирование пропускной способности, предварительно добавив в конфигурацию R_queue следующие команды:

Конфигурация R_queue:

Конфигурация R_queue

Queues MikroTik
Рисунок 7.1 — Результат тестирования в направлении downlink

MikroTik Qos
Рисунок 7.2 — Результат тестирования в направлении uplink

По рисункам видно, что, в соответствии с поставленной задачей, выполнено ограничение пропускной способности для подсети R1 до уровня ~10/~5 Мбит/с. В то же время пропускная способность трафика второй подсети ограничивается лишь возможностями порта.

7.2 Ограничение общей полосы по приоритетам

Повторим пример 5.2, выделив R1 пропускную способность 8Мбит/с, а R2 — 5 Мбит/с. При этом трафик R2 будет иметь больший приоритет, а пропускная способность канала ограничивается 10Мбит/с.

Конфигурация R_queue:

Конфигурация R_queue

Настройка Queues MikroTik
Рисунок 7.3 — Результат тестирования в направлении downlink

Настройка Queue Tree
Рисунок 7.4 — Результат тестирования в направлении uplink

Результат повторился — оба потребителя получают по 5 Мбит/с. Отключим тест на R2.

Routeros Queues
Рисунок 7.5 — Результат тестирования в направлении downlink

Simple Queues или Queue Tree
Рисунок 7.6 — Результат тестирования в направлении uplink

Аналогично разделу 5.2, первый потребитель трафика получил пропускную способность, указанную в MIR — 8 Мбит/с.

7.3 Использование CIR и MIR при распределении пропускной способности

Повторим пример из раздела 5.3, указав для обоих потребителей CIR=2 Мбит/с, MIR=10 Мбит/с. Приоритеты сохраним равными предыдущему примеру.

Конфигурация R_queue:

Конфигурация R_queue

Настройка приоритета трафика
Рисунок 7.7 — Результат тестирования в направлении downlink

Приоритет трафика
Рисунок 7.8 — Результат тестирования в направлении uplink

Ожидаемо, первому потребителю выделена полоса 2 Мбит/с, в соответствии с указанным MIR, второму — оставшаяся полоса 8 Мбит/с.

Остановим тест на R2:

Queue Tree настройка
Рисунок 7.9 — Результат тестирования в направлении downlink

RouterOS Queue Tree
Рисунок 7.10 — Результат тестирования в направлении uplink

Как и ожидалось, первому потребителю будет выделена вся полоса в соответствии с его MIR — 10 Мбит/с.

7.4 Одновременное использование Queue Tree и Simple queues

Ранее было упомянуто, что, в соответствии со схемой прохождения трафика, пакет сначала обрабатывается в дереве очередей, а затем в простых очередях. Возьмём за основу предыдущий пример и смоделируем ситуацию, когда ошибочно для трафика R1 в простых очередях создано правило, ограничивающее трафик до 2 Мбит/с.

Запустим тест пропускной способности на R1, предварительно выполнив на R_queue следующую команду:

R1_queue:

Конфигурация R_queue

Тестирование downlink и uplink
Рисунок 7.11 — Результат тестирования в направлении downlink и uplink

На рисунке видно, что пропускная способность R1 ограничена не MIR, как это было ранее, а политикой Simple queues — 2 Мбит/с.

8. Практика Burst

Продемонстрируем работу burst-режима. Для этого воспользуемся схемой на рисунке 5.1, которую использовали в других разделах, и применим к устройствам начальную конфигурацию. Создадим простое правило, в котором ограничим скорость для R1 до 5 Мбит/с и установим возможность её увеличения до 10 Мбит/с, если burst-режим активирован.

Конфигурация R_queue:

Конфигурация R_queue

Величина burst-time выбрана намерена большой в целях демонстрации. Запустим тест пропускной способности на R1:

Тестирование burst-режима
Рисунок 8.1 — Результаты тестирования burst-режима

На рисунке видно, что на первых этапах выделенная пропускная способность превосходила MIR в ~2 раза, т.е. была равна 10 Мбит/с. После чего, burst-режим был отключен и пропускная способность снизилась до 5 Мбит/с.

Заключение

Во второй части статьи рассматривается реализация дерева очередей в RouterOS для набора задач, рассмотренных в первой части статьи. Кроме того, добавлена демонстрация совместного использования Simple Queues и Queue Tree, а также Burst-режима.

Как можно было заметить, простые очереди и дерево очередей решают схожие задачи, однако рекомендациями от опытных сетевых инженеров является использование Simple Queues в небольших сетях или в качестве временных решений. Крупные сети и сети операторов связи, подразумевающие более строгий и системный подход к разграничению трафика требуют построения структуры очередей, а значит конфигурации Queue Tree.

поделиться материалом:

Читайте также

комментарии — 0