Добрый день
В данной статье я хочу кратко рассказать о двух интересных функциях PGW — HTTP Header Enrichment и URL Enrichment
HTTP Header Enrichment
Одной из интересных функций элемента PGW является функция HTTP Header Enrichment. Cуть функции проста — это возможность добавлять в HTTP запрос пользователя заголовки со служебной информацией. Например, можно добавить IMSI или MSISDN абонента, APN, RAT, IMEI и другие
Названия HTTP заголовков стандартные:
- APN: x-apn
- IMSI: x-imsi
- MSISDN: x-msisdn
- IP адрес мобильной станции: x-ue-ip4, x-ue-ip6
- И т.д
На некоторых устройств эти имена можно поменять. Также на некоторых устройствах поддерживаются заголовки, который содержат хэш IMSI и MSISDN
Рассмотрим пример
- Мобильная станция подключается к сети
- Мобильная станция шлет HTTP запрос на сервер www.test.com
- PGW получает этот HTTP запрос от SGW, анализирует его и добавляет в HTTP заголовок поля x-imsi: IMSI_мобильной_станции, x-apn: APN, x-ue-ip4: IP_адрес_мобильной станции
- Затем PGW шлет этот запрос с новыми заголовками через интерфейс SGi на сервер
Конечно, добавлять эти заголовки для обычного Интернет серфинга не имеет смысла. Поэтому эта функция активируется только для определенных сайтов, которые эти заголовки умеют обрабатывать. Эти сайты вычисляются при помощи функции DPI, встроенной в PGW, или по IP адресу (L4 анализ) или по Host Name и URI (L7 анализ)
URL Enrichment
Работает по аналогии с функцией HHE, только данные добавляются не в заголовок, а непосредственно в данные запроса (обычно в Query String для HTTP GET). Имена параметров также можно настраивать по своему усмотрению.
Пример:
- Мобильная станция подключается к сети
- Мобильная станция шлет HTTP запрос на сервер www.test.com
- PGW получает этот HTTP запрос от SGW, анализирует его и добавляет в строку запроса соответствующие параметры:. Соответственно, на выходе из PGW запрос будет иметь вид:
www.test.com?imsi=IMSI_абонента&apn=APN_абонента&ip4=IP_адрес_мобильной станции - Затем PGW шлет этот запрос через интерфейс SGi на сервер
Функция URL Enrichment широко применяется при переадресации абонентов. Например, у абонента закончились деньги и PGW необходимо переадресовать абонента на страницу оплаты. Для этого мобильной станции отправляется HTTP 302 с Location = www.pleasepay.com?imsi=IMSI_абонента&apn=APN_абонента&rat=тип_сети
Спасибо за внимание
Автор: Alexey06