Добрый день!
В данной статье я хочу рассказать о PCRF и его работе в сетях LTE
Основы
PCRF (Policy and Charging Rule Function) — один из главных элементов LTE сети, основной функцией которого является загрузка политик на PGW, по которым PGW будет обрабатывать различные типы трафика. Далее в статье вместо термина «политика» я буду использовать термин «правило»
PCRF и PGW подключены по интерфейсу Gx.
Стек протоколов интерфейса — DIAMETER, SCTP/TCP, IP, L2/L1
Gx Application-ID = 16777238
PCC фильтр (PCC Filter) — набор параметров, на основе которых PGW идентифицирует различные типы трафика. Существует два типа фильтров:
- L4 фильтр — фильтрация трафика на базе IP адреса источника/назначения, номера и Protocol ID
- L7 фильтр — идентификация трафика на базе L7 данных (Application Layer)
PCC правило (PCC Rule) — набор PCC фильтров + дополнительные параметры — Rating Group, параметры QoS, способ тарификации (Онлайн или оффлайн), способы измерения трафика (по объему, по времени, по времени и объему) и другие. Каждое правило имеет свой приоритет — Precedence. Чем меньше Precedence, тем выше приоритет правила, т.е оно будет проверяться первым.
Набор PCC правил (PCC Rulebase) — правила могут объединяться в так называемые наборы правил. Наборы правил используются для упрощения процедуры активации группы правил. Вместо того, чтобы активировать каждое правило, они объединяются в набор, и при активации указывается только ID этого набора
Загрузка и активация правил
Существует два основных способа настройки правил на PGW:
- Активация правил — в этом случае все правила, фильтры и наборы настраиваются на самом PGW. Активируются же данные правила при помощи PCRF, который указывает только имена правил или имя набора правил, который необходимо активировать для данной сессии
- Загрузка правил — в этом случае все правила и их фильтры загружаются на PGW c сервера PCRF, который указывает все правила и их данные, включая фильтры, в сообщении Credit Control Answer.
Активация или загрузка правил выполняется по запросу PGW (Credit Control Request) — PULL процедура, а также в принудительном порядке самим PCRF (Re-Auth Request) — PUSH процедура. Также PCRF может удалять активные правила, добавлять новые к активным сессиям, а также модифицировать существующие.
Пример активации правил
Рассмотрим простой пример с двумя правилами. Одно правило будет использоваться для идентификации HTTP трафика, второе правило — для идентификации всего остального трафика.
Правило для HTTP трафика:
Name = HTTPRULE
Precedence = 10
Фильтр правила HTTPRULE
Name = HTTPFILTER
Source IP = Any
Destination IP = Any
Source Port = Any
Destination Port = 80,8080
Правило для остального трафика:
Name = DEFAULT
Precedence = 100
Фильтр правила DEFAULT
Source IP = Any
Destination IP = Any
Source Port = Any
Destination Port = Any
Заметьте, что Precedence правила DEFAULT меньше, чем у правила HTTPFILTER. При создании правил необходимо помнить, что при любой конфигурации должно быть правило, которое будет обрабатывать трафик, который не попал во все остальные правила. Precedence у этого правила должен быть наименьшим.
Эти два правила мы также можем добавить в набор — PCC Rulebase. Например, назовем его OURRULEBASE
Теперь, когда мобильная станция подключается в сети, PGW отправит сообщение Credit Control Request на PCRF, который в ответ пришлет Credit Control Answer, которое, помимо служебных полей, будет содержать два AVP Charging-Rule-Install, в которых будут указаны наши два правила — HTTPFILTER и DEFAULT.
Т.е выглядеть будет примерно так:
Charging-Rule-Install
> Charging-Rule-Name = HTTPFILTER
Charging-Rule-Install
> Charging-Rule-Name = DEFAULT
Либо PCRF может активировать сразу набор правил, прислав следующий Charging-Rule-Install:
Charging-Rule-Install
> Charging-Rule-Base-Name = OURRULEBASE
Пример загрузки правил
Теперь рассмотрим пример загрузки правил. Возьмем те же два правила. В этом случае правила создаются на PCRF, а не на PGW. В ответ на Credit Control Request от PGW, PCRF пришлет следующее:
Charging-Rule-Install
> Charging-Rule-Definition
>> Charging-Rule-Name = HTTPFILTER
>> Flows-Information
— Список фильтров правила HTTPFILTER —
Charging-Rule-Install
> Charging-Rule-Definition
>> Charging-Rule-Name = DEFAULT
>> Flows-Information
— Список фильтров правила DEFAULT ---
PGW установит эти правила и применит их к текущей сессии
Далее кратко о некоторых функцияx PCRF
Время активации и деактивации
PCRF может указывать PGW, когда правило необходимо активировать или деактивировать. Делается при помощи специальных AVP — Rule-Activation-Time и Rule-Deactivation-Time. Они добавляются в AVP Charging-Rule-Install.
Также PCRF при помощи AVP Revalidation-Time может указать промежуток времени, по истечении которого PGW должен заново запросить информацию о правилах
Мониторинг сессии
PGW, по указанию PCRF может активировать процедуру мониторинга сессии, генерировать отчеты и отправлять их PCRF. PCRF, анализируя отчеты, может, например, менять QoS параметры сессии или отключать тарификацию. Например, PCRF хочет получать отчеты от PGW каждый раз после того, как мобильная станция передала 500 Мб. Для этого в сообщение Credit-Control-Answer PCRF добавляет AVP — Usage-Monitoring-Information, который будет содержать объем данных (октетов), после передачи которых PGW должен генерировать отчет и отправлять его PCRF. Отчет может быть для всей сессии или для какого-нибудь конкретного правила
Управление способом тарификации
PCRF при помощи AVP Online и Offline может управлять тарификацией трафика. Например, PCRF может загрузить на PGW правило для DNS трафика и отключить для него тарификацию. Тем самым весь DNS трафик не будет тарифицироваться
Спонсируемые сессии
Это новая функция, которая появилась в 3GPP Release 10, и все еще находится в разработке. Идея функции заключается в том, что часть трафика, передаваемого мобильной станцией, будет оплачивать не абонент, а так называемый спонсор (Sponsor). Например, абонент подключается к книжному Интернет магазину (Application Service Provided (ASP) Server) и покупает там книгу. После этого сервер сообщает об этот PCRF (через специальный интерфейс), включая в сообщение идентификатор спонсора (Sponsor Identity), идентификатор сервис провайдера (ASP Identity), а также объем данных, которые будут «спонсированы». PCRF шлет на PGW сообщение Re-Auth Request, в котором указывает данные правила, которое будет использоваться для идентификации трафика загрузки книги с ASP сервера, и включает туда Sponsor Identity, ASP Identity, а также AVP Usage-Monitoring-Information, в котором указывает количество октетов, которое указал ASP сервер, т.е количество «спонсированных» октетов. В данном случае тарификацию для данного типа трафика можно отключить двумя способами:
- Offline AVP в Re-Auth Request от PCRF — т.е PCRF в принудительном порядке отключит тарификацию для данного типа трафика.
- OCS — PGW добавит полученные от PCRF Sponsor Identity и ASP Identity в сообщение Credit Control Request, которое будет отправлять в OCS (Online Charging System). OCS будет знать, что для данных Sponsor Identity и ASP Identity баланс проверять не надо, и тем самым будет выдавать необходимую квоту. Этот способ сложнее и требует модификаций на стороне Online Charging System, что зачастую не очень приветствуется
Также PGW может добавлять эти идентификаторы в CDR
Спасибо за внимание
Ссылки
Автор: Alexey06