1、核心网架构概览:5GC与EPC的演进

各位同学,咱们今天聊聊核心网架构。说实话,搞了这么多年核心网,我最大的感受就是——这玩意儿一直在变,但底层的逻辑其实没变。从4G的EPC到5G的5GC,说白了就是「拆得更细、跑得更快、管得更活」。

我记得2018年刚接触5G核心网那会儿,看着满屏的SBA架构图,心里直犯嘀咕:这不就是把一个大家伙拆成十几个小零件吗?后来真上手了才发现,嗯,这里面的门道可深了。

1.1 从EPC到5GC:为什么非要变?

先说说4G的EPC。你想想看,EPC里就几个大块头:MME管信令、SGW和PGW管数据。看起来挺简洁对吧?但我在项目里遇到过一个问题——你要升级某个功能,比如加个新的计费策略,得把PGW整个重启。这在现网里简直是噩梦。

5GC就不一样了。它把每个功能拆成独立的「微服务」。比如控制面拆成AMF、SMF、AUSF等等。每个服务可以独立升级、独立扩容。我有个朋友在运营商干过,他说5GC上线后,半夜被叫起来重启设备的次数少了80%。

核心区别一句话:EPC是「大而全」的紧耦合架构,5GC是「小而精」的服务化架构。

1.2 主要网元功能速览

咱们一个一个来看。先说4G的,再说5G的,这样对比着记,不容易乱。

4G核心网(EPC)关键网元

网元 全称 我理解的核心功能
MME Mobility Management Entity 管信令的。用户附着、寻呼、切换,全是它的事。说白了就是「信令交换机」。
SGW Serving Gateway 管用户面数据的。用户走到哪,SGW就跟到哪。我记得有一次现网SGW挂了,整个城市的用户都上不了网,那叫一个惨。
PGW Packet Data Network Gateway 连接外部网络的出口。计费、策略控制、IP地址分配,全在它这。我建议你重点理解PGW的QoS策略,面试常考。

5G核心网(5GC)关键网元

网元 全称 我理解的核心功能
AMF Access and Mobility Management Function 相当于MME的升级版。管接入和移动性。但注意,它不管会话!这是和MME最大的区别。
SMF Session Management Function 专门管会话的。建立、修改、删除PDU会话。我曾经在测试环境里遇到过SMF和UPF之间的N4接口不通,结果用户数据全走丢了,排查了整整两天。
UPF User Plane Function 用户面网关。相当于SGW+PGW的用户面功能合并了。数据转发、包检测、QoS执行,全在它这。
我的小技巧:记网元功能时,别死记硬背。你就想:控制面(信令)归谁管?用户面(数据)归谁管?5GC把控制面又拆成了「接入控制」和「会话控制」两部分。这样一拆,逻辑就清晰了。

1.3 服务化架构(SBA)vs 点对点接口

这个点我得多说两句。很多新手搞不懂SBA和传统接口的区别,其实没那么玄乎。

点对点接口(4G时代):每个网元之间都有固定的接口。比如MME和SGW之间是S11接口,SGW和PGW之间是S5接口。接口是写死的,你要加个新功能,得改接口定义。我在项目里改过S11接口的协议栈,那叫一个痛苦,上下游都得配合升级。

服务化架构(5G时代):每个网元把自己能提供的功能「发布」出来,其他网元通过HTTP/2来调用。比如AMF需要查询用户数据,它不用管数据存在哪,直接调用UDM的服务就行了。说白了,就是「我要什么,你给我什么」,而不是「你走这个接口,我给你这个数据」。

你想想看,这有什么好处?

  • 解耦:每个服务独立演进。我升级SMF,不影响AMF。
  • 灵活:可以随时加新的服务。比如运营商想加个边缘计算功能,直接部署一个新的MEC服务就行。
  • 标准化:所有服务都用统一的HTTP/2协议,不用学一堆乱七八糟的接口协议。
注意:SBA虽然好,但也不是万能的。我曾经在现网遇到过一个问题——HTTP/2的并发连接数太多,导致AMF的CPU飙升。后来我们做了连接池优化才解决。所以,架构再先进,落地时也得考虑性能。

1.4 一张图看懂核心网演进

下面这张SVG图,是我自己画的。它把4G和5G的核心网架构放在一起对比,你一看就明白。

4G EPC vs 5G 5GC 核心网架构对比 4G EPC(点对点接口) MME SGW PGW S11 S5 外部网络 5G 5GC(服务化架构SBA) AMF SMF UPF 服务化总线(HTTP/2) UDM AUSF PCF 外部网络 左侧:固定接口,紧耦合 | 右侧:服务化调用,松耦合

你看这张图,左边4G的EPC,网元之间用固定的接口连起来,像不像一条条「专线」?右边5G的5GC,所有网元都挂在服务化总线上,像不像一个「菜市场」——你想买什么菜(调用什么服务),直接去对应的摊位就行。

1.5 避坑指南:我踩过的几个坑

最后,分享几个我在项目中遇到的坑,希望能帮你少走弯路。

  • 接口兼容性:我曾经在4G升级5G的过渡期,遇到过MME和AMF之间的N26接口不兼容。结果用户从5G切回4G时,直接掉线。后来我们打了补丁才解决。所以,做互操作测试时,一定要覆盖切换场景。
  • 服务化架构的延迟:SBA用HTTP/2,虽然灵活,但延迟比传统的GTP-C协议要高。我在一个低延迟业务(比如自动驾驶)的测试中,发现SMF调用UDM的查询延迟超过了10ms,这完全不可接受。后来我们做了本地缓存才搞定。
  • UPF的部署位置:UPF可以部署在核心机房,也可以部署在边缘。我建议你根据业务场景来选。比如大带宽业务(视频流),UPF放边缘;低延迟业务(工业控制),UPF放接入侧。
一句话总结:4G的EPC是「硬连接」,5G的5GC是「软服务」。理解了这个本质,你就能看懂核心网的所有演进。

专注资料整理