1. 5G核心网概述:从EPC到5GC的演进之路
大家好,我是老张。做核心网开发十几年了,从2G一路干到5G。今天咱们聊聊5G核心网,也就是5GC。
说实话,每次通信代际升级,核心网的变化都是最大的。4G的EPC到5G的5GC,这中间可不是简单的升级,而是推倒重来。我当年第一次看到5G核心网架构图时,第一反应是:这玩意儿跟EPC完全不是一个物种啊。
1.1 从EPC到5GC:为什么非要变?
先说说4G的EPC(Evolved Packet Core)。EPC由MME、SGW、PGW、HSS这几个主要网元组成。结构是固定的,功能是紧耦合的。你想想看,要加一个新功能,得动整个系统。我在2017年做过一个4G核心网的项目,为了支持一个物联网特性,整整改了三个月代码,还差点把现网搞崩了。
5GC的设计思路完全不同。它采用了服务化架构(SBA),把原来那些大而全的网元拆成了一个个独立的服务。每个服务只干一件事,但干得特别专业。这就像把一个大厨房拆成多个小档口,每个档口只做一道菜,效率反而更高。
核心变化一句话总结:EPC是「大而全」的紧耦合架构,5GC是「小而美」的服务化架构。
1.2 服务化架构(SBA)详解
SBA是5GC的灵魂。说白了,就是把每个网元功能拆成独立的「微服务」,通过轻量级的API互相调用。
举个例子。在EPC里,MME既要管移动性,又要管会话管理,还要管鉴权。在5GC里,这些功能被拆成了AMF(移动性管理)、SMF(会话管理)、AUSF(鉴权服务)等独立网元。每个网元只负责自己的那一摊事。
我习惯把SBA比作乐高积木。你需要什么功能,就拼什么模块。想加一个新业务?不用动整个系统,加个新服务就行。我在项目中遇到过运营商要求快速上线一个边缘计算业务,用5GC的SBA架构,两周就搞定了。要是用EPC,两个月都未必能行。
个人经验:刚开始接触SBA时,我总觉得服务间通信会带来性能损耗。后来实测发现,只要设计好服务粒度,性能完全不是问题。关键是要控制好服务间的调用链长度,别搞出「服务套服务」的死循环。
1.3 核心网网元功能详解
5GC的网元比4G多得多。我挑几个最重要的说说。
AMF(接入和移动性管理功能)
AMF相当于4G里MME的升级版。它负责终端的接入控制、移动性管理、注册管理。嗯,这里要注意:AMF不处理会话管理,那是SMF的事。我曾经见过新手把AMF当MME用,结果会话管理逻辑写错了,终端死活连不上网。
SMF(会话管理功能)
SMF负责PDU会话的建立、修改、释放。说白了,就是管数据通道的。SMF会跟UPF配合,决定数据怎么走。我记得有个项目,SMF和UPF之间的N4接口协议理解错了,导致数据包路由混乱,排查了整整两天。
UPF(用户面功能)
UPF是5GC里唯一处理用户数据的网元。它负责数据包转发、QoS执行、流量统计。UPF的性能直接决定了用户体验。我建议在做UPF开发时,重点关注数据面加速,比如用DPDK或者智能网卡。
| 网元 | 主要功能 | 对应4G网元 |
|---|---|---|
| AMF | 接入控制、移动性管理、注册管理 | MME(部分) |
| SMF | 会话管理、IP地址分配、UPF选择 | MME(部分)+SGW-C |
| UPF | 数据包转发、QoS执行、流量统计 | SGW-U+PGW-U |
| AUSF | 鉴权服务 | HSS(部分) |
| UDM | 用户数据管理 | HSS(部分) |
| PCF | 策略控制 | PCRF |
避坑指南:我曾经在UPF开发中犯过一个低级错误——把UPF的N3接口(与基站对接)和N6接口(与外部网络对接)的IP地址配反了。结果基站发来的数据直接送到了互联网,现网差点出事故。所以,接口配置一定要反复核对。
1.4 5G核心网与4G核心网对比
做个对比,大家就清楚了。
| 对比项 | 4G EPC | 5G 5GC |
|---|---|---|
| 架构 | 点对点接口,紧耦合 | 服务化架构,松耦合 |
| 控制面与用户面 | 部分分离 | 完全分离 |
| 会话管理 | MME+SGW+PGW共同完成 | SMF独立负责 |
| 移动性管理 | MME负责 | AMF负责 |
| 网络切片 | 不支持 | 原生支持 |
| 边缘计算 | 支持有限 | 原生支持 |
| 接口协议 | GTP-C、Diameter等 | HTTP/2、PFCP等 |
你想想看,4G核心网就像一个老式交换机,所有功能都集成在一个机柜里。5G核心网则像一个云原生应用,每个功能都是独立的容器,可以独立部署、独立升级、独立扩缩容。
为什么会这样?因为5G要支持的业务场景太复杂了。eMBB(增强移动宽带)、uRLLC(超可靠低时延)、mMTC(海量机器类通信),这三种场景对网络的要求完全不同。用4G那种「一刀切」的架构,根本玩不转。
我个人觉得,5GC最大的创新就是引入了网络切片。你可以把一张物理网络切成多个虚拟网络,每个切片针对特定业务优化。比如,自动驾驶业务用一个切片,要求低时延;智能抄表业务用另一个切片,要求大连接。这在4G时代是想都不敢想的。
一句话总结:4G核心网是「一个网络服务所有业务」,5G核心网是「一个网络切出多个网络,每个网络服务一类业务」。
1.5 本章小结
好了,第一章就聊这么多。我们讲了5GC从EPC演进过来的原因,讲了SBA服务化架构的核心思想,讲了AMF、SMF、UPF等关键网元的功能,还做了4G和5G核心网的对比。
下一章,我们会深入5GC的服务化接口,看看各个网元之间到底是怎么通信的。到时候我会分享一些我在接口调试中踩过的坑,保证对你有用。
记住一句话:5GC不是4GC的升级版,而是一个全新的架构。用4G的思维去理解5G,你会很痛苦。放下包袱,重新学习,这才是正确的姿势。