Общая информация о QoS
Quality of Service - это общая производительность сети, особенно производительность которую видят пользователи.
Что такое и для чего нужно.
Например у нас есть доступ в интернет со скоростью 10 Mbit/s, и также у нас есть 3 компьютера в нашей сети которые подключены к нашему маршрутизатору.
Получается что общая производительность нашей локальной сети 300 Mbit, но при этом выход ‘наружу’ в интернет у нас всего лишь 10 Mbit. Вот в этом и заключается основная проблема. Проблема бутылочного горлышка.
Проблема в том что есть некоторые типы трафика которые к подобному бутылочному горлышку относятся негативно. Это чаще всего какой-то трафик реального времени, то есть realtime трафик(sip, rdp, видео конференц-связь).
Стандартная ситуация которую можно наблюдать это когда один из трех компьютеров качает например через торрент что-то и в этот момент остальные два пользователя нашей локальной сети страдают. Лагает Skype, тормоза rdp соединений, долго грузятся сайты…
QoS поможет тем или иным способом решить вопрос с тем чтобы неприоритетный трафик(torrent или другой паразитный тип трафика) не занимал всю полосу пропускания, а давал выход в первую очередь полезному для нас трафику(без потери пакетов).
Настройки QoS имеют два ограничения скорости:
- CIR (Committed Information Rate) - (limit-AT в RouterOS) в худшем случае, поток будет получать этот объем трафика.
- MIR (Maximal Information Rate) - (Max limit в RouterOS) - наилучший сценарий, скорость, с которой поток может справится, если у родителя очереди есть запасная полоса пропускания.
Также есть возможность указать приоритет. Работает только для дочерних очередей. 8 - самый низкий приоритет, 1 - самый высокий.
В MikroTik есть несколько подходов к реализации QoS
- Simple Queues(простая очередь)
- Queue Tree(дерево очередей)
- Ограничение скорости на интерфейс
Simple Queues
Указываем границы скоростей
Для начала мы должны указать на роутере границы наших скоростей. Например от провайдера у нас приходит 10Мбит на приём и отдачу, эти границы и нужно задать роутеру.
Переходим к настройке очередей.
Создаем ‘родителя’.
Здесь указываем Name, в поле Target я выбрал свою подсеть, для которой будут действовать ограничения и приоритеты. Можно прописать вручную, например 192.168.0.0/24
. В Dst указал свой WAN интерфейс. То есть правила будут работать для указанной нами подсети трафик которой будет идти через WAN порт. И также пропишем нашу скорость, которую мы получаем от провайдера. Для примера будет 10 Мбит.
Добавляем наши устройства.
Указываем Name, в поле Target - ip адрес устройства. Max Limit указываем 10 Мбит.
Переходим во вкладку Advanced
Здесь Limit At - это минимально гарантированная скорость, которую устройство получит в любом случае.
И обязательно в Parent выбрать нашего родителя
.
Если одно из сетевых устройств не использует в какой-то определённый момент свой Limit At, то его скорость будет распределятся между другими устройствами согласно Max Limit и установленных приоритетов.
Таким образом прописываем наши самые важные сетевые устройства. Потом добавляем ограничения для всех остальных, которые не в нашем списке.
Только в поле Target указываем нашу подсеть, а не конкретный ip адрес.
Сумма всех Limit At на всех наших устройствах должна быть меньше или равна скорости получаемой от провайдера.
Также при необходимости во вкладке Advanced можно выбрать приоритет.
В итоге у меня получился вот такой список, где скорость регулируется для двух устройств и всех остальных, которые не в списке.
Маркировка трафика
Для примера я промаркирую весь VPN трафик, дам ему гарантированную скорость и укажу высокий приоритет.
По-правильному нужно сначала маркировать соединения, а уже потом все пакеты в нём.
Заходим в IP > Firewall > вкладка Mangle
Создаём новое правило.
Chain выбираем prerouting.
Protocol - udp.
Dst. Port - 1194
Дальше во вкладке Action
Action - mark connection
New Connection Mark - vpn
Жмём OK.
Теперь маркируем трафик.
Добавляем новое правило.
Chain - forward
Connection Mark - vpn
Во вкладке Advanced
Action - mark packet
New Packet Mark - vpn
Жмём OK.
Добавляем комментарий
Теперь возвращаемся к списку очередей и добавляем для vpn трафика.
Создаем новую очередь.
- Name - vpn
- Target - 192.168.10.0/24 (я указал подсеть, а можно например конкретный ip адрес на котором будем vpn трафик)
- Max Limit - 10M
Заходим в Advanced
- Packet Marks - vpn
- Limit At - 1M (гарантированная скорость)
- Priority - 1 (самый высокий приоритет)
- Parent - Parent
По аналогии таким образом можно промаркировать и ограничить практически любой трафик(SSH, web и прочее)
И последним шагом будет передвинуть нашу очередь для vpn в самый верх списка.
Готово.