Ограничим скорость подсети на Mikrotik, а также зададим лимиты каждому клиенту этой подсети, для этого используем simple queue, и алгоритм очереди pcq.
Что такое очередь?
При ограничении скорости сети, пакеты с одного узла на максимальной скорости прилетают на Mikrotik. Там помещаются в очередь, а уже из этой очереди с определённой скоростью улетают другому узлу. Получается, мы ограничиваем исходящие пакеты.
Типы очередей
В очереди пакеты могут обрабатываться по разному, в зависимости от выбранного алгоритма:
- bfifo и pfifo — основаны на алгоритме fifo (первый пришёл, первый вышел). Различаются они тем, что размер первой очереди измеряется в байтах, а второй в пакетах. Если очередь переполнится, то пакеты не смогут попасть в очередь и будут отброшены.
- mq pfifo — основан на алгоритме pfifo, но здесь несколько под-очередей для каждого потока. Пишут, что очередь полезна в системах SMP с интерфейсами Ethernet, которые поддерживают несколько очередей. Если в курсе, что такое SMP системы, поделитесь в комментариях, так как я в это пока не вникал.
- none — будет использована аппаратная очередь сетевого интерфейса, через который данные будут отправляться. Этот тип алгоритма не позволит вам использовать разные приоритеты трафика.
- pcq — алгоритм для динамического равномерного распределения трафика. За разделение трафика на под-очереди может выступать:
- подсеть или адрес источника. Мы можем указать подсеть в качестве источника, тогда скорость будет поделена поровну между всеми клиентами подсети для исходящего трафика.
- подсеть или адрес назначения. Мы можем указать адрес сайта в интернете и все клиенты идущие на этот сайт будут делить трафик поровну.
- порт источника или порт назначения.
- red — вначале вы задаете минимальный (red-min-threshold) и максимальный (red-max-threshold) пороги. Дальше работает следующий алгоритм:
- если средний размер очереди меньше минимального порога, то входящие пакеты не отбрасываются;
- если средний размер очереди выше минимального порога, но меньше максимального, то пакеты отбрасываются в случайном порядке. При этом чем ближе средний размер очереди к максимальному порогу, тем больше пакетов будет отброшено.
- если средний размер очереди превысит максимальный порог, то все пакеты начнут отбрасываться.
- sfq — похож на pcq, но задать подсеть или порт как основание для деления трафика нельзя. Весь трафик делится на максимум 1024 под-очереди. Делится он по 4 параметрам: адрес источника, порт источника, адрес назначения и порт назначения. Пакеты уходят из каждой под-очереди по порядку, первый пакет из первой очереди, второй из второй и так далее. Затем снова переходим к первой очереди и так по кругу.
Итак, настроим на Mikrotik очередь simple queue с алгоритмом pcq!
Практическая часть
Пришло время подключиться с помощью WinBox к Mikrotik. После чего открываем пункт меню «Queues«. Затем вы должны решить, как вы будите делить трафик между пользователями подсети:
- поровну без ограничений клиентов, ограничивать будем только всю подсеть;
- поровну но с ограничением каждого клиента в подсети, а также с ограничением всей подсети.
Если ограничивать каждого клиента подсети не планируете, то эту часть можете пропустить!
Переходим на вкладку «Queue Types» и создаём 2 типа очереди, один для входящего трафика, второй для исходящего:
Здесь мы указали:
- Type Name — придумываем имя для нового типа очереди;
- Kind — выбираем алгоритм pcq;
- Rate — лимит в скорости для одной под-очереди;
- Limit — длина или другими словами вместимость одной под-очереди;
- Total Limit — общая длина очереди для всех под-очередей;
- Dts. Address — для входящего трафика, Src. Address — для исходящего трафика.
Следующим шагом перейдем на вкладку «Symple Queue«. А если вы пропустили предыдущий пункт, то для вас это будет первый шаг.
В Symple Queue создадим следующее правило:
И на вкладке «Advanced«:
Разберём все что мы тут указали:
- Name — придумываем имя очереди;
- Target — подсеть, для которой создаём очередь;
- Max Limit — ограничение скорости всей подсети;
- Limit At — выделяем гарантированно по 2MB на каждого клиента этой подсети;
- Queue Type — если без ограничения каждого клиента то pcq-upload-defauld и pcq-download-default, а если с ограничением то выбираем созданные на предыдущем шаге pcq-upload-8M и pcq-download-8M.
Подробнее про очереди Mikrotik на английском можете почитать тут.
На этом всё, спасибо за внимание!