首页 › tech › 影子核心网:运维人的练兵场

概述

核心网运维最尴尬的现实是:练手的唯一“正规”场地,恰恰是最不允许出错的生产网。本文回答一个具体问题——不碰生产网,核心网工程师在哪里练割接、练排障、练读信令?答案是花一个下午,在手里任何一台旧电脑上搭一套全开源的“影子核心网”:Open5GS 扮演 5GC/EPC 全套核心网,UERANSIM 扮演基站和手机,Wireshark 扮演信令显微镜。本文从选件、搭网,到解剖一次注册失败、预演一次版本升级,给出一份可以照抄的运维练兵账本。文中所有组件、版本、论文编号均为真实可查项目,数据截至 2026 年 10 月。

目录

一、生产网不是练手场

带了这么多年新人,我最深的体会是:核心网工程师的本事,九成是在“出事”的时候长出来的,可生产网偏偏不许你出事。割接窗口只有凌晨一点到五点,你敢在服务几百万用户的 AMF 上“先试一下”?故障复盘时,你敢把现场复现一遍?答案都是不敢。于是大家的真实成长路径变成:跟着老手看过几次,然后某天硬着头皮自己上——第一次独立操作就发生在凌晨两点的生产网上。

传统解法是真机实验室,但对大多数基层运维单位,真机实验室是奢侈品:一套商用 EPC/5GC 实验环境要专门机房、专门预算,最要命的是版本——生产网都跑到新版本了,实验室那套还停在三个版本之前,练了等于白练。

开源生态这两年的成熟度,把这个门槛踏平了。Open5GS 的仓库标题现在直接写着"C-language Open Source implementation for 5G Core and EPC (Release-19)"——这套开源核心网已跟着 3GPP 标准演进到 Release-19,GitHub 上约 2700 星、五千三百多次提交,社区相当活跃。配上开源的基站与终端仿真器,一套能完整跑通 5G 注册、鉴权、会话建立、数据转发的“影子核心网”,成本只剩一台旧笔记本和一个下午。

四类场景,影子网都能接住:割接升级前的流程预演、故障的信令级复现、新人的带教训练,以及最基础也最稀缺的——静下心来,从头到尾读一遍完整信令。

二、四件开源货:采购清单

第一件,Open5GS,核心网本体。 C 语言写的 5GC 加 EPC 全家桶:AMF、SMF、UPF、UDM、UDR、PCF、AUSF、NRF、NSSF、BSF 这些 5G 网元一应俱全,也带 4G 时代的 MME、HSS、SGW/PGW,4G/5G 互操作能在同一个实验环境里练。签约数据存 MongoDB,配一个 Node.js 写的 WebUI,开卡销户点点鼠标。官方提供 deb 软件源、Docker 镜像和 meson 源码编译三条安装路径,Debian/Ubuntu 上一套 apt 拉起来。

第二件,UERANSIM,基站和手机的仿真器。 按仓库自述,这是“全球第一个开源的 5G SA 制式 UE 与 gNodeB 实现”,当前版本 v3.3.0。关键认知先说破:它不实现完整物理层,“空口”是用 UDP 报文模拟的。所以它能让你不买任何无线设备就跑通 NAS 层全部信令;这个特性同时划定了它的边界,第七节细说。

第三件,OCUDU(原 srsRAN Project),真空口软件基站。 如果想把“假空口”换成真空口——让一台真手机通过软件无线电真正入网——就需要它:开源 O-RAN CU/DU 实现,配 USRP B210 这类 SDR 硬件发射真实 5G 信号。这里有个 2026 年的新动态:srsRAN Project 已于 2025 年 12 月整体转入 Linux 基金会的 OCUDU 项目,原 GitHub 仓库自 2026 年 6 月 1 日起归档只读。新搭实验室建议直接从 OCUDU 起步,那个约 1.1k 星的旧仓库只作资料查阅用。

第四件,Wireshark,信令显微镜。 NGAP、S1AP、NAS、PFCP、GTP-U、Diameter、SBI 的 HTTP/2 全都能解到字段级,免费跨平台,是影子网里性价比最高的一件。

组件 在影子网中扮演 关键事实(2026-10 实测) 许可
Open5GS 5GC+EPC 核心网全套 C语言,跟踪3GPP R19,约2700星 AGPL-3.0,另有商业授权
UERANSIM 仿真 gNB 与 UE v3.3.0,空口以UDP模拟,首个开源5G SA双端实现 AGPL-3.0 加商业双许可
OCUDU(原srsRAN Project) 真空口软件 gNB 2025年12月转入Linux基金会,原仓库2026年6月归档 以新仓库说明为准
Wireshark 信令抓包与解码 NGAP、NAS、PFCP、GTP-U 解码到字段级 开源免费

顺带一张选型参考,免得你纠结。ICOIN 2025 发表的一项对比测试(arXiv:2412.21162)在同一 COTS 测试床上比较了三家主流开源 5GC:Open5GS 的控制面流程时延表现最好,OpenAirInterface 数据面速率最高,free5GC 资源消耗最低。练兵场景里控制面最要紧——信令就是你的一切,所以我默认推荐 Open5GS。

三、搭起来:影子网长什么样

flowchart TD
    UE["仿真终端<br/>UERANSIM UE"] -->|"NAS消息封装"| GNB["仿真基站<br/>UERANSIM gNB"]
    GNB -->|"NGAP 走SCTP 38412"| AMF["AMF 接入移动性"]
    AMF -->|"SBI 服务化接口"| NRF["NRF 注册中心"]
    AMF -->|"会话建立请求"| SMF["SMF 会话管理"]
    SMF -->|"PFCP 走UDP 8805"| UPF["UPF 用户面转发"]
    UPF -->|"GTP-U 走UDP 2152"| DN["外部数据网络"]
    DB["MongoDB 签约库"] -.-> AMF
    CAP["Wireshark 抓包点"] -.-> GNB
    CAP -.-> AMF
    CAP -.-> SMF
    CAP -.-> UPF

一台 Ubuntu 虚机(双核、4G 内存起步)就能把控制面全跑起来;用户面 UPF 需要加载 gtp5g 内核模块,官方文档有现成步骤。起网元的顺序本身就是一门课:先起 NRF——所有网元都要到它那里注册报到,再起 AMF、SMF、AUSF、UDM 这一串,最后起 UPF。这个“先有名字服务、再有业务网元”的次序,就是 5GC 服务化架构的运行逻辑,练的时候多问一句为什么,比背十遍 PPT 都管用。

再背一遍这套影子网的端口账本,都是 3GPP/IANA 的标准分配,真网上原样适用:NGAP 走 SCTP 38412(4G 的 S1AP 是 36412,别记混);GTP-U 隧道走 UDP 2152;SMF 管 UPF 的 PFCP 走 UDP 8805;网元之间的 SBI 走 HTTP/2。日常抓包盯三个观察位:N2(gNB 到 AMF)、N4(SMF 到 UPF)、N3(UPF 出口)。信令排障的功夫,一半就练在这三个点位的取舍上。

四、实战一:解剖一次注册失败

这是新人的第一课,也是我自己练手最多的一课:故意把 UE 配置里的 PLMN(MCC/MNC)改成与网络侧不一致,让学员从抓包里找出“为什么注册不上”。

现象很直观:UE 反复发 Registration Request,AMF 冷冷回一张 Registration reject,UE 隔几秒再来一遍,周而复始。学员的第一反应往往是去翻 AMF 日志,而正确姿势是直接抓 N2 点位的包,Wireshark 里展开 NAS 层,5GMM cause 字段一目了然。把常见原因值练成条件反射,这张表值得打印贴在工位上:

原因值 含义 排查方向 出处
#3 Illegal UE 鉴权上下文、号簿数据 TS 24.501
#7 5GS services not allowed 签约状态、欠费停机 TS 24.501
#11 PLMN not allowed UE侧PLMN选择、漫游签约 TS 24.501
#13 本TA不允许漫游 漫游限制区域配置 TS 24.501
#15 TA内无合适小区 TA配置、小区状态、频点支持 TS 24.501
flowchart TD
    A["影子网注册失败"] --> B["先看NAS拒绝原因值"]
    B -->|"原因11"| C["PLMN不允许<br/>查TAI与漫游配置"]
    B -->|"原因15"| D["TA内无合适小区<br/>查TA列表与频点"]
    B -->|"原因7"| E["业务不允许<br/>查签约与停机状态"]
    B -->|"原因3"| F["非法终端<br/>查鉴权与号簿"]
    B -->|"无NAS包"| G["信令未达核心网<br/>查SCTP与对时"]

这套练习的价值,到生产网上立刻兑现:注册成功率类告警的第一动作,就是把 NAS 拒绝原因值分桶统计——#11 扎堆查 PLMN 和漫游签约,#15 扎堆查 TA 和小区状态,一条 NAS 包都没有则查 SCTP 传输链路。十几年的排障经验,浓缩起来就是这张表加一个抓包习惯。

进阶一档的变体练习:把 gNB 配置里的 TAC 改错,复现 #15;在 WebUI 里把用户销户,复现鉴权后的拒绝链路;把 SMF 停掉,看 PDU Session Establishment 卡在哪一步、N4 口发生了什么。每一个变体都对应生产网上真实出现过的事故类型。你在影子网里亲手造一次,好过在生产网上第一次撞见。

五、实战二:割接前夜的升级预演

Open5GS 官方提供升级路径,社区文档会说明破坏性变更——但对你而言,重点不是这个项目升不升级,而是把“升级”这件事本身练成肌肉记忆。影子网就是割接预演场,一套可复用的七步剧本:

步骤 动作 要点
1 冻结与公告 影子网也走完整流程,习惯成自然
2 备份 配置目录打包,mongodump 导出签约库
3 回滚点 虚机快照,回滚命令逐条写进清单
4 升级顺序 通用原则:先用户面后控制面
5 冒烟用例 注册、PDU会话、上下行连通,逐项打勾
6 回滚触发线 预设阈值,到线就回,不现场争论
7 复盘记录 耗时、偏差、意外现象,全部写下来

我的练法是同一个剧本跑三遍:第一遍练顺序和手熟;第二遍故意砸——升级到一半 kill 掉 SMF,看注册卡在哪一步、已在线用户受不受影响,观察影子网是怎么烂掉的;第三遍掐表练回滚,从决定回滚到冒烟通过,时间要一次比一次短。三遍跑完,真割接夜你才敢说一句“这个现象我见过”。

心里还要有个量级感,论文实测可以当参考基准:开源环境里 Open5GS 的中位注册时延约 403 至 606 毫秒(arXiv:2603.27618);容器化 Open5GS 上 N4 口 PFCP 会话修改时延稳定在 200 微秒以内,不随数据面负载明显波动(arXiv:2605.28185)。影子网冒烟时,如果注册时延或会话建立行为明显偏离这类量级,先别急着往下走,停下来看包。

六、进阶:学术界拿它当靶场

别以为影子网只是玩具。翻翻最近的论文库,Open5GS 加 UERANSIM 已经是 5G 安全与控制面研究的标准试验床配置。

2026 年 8 月挂在 arXiv 的 Drishti 工作(arXiv:2608.30112,已被 ACM CCS 下属安全研讨会 CPSIoTSec 2026 录用)用 AI 辅助加人工把关的方式审计开源 5G 核心网,战果可以直接让你感受这个领域的深浅:Open5GS 的 NRF 多部分解析器里存在一个鉴权前的空指针缺陷,上游已修复并申请 CVE;同门 free5GC 更刺激,NGAP 解码器存在内存放大问题,恶意 gNB 发来的 2 字节输入,6.2 秒就能把 AMF 打到内存耗尽、被内核杀掉;还有 CVE-2025-69248 的既有补丁,其纵深防御检查在鉴权前是一段死代码——补了个寂寞。

这对运维人的启示非常具体:公开漏洞可以在物理隔离的影子网里安全复现,亲眼看一次攻击包长什么样、补丁前后的报文差异在哪。真网上出现类似苗头,你认得出来。2026 年 9 月还有团队把 AI Agent 的控制决策闭环直接架在 Open5GS/UERANSIM 试验床上做类型安全验证(arXiv:2609.33689)——连“AI 上岗前先上试验床练手”这条路,走的也是这套开源组合。

七、边界:影子网练不了什么

丑话说足,四条边界。

第一,空口是假的。 UERANSIM 官方文档写得明明白白:不完整提供物理层,5G-NR 无线接口仅部分实现,以 UDP 报文简单模拟。所以射频类问题——干扰、覆盖、PCI 冲突、波束管理——影子网练不了。要碰真空口,上 OCUDU 配 USRP 这类 SDR 硬件:2026 年 MILCOM 录用的一篇战术 5G 论文(arXiv:2608.11293)就是在 B210 真空口测试床上做的,那是另一个预算档位的玩法。

第二,规模结论别外推。 影子网跑十几个 UE 没问题,但单机内存里的 AMF 扛不住十万级注册风暴,任何压测数字都只在它自己的量级里成立。

第三,复杂域不在默认安装里。 IMS 语音、国际漫游、异网互联这些重运营领域,开源核心网默认不带或只有骨架。另外商用厂家的实现细节与开源实现必有差异,标准允许多种实现,具体行为以各厂家官方文档为准——影子网练的是标准协议的判断力,不是某台设备的按键顺序。

第四,靶场纪律。 做漏洞复现必须物理隔离,影子网不是免检通行证,安全研究的隔离规范同样适用于它。

八、结语:手不抖,是练出来的

十八年里我见过太多凌晨的割接窗口。手不抖的人,不是胆子大,而是类似的现象他在别处已经见过几百次。以前,那个“别处”是一间放满插箱的真机实验室;现在,它可以是一台旧笔记本上跑着的开源影子核心网。

一个下午的装机时间,换来的账单是这样的:读懂一套完整注册信令的能力、一张贴在工位上的拒绝原因值表、三遍跑熟的割接剧本,以及看见畸形报文时那零点几秒的警觉。生产网永远不该是练手场——从今天起,也别再让它变成你的第一现场。

参考来源

  1. Open5GS 官方文档与代码仓库 — 安装指南、网元配置与升级说明(仓库 github.com/open5gs/open5gs,约2700星,AGPL-3.0,跟踪3GPP R19)
  2. UERANSIM 代码仓库 — 开源 5G UE 与 gNodeB 仿真器,v3.3.0,官方说明空口以 UDP 模拟
  3. srsRAN Project 仓库(已归档,转入 OCUDU) — 2025年12月项目转移、2026年6月归档的官方公告
  4. Drishti: AI-Led Human-Directed Vulnerability Auditing for 5G Cores(arXiv:2608.30112) — 开源 5GC 漏洞审计,CPSIoTSec 2026 录用
  5. Open-Source 5G Core Platforms: A Low-Cost Solution and Performance Evaluation(arXiv:2412.21162) — ICOIN 2025,三家开源 5GC 同一测试床横评

本文由「51学通信」技术团队出品。51学通信由通信行业18年老兵爱卫生(微信ID: gprshome201101)维护,聚焦5G/6G核心网、3GPP标准解读、通信前沿技术深度分析。 出版作品有《5G核心网原理与实践》《IMS原理与实践》等4本通信专业书籍。知识星球「51学通信」提供深度技术答疑和行业洞察。

[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。

51学通信知识星球海报-扫码加入