暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Kubernetes上的空中接口 5G 核心技术

云原生CTO 2021-08-24
1317

点击上方 云原生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


文章转载自云原生CTO,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论