RADIUS-атрибуты [Документация VAS Experts]

RADIUS-атрибуты

FastPCRF передает следующие атрибуты в Accounting-Request:

VasExperts-L2-SubsId - идентификатор L2-абонента.

Framed-IP-Address – (только для IPv4) IPv4-адрес абонента; для NAT 1:1 значение данного атрибута можно настроить

Framed-IPv6-Prefix - (только для IPv6) IPv6-префикс подсети абонента.

Framed-IPv6-Address - (только для IPv6) IPv6-адрес абонента. Значимыми являются только старшие биты адреса, как задано IPv6-префиксом. Например, для префикса 2001:1::/64 значением данного атрибута будет 2001:1::.

Delegated-IPv6-Prefix - (только для IPv6) PD-префикс, выданный абоненту.

Acct-Session-Id – идентификатор сессии RADIUS accounting

Acct-Status-Type – тип запроса:

  • [1] start –начало accounting-сессии. В этом запросе статистика не передается, анонсируется только Id сессии
  • [2] stop – завершение accounting-сессии. Этот запрос несет в себе окончательную статистику по сессии
  • [3] interim-update – промежуточная статистика

Acct-Delay-Time - тайм-аут в секундах между получением последней billing netflow-статистики от fastdpi и отправкой данного Accounting-Request. Фактически это мера "устаревания" данных.

Acct-Session-Time - длительность сессии в секундах. Атрибут добавляется в interim update и stop пакеты.

Event-Timestamp - [СКАТ 8.3] текущее время

Class - если при авторизации в Access-Accept/Access-Reject есть атрибут Class, то он передается во всех accounting-запросах.

NAS-IP-Address, NAS-Identifier - IP-адрес или идентификатор fastDPI-сервера, породившего данную сессию. Берется из настройки fdpi_server

[СКАТ 8.3] В связи с поддержкой мульти-сессий добавлены следующие атрибуты:

Acct-Multi-Session-Id - идентификатор мульти-сессии, к которой относится данная сессия

Acct-Link-Count - число Start в данной мультисессии. Заметим, что это не число живых сессий, а именно число событий Start в мультисессии, то есть сколько сессий было создано в мультисессии с её начала.

Статистика (accounting data), определена в RFC-2866, передается только для Acct-Status-Type= 2 или 3:

  • Acct-Input-Packets - количество пакетов к абоненту (направление inet → subs)
  • Acct-Output-Packets - количество пакетов от абонента (направление subs → inet)
  • Acct-Input-Octets - количество байт к абоненту (направление inet → subs)
  • Acct-Output-Octets - количество байт от абонента (направление subs → inet)
  • Acct-Input-Gigawords (RFC-2869)
  • Acct-Output-Gigawords (RFC-2869)

В СКАТ 9.5.3 добавлены также следующие 64-битные VSA-счетчики:

   # количество байт к абоненту (направление inet -> subs)
ATTRIBUTE   VasExperts-Acct-Input-Octets-64    22  integer64
   # количество байт от абонента (направление subs -> inet)
ATTRIBUTE   VasExperts-Acct-Output-Octets-64   23  integer64
   # количество пакетов к абоненту (направление inet -> subs)
ATTRIBUTE   VasExperts-Acct-Input-Packets-64   24  integer64
   # количество пакетов от абонента (направление subs -> inet)
ATTRIBUTE   VasExperts-Acct-Output-Packets-64  25  integer64

Эти счетчики полностью аналогичны стандартным 32-битовым и передаются вместе с ними. Использование 64bit счетчиков позволяет немного упростить логику на стороне RADIUS: не надо вычислять 64bit-значение по 32bit-атрибутам Acct-Input/Output-Octets и Acct-Input/Output-Gigawords

Плюс дополнительно в vendor-specific-атрибутах (VSA) передается статистика по классам трафика cs0 - cs7. Определены следующие VSA для vendor-id=43823:

ATTRIBUTE VasExperts-Acct-Traffic-Class-Name            16 string
ATTRIBUTE VasExperts-Acct-Traffic-Class-Input-Octets    17 integer64
ATTRIBUTE VasExperts-Acct-Traffic-Class-Output-Octets   18 integer64
ATTRIBUTE VasExperts-Acct-Traffic-Class-Input-Packets   19 integer64
ATTRIBUTE VasExperts-Acct-Traffic-Class-Output-Packets  20 integer64

здесь VasExperts-Acct-Traffic-Class-Name - имя класса трафика, "cs0", "cs1", …, "cs7", остальные атрибуты содержат статистику по этому классу трафика.

[СКАТ 8.3] С помощью настроек fastpcrf.conf вы можете указать, какие классы трафика включать в общий аккаунтинг, а также запретить отправку аккаунтинга по классам трафика (атрибуты VasExperts-Acct-Traffic-Class-*):

  • acct_disable_traffic_class - задание данного параметра в 1 отключает отправку в Acct-Request разбивку по классам трафика. По умолчанию статистика по классам трафика отправляется;
  • acct_include_traffic_class - позволяет задать список классов трафика, которые надо включать в аккаунтинг. По умолчанию, в аккаунтинг включаются все классы трафика cs0 - cs7. В этом параметре можно перечислить через запятую, какие классы трафика включать в аккаунтинг. При этом стандартные счетчики (Acct-Input/Output-Packets и Acct-Input/Output-Octets) будут содержать только сумму указанных классов. Например, чтобы исключить класс cs2 из аккаунтинга, следует задать:
acct_include_traffic_class=cs0,cs1,cs3,cs4,cs5,cs6,cs7

Пример пакета (раскрыты только первые две записи статистики по классам трафика):

Frame 211: 576 bytes on wire (4608 bits), 576 bytes captured (4608 bits)
Ethernet II, ...
Internet Protocol Version 4, ...
User Datagram Protocol, Src Port: 41754, Dst Port: 1815
RADIUS Protocol
    Code: Accounting-Request (4)
    Packet identifier: 0xfc (252)
    Length: 534
    Authenticator: 02495762cbcef01d257fa82eb8f320b3
    [The response to this request is in frame 233]
    Attribute Value Pairs
        AVP: l=10 t=NAS-Identifier(32): FastPCRF
        AVP: l=6 t=Framed-IP-Address(8): 192.168.0.52
        AVP: l=6 t=Service-Type(6): Framed(2)
        AVP: l=18 t=Acct-Session-Id(44): 3400a8c0311fae6b
        AVP: l=6 t=Acct-Authentic(45): RADIUS(1)
        AVP: l=6 t=Acct-Status-Type(40): Interim-Update(3)
        AVP: l=6 t=Acct-Delay-Time(41): 6
        AVP: l=6 t=Acct-Input-Packets(47): 0
        AVP: l=6 t=Acct-Output-Packets(48): 1956
        AVP: l=6 t=Acct-Input-Octets(42): 0
        AVP: l=6 t=Acct-Input-Gigawords(52): 0
        AVP: l=6 t=Acct-Output-Octets(43): 2173116
        AVP: l=6 t=Acct-Output-Gigawords(53): 0
        AVP: l=51 t=Vendor-Specific(26) v=VAS Experts(43823)
            AVP Type: 26
            AVP Length: 51
            VSA: l=5 t=VasExperts-Acct-Traffic-Class-Name(16): cs0
            VSA: l=10 t=VasExperts-Acct-Traffic-Class-Input-Octets(17): 0000000000000000
            VSA: l=10 t=VasExperts-Acct-Traffic-Class-Output-Octets(18): 00000000002128bc
            VSA: l=10 t=VasExperts-Acct-Traffic-Class-Input-Packets(19): 0000000000000000
            VSA: l=10 t=VasExperts-Acct-Traffic-Class-Output-Packets(20): 00000000000007a4
        AVP: l=51 t=Vendor-Specific(26) v=VAS Experts(43823)
            AVP Type: 26
            AVP Length: 51
            VSA: l=5 t=VasExperts-Acct-Traffic-Class-Name(16): cs1
            VSA: l=10 t=VasExperts-Acct-Traffic-Class-Input-Octets(17): 0000000000000000
            VSA: l=10 t=VasExperts-Acct-Traffic-Class-Output-Octets(18): 0000000000000000
            VSA: l=10 t=VasExperts-Acct-Traffic-Class-Input-Packets(19): 0000000000000000
            VSA: l=10 t=VasExperts-Acct-Traffic-Class-Output-Packets(20): 0000000000000000
        AVP: l=51 t=Vendor-Specific(26) v=VAS Experts(43823)
        AVP: l=51 t=Vendor-Specific(26) v=VAS Experts(43823)
        AVP: l=51 t=Vendor-Specific(26) v=VAS Experts(43823)
        AVP: l=51 t=Vendor-Specific(26) v=VAS Experts(43823)
        AVP: l=51 t=Vendor-Specific(26) v=VAS Experts(43823)
        AVP: l=51 t=Vendor-Specific(26) v=VAS Experts(43823)