5G核心网SBA架构实战:基于Open5GS搭建3节点测试环境

发布时间:2026/7/13 3:02:26

5G核心网SBA架构实战:基于Open5GS搭建3节点测试环境
5G核心网SBA架构实战基于Open5GS搭建3节点测试环境引言为什么需要动手搭建5G核心网测试环境在5G技术快速发展的今天服务化架构(SBA)已成为5G核心网的标准设计范式。与传统的4G EPC架构不同SBA将网络功能拆分为独立的服务通过HTTP/2协议进行通信实现了更高的灵活性和可扩展性。但对于大多数开发者而言这些概念往往停留在理论层面缺乏直观的实践体验。这正是本文要解决的问题——我们将使用开源的Open5GS项目从零开始搭建一个包含AMF、SMF、UPF三个核心网功能的测试环境。通过这个实践过程您不仅能深入理解5G SBA架构的设计理念还能掌握实际部署中的关键配置技巧。这个环境特别适合用于协议开发人员测试5G核心网接口交互学生和研究学者学习5G网络原理企业团队评估5G核心网技术方案1. 环境准备与基础配置1.1 硬件与系统要求搭建5G核心网测试环境对硬件有一定要求建议配置如下组件最低配置推荐配置CPU4核8核及以上内存8GB16GB存储50GB100GB SSD网络1Gbps网卡10Gbps网卡操作系统方面我们选择Ubuntu 20.04 LTS作为基础平台因其对5G开源软件的兼容性最佳。执行以下命令更新系统sudo apt update sudo apt upgrade -y sudo apt install -y git cmake python3-pip libssl-dev1.2 依赖组件安装Open5GS依赖于多个开源组件需要提前安装# 安装MongoDB用于存储用户数据 sudo apt install -y mongodb wget git sudo systemctl start mongodb # 安装libmicrohttpd sudo apt install -y libmicrohttpd-dev # 安装GTP-U内核模块 sudo apt install -y linux-modules-extra-$(uname -r) sudo modprobe gtp提示如果您的系统无法找到gtp模块可能需要手动编译安装。可以参考Linux内核文档中的GTP-U驱动部分。2. Open5GS核心网组件部署2.1 源码编译与安装首先从GitHub获取Open5GS最新源码git clone https://github.com/open5gs/open5gs cd open5gs git submodule update --init编译安装核心组件meson build --prefixpwd/install ninja -C build sudo ninja -C build install2.2 关键配置文件说明Open5GS的配置文件采用YAML格式主要需要关注以下几个文件install/etc/open5gs/amf.yaml- AMF(接入和移动性管理功能)配置install/etc/open5gs/smf.yaml- SMF(会话管理功能)配置install/etc/open5gs/upf.yaml- UPF(用户面功能)配置以AMF配置为例需要修改的关键参数包括amf: sbi: addr: 192.168.0.100 port: 7777 ngap: addr: 192.168.0.100 guami: - plmn_id: mcc: 001 mnc: 01 amf_id: region: 2 set: 1 pointer: 0 tai: - plmn_id: mcc: 001 mnc: 01 tac: 1 security: integrity_order : [ NIA2 ] ciphering_order : [ NEA0 ] network_name: full: Open5GS2.3 多节点部署架构我们的3节点测试环境架构如下------------- ------------- ------------- | AMF节点 |-----| SMF节点 |-----| UPF节点 | | (192.168.0.100)| | (192.168.0.101)| | (192.168.0.102)| ------------- ------------- -------------每个节点需要单独配置并运行对应的服务# 在AMF节点 ./install/bin/open5gs-amfd -c install/etc/open5gs/amf.yaml # 在SMF节点 ./install/bin/open5gs-smfd -c install/etc/open5gs/smf.yaml # 在UPF节点 ./install/bin/open5gs-upfd -c install/etc/open5gs/upf.yaml3. UERANSIM模拟器配置与测试3.1 UERANSIM安装与配置UERANSIM是目前最活跃的开源5G UE和gNB模拟器我们可以用它来测试我们的核心网git clone https://github.com/aligungr/UERANSIM cd UERANSIM make配置gNB模拟器(config/open5gs-gnb.yaml)gnb: plmnList: - mcc: 001 mnc: 01 nci: 0x000000010 idLength: 32 tac: 1 linkIp: 192.168.0.200 # gNB IP地址 ngapIp: 192.168.0.200 gtpIp: 192.168.0.200 amfConfigs: - address: 192.168.0.100 # AMF IP地址 port: 384123.2 端到端测试流程首先启动所有核心网服务# 按顺序启动 ./install/bin/open5gs-amfd ./install/bin/open5gs-smfd ./install/bin/open5gs-upfd 启动gNB模拟器./build/nr-gnb -c config/open5gs-gnb.yaml启动UE模拟器./build/nr-ue -c config/open5gs-ue.yaml验证注册流程# 查看AMF日志 tail -f /var/log/open5gs/amf.log # 预期输出示例 [AMF] UE[imsi-001010000000001] Registration Request [AMF] Authentication Request sent to UE [AMF] Authentication Response received [AMF] Security Mode Command sent [AMF] Registration Accept sent4. 高级功能与故障排查4.1 网络切片配置示例5G的核心特性之一是网络切片我们可以在SMF配置中添加切片配置slice: - sst: 1 sd: 0x000001 session: - type: IPv4 apn: internet qos: index: 9 arp: priority_level: 8 pre_emption_capability: 1 pre_emption_vulnerability: 1对应的UE配置也需要添加切片信息supi: imsi-001010000000001 mcc: 001 mnc: 01 sst: 1 sd: 0000014.2 常见问题排查指南问题1UE无法注册检查AMF与gNB之间的NGAP连接是否正常验证UE的IMSI是否已在核心网中配置检查防火墙设置确保38412端口开放问题2PDU会话建立失败确认SMF与UPF之间的N4接口工作正常检查UPF的GTP-U接口配置是否正确验证DNS解析是否正常工作问题3数据传输速率低检查UPF的吞吐量配置使用iftop等工具监控GTP-U隧道流量确认没有启用不必要的加密算法影响性能4.3 性能监控与优化Open5GS提供了Prometheus监控接口我们可以配置Grafana仪表板来监控系统状态启用Prometheus导出器# 在每个组件的配置文件中添加 metrics: addr: 0.0.0.0 port: 9090关键监控指标包括AMF注册UE数量、N2消息处理延迟SMF活跃PDU会话数、N4接口延迟UPF吞吐量、数据包处理延迟5. 实际应用场景扩展5.1 与开源RAN集成我们的测试环境可以进一步与开源RAN项目如OAI或srsRAN集成构建完整的5G端到端系统。关键集成点包括配置OAI gNB与Open5GS AMF的NGAP连接调整定时器参数匹配实际RAN设备特性优化QoS参数满足空口传输需求5.2 容器化部署方案对于需要快速部署的场景我们可以使用Docker容器化方案FROM ubuntu:20.04 RUN apt update apt install -y git meson ninja-build RUN git clone https://github.com/open5gs/open5gs WORKDIR /open5gs RUN git submodule update --init RUN meson build --prefix/open5gs/install ninja -C build CMD [/open5gs/install/bin/open5gs-amfd]使用docker-compose编排多容器部署version: 3 services: amf: build: . command: /open5gs/install/bin/open5gs-amfd ports: - 38412:38412 smf: build: . command: /open5gs/install/bin/open5gs-smfd depends_on: - amf upf: build: . command: /open5gs/install/bin/open5gs-upfd depends_on: - smf cap_add: - NET_ADMIN5.3 生产环境部署建议虽然本文搭建的是测试环境但若考虑生产部署还需要注意高可用性部署多个AMF实例并使用负载均衡安全性启用TLS加密所有服务间通信日志管理集成ELK栈进行集中日志分析性能优化根据实际负载调整各组件线程数通过这个Open5GS测试环境开发者可以深入理解5G SBA架构的实际运作机制为后续的5G核心网开发和研究工作打下坚实基础。

相关新闻

Codex Skills安装系统:Web驱动的技能生命周期管理平台

Codex Skills安装系统:Web驱动的技能生命周期管理平台

2026/7/13 3:03:52

1. 项目概述:这不是一个“插件”,而是一套可复用的自动化能力交付系统你有没有遇到过这样的场景:在 Codex 里反复写同一段代码来调用 GitHub API 获取 PR 列表?或者每次都要手动拼接 OpenAPI Schema 去生成接口测试用例&#xff1…

Windrose专用服务器搭建原理与实战指南

Windrose专用服务器搭建原理与实战指南

2026/7/11 23:03:37

1. 项目概述:为什么Windrose联机服务器不是“装个软件点一下就完事”?Windrose《风启之旅》的联机服务器搭建,表面看是“下载、解压、双击运行”的三步操作,但实际踩坑率远超90%——我帮朋友远程调试过23台不同配置的机器&#xf…

Unity UGUI 奇技淫巧:把普通组件玩出花

Unity UGUI 奇技淫巧:把普通组件玩出花

2026/7/13 3:42:46

Unity UGUI 奇技淫巧:把普通组件玩出花 写在前面 UGUI 里很多组件的名字很“老实”:ScrollRect 像是只用来做滚动列表,CanvasGroup 像是只管透明度,Image 像是只负责显示图片,ToggleGroup 像是只为开关服务。 但做项目…

从USACO铜组题解析字符串相邻交换配对与哈希表高效算法

从USACO铜组题解析字符串相邻交换配对与哈希表高效算法

2026/7/13 6:45:49

1. 项目概述:从一道USACO铜组题看信奥刷题的核心价值最近在带学生刷信奥题,正好碰到一道挺有意思的USACO 2024年12月铜组的新题——P11451 “It‘s Mooin’ Time B”。这道题本身难度不算高,但非常典型,它完美地体现了USACO铜组乃…

UG NX 12 同步建模 vs 历史模式:3大场景选择与切换避坑指南

UG NX 12 同步建模 vs 历史模式:3大场景选择与切换避坑指南

2026/7/13 6:45:49

UG NX 12 同步建模与历史模式:3大核心场景选择策略与实战避坑指南在三维设计领域,UG NX 12提供了两种截然不同的建模范式——历史记录模式与同步建模(无历史记录模式)。这两种模式并非简单的功能差异,而是代表了两种设…

[Android] 幻休睡眠 -解锁会员+白噪音冥想助眠监测工具

[Android] 幻休睡眠 -解锁会员+白噪音冥想助眠监测工具

2026/7/13 6:45:49

[Android] 幻休睡眠 -白噪音冥想助眠监测工具 链接:https://pan.xunlei.com/s/VOxLbFVGbrvvprQV2bPtMQREA1?pwdvsrd# 由脑科学、心理疗愈、冥想专业团队联合研发的睡眠健康管理工具,持有睡眠质量评估相关发明专利,无需穿戴设备&#xff…

TPA3128D2与R7FA6M5BH3CFC打造高保真音频系统

TPA3128D2与R7FA6M5BH3CFC打造高保真音频系统

2026/7/13 6:45:49

1. 项目背景与核心组件介绍在音频设备开发领域,如何实现高保真音效与高效能处理的完美结合一直是工程师们追求的目标。本次项目采用TPA3128D2数字功放芯片与R7FA6M5BH3CFC微控制器组合,打造了一套兼具强劲功率与智能控制的音频解决方案。TPA3128D2是德州…

C# 语言进阶(十四)Unity UI界面开发 + 网络消息联动

C# 语言进阶(十四)Unity UI界面开发 + 网络消息联动

2026/7/13 6:45:49

本篇核心知识点:Unity UI 素材导入规范、Sprite 图片设置、九宫格切片、锚点 / 对齐 / 适配、UI 基础组件(Image/Text/InputField/Button)、输入框密码模式、场景创建与跳转、Build Settings 场景注册、登录 / 注册 UI 完整搭建、按钮事件绑定…

蓝牙5.4音频模块开发实战:低功耗LC3编码与射频设计

蓝牙5.4音频模块开发实战:低功耗LC3编码与射频设计

2026/7/13 6:35:49

1. 项目背景与核心组件选型在无线音频传输领域,蓝牙5.4标准的推出标志着LE Audio技术正式进入实用阶段。我们选择的IDC777-1模块作为射频前端,搭配STM32L152RE主控的方案,能够实现专业级无线音频传输质量。这套组合的核心优势在于&#xff1a…

Unity游戏文本翻译架构深度解析:XUnity.AutoTranslator的技术实现与工程实践

Unity游戏文本翻译架构深度解析:XUnity.AutoTranslator的技术实现与工程实践

2026/7/12 0:03:42

Unity游戏文本翻译架构深度解析:XUnity.AutoTranslator的技术实现与工程实践 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator XUnity.AutoTranslator作为Unity游戏社区中最成熟的文本翻译解决方…

openEuler Raspberry Pi Kernel设备驱动开发指南:为树莓派硬件添加支持

openEuler Raspberry Pi Kernel设备驱动开发指南:为树莓派硬件添加支持

2026/7/12 0:03:42

openEuler Raspberry Pi Kernel设备驱动开发指南:为树莓派硬件添加支持 【免费下载链接】raspberrypi-kernel It provides openEuler kernel source for Raspberry Pi 项目地址: https://gitcode.com/openeuler/raspberrypi-kernel 前往项目官网免费下载&…

openEuler系统集成测试实战:基于smoke-test套件的环境验证技巧

openEuler系统集成测试实战:基于smoke-test套件的环境验证技巧

2026/7/12 0:03:42

openEuler系统集成测试实战:基于smoke-test套件的环境验证技巧 【免费下载链接】integration-test The repo contains test suits for system integration test 项目地址: https://gitcode.com/openeuler/integration-test 前往项目官网免费下载:…

卡梅德生物技术快报|纯化重组蛋白:变异链球菌 SepM 截短蛋白载体构建、诱导优化与纯化重组蛋白全套参数方案

卡梅德生物技术快报|纯化重组蛋白:变异链球菌 SepM 截短蛋白载体构建、诱导优化与纯化重组蛋白全套参数方案

2026/7/13 0:05:25

1 研究背景与现存技术痛点(提出问题)在口腔微生物分子机制研究中,SepM 蛋白酶是调控变异链球菌群体感应、致龋菌素合成的核心功能蛋白,体外功能验证、抗体开发均依赖高纯度可溶性 SepM 蛋白。当前原核表达体系针对 SepM 存在三大技…

卡梅德生物技术快报|重组蛋白的表达和纯化:IMAC 金属螯合色谱全流程工艺手册|基质 - 配基 - 金属离子匹配与蛋白质分离纯化参数优化

卡梅德生物技术快报|重组蛋白的表达和纯化:IMAC 金属螯合色谱全流程工艺手册|基质 - 配基 - 金属离子匹配与蛋白质分离纯化参数优化

2026/7/13 0:05:25

1 研究背景与现存技术痛点(提出问题)基因工程、蛋白质组学、生物制药研发流程中,蛋白质分离纯化是决定下游实验成败的关键环节。当前实验室常规蛋白质分离纯化工艺存在三类难以标准化的技术瓶颈:传统离子交换、分子筛层析无特异性…

卡梅德生物技术快报|蛋白质分离纯化:肠激酶可溶性原核表达 + 两步层析全参数|标准化蛋白质分离纯化 SOP

卡梅德生物技术快报|蛋白质分离纯化:肠激酶可溶性原核表达 + 两步层析全参数|标准化蛋白质分离纯化 SOP

2026/7/13 0:05:25

研究痛点提出(提出问题)重组肠激酶是融合标签切除核心工具酶,当前原核表达体系存在三大标准化难题,直接阻碍可复现的蛋白质分离纯化流程搭建:Trx、GST、单 SUMO 标签融合产物绝大多数为包涵体,沉淀占比超 9…