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/11 23:03:37

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/11 23:03:37

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

Stardock Start11 开始菜单自定义工具

Stardock Start11 开始菜单自定义工具

2026/7/13 2:55:33

一、软件背景 Start11由美国老牌桌面定制厂商Stardock开发,这家公司深耕Windows美化工具20余年,代表作还有Fences、WindowBlinds、DeskScapes等专业桌面工具,全球数百万装机量,是微软官方认可的桌面增强开发商。 二、软件评测 访…

eclipse新建web项目404页面

eclipse新建web项目404页面

2026/7/13 2:55:33

可能缺少index.jsp在webapp路径下新建index.jsp,即可成功

智能无线路灯控制器为城市照明带来新机遇

智能无线路灯控制器为城市照明带来新机遇

2026/7/13 2:55:33

智能无线路灯控制器的工作原理 智能无线路灯控制器的工作原理主要基于先进的物联网技术,它让灯光控制得以远程进行,极大提高了用户的操作便利性。控制器通过4G网络或宽带连接,将指令迅速传递到灯具,确保实时响应。这种设计使得用…

一个基于Axum实现的,更符合Java开发者习惯的Rust生态的Web框架

一个基于Axum实现的,更符合Java开发者习惯的Rust生态的Web框架

2026/7/13 2:55:33

WebR 简介 一个轻量的 Rust Web 框架,基于 Axum 构建。提供宏驱动控制器、自动依赖注入、多文件配置管理和中间件系统,旨在简化 Rust 中的 Web 开发。 WebR 引入了 Java 系的框架中的 DI、Controller、Component和自动配置等概念,在保证性能…

Flink SQL 1.18 窗口函数实战:3种窗口处理实时订单,5分钟聚合延迟低于1秒

Flink SQL 1.18 窗口函数实战:3种窗口处理实时订单,5分钟聚合延迟低于1秒

2026/7/13 2:55:33

Flink SQL 1.18 窗口函数实战:3种窗口处理实时订单,5分钟聚合延迟低于1秒实时数据处理已成为现代数据架构的核心需求,而Apache Flink作为流处理领域的标杆,其SQL接口让开发者能够用熟悉的语法处理无限数据流。本文将深入Flink 1.1…

思源接入本地 ollama 部署的 qwen3-embedding

思源接入本地 ollama 部署的 qwen3-embedding

2026/7/13 2:45:32

前言 思源3.7后,官网已经接入Agent和语义搜索功能,语义搜索需要agent embedding,实现方式有两种: 调用商用的agent api,比如qwen-embedding3等模型自己搭建。 我这里选择的方式是第二种,通过ollama部署qw…

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…