{{indexmenu_n>18}}
======Rating group, Tethering, Volume Qoutas======
===== Конфигурация СКАТ =====
* Услуга **требует дополнительной оперативной памяти** по сравнению со стандартными требованиями), которая резервируется настройкой в ''/etc/dpi/fastdpi.conf'': support_service_18=1
* ''max_profiles_serv18'' — настройка максимального количества профилей 18 услуги.\\ Значение по умолчанию: ''16''
* Указать количество рейтинг групп (rg) rating_group_count=0 ''0'' (по умолчанию) — RG отключены
* ''max_profiles_serv20'' — настройка максимального количества профилей.\\ Значение по умолчанию: ''32''
Для применения конфигурации необходимо выполнить рестарт сервиса:
service fastdpi restart
Принцип группировки протоколов: DPI помечает каждый новый flow протоколом из [[dpi:dpi_options:protocols|списка]]. Протоколы группируются в [[dpi:dpi_options:opt_bandwidth_mgmt|классы трафика]] для применения
Также применяется группировка протоколов в Rating group с учетом тетеринга. Тетеринг определяется на основе TTL в исходящем трафике. В параметре ''tethering_ttl_allowed = 128:64'' указывается список допустимых значений TTL для трафика от абонента, которые не считаются тетерингом. Значения перечисляются через ':'. Количество значений — до 256 (0-255). Данный параметр определяется глобально на DPI. Профилирование на абонента в road map. Рейтинг группы используются для квотирования по объему, полисинга на рейтинг группу и выполнения действия block, report.
18 услуга описывает группировку протоколов по классам трафика (cs) и рейтинг группам (rg).
20 услуга описывает полисинг, квоты по объему, действия для рейтинг групп (rg).
=====Пример задания классов трафика и рейтинг групп с помощью 18 услуги=====
[[dpi:dpi_options:opt_shaping:shaping_session|Подробное описание 18 услуги]]
- Подготовить текстовый файл ''example.txt'': http cs0 teth1 rg1
https cs0 teth1 rg1
http cs0 teth2 rg2
https cs0 teth2 rg2
dns cs1 teth1 rg1
dns cs1 teth2 rg2
default cs7 teth0 rg3 Описание параметров:
* teth0 — нет контроля tethering (default)
* teth1 — есть контроль tethering: tethering присутствует
* teth2 — есть контроль tethering: tethering отсутствует\\ \\ rgN, задает номер рейтинг группы:
* rg0 default (rg не установлена)
* rg1 установлена rg=1\\ ..
* rg65535, максимальное количество рейтинг групп \\ \\ :!: **В данном примере по http, https протоколам отслеживается тетеринг и в зависимости от этого назначается соответствующая rg. Отметим, что класс полисинга cs один и тот же, но rg разные в зависимости от TTL. Аналогично по dns протоколу. По ВСЕМ остальным протоколам (default) нет контроля тетеринга и указана отдельная rg.**
- Конвертировать во внутренний формат: cat example.txt|lst2dscp /tmp/example.bin Обратная конвертация для проверки: dscp2lst /tmp/example.bin
- Создать профиль 18 услуги и назначить абоненту: fdpi_ctrl load profile --service 18 --profile.name test_dscp --profile.json '{ "dscp" : "/tmp/example.bin" }'
fdpi_ctrl load --service 18 --profile.name test_dscp --login test_subs
- Проверить назначение услуги: fdpi_ctrl list --service 18 --login test_subs
В трассировке ''trace_ip'' добавлено поле ''rg=N'' для определения поведения DPI для конкретного flow.
=====Пример задания полисинга, квоты по объему и действия для рейтинг групп (rg) с помощью 20 услуги=====
- Подготовить текстовый файл, в котором для каждой рейтинг-группы прописать TBF-полисинг, квоту и действие по достижении квоты: rg1 tbf rate 1Mbit burst 1Mbit inbound.rate 8Mbit inbound.burst 1Mbit quota 100MB report
rg2 tbf rate 8Mbit burst 1Mbit inbound.rate 8Mbit inbound.burst 1Mbit quota 1GB block :!: **В данном примере описаны две рейтинг группы. rg1 имеет upload 1Mbps / download 8Mbps и квоту на 100MB с действием по истечением квоты report. rg2 имеет upload 1Mbps / download 8Mbps и квоту на 1GB с действием по истечением квоты block.**\\ \\ ''report'' и ''block'' — это доступные действия по достижении квоты:
* ''report'' — сообщить о достижении квоты, но пропускать трафик далее;
* ''block'' — сообщить о достижении квоты и блокировать трафик по данной рейтинг-группе
- Конвертировать тектовый файл в бинарный формат: cat rg.txt | lst2rg /var/lib/dpi/rg.bin Обратная конвертация для проверки: rg2lst rg.bin > rg.txt
- Создать профиль 20 услуги и назначить абоненту: fdpi_ctrl load profile --service 20 --profile.name rg1 --profile.json '{ "rg_list" : "/var/lib/dpi/rg.bin" }'
fdpi_ctrl load --service 20 --profile.name rg1 --login test_subs