Создание HTB, TBF полисера через файл с разметкой

Установка расписания для тарифных планов через GUI:

В данной статье приведено описание создания HTB и TBF полисеров, приведены примеры использования для разных сценариев. Назначение полисеров на абонентов описано в разделе: Управление полисингом (тарифным планом). Именованные профили полисинга

Создание полисера HTB

HTB полисер позволет реализовать Иерархический QoS. Ирархия трафика определяется через классы трафика, которые можно определить глобально для всего DPI устройства по протоколу и направлению: Разметка приоритета трафика в зависимости от протокола или направления или через индивидуальную разметку по протоколам (18 услуга): Полисинг по сессии и переопределение классов трафика. Полисер описывается через конфигурационный файл, в котором задаются ограничения на доступную полосу в зависимости от класса полисинга.

Пример: Тариф 10Mbps с Ограничением торрент трафика

Для продвинутых пользователей: Рекомендуем ознакомиться с разделом Управление исходящим трафиком через обратную связь.

Создадим тарифный план с общим ограничением в 10 Mbps, в котором торренты ограничены скоростью 3 Mbps на скачку и загрузку.

Для этого сделаем глобальную разметку трафика на DPI платформе, где торренты выделены в отдельный класc трафика, как описано в разделе Назначение приоритетов в зависимости от протокола.

default cs0
bittorrent cs7

В данном примере разделим трафик по протоколам всего на 2 класса, где

cs0 - соответствует DSCP=0 QOS(IPP)=0 Best Effort

cs7 - соответствует DSCP=56 QOS(IPP)=7 Priority

Создадим файл конфигурации rateplan_1.cfg, в котором для каждого из 8 доступных классов (групп) протоколов задаем ограничение на доступную им полосу. Используем HTB (дисциплина с заимствованием свободной полосы) и для торрентов указываем, что размер полосы ограничен 3mbit, но не меньше чем 1mbit. В отличие от торрентов прочий трафик может занимать всю доступную полосу.

Сумма скорости по классам (classX rate) должна быть меньше, чем root rate.
htb_inbound_root=rate 10mbit htb_inbound_class0=rate 8bit ceil 10mbit htb_inbound_class1=rate 8bit ceil 10mbit htb_inbound_class2=rate 8bit ceil 10mbit htb_inbound_class3=rate 8bit ceil 10mbit htb_inbound_class4=rate 8bit ceil 10mbit htb_inbound_class5=rate 8bit ceil 10mbit htb_inbound_class6=rate 8bit ceil 10mbit htb_inbound_class7=rate 1mbit ceil 3mbit htb_root=rate 10mbit htb_class0=rate 8bit ceil 10mbit htb_class1=rate 8bit ceil 10mbit htb_class2=rate 8bit ceil 10mbit htb_class3=rate 8bit ceil 10mbit htb_class4=rate 8bit ceil 10mbit htb_class5=rate 8bit ceil 10mbit htb_class6=rate 8bit ceil 10mbit htb_class7=rate 1mbit ceil 3mbit

htb_inbound_root, htb_root - корневые классы, в которых указан общий размер полосы для входящего и исходящего трафика и в рамках которых проводится перераспределение полосы - заимствование полосы другими классами трафика.

rate - минимальный размер полосы

ceil - максимальный размер полосы, который можно заимствовать из корневого класса если полоса свободна

class2-7 фактически не будут использоваться, так как у нас в конфигурации определено только 2 класса 0 и 7. Но описать обязаны ВСЕ классы в рамках HTB полисера. При необходимости в будущем можно будет задейтвовать свободные классы через изменение разметки на DPI.

Назначение полисера на IP

Полный набор команд и вариантов описаны в разделе: Управление полисингом (тарифным планом). Именованные профили полисинга

Назначение на IP адреса из файла:

fdpi_ctrl load --policing rateplan_1.cfg --file subscribers_with_rateplan_1.txt

Ко всем IP адресам из диапазона по CIDR:

fdpi_ctrl load --policing rateplan_1.cfg --cidr 10.10.10.0/24

К одному IP адресу:

fdpi_ctrl load --policing rateplan_1.cfg --ip 10.10.10.10

К абоненту с созданным Login:

<note>[[..:..:dpi_components:platform:subscriber_management:dpi_dynamicip|]].</note>
fdpi_ctrl load --policing rateplan_1.cfg --login DEMO

Пример 2: Максимальная скорость для пиринга, CDN, Cache серверов

Выделение локального трафика, Cache серверов, CDN, пирингового трафика осущетсвляется по направлению на всю платформу DPI: Назначение приоритетов в зависимости от направления. Часть размеченых классов трафика можно вывести из HTB иерархии, если в описании указать для них ключевое слово static. В этом случае ограничение для данного класса трафика будет действовать независимо, без привязки к root rate. HTB полисер с независимой скоростью 100 Mbps для cs6.

htb_inbound_root=rate 10mbit htb_inbound_class0=rate 8bit ceil 10mbit htb_inbound_class1=rate 1mbit ceil 3mbit htb_inbound_class2=rate 8bit ceil 10mbit htb_inbound_class3=rate 8bit ceil 10mbit htb_inbound_class4=rate 8bit ceil 10mbit htb_inbound_class5=rate 8bit ceil 10mbit htb_inbound_class6=rate 100mbit static htb_inbound_class7=rate 8bit ceil 10mbit htb_root=rate 10mbit htb_class0=rate 8bit ceil 10mbit htb_class1=rate 1mbit ceil 3mbit htb_class2=rate 8bit ceil 10mbit htb_class3=rate 8bit ceil 10mbit htb_class4=rate 8bit ceil 10mbit htb_class5=rate 8bit ceil 10mbit htb_class6=rate 100mbit static htb_class7=rate 8bit ceil 10mbit