Mikrotik Qos – Развенчание Мифов

Прежде чем настраивать роутер (не важно — офисный аппаратный роутер за 50$ или программный роутер на базе сервера с двумя 4-ядерными процессорами) — важно понимать, как пакеты перемещаются по цепочкам (изучите схемы движения пакетов в онлайн-документация - Блок-схема пакетов с).

Невозможно правильно управлять и поддерживать сложные конфигурации, не понимая, что, где, когда и почему происходит. В случае мостового соединения трафика (Уровень 2 (MAC)), маршрутизация представлена в виде черно-серого «коробки».

Слой3 ,

MikroTik QoS – развенчание мифов

… в случае маршрутизации трафика (Уровень 3 (IP)) – мостовое соединение представлено серым «коробочкой» перекрытие ,

MikroTik QoS – развенчание мифов

Сокращенная схема:

MikroTik QoS – развенчание мифов

Здесь и далее QoS в MikroTik ROS означает формирование.

Shaping – «изменить форму».

Те.

меняем форму графиков загрузки интерфейсов — управляем пропускной способностью, устанавливая лимиты либо по типу трафика, либо по «пользователям» или «сервисам» (по их IP-адресам, портам и другим критериям).

В разных контекстах для разного оборудования или программного обеспечения такие понятия, как QoS (качество обслуживания), формирование, политика, приоритезация, могут иметь разный «оттенок значения».

Существует множество концепций, реализаций, алгоритмов.

Вся реализация управления пропускной способностью в RouterOS основана на иерархии — Иерархический сегмент токенов ( ХТБ ).



MikroTik QoS – развенчание мифов

HTB позволяет создавать иерархические (деревовидные) структуры очередей и определять отношения между ними.



MikroTik QoS – развенчание мифов

RouterOS 5.x поддерживает 3 виртуальных HTB (глобальный вход, глобальный общий, глобальный выход) и еще один прямо перед каждым выходным интерфейсом:

MikroTik QoS – развенчание мифов

Важно понимать, что через маршрутизатор проходит несколько потоков.

Это не означает сеансы TCP/UDP. Например, в простейшем случае у нас есть один физический интерфейс роутера — Public, и второй физический интерфейс — локальный.

Итого — у нас есть два потока пакетов, проходящих через маршрутизатор — назовем это потоками Download и Upload. Для трафика загрузки входной интерфейс будет общедоступным, выходной интерфейс — локальным.

И, наоборот, для Upload-трафика входной интерфейс будет Local, а выходной — Public. В этом случае схема движения пакетов и логика обработки потоков будут абсолютно одинаковыми для обоих потоков.

Другими словами, роль интерфейса для роутера не имеет значения — т.е.

разделение на Public и Local условно.

Скачать поток

MikroTik QoS – развенчание мифов

Загрузить поток

MikroTik QoS – развенчание мифов

_______________________________________________________________________________ Существует заблуждение, что тип очереди шейпинг + NAT + PCQ не работает в ROS. Это отлично работает. Я гарантирую это.

Укажите Global-out в качестве родительского элемента дерева очередей (а не физических выходных интерфейсов) — как для трафика загрузки, так и для скачивания.

Об этом говорится в документации.

Маркируйте пакеты, например в Mangle Forward - отдельно для трафика Upload и Download, и используйте тип очереди PCQ, где указаны ограничения скорости, на здоровье.

Этот план по урезанию скорости для пользователей работает в любом случае - вне зависимости от наличия/отсутствия NAT, pppoe/l2tp/pptp, IpoE, Hotspot. Простая очередь: Не используйте Simple Queue в версиях ROS до 5 включительно, если у вас большое количество пользователей — производительность значительно упадет. Простые очереди идут по порядку, как правила брандмауэра.

Пакеты из 999-й очереди будут сверяться с каждой из 998 предыдущих очередей.

Каждая простая очередь может стоять в 3 отдельных очередях: Один в Global-in («прямая» часть) Один в Global-out («обратная» часть) Один в Global-total («общая» часть) Используйте дерево очередей дерево очередей .



MikroTik QoS – развенчание мифов

Когда пакеты проходят через маршрутизатор, они проходят через все 4 дерева HTB. Когда пакеты поступают на маршрутизатор, они проходят только через глобальный вход и глобальный общий HTB. Когда пакеты покидают маршрутизатор, они проходят только через глобальный выход, глобальный общий и внутренний интерфейс HTB. Если у очереди есть хотя бы один дочерний элемент, это родительская очередь.

Все дочерние очереди (независимо от того, сколько у них родительских уровней) находятся на одном и том же нижнем уровне HTB. Дети создают реальное потребление трафика, родители отвечают только за распределение трафика.

В первую очередь дети получат лимит-по лимиту трафика, а остальной трафик распределят родители.

HTB имеет два ограничения скорости: - CIR (гарантированная скорость передачи данных) - (лимит в RouterOS): в худшем случае поток получит этот объем трафика несмотря ни на что (при условии, что мы действительно можем отправить такой объем данных).

- MIR (максимальная скорость передачи данных) - (максимальный предел в RouterOS): в лучшем случае скорость потока может быть увеличена, если у родительской очереди есть свободная полоса пропускания.

Прежде всего, HTB постарается удовлетворить каждого ребенка пределом скорости — и только потом попытается достичь максимального предела.

Максимальная скорость родительского объекта должна быть равна или превышать сумму гарантированных скоростей дочерних элементов.

MIR (родительский) ≥ CIR(дочерний_1) +.

+ CIR(дочерний_N).

Максимальная скорость любого дочернего элемента должна быть меньше или равна максимальной скорости родительского элемента.

МИР(родительский) ≥ МИР(дочерний_1) МИР(родительский) ≥ МИР(дочерний_2) МИР(родительский) ≥ МИР(дочерний_N) Приоритет работает только для детей (нет смысла менять приоритет родителей) 1 – высший приоритет 8 – самый низкий приоритет Очередь с более высоким приоритетом получает возможность получить максимальную скорость (max-limit) раньше очередей с более низким приоритетом.

Фактическая приоритезация трафика будет работать только в том случае, если установлены ограничения.

Очередь без ограничений не будет иметь «приоритета».

Лопаться: Функция QoS Burst — один из лучших способов улучшить качество веб-серфинга для клиентов.

Burst позволяет обеспечить более высокие скорости передачи данных в течение короткого периода времени.

Если средняя скорость передачи данных меньше порогового значения пакета, можно использовать пакетный режим (фактическая скорость передачи данных может достигать предела пакета).

Средняя скорость передачи данных рассчитывается на основе последних секунд пакетного времени.

Средняя скорость передачи данных рассчитывается следующим образом: — пакетное время разделено на 16 сегментов; — роутер вычисляет среднюю скорость передачи данных каждого класса в этих небольших сегментах; Обратите внимание, что фактическое время пакета не совпадает со временем пакета.

Оно может быть в несколько раз меньше пакетного времени, в зависимости от максимального предела, пакетного лимита, пакетного порога и фактической истории скорости передачи данных.



MikroTik QoS – развенчание мифов



MikroTik QoS – развенчание мифов

Использовать Burst имеет смысл либо только дома, либо в небольшом офисе.

Либо от сравнительно небольшого провайдера с «маленькими» тарифами – например 256к, 512к, 1024к.

Потому что тарифы от 2 мегабит и выше в любом случае вполне комфортны для веб-серфинга - поэтому эффект всплесков будет едва заметен.

При большом количестве пользователей и современных тарифах использование Burst может быть нецелесообразным с точки зрения производительности программного маршрутизатора (но решать вам).

Размер очереди: Размер очереди напрямую влияет на производительность очереди — это компромисс между потерей пакетов и увеличением задержки.

В RoutesOS размер очереди является общим для одного типа очереди (т. е.

может быть много очередей одного типа — но размер очереди будет одинаковым — и поэтому задается в Типах очередей).

Разрушение мифов: Вот как это на самом деле РАБОТАЕТ: ‣ Приоритизация HTB не меняет последовательность пакетов - не переставляет одни пакеты перед другими; ‣ В HTB приоритизация — это инструмент, который помогает решить, какие пакеты будут идти дальше, а какие будут отброшены.

‣ Решение об отказе от пакета основано на лимитах — таким образом, если ограничения по скорости не установлены, приоритеты не имеют никакого эффекта.

‣ Приоритет также не влияет на трафик пакетов, движущихся со скоростью, меньшей или равной гарантированной скорости (CIR).

Пакеты просто проходят через алгоритм QoS (даже если родители не могут реально обеспечить такую пропускную способность).

‣ QoS не может контролировать объем входящего трафика, который вы видите на любом из интерфейсов маршрутизатора.

‣ На диаграмме движения пакетов видно, что глобальный вход HTB расположен после входного интерфейса, где фиксируется объем трафика, поступающего на маршрутизатор.

‣ В данном случае эффект снижения трафика, скорее всего, является эффектом поведения протокола TCP. ‣ Единственный способ увидеть QoS в действии — это следить за передачей данных (TX) противоположного интерфейса.

Другими словами, вы не можете никак повлиять с помощью своего QoS на реальный входящий трафик, который фактически уже поступил на любой из интерфейсов роутера — ведь ни ваши пользователи, ни «мир» ничего не знают о вашем QoS. !!! Но это не значит, что QoS не работает. Вы можете манипулировать трафиком всех потоков (как Download, так и Upload) внутри роутера - решая, как, сколько и какой трафик уйдет из роутера (пройдёт через роутер дальше).

‣ QoS не может знать, какая пропускная способность действительно доступна.

‣ Драйвер выходного интерфейса первым узнает, какая у вас на самом деле пропускная способность.

Но диаграмма движения пакетов показывает, что выходной интерфейс расположен после всех HTB. ‣ Драйвер интерфейса знает только максимальный аппаратный предел интерфейса, но если фактический предел меньше, единственный способ предоставить алгоритму QoS информацию о фактической пропускной способности — это явно указать все ограничения вручную.

(Более того, некоторые сетевые администраторы рекомендуют указывать 80-90% от максимальной общей пропускной способности канала — чтобы гарантировать создание очереди у вас, то есть создать резерв пропускной способности, иначе «лишний» трафик будет тратиться впустую).

напрасно у вашего вышестоящего провайдера, который тоже режет вам скорость в зависимости от купленных билетов на платную полосу.

Конечно, речь идет о гарантированном канале от вышестоящего провайдера, либо о негарантированном, но стабильном - по сути - большую часть суток.

Лично я этого не практикую, потому что.

я следую следующему правилу - "своевременно расширять внешний канал с небольшим запасом фактической загрузки в ЧНС".

К счастью, технических/экономических ограничений нет (но не у всех такая ситуация).

Существует много споров о том, возможен ли двойной QoS в ОС Mikrotik Router. Ответ возможен.

Под двойным QoS мы подразумеваем одновременное формирование типа трафика (например, уменьшение общего p2p и отдание приоритета веб-трафику в часы пик) и одновременное урезание скорости отдельно для каждого пользователя (согласно тарифу).

Например вот так: 1. формирование по типу трафика: — маркировка трафика в mangle prerouting — формирование в global-in 2. нарезка полос пользователями: — маркировка трафика в прямом направлении — формирование в глобальном выходе Идентификация трафика по типу — это творческая задача, имеющая множество решений, и она выходит за рамки этой статьи.

Шейпинг по типу трафика возможен или необходим - когда у вас есть проблемы с наличием необходимой пропускной способности (технические/финансовые) и когда у вас относительно мало пользователей - (дом/офис/малая сеть) - когда вы знаете какие протоколы/сервисы/ приложения используются в Интернете, и у вас есть отзывы от пользователей.

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

Те.

Постоянно нужно держать руку на пульсе и обновлять подписи :) Формированием типов трафика я не занимаюсь по следующим причинам: - нет проблем с расширением канала — Я не имею права решать за пользователей, какой тип трафика хуже или лучше другого (например, почему я имею право резать торренты) — количество пользователей, а значит, сервисов, протоколов и типов трафика настолько много, что постоянно это отслеживать нет возможности.

— именно из-за большого количества пользователей (их тысячи) — идентификация трафика по его типам потребует много ресурсов программного маршрутизатора.

Эту работу должно выполнять специализированное оборудование операторского уровня (такие вещи, например, устанавливают операторы сотовой связи - вы имеете в виду ОПСОС - иначе торрентами убьете очень ограниченный частотный ресурс) Я просто снижаю скорость клиентам согласно тарифам и забываю о существовании серверов/роутеров/свитчей на очень долгое время.

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

Хотя это тоже возможно, но требует огромных вычислительных мощностей (на каждого пользователя будет очень много конфигураций Firewall), а если речь идет о сотнях/тысячах пользователей, то этого делать не следует - это работа для железа, которое стоит около сотен тысяч долларов.

Если речь идет о доме или небольшом офисе, то вполне можно сделать это для того, чтобы ваш брат, скачивая торренты, не ухудшал свой веб-серфинг и вообще не мешал сестре и матери.

Для этого папе необходимо настроить QoS и записать пароль роутера.

А если старший брат сбросит роутер на настройки по умолчанию — чтобы сбросить/сменить пароль, — то ему пиздец, он потеряет карманные деньги, получит домашний арест на неделю и должен будет прочитать и пересказать роман «Война и мир».

Еще одно важное замечание — часть сказанного выше относится только к версиям MikroTik ROS 4 и 5. 6-я версия имеет существенные отличия.

Например, полностью переработан Simple Queue и изменена диаграмма движения пакетов.

Об этом в переводе презентации: Что нового в версии 6 MikroTik RouterOS Очень подробные примеры разных тарифов по настройке шейпера можно найти в моей статье на xgu.ru: xgu.ru/wiki/Billing_Ideco_ACP_%2B_MikroTik_ROS .

Всю эту информацию и еще больше плюс картинки можно найти в моих переводах официальных презентаций там: wiki.mikrotik.com/wiki/Русский/QoS И wiki.mikrotik.com/wiki/Русский/QoS2011 P.S. Результат: !!! Качество обслуживания работает. Нужно просто понимать, как и для каких задач использовать механизмы управления дорожным движением и уметь это «подготовить».

(иметь мозг).

Теги: #Сетевые технологии #Системное администрирование #MikroTik ROS QoS Shaping

Вместе с данным постом часто просматривают: