Итак, чтобы корректно настроить QoS (Quality of Service), нам необходимо предварительно произвести небольшие расчеты. Предположим, в нашем офисе находятся 30 телефонных аппаратов, работающих по протоколу SIP под управление IP – АТС Asterisk. Мы предполагаем, что для одного телефонного разговора нужно 100 кбит полосы (с оверхедами). Тем самым, для 30 аппаратов нам потребуется полоса в 3 мбит (up/down). Все наша VoIP – инфраструктура живет в отдельном VLAN`e с подсетью 192.168.3.0/24. Приступаем к настройке.
Всегда рекомендует выносить VoIP инфраструктуру (PBX, телефоны, шлюзы) в отдельную подсеть. Это позволит проще сегментировать трафик обычной сети передачи данных и чувствительный к задержкам VoIP.
Настройка на Mikrotik | Маркировка пакетов
Настройки будем производить через утилиту управления Winbox. Открываем вкладку IP → Firewall и выбираем вкладку Mangle. Нажимаем на синий значок «+»:
Отлично. Далее мы создаем маркировку для соединения, приходящих из подсети 192.168.3.0/24 и отправленных внутрь этой подсети. Начнем с первой задачи. Указываем:
- Chain - выбираем здесь prerouting;
- Src. Address - указываем нашу подсеть;
Если ваши телефоны и IP – АТС Asterisk «живут» в той же подсети, что и рабочие станции (ПК), то укажите в качестве источника и назначения в маркировках IP – адрес Asterisk
Прыгаем на вкладку Action и указываем следующие параметры:
- Action - мы делаем маркировку, поэтому выбираем mark connection;
- New Connection Mark - маркируем как VoIP;
- Passthrough - отмечаем галочкой;
Сохраняем изменения и нажимаем «ОК». Теперь нам необходимо сделать тоже самое, только на первом этапе, подсеть 192.168.3.0/24 мы укажем не в параметре Src. Address, а в Dst. Address. Все прочие опции делаем идентично проделанным шагам. В итоге у вас должно получиться вот так:
И добавляем финальный штрих к нашей конструкции – промаркируем пакеты, которые попадают под ранее созданные правила маркировки коннекций (соединений). Нажимаем на «+» и во вкладке General:
- Chain - указываем prerouting;
- Connection Mark - выбираем VoIP;
А во вкладке Action:
- Action - делаем mark packet;
- New Packet Mark - выбираем VoIP;
- Passthrough - снимаем галочку с чекбокса;
Нажимаем «ОК» и сохраняем. Итого у нас получается:
Приоритеты и выделение полосы пропускания
На текущем этапе мы достаточно точно можем отделить VoIP – трафик от любого другого. Поэтому, создадим очередь обслуживания. Для этого, переходим в раздел Queues и нажимаем «+»:
Работаем со следующими параметрами:
- Name - даем имя очереди - VoIP queue;
- Target - укажите 0.0.0.0/0. Мы парсим данные на Mikrotik по маркированным пакета;
- Max Limit - снимаем галочку с чекбокса;
- Target Upload - 3M, как и говорили в начале статье;
- Target Download - 3M, как и говорили в начале статье :);
Двигаем во вкладку Advanced:
- Marks - выбираем из выпадающего списка VoIP;
- Priority - выбираем для UP/DOWN 1 приоритет;
Теперь необходимо сделать очередь для остального трафика:
- Name - даем имя очереди - Other traffic;
- Target - указываем сеть, в которой живут наши рабочие станции (ПК) - в нашем случае 192.168.2.0/24;
- Max Limit
- Target Upload - 30M в нашем случае;
- Target Download - 30M;
Прыгаем на вкладку Advanced:
- Marks - выбираем no-mark, так как нас интересуют пакеты без маркировки;
- Priority - выбираем 8 приоритет;
Тестирование
Проверяем. В очереди, переходим во вкладку Traffic в настройках VoIP очереди, делаем звонок и видим его график: