Поддержка мобильных сетей. Обработка GTP трафика. GTP Mapping

СКАТ поддерживает обработку GTP-C трафика и создания GTP-сессии (связявание IP абонента и login IMSI/MSISDN, bind хранится в UDR). Поддерживается обработка GTP-C версий v1 и v2.

Статистику по GTP-C трафику возможно отправить по протоколу IPFIX: Экспорт GTP IPFIX

Внутренней БД GTP-сессий можно управлять с помощью специального набора CLI-команд.

Минимальная настройка обработки GTP-C (S5/S8) для создания bind IP-Login(IMSI)

Включение разбора GTP-С призводится параметрами в fastdpi.conf:

bras_enable=1
bras_gtp_mode=1

Описание параметров

# Включить режим BRAS - включает механизм отслеживания сообщений в трафике
#
# bras_enable=1
# Настроить режим обработки GTP-С
#bras_gtp_mode=3
# Значения:
# 0 - (default) обработка GTP отключена
# 1 - [mirror bind mode] В этом режиме BRAS обрабатывает GTP-C пакеты начала и завершения сессии,
# связывая (bind) выданный абоненту IP-адрес с логином (в качестве логина используется IMSI).
# При завершении сессии связь логин-IP разрывается.
# Терминации GTP-сессий СКАТ не делает, все GTP-C пакеты дропаются.
# 2 - [mirror auth mode] включена авторизация GTP-сессий. В этом режиме BRAS обрабатывает GTP-C пакеты
# начала и завершения сессии. На успешном старте GTP-сессии BRAS отправляет запрос
# L3-авторизации на PCRF, передавая IP-адрес абонента, его IMSI, MSISDN, IMEI и прочие параметры.
# При завершении сессии связь логин-IP разрывается.
# Терминации GTP-сессий СКАТ не делает, все GTP-C пакеты дропаются.
# 3 - [passive bind mode] Аналогичен режиму 1 [mirror bind mode], но GTP-C пакеты не дропаются.
# Предполагается, что СКАТ стоит в разрыв на S11 или S5 интерфейсе.
# 4 - [passive auth mode] Аналогичен режиму 2 [mirror auth mode], но GTP-C пакеты не дропаются.
# Предполагается, что СКАТ стоит в разрыв на S11 или S5 интерфейсе.

В режиме mirror (bras_gtp_mode 1 или 2) СКАТ дропает все поступившие GTP-C пакеты. В пассивном режиме (bras_gtp_mode 3 или 4) СКАТ пропускает GTP-C трафик сквозь себя.

Получив запрос на создание GTP-C сессии, СКАТ дожидается пакета успешного создания сессии и только в этот момент, при получении успешного ответа и выдачи IP-адреса абоненту, связывает логин и IP. Время ожидания ответа задается параметром в fastdpi.conf:

# Max время ожидания ответа на GTP-запрос создания сессии, в секундах
# Default = 10 секунд
#bras_gtp_pending_timeout=10

Создание сессии (bind IP-LOGIN) происходит после получения и запроса и ответа:

#для GTPv1:
Запрос - Create PDP Context Request
Ответ - Create PDP Context Response
#для GTPv2:
Запрос - Create Session Request
Ответ - Create Session Response

Удаление сессии (bind IP-LOGIN) происходит после получения и запроса и ответа:

#для GTPv1:
Запрос - Delete PDP Context Request
Ответ - Delete PDP Context Response
#для GTPv2:
Запрос - Delete Session Request
Ответ - Delete Session Response
#для GTPv2:
Запрос - Delete Bearer Request
Ответ - Delete Bearer Response

Указать тип трафика GTP-C, который подается зеркалом на СКАТ, задается параметром:

# bras_gtp_mountpoint=0
# Куда подключен СКАТ (какой GTP-C подается на СКАТ)
# Допустимые значения:
# 0 - протокол S5 (SGW <-> PGW). Это значение по умолчанию
# 1 - протокол S11 (MME <-> SGW)

Также следует задать в fastdpi.conf максимальный размер внутренней БД активных GTP-сессий

# Max число одновременных GTP-сессий
# Рекомендуем устанавливать это параметр в 1.5 - 2 раза больше, чем
# фактическое max число сессий
# Значение по умолчанию: 10000 сессий, минимиальное значение: 10000
#bras_gtp_session=10000

В качестве логина может использоваться IMSI или MSISDN, что задается параметром в fastdpi.conf:

# Что считать логином абонента для GTP:
# 0 - IMSI (по умолчанию)
# 1 - MSISDN
#bras_gtp_login=0

Использовать MSISDN (номера телефона) в качестве логина хоть и более привычно для человека, но MSISDN может отсутствовать в GTP-C пакетах создания сессии. В этом случае СКАТ в качестве логина будет использовать IMSI. В результате будет непонятно, чем является логин - MSISDN или IMSI. Поэтому советуем использовать в качестве логина только IMSI

Для распознания GTP-U необходимо включить разбор туннелей:

# включаем разбор туннелей диспетчерами
check_tunnels=1
# включаем распознание и разбор GTP-U
detect_gtp_tunnel=1

При включении разбора GTP-U туннелей СКАТ будет работать с истинным IP-адресом абонента, а не с IP-адресом туннеля, то есть появляется возможность применять для GTP-абонента фильтрацию, услуги и полисинг.

Терминацию GTP-U туннелей СКАТ не делает.