Accounting — учет трафика (услуга 9) [Документация VAS Experts]

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
dpi:bras_bng:radius_integration:radius_accounting [2026/03/25 14:44] elena.krasnobryzhdpi:bras_bng:radius_integration:radius_accounting [2026/03/26 08:02] (текущий) elena.krasnobryzh
Строка 52: Строка 52:
   * 1 — инвертировать направления.   * 1 — инвертировать направления.
  
-===== Настройки rating group =====+===== Rating group (группы тарификации) =====
  
-Для детализации учета трафика могут использоваться группы тарификации (rating group).+Rating group (RG) используется для детализации учета трафика абонента в RADIUS Accounting. Использование RG возможно только при включенной услуге 9 (экспорт статистики для биллинга).
  
-Доступны следующие параметры: +==== Настройка RG в fastDPI ====
-  * Количество групп:<code bash>rating_group_count=0</code> Значение по умолчанию: ''0'' +
-  * Максимальное число абонентов с использованием rating group:<code bash>rating_group_max_subs=0</code> Значение по умолчанию: ''0'' (RG отключены)+
  
-Значение ''0'' означает, что функциональность отключена.+Параметры хранилища и обработки RG:
  
-Инициализация хранилища rating group выполняется только при включенной биллинговой статистике.+  * Количество групп: <code bash>rating_group_count=0</code> Значение по умолчанию: 0 — RG отключены. 
 +  * Максимальное число абонентов с RG: <code bash>rating_group_max_subs=0</code> Значение по умолчанию: 0 — RG отключены.
  
-Объем памятинеобходимый для хранения статистики rating group, рассчитывается по формуле:<code>32 * rating_group_count * rating_group_max_subs * num_thread</code>+Инициализация хранилища RG выполняется только если включена биллинговая статистика.
  
 +Объем памяти для хранения RG-статистики рассчитывается по формуле:
 +<code bash>
 +memory_required = 32 * rating_group_count * rating_group_max_subs * num_thread
 +</code>
 где: где:
-  * 32 байта — размер счетчиков на одну группу; +  * ''32'' — размер счетчиков на одну группу (в байтах)
-  * rating_group_count — количество групп; +  * ''rating_group_count'' — количество групп; 
-  * rating_group_max_subs — максимальное число абонентов; +  * ''rating_group_max_subs'' — максимальное число абонентов; 
-  * num_thread — число потоков обработки.+  * ''num_thread'' — количество потоков обработки.
  
-Пример расчета: +Пример расчета для 10 тыс. абонентов, 256 RG и 8 потоков обработки — требуется 625M памяти
-<code>+<code bash>
 rating_group_count = 256 rating_group_count = 256
 rating_group_max_subs = 10000 rating_group_max_subs = 10000
 num_thread = 8 num_thread = 8
- 
 memory_required = 32 * 256 * 10000 * 8 = 625M memory_required = 32 * 256 * 10000 * 8 = 625M
 </code> </code>
Строка 84: Строка 86:
  
 {{anchor:acct-pending-queue}} {{anchor:acct-pending-queue}}
-Основным источником событий начала и завершения accounting-сессий является fastDPI, при этом учетная база ведется в fastPCRF. fastDPI передает сырые данные по трафику, а fastPCRF выполняет их агрегацию и формирует RADIUS-сообщения. 
  
-Взаимодействие между fastDPI и fastPCRF осуществляется через внутренний сетевой протокол. Потеря сообщений может приводить к некорректному состоянию сессий (например, отсутствию Acct-Stop или Acct-Start).+==== Передача статистики RG в RADIUS Accounting ====
  
-Для повышения надежности используется очередь обязательных сообщений (pending queue), которая сглаживает кратковременную недоступность fastPCRF.+Статистика по RG передается в отдельных пакетах Interim-Update. Передаются данные только по ненулевым RG.\\ 
 +Из-за ограничения размера RADIUS-пакета (4096 байт) данные RG могут быть разбиты на несколько Interim-Update пакетов.
  
-**Параметры очереди запросов к PCRF:**+Для идентификации типа пакета используется новый VSA ''VasExperts-Acct-Type'' (id=28, vendor=43823, integer) со значениями: 
 +  ''0'' — стандартный Interim Update Accounting; 
 +  ''1'' — данные по RG. 
 + 
 +Каждая RG и её счетчики передаются в **одном** VSA со следующими атрибутами: 
 +  * VasExperts-Acct-Rating-Group (short, 16-бит) — номер RG; 
 +  * VasExperts-Acct-Input-Octets-64; 
 +  * VasExperts-Acct-Output-Octets-64; 
 +  * VasExperts-Acct-Input-Packets-64; 
 +  * VasExperts-Acct-Output-Packets-64. 
 + 
 +Счетчики пакетов и байт по направлениям выводятся в соответствии с опцией <code>acct_swap_dir</code> (как в Accounting). 
 + 
 +Особенности передачи RG: 
 +  * RG являются опциональными; если у абонента нет RG, данные не передаются; 
 +  * если RADIUS не подтверждает прием RG-пакета, повторная отправка не выполняется — свежие данные уйдут в следующем Interim-Update; 
 +  * если у абонента есть RG-статистика, перед отправкой Acct-Stop сессии отправляются текущие данные RG. 
 + 
 +==== Задание RG при авторизации абонента ==== 
 + 
 +RG задается на уровне абонента при авторизации через специальный профиль услуги 9 с именем 'RG': 
 +<code bash> 
 +VasExperts-Service-Profile :="9:RG" 
 +</code>
  
-  * Максимальное время хранения запроса (секунды):<code bash>pcrf_pending_queue_timeout=300</code> +Накопление статистики по RG возможно только при включенной услуге 9 (bill stat). Если услуга 9 отключается, RG также отключается.
-  * Максимальный размер очереди:<code bash>pcrf_pending_queue_size=10000</code>+
  
-В очередь помещаются только критичные сообщения (например, Acct Start/Stop). При превышении времени хранения или размера очереди старые записи удаляются.+Примеры: 
 +  * Услуга 9 включена, RG отключены (стандартный RADIUS Accounting): <code bash>VasExperts-Enable-Service :="9:on"</code> 
 +  * Услуга 9 включена, RG включены (передача данных RG): <code bash>VasExperts-Service-Profile :="9:RG"</code> 
 +  * Услуга 9 отключена, RG отключены (RADIUS Accounting не отправляется): <code bash>VasExperts-Enable-Service :="9:off"</code>
  
 ===== Внутреннее устройство ===== ===== Внутреннее устройство =====