====== Создание HTB, TBF полисера через файл с разметкой ======
{{indexmenu_n>2}}
Установка расписания для тарифных планов через GUI:\\ \\
В данной статье приведено описание создания HTB и TBF полисеров, приведены примеры использования для разных сценариев. Назначение полисеров на абонентов описано в разделе: [[..:..:dpi_components:platform:subscriber_management:policing_mng|]]
===== Создание полисера HTB =====
HTB полисер позволет реализовать Иерархический QoS. Ирархия трафика определяется через классы трафика, которые можно определить глобально для всего DPI устройства по протоколу и направлению: [[..:opt_priority|]] или через индивидуальную разметку по протоколам (18 услуга): [[..:opt_shaping:shaping_session|]].
Полисер описывается через конфигурационный файл, в котором задаются ограничения на доступную полосу в зависимости от класса полисинга.
==== Пример: Тариф 10Mbps с Ограничением торрент трафика ====
Для продвинутых пользователей: Рекомендуем ознакомиться с разделом [[dpi:dpi_options:opt_bandwidth_mgmt:bandwidth_conf|Управление исходящим трафиком через обратную связь]].
Создадим тарифный план с общим ограничением в 10 Mbps, в котором торренты ограничены скоростью 3 Mbps на скачку и загрузку.
Для этого сделаем глобальную разметку трафика на DPI платформе, где торренты выделены в отдельный класc трафика, как описано в разделе [[dpi:dpi_options:opt_priority:priority_config|]].
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 ====
Полный набор команд и вариантов описаны в разделе: [[..:..:dpi_components:platform:subscriber_management:policing_mng|]]
Назначение на 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
[[..:..:dpi_components:platform:subscriber_management:dpi_dynamicip|]].
К абоненту с созданным Login:
fdpi_ctrl load --policing rateplan_1.cfg --login DEMO
==== Пример 2: Максимальная скорость для пиринга, CDN, Cache серверов ====
Выделение локального трафика, Cache серверов, CDN, пирингового трафика осущетсвляется по направлению на всю платформу DPI: [[..:opt_priority:priority_config_as|]].
Часть размеченых классов трафика можно вывести из 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