Быстрый переход
Простой текст
ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ
«ЭРИКССОНСОФТ»
Документация по установке программного продукта
«Программа модуля пакетного ядра сети vEPC»
Правообладатель программы:
ООО «ЭрикссонСофт», ИНН 9718246399
Брянская обл., 2026
Оглавление
Настоящий документ содержит руководство по установке виртуального сетевого элемента vEPC, объединяющего функции MME (Mobility Management Entity) и SGSN (Serving GPRS Support Node). Программное обеспечение реализует базовые функции опорной сети пакетной передачи данных в едином процессе и предназначено для развертывания в тестовых и лабораторных средах.
Основные функциональные возможности:
Программное обеспечение распространяется в исходных кодах под открытой лицензией. Актуальная версия исходного кода хранится в системе контроля версий Git. Адрес репозитория предоставляется по запросу.
Программное обеспечение является кроссплатформенным и может быть установлено на различные операционные системы семейства UNIX. Рекомендуется использование серверных операционных систем, оптимизированных для работы с сетевыми приложениями.
Минимальные требования (для тестовых и ознакомительных целей):
Рекомендуемые требования (для эксплуатации в лабораторных средах):
Требования для продуктивной эксплуатации определяются индивидуально в зависимости от планируемой нагрузки и количества обслуживаемых абонентов.
Программное обеспечение может быть установлено на следующие операционные системы:
Серверные ОС:
Десктопные ОС (для разработки и тестирования):
Для сборки из исходного кода необходимы:
Для работы протокола SCTP:
Для обеспечения стабильной работы при высоких нагрузках рекомендуется выполнить настройку параметров ядра:
Параметры сетевого стека:
text
net.core.rmem_max = 134217728
net.core.wmem_max = 134217728
net.ipv4.tcp_rmem = 4096 87380 134217728
net.ipv4.tcp_wmem = 4096 65536 134217728
net.core.netdev_max_backlog = 5000
Параметры SCTP:
text
net.sctp.sctp_mem = 100000000 100000000 100000000
net.sctp.sctp_rmem = 4096 87380 134217728
net.sctp.sctp_wmem = 4096 65536 134217728
Конкретные значения параметров подбираются индивидуально в зависимости от конфигурации оборудования и планируемой нагрузки.
Скомпилированная версия программного обеспечения доступна для операционной системы Ubuntu 20.04 LTS (x86-64). Исполняемый файл может быть предоставлен отдельно. После получения файла необходимо установить права на его выполнение:
bash
chmod +x vepc
Для проверки целостности полученного файла рекомендуется сверить контрольную сумму. Значение контрольной суммы SHA256 предоставляется вместе с дистрибутивом.
bash
sha256sum vepc
Для установки программы в системную директорию выполните:
bash
sudo cp vepc /usr/local/bin/
После установки проверьте доступность программы:
bash
which vepc
Перед началом сборки необходимо установить требуемые пакеты:
bash
sudo apt update
sudo apt install -y git cmake build-essential libsctp-dev
Исходный код доступен в системе контроля версий Git. Адрес репозитория необходимо уточнить у администратора или ответственного за распространение программного обеспечения.
После получения адреса репозитория выполните клонирование:
bash
git clone <адрес_репозитория>
cd vEPC
Создайте отдельную директорию для сборки и выполните конфигурацию проекта:
bash
mkdir build
cd build
cmake ..
При необходимости можно изменить стандартные параметры сборки. Для этого передайте соответствующие аргументы команде cmake. Например, для установки префикса инсталляции:
bash
cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local
Выполните компиляцию проекта. Рекомендуется использовать все доступные ядра процессора для ускорения процесса:
bash
make -j$(nproc)
В результате успешной компиляции в директории build будет создан исполняемый файл vepc.
Для проверки корректности сборки можно запустить полученный исполняемый файл:
bash
./vepc
Программа должна запуститься и вывести приглашение консоли управления. Для остановки введите команду stop.
Для установки скомпилированной программы в системную директорию выполните из директории build:
bash
sudo make install
По умолчанию программа будет установлена в /usr/local/bin/vepc. Если при конфигурации был указан другой префикс, программа будет установлена в соответствующую директорию.
Если при установке был выбран нестандартный каталог, необходимо добавить его в переменную окружения PATH. Для этого отредактируйте файл ~/.bashrc или ~/.profile, добавив строку:
bash
export PATH=$PATH:/путь/к/каталогу/с/программой
После редактирования примените изменения:
bash
source ~/.bashrc
Убедитесь, что программа доступна для запуска из любой директории:
bash
vepc --help
Примечание: программа не поддерживает аргументы командной строки, поэтому при отсутствии встроенной справки команда --help может не дать ожидаемого результата. Для проверки достаточно выполнить vepc и убедиться, что программа запускается.
Для запуска программы в контейнерной среде необходимо создать Docker-образ. В директории с исходным кодом создайте файл Dockerfile со следующим содержимым:
dockerfile
FROM ubuntu:20.04
RUN apt-get update && apt-get install -y \
libsctp1 \
&& rm -rf /var/lib/apt/lists/*
COPY build/vepc /usr/local/bin/vepc
RUN chmod +x /usr/local/bin/vepc
EXPOSE 2123/udp 36412/sctp
WORKDIR /var/vepc
VOLUME ["/var/vepc/logs"]
CMD ["vepc"]
Выполните сборку образа, указав тег:
bash
docker build -t vepc:latest .
Для запуска контейнера выполните:
bash
docker run -it --rm \
-p 2123:2123/udp \
-p 36412:36412/sctp \
-v $(pwd)/logs:/var/vepc/logs \
vepc:latest
Параметры запуска:
После запуска контейнера консоль управления будет доступна непосредственно в терминале. Для остановки программы введите команду stop, после чего контейнер завершит работу.
Для запуска контейнера в фоновом режиме используйте флаг -d:
bash
docker run -d --name vepc \
-p 2123:2123/udp \
-p 36412:36412/sctp \
vepc:latest
В фоновом режиме консоль управления недоступна. Для подключения к запущенному контейнеру используйте:
bash
docker attach vepc
Файл конфигурации для MME содержит следующие параметры:
text
# MME Configuration
mcc=250
mnc=20
mme-ip=127.0.0.1
s1ap-port=36412
А.2 Файл vsgsn.conf
Файл конфигурации для SGSN содержит следующие параметры:
text
# SGSN Configuration
mcc=250
mnc=20
sgsn-ip=127.0.0.1
gtp-c-port=2123
По умолчанию программа ожидает файлы конфигурации в родительской директории относительно исполняемого файла:
При необходимости расположение файлов может быть изменено путем модификации исходного кода. Функция загрузки конфигурации приведена в Приложении Б.
Функция loadConfig класса VNodeController отвечает за чтение файлов конфигурации:
bool VNodeController::loadConfig(const std::string& filename) {
std::ifstream file(filename);
if (!file.is_open()) {
log("MAIN", "Ошибка открытия конфига: " + filename);
return false;
}
std::string line;
while (std::getline(file, line)) {
if (line.empty() || line[0] == '#') continue;
size_t eqPos = line.find('=');
if (eqPos == std::string::npos) continue;
std::string key = line.substr(0, eqPos);
std::string value = line.substr(eqPos + 1);
key.erase(0, key.find_first_not_of(" \t"));
key.erase(key.find_last_not_of(" \t") + 1);
value.erase(0, value.find_first_not_of(" \t"));
value.erase(value.find_last_not_of(" \t") + 1);
config[key] = value;
}
log("MAIN", "Конфиг загружен: " + filename);
return true;
}
Информация
Адрес
242504
Брянская область
Карачевский район, Вишневка
Молодёжная улица, 33
Быстрый переход
Информация
Отдел продаж
+7 (953) 284-42-23
sales@ericssonsoftware.ru
Адрес
242504
Брянская область,
Карачевский район,
Вишневка, Молодёжная улица, 33