
点击上方 云原生CTO,选择 设为星标
优质文章,每日送达


「【只做懂你de云原生干货知识共享】」
Kubernetes上的空中接口 5G 核心技术
渐渐地,我们看到了几个 5G 核心的开源解决方案。当我读到 OAI 发布云原生开源 5G 核心时,我很高兴。
而5G CN 项目开发的范围是在 OAI Public License V1.1 下提供符合 3GPP 的 5G 核心网。
关于3GPP的概念
简单讲3GPP的目标是实现由2G网络到3G网络的平滑过渡,保证未来技术的后向兼容性,支持轻松建网及系统间的漫游和兼容性。
「https://baike.baidu.com/item/3GPP/2373775?fr=aladdin」
那么由此推理3GPP到5G的平滑过渡是我们应该考虑的事情
3GPP 5G系统架构
基于5G核心与4G LTE-EPC的对应关系如下图所示。该项目领域的发展涵盖了5G核心的所有部分,以橙色显示

「CUPS:控制和用户平面分离 SGW:服务网关」
「MME:移动性管理实体 HSS:归属用户服务器」
「PCRF:策略和计费规则功能 PGW:PDN 网关」
「AMF:访问和移动性管理功能 NEF:网络暴露功能」
「SMF:会话管理功能 NRF:NF 存储库功能」
「UPF:用户平面功能 PCF:策略控制功能」
「AUSF:认证服务器功能 UDM:统一数据管理」
「NSSF:网络切片选择函数」
「SBI:基于服务的接口(Namf、Nsmf、Nudm、Nnrf、Nnssf、Nausf、Nnef、Nsmsf、Nudr、Npcf)」
5G 核心的目前阶段
该项目将在从 2020 年夏季开始的两年期间包括以下阶段:
「第一阶段:」
AMF、SMF 和 UPF 在基于 Ubuntu 仿生的 docker 容器中的基本部署,使用 dsTester 在模拟 gNB 和 UE 上执行基本呼叫流和流量测试(UPF 仅使用 PFCP 程序进行测试)。
「第二阶段:」
持续实施功能,为现有网络组件(AMF、SMF 和 UPF)添加更新,并添加额外的网络组件,如部署在 EURECOM OpenShift 集群中的 UDM 和 AUSF。
「第三阶段:」
完整的独立 5G 核心实现和基于微服务架构的完整部署框架。
5G应用的容器化功能
OAI 5g 核心让我兴奋的是,它具备一些容器化功能:
1、用于构建容器镜像的 Dockerfiles:当您查看 Dockerfiles 时,您会同意我的观点,它们做得很好!
2、Liveness 和 readiness 脚本:这有助于确保只有健康的 POD 用于流量处理
3、示例 docker compose 文件:您可以利用 docker compose 文件快速启动 5G 核心,它还包含用于 NAT 卸载测试的额外容器!
我调整了 docker compose 以在 Kubernetes 集群上部署解决方案。您必须注意的一件事是部署 POD 有严格的顺序:
「Mysql DB → NRF → AMF →SMF →UPF」
因此,我决定深入了解operator的世界,我决定尝试一下 Kudo。Kudo 有一个允许有序创建 Kubernetes 资源的功能,下面是我使用的计划:
如何部署组件的状态:
正如您所看到的,组件以正确的顺序部署,这确保了干净的启动:

注意——还有其他方法可以做到这一点,我只是决定走使用 Kudo 进行学习的路线,这也可以通过使用 helm hooks 来实现。
OAI 开发人员帮助解决了在使用 ueransim 进行测试时的一些错误。我会感谢他们在这方面的支持,所以是的,您可以将 ueransim 与 OAI 5G 核心一起使用。我面临的唯一问题是,从 UE 对 UPF 接口(根据 OAI 逻辑称为 pdn 接口)的 ping 测试不起作用,但如果您通过 UPF(启用 SNAT)ping 远程 IP,这会起作用。
一些示例日志输出:

AMF 日志

SMF 日志

UERANSIM UE 日志
OAI 5G 核心仍在开发中,并计划在接下来的几个月内实现许多功能,但到目前为止,这些努力已经取得了巨大的进步。
您可以在以下位置找到有关所需文件的更多信息:
https://gitlab.eurecom.fr/oai/cn5g/oai-cn5g-fed/-/tree/master
注意——对于这篇博文,由于我面临的问题,我不得不使用一些特定的分支,这是由 OAI 开发团队建议的:
「AMF -quectel分支」
「SMF -develop分支」
我相信随着时间的推移,开发分支应该用完,直到它最终发布。
参考:
https://openairinterface.org/oai-5g-core-network-project/ https://gitlab.eurecom.fr/oai/cn5g/oai-cn5g-fed/-/tree/master https://levelup.gitconnected.com/open-air-interface-5g-core-on-kubernetes-de4867893c59




