ЭрикссонСофт

+7 (953) 284-42-23

ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ

«ЭРИКССОНСОФТ»

Функциональные характеристики экземпляра программного продукта

«Программа модуля пакетного ядра сети vEPC»

Правообладатель программы:

ООО «ЭрикссонСофт», ИНН 9718246399

Брянская обл., 2026

Оглавление

Виртуальный сетевой элемент vEPC (Virtual Evolved Packet Core) представляет собой программную реализацию компонентов опорной сети пакетной передачи данных, объединяющую функции MME (Mobility Management Entity) и SGSN (Serving GPRS Support Node) в едином процессе.

Область применения

Программное обеспечение предназначено для использования в следующих сценариях:

  • Развертывание в тестовых и лабораторных средах
  • Отработка сетевых взаимодействий при отсутствии физического оборудования
  • Обучение и повышение квалификации специалистов в области сетевых технологий
  • Прототипирование новых сервисов и функций сети
  • Интеграционное тестирование смежного телекоммуникационного оборудования

Место в сетевой инфраструктуре

В архитектуре сетей мобильной связи vEPC выполняет функции уровня управления (Control Plane):

  • MME отвечает за управление мобильностью и установление сессий в сетях LTE
  • SGSN выполняет аналогичные функции в сетях 2G/3G, а также обеспечивает взаимодействие между поколениями сетей

Объединение этих функций в одном программном продукте позволяет создавать компактные стенды, моделирующие работу ядра сети без необходимости развертывания распределенной инфраструктуры.

Ключевые особенности

Основными особенностями данной реализации являются:

  • Монолитная архитектура с разделением функций по потокам выполнения
  • Поддержка нативных протоколов (GTP-C, S1AP, NAS)
  • Управление через интерактивную консоль с цветной индикацией
  • Возможность изменения конфигурации в реальном времени
  • Хранение и отображение контекстов абонентов
  • Модульная структура, допускающая поэтапное наращивание функциональности

Виртуальный сетевой элемент vEPC обеспечивает выполнение следующих основных функций:

  • Реализация функций MME (Mobility Management Entity)
  • Реализация функций SGSN (Serving GPRS Support Node)
  • Обработка сигнального трафика протоколов GTP-C и S1AP
  • Управление контекстами абонентов (PDP-контексты, UE-контексты)
  • Конфигурирование параметров работы в реальном времени
  • Ведение журнала событий

Программная реализация основана на многопоточной архитектуре с разделением функций по отдельным потокам выполнения:

Основные потоки:

  • Поток MME — выполнение функций Mobility Management Entity
  • Поток SGSN — выполнение функций Serving GPRS Support Node
  • Поток GTP-сервера — обработка сообщений протокола GTP-C
  • Поток S1AP-сервера — обработка сообщений протокола S1AP
  • Поток консоли управления — обработка команд оператора

Общие структуры данных:

  • Хранилище конфигурационных параметров (защищено мьютексом)
  • Хранилище PDP-контекстов (защищено мьютексом)
  • Хранилище UE-контекстов (защищено мьютексом)
  • Журнал событий (защищен мьютексом)

Программное обеспечение функционирует в следующих режимах:

Режим ожидания:

  • Потоки MME и SGSN ожидают входящих сообщений
  • Сетевые серверы прослушивают заданные порты
  • Консоль управления готова к приему команд

Режим обработки сигнального трафика:

  • Прием и разбор входящих сообщений протоколов
  • Формирование и отправка ответов
  • Обновление контекстов абонентов

Режим конфигурирования:

  • Изменение параметров работы в реальном времени
  • Перезапуск потоков без остановки основного процесса

Текущая реализация (базовая):

  • Прослушивание UDP-порта (по умолчанию 2123)
  • Прием дейтаграмм
  • Логирование факта получения сообщения

Планируемая реализация (этап 1):

  • Парсинг заголовка GTPv1-C (version, type, length, TEID, sequence)
  • Обработка Echo Request с формированием Echo Response
  • Обработка Create PDP Context Request с формированием ответа
  • Извлечение информационных элементов (IMSI, APN, PDP type, GGSN IP)
  • Сохранение PDP-контекстов с привязкой к TEID

2.2 Протокол S1AP (S1 Application Protocol)

Текущая реализация (базовая):

  • Прослушивание SCTP-порта (по умолчанию 36412)
  • Ожидание входящих соединений
  • Логирование состояния работы сервера

Планируемая реализация (этап 2):

  • Полноценная работа с SCTP-сокетами
  • Парсинг S1AP-сообщений (Initial UE Message, код процедуры 12)
  • Извлечение NAS PDU из S1AP-сообщений
  • Формирование и отправка Authentication Request (NAS type 0x52)
  • Прием Authentication Response
  • Сохранение UE-контекстов (IMSI, GUTI, параметры безопасности)

2.3 Протокол NAS (Non-Access Stratum)

Реализация протокола NAS осуществляется в рамках обработки S1AP-сообщений. Поддерживаются следующие функции:

  • Инкапсуляция NAS PDU в S1AP-сообщения
  • Формирование запросов аутентификации
  • Обработка ответов аутентификации

Планируемая реализация (этап 5):

Поддержка протокола Diameter для взаимодействия с HSS

Реализация процедур обновления местоположения (Update Location)

Обработка запросов аутентификационной информации (Authentication Information)

Получение профилей абонентов из HSS

Поддержка команд Diameter (CER/CEA, ULR/ULA, AIR/AIA)

Программное обеспечение предоставляет интерактивную консоль управления с поддержкой следующих команд:

Команды мониторинга состояния:

  • status — отображение текущего состояния компонентов
  • logs — вывод журнала событий
  • state — отображение сохраненных контекстов (PDP и UE)
  • show — отображение текущей конфигурации

Команды управления:

  • set <key> <value> — изменение параметра конфигурации в реальном времени
  • restart — перезапуск всех рабочих потоков
  • stop — остановка программы

Программное обеспечение поддерживает следующие параметры настройки:

Параметры сети:

  • mcc — Mobile Country Code (код страны)
  • mnc — Mobile Network Code (код оператора)
  • gtp-c-port — порт для GTP-C протокола (UDP)
  • s1ap-port — порт для S1AP протокола (SCTP)
  • sgsn-ip — IP-адрес для SGSN
  • mme-ip — IP-адрес для MME

При запуске программа автоматически загружает конфигурацию из следующих файлов:

  • ../vmme.conf — конфигурация MME
  • ../vsgsn.conf — конфигурация SGSN

Формат файлов конфигурации:

  • Строки, начинающиеся с символа '#', игнорируются
  • Параметры задаются в формате ключ=значение
  • Пробельные символы в начале и конце строк игнорируются

Программное обеспечение поддерживает цветовую дифференциацию сообщений в консоли:

  • MME — зеленый цвет, жирное начертание
  • SGSN — синий цвет
  • GTP — желтый цвет
  • S1AP — красный цвет
  • MAIN — белый цвет, жирное начертание

Все события дублируются в файл журнала, расположенный по пути logs/vepc.log относительно рабочей директории. Формат записи в файле:

text

[YYYY-MM-DD HH:MM:SS] [MME] Сообщение

[YYYY-MM-DD HH:MM:SS] [SGSN] Сообщение

[YYYY-MM-DD HH:MM:SS] [GTP] Сообщение

[YYYY-MM-DD HH:MM:SS] [S1AP] Сообщение

[YYYY-MM-DD HH:MM:SS] [MAIN] Сообщение

Программа хранит ограниченную историю событий в оперативной памяти с возможностью просмотра по команде logs. Каждая запись журнала содержит:

  • Временную метку (time_t)
  • Идентификатор узла (node)
  • Текст сообщения (msg)

Хранилище PDP-контекстов предназначено для отслеживания активных сессий передачи данных. В текущей реализации структура контекста включает:

  • TEID (Tunnel Endpoint Identifier) — идентификатор туннеля
  • IMSI (International Mobile Subscriber Identity) — международный идентификатор абонента

Планируемое расширение (этап 1):

  • APN (Access Point Name) — имя точки доступа
  • GGSN IP — IP-адрес шлюза
  • PDP type — тип протокола передачи данных

Хранилище UE-контекстов предназначено для отслеживания состояния абонентских устройств. В текущей реализации структура контекста включает:

  • IMSI — международный идентификатор абонента
  • GUTI (Globally Unique Temporary Identifier) — глобальный временный идентификатор

Планируемое расширение (этап 2):

  • Флаг аутентификации (authenticated flag)
  • Контекст безопасности (security context)
  • Ключи шифрования

На этапе 3 развития проекта планируется реализация следующих функций:

  • Сериализация PDP-контекстов в JSON-формат
  • Сериализация UE-контекстов в JSON-формат
  • Сохранение состояния в файл при остановке или перезапуске
  • Загрузка состояния из файла при запуске (опционально)
  • Полноценный парсинг GTPv1-C сообщений
  • Обработка Echo Request с формированием Echo Response
  • Обработка Create PDP Context Request с формированием ответа
  • Извлечение и сохранение полной информации о PDP-контекстах
  • Полноценная работа с SCTP-соединениями
  • Парсинг S1AP-сообщений
  • Реализация процедуры аутентификации
  • Сохранение полной информации о UE-контекстах
  • Сериализация контекстов в JSON
  • Загрузка и сохранение состояния между перезапусками
  • Улучшенный консольный интерфейс с табличным представлением
  • Графический интерфейс на базе Qt
  • Окно просмотра логов с фильтрацией
  • Таблицы контекстов с возможностью редактирования
  • Элементы управления конфигурацией
  • Поддержка GTP-U для туннелирования пользовательских данных
  • Интерфейс S11 для взаимодействия с SGW
  • Поддержка процедур хэндовера (интерфейсы S3/S16 между SGSN и MME)

Текущая реализация:

text

std::map<uint32_t, std::string> pdpContexts;  // TEID → IMSI

Текущая реализация:

text

std::map<std::string, std::string> ueContexts; // IMSI → GUTI

Отдел продаж

+7 (953) 284-42-23

sales@ericssonsoftware.ru

Мы в соц.сетях

Информация

Адрес

242504
Брянская область
Карачевский район, Вишневка
Молодёжная улица, 33

Информация

Отдел продаж

+7 (953) 284-42-23

sales@ericssonsoftware.ru

Адрес

242504
Брянская область,
Карачевский район,
Вишневка, Молодёжная улица, 33