开源移动核心网Magma架构设计启示

这篇具有很好参考价值的文章主要介绍了开源移动核心网Magma架构设计启示。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Magma是由Meta Connectivity开发并开源给Linux基金会的开源移动核心网项目,目的是构建灵活、低成本、可扩展的移动核心网。本文介绍了Magma架构设计的基本理念和取舍。原文: Implications of the Magma Architecture: Interoperability, Scale and Resilience

简介

如今有许多移动核心网开源实现,如Open5GS、Free5GC、OMEC,Magma是又一个实现。然而,Magma的关键架构与其他实现不同,其在接近"边缘"的地方从逻辑上终止了3GPP协议,在这个上下文中,边缘的意思是无线空口或到另一个移动网络的联邦接口。这一统一的架构决策不是随意做出的,而是具有广泛的含义,本文将对此进行探讨。

在边缘终止协议(Edge Termination of Protocols)

我们先解释一下什么是"边缘终止(edge termination)"。无论是LTE的EPC(分组演进核心网,Evolved Packet Core),还是5GC(5G核心网,5G Core),3GPP标准都定义了RAN(无线接入网,Radio Access Network)和移动核心网组件之间的接口。

开源移动核心网Magma架构设计启示,后端
图1. LTE和5G移动核心网接口

图1中两框之间的每条线都是某种定义为3GPP规范一部分的接口。Magma最感兴趣的是那些被标记为"边缘接口(Edge Interfaces)"的部分,这些是RAN和移动核心网之间的接口。Magma根据3GPP标准实现了在这些接口上运行的协议,并且从逻辑上尽可能接近RAN的位置,从内部终止了3GPP协议,如图2所示。

开源移动核心网Magma架构设计启示,后端
图2. 在接近RAN的位置终结3GPP协议

举例来说,3GPP定义的S1AP接口运行在eNodeB和MME(移动性管理实体,Mobility Management Entity)之间,S1AP消息通过SCTP(一种可靠传输协议)传递。然而在Magma中,S1AP接口终止于eNodeB旁边的模块,S1AP消息被翻译成gRPC消息,所有Magma组件之间的通信都通过gRPC进行。在尽可能接近RAN的位置终结所有特定于RAN的协议这一决定具有广泛影响,下面会详细介绍。

开源移动核心网Magma架构设计启示,后端
图3. 联邦Magma架构

如上图所示,Magma还终结了另一个边缘(联邦网关,Federation Gateway)上的3GPP协议。通过这个接口,Magma可以与移动运营商现有核心网相连,从而可以共享现有核心网中的计费和订户信息。同样,联邦网关在接入处终止了这些3GPP协议,然后使用gRPC将所有必要的信息传递给Magma的其余组件。

总之,Magma有两个"边缘"实现了3GPP协议: 和RAN交互的接口以及联邦网络接口。Magma在这些接入点上保持了3GPP兼容性,并与运行在这些接口另一侧的标准设备进行互操作。但如果查看Magma内部,可以看到所有内部通信都是通过gRPC进行的,而不是标准3GPP协议。

标准兼容

只在边缘实现标准3GPP协议的决定意味着Magma只能在边缘与其他实现进行互操作。因此,可以将Magma移动核心网连接到任何符合标准的eNodeB或gNB,并预期能够工作。类似的,Magma核心网可以与现有MNO的LTE网络交互。对LTE或5G特定功能的支持有可能受限于开发路线图问题,还没有实现,但从架构上讲,这些接口预期可以与任何标准系统互操作。

相反,由于Magma没有实现移动核心网内部的所有3GPP接口,因此不可能在核心网内任意混合和匹配组件。尽管传统3GPP实现允许(比方说)来自一个厂商的MME与另一个厂商的S-gateway进行互操作,但除了通过上面介绍的接口之外,不可能将来自另一个厂商(或另一个开源项目)的移动核心网的一部分与Magma的一部分连接起来。这一场景是否重要取决于用例。

电信基础设施项目(Telecom Infra Project)的开放核心网络项目组(Open Core Network Project Group)正在定义一套基于固定无线接入(fixed wireless access)和私有5G(private 5G)等特定用例的移动核心网技术规范,符合这些需求规范是Magma正在进行的工作的一部分。

Magma是特意决定不实现所有3GPP内部接口的,因为这样可以提高Magma在各种场景中的性能和可靠性,此外还可以用一个通用、融合的软件核心网支持广泛的接入技术(LTE、5G和WiFi),并降低实现复杂性。这种体系架构的选择对测试和移动性支持也有影响,下面将详细介绍。

对测试的影响

现在有丰富的测试设备可以用来测试3GPP协议的性能、规模和兼容性,可以有效利用这些测试工具测试Magma实现的那些3GPP协议(RAN接口和联邦接口)。此外,所有基于gRPC的内部接口,需要使用专门为Magma开发的方法进行测试。这至少增加了对Magma的可扩展性和功能进行测试所付出的代价,并且根据测试的投资水平,也可能造成内部接口测试覆盖率不高。

回传的可靠性(Reliability of Backhaul)

在边缘终结3GPP协议的决定以多种方式影响移动核心网的可靠性。在长距离回传链路上运行3GPP协议已被证明是有问题的,尤其是当回传链路的可靠性不够完美时(例如,卫星用于回传)。这是因为3GPP协议在某些情况下对丢包和时延相当敏感,从而会导致连接中断,进而迫使终端重试到核心网的连接流程。实践中并不是所有终端都能很好的处理这个问题,有时会陷入"停滞(stuck)"状态。

Magma通过两种方式解决回传线路不可靠的挑战。首先,Magma通过在接入网关中运行更多功能来避免完全依赖回传发送消息。这源于Magma高度分布式的架构,在标准3GPP中集中部署的功能在Magma中被分布到边缘(接入网关)。因此,例如验证UE并将其连接到核心网所需的操作通常可以使用AGW中的本地缓存信息来完成,不需要任何流量通过回传网络传输。其次,当Magma确实需要通过回传链路传递信息时(例如从编排器获得配置状态),使用gRPC来完成(gRPC被设计为在不可靠或低延迟链路的情况下可以可靠运行)。

弹性

Magma的一个重要设计选择是对运行时和配置状态使用"期望状态(desired state)"模型,其含义为,为了传递所需的状态更改(例如,在数据平面中添加一个新会话),期望的最终状态是通过API设置的,这与3GPP规范中常见的"CRUD(创建、读取、更新、删除)"接口不一样。期望状态模型在面对故障(包括组件故障和通信路径故障)时实现了更高的可靠性,下面通过一个例子来解释。

考虑为单个AGW所服务的UE的一组活跃会话建立数据平面状态的情况。假设有两个活跃会话X和Y,然后第三个UE变为活跃状态,需要建立会话Z。在CRUD模型中,控制平面指示数据平面"添加会话Z"。相比之下,期望状态模型会传达整个新状态:"会话集现在是X、Y、Z"。

CRUD模型在面对故障时很脆弱。如果某个消息丢了,或者某个组件在一段时间内不可用,无法接收更新,更新的接收方就会与发送方不同步。因此,有可能最终处于这样一种状态: 控制平面认为已经建立了会话X、Y和Z,而数据平面只有X和Y的状态。通过发送所有期望状态,可以确保一旦接收方能够再次接收消息,就会重新与发送方同步,从而在面对软硬件故障时有更高的弹性。比方说,Magma网关中的软件组件可以被重启(在崩溃或升级之后),而不需要重新启动UE会话,这与传统核心网的实现方式不同。

关于期望状态模型,有两点值得注意。首先,Magma中有许多模块之间的内部接口,而只有其中的一个子集完全实现了期望状态模型。重要的是运行在回传链路上的接口,即AGW和编排器之间的接口,遵守了期望状态模型。因此,任何配置状态的"单一数据源(source of truth)"都在编排器中,状态会在需要时被推送到AGW中。AGW内部子系统之间仍然有一些内部接口,通过状态变化进行通信。

其次,当只有少量状态发生变化时,在两个模块之间发送完整的期望状态是有扩展性问题的。随着Magma部署规模和用户数量的增加,有必要在模块之间更有效的发送状态更新。在将用户信息从编排器发送到AGW时,这一点非常明显。在维持所需状态方法的同时,有许多方法可以提高此类更新的效率,相应工作(详细介绍参考这篇文章[1])正在进行中。

支持横向扩展的中心化控制

Magma采取的设计方法的一个有趣结果是,允许集中控制与高度分布式部署相结合,这种方法是由软件定义网络(Software-Defined Networking)运动开创的,而Magma采用了SDN式的架构。例如,虽然将UE连接到核心网的任务可以由位于基站旁的AGW通过本地操作完成,但如上所述,运营商并不需要面对独立管理数百个AGW的任务。相反,运营商通过集中化的编排器(有UI和API)(或其他软件)与整个网络进行互动。AGW通过gRPC和中央编排器进行通信,由于3GPP的标准核心网架构没有遵循SDN方法,因此没有类似的3GPP协议可以完成这项工作。3GPP确实定义了控制和用户平面的分离,但没有集中式控制器与分布式接入网关的概念,这在另一篇文章[2]中有进一步讨论。

为了理解这一决定的影响,假设某家运营商试图在回传质量较低的偏远地区提供移动电话服务。在无线电塔旁安装传统EPC,以避免在回传链路上运行3GPP协议,这可能很诱人。任何扩展此解决方案的尝试都会使运营商管理大量远程EPC,而没有直接方法管理整个网络。正是这一用例(在回传选择有限的地区进行远程访问),推动了客户对Magma的兴趣。

作为具体案例,如果通过编排器将用户添加到Magma,那么用户信息将传播到所有AGW。相比之下,在部署了多个传统EPC的场景中,每个EPC都需要单独配置以添加新用户。

性能

Magma的SDN风格架构提供了天然的性能优势。每次添加AGW时,都会向网络添加新的数据平面和控制平面处理能力。因此,随着基站的增加,Magma的性能自然会上升(每个AGW通常支持若干个基站)。

在最近的测试中,单个Magma AGW数据平面可以支持约400Mbps流量以及600个LTE并发用户,或者400Mbps数据平面流量和200个5G并发用户。随着更多AGW被添加到网络中,数据速率和用户数量都会平滑增加。相比之下,我们对Open5GS的测试显示,单节点EPC可以支持大约95Mbps和200个并发用户(LTE)。原始数据之间的差异并不重要,重要的是Magma的数据平面和控制平面性能能够随着部署的AGW数量的增加而增加。最近提交的一篇会议论文的现场部署测试结果显示,Magma有能力在单个协调器的控制下扩展到至少5000个AGW。

跨网关移动性

在Magma目前的实现中,与UE相关的所有运行时状态都被定位到该UE所连接的AGW。虽然对可扩展性有利,但这种方法确实需要权衡利弊。尤其需要考虑支持跨AGW的无缝移动性,以允许UE在漫游到另一个AGW时保持与核心网的连接,这需要在切换期间从一个AGW到另一个AGW同步控制面状态。这在目前还没有实现,UE只能在一个AGW(通常少于10个基站)所服务的基站群中无缝漫游。虽然没有这个功能也可以支持许多用例,但这是一个限制。Magma社区成员已经开始设计工作[3],目的是解决这个限制。

结论

Magma旨在为建设和运营移动核心网提供一种可扩展的方法。它在关键边缘接口支持3GPP协议,特别是与RAN的接口(如图2所示),以及与其他移动网络的联盟接口(图3)。然而,为了获得SDN方法的益处,不使用3GPP协议在其组件之间进行内部通信。这种方法的主要缺点是,基于Magma的移动核心网不能混合、匹配来自多个供应商或开源项目的组件。在现在的实现中,对跨网关的移动性支持也有限制。其优点包括更高的性能和将解决方案扩展到数千个基站的能力,同时保持集中控制点以方便操作和配置。Magma的方法还提供了一个解决方案,支持不同类型的回传链路(如卫星),具有较高的弹性,能从硬件和软件故障中优雅的恢复。


你好,我是俞凡,在Motorola做过研发,现在在Mavenir做技术工作,对通信、网络、后端架构、云原生、DevOps、CICD、区块链、AI等技术始终保持着浓厚的兴趣,平时喜欢阅读、思考,相信持续学习、终身成长,欢迎一起交流学习。
微信公众号:DeepNoMind

参考资料

[1]

Scaling Orc8r Subscribers Codepath: https://docs.magmacore.org/docs/proposals/p010_subscriber_scaling

[2]

Control Planes Are More Than Signaling: https://magmacore.org/blog/control-planes-are-more-than-signaling

[3]

Inter-AGW Mobility in Magma: https://docs.google.com/document/d/1Sj8d4Inh1YBNdUqgmNgnPgREYs9VXoIqSIoekbfHR-o/edit

- END -

本文由 mdnice 多平台发布文章来源地址https://www.toymoban.com/news/detail-720916.html

到了这里,关于开源移动核心网Magma架构设计启示的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微服务架构设计核心理论:掌握微服务设计精髓

    单体应用时代,全都耦合在一起,牵一发而动全身。所有功能一起上线一起回滚。代码复杂度混乱。 微服务时代,业务模式糙快猛,敏捷编程。小步快跑,独立演进,独立部署,快速迭代。团队赋能(每个微服务有各自团队)。边界清晰,以大化小-服务拆分,三高应用-分治

    2024年01月17日
    浏览(34)
  • Yolov8引入 清华 ICCV 2023 最新开源移动端网络架构 RepViT | RepViTBlock即插即用,助力检测

     💡💡💡 本文独家原创改进 :轻量级 ViT 的高效架构选择,逐步增强标准轻量级 CNN(特别是 MobileNetV3)的移动友好性。 最终产生了 一个新的纯轻量级 CNN 系列,即 RepViT RepViTBlock即插即用,助力检测 |   亲测在多个数据集能够实现涨点,并实现轻量化 💡💡💡 Yolov8魔术师

    2024年02月10日
    浏览(45)
  • [SSD架构 3] 固态硬盘主控核心设计 | SSD性能研究

    传送门:    总目录 主页 : 元存储的博客_CSDN博客 依公开知识及经验整理,如有误请留言。 个人辛苦整理,付费内容,禁止转载。 内容摘要 SSD 性能 和 生命周期 对工作负载非常敏感,并且通常较高的复杂系统问题出现在存储堆栈中甚至在分布式系统中,与设备固件相关。

    2023年04月16日
    浏览(58)
  • 设计一个亿级高并发系统架构 - 12306火车票核心场景DDD领域建模

    “ 架设一个亿级高并发系统,是多数程序员、架构师的工作目标。 许多的技术从业人员甚至有时会降薪去寻找这样的机会。但并不是所有人都有机会主导,甚至参与这样一个系统。今天我们用12306火车票购票这样一个业务场景来做DDD领域建模。” 要实现软件设计、软件开发

    2024年02月03日
    浏览(37)
  • 低代码信创开发核心技术(三):MDA模型驱动架构及元数据系统设计

    写最后一篇文章的时候,我本人其实犹豫了半年,在想是否发布出这篇文章,因为可能会动了很多人的利益。所以这篇文章既是整个低代码信创开发的高度总结,也是最为精华的一部分,它点明了低代码中最为核心的技术。虽然你在读这篇文章的时候会有犹抱琵琶半遮面的感

    2024年02月04日
    浏览(32)
  • 网络分级设计模型的三层架构:接入层、汇聚层、核心层到底有什么说法?

    你好,这里是网络技术联盟站。 在现代网络中,为了满足不同规模和需求的组织和企业的通信需求,网络架构通常会划分为多个层次,其中包括接入层、汇聚层和核心层。这些层次在网络组网中扮演着不同的角色和功能。 本文将详细介绍接入层、汇聚层和核心层的定义、特

    2024年02月10日
    浏览(27)
  • 【架构设计】阿里开源架构Cola4.0的项目实践:订单系统

    使用SpringBoot+MybaitsPlus+Cola(整洁面向对象分层架构)4.0重构订单功能 Gitee:https://gitee.com/charles_ruan/smile-cola Github:https://github.com/charles0719/smile-cola 新增 POST http://localhost:8080/order/add 修改 POST http://localhost:8080/order/edit 访问详情 GET http://localhost:8080/order/1 分页查询 POST http://localho

    2024年02月14日
    浏览(36)
  • 【设计模式与范式:行为型】71 | 命令模式:如何利用命令模式实现一个手游后端架构?

    设计模式模块已经接近尾声了,现在我们只剩下 3 个模式还没有学习,它们分别是:命令模式、解释器模式、中介模式。这 3 个模式使用频率低、理解难度大,只在非常特定的应用场景下才会用到,所以,不是我们学习的重点,你只需要稍微了解,见了能认识就可以了。 今天

    2024年02月09日
    浏览(30)
  • 《移动互联网技术》 第十章 系统与通信: 掌握Android系统的分层架构设计思想和基于组件的设计模式

    🌷🍁 博主 libin9iOak带您 Go to New World.✨🍁 🦄 个人主页——libin9iOak的博客🎐 🐳 《面试题大全》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 🌊 《IDEA开发秘籍》学会IDEA常用操作,工作效率翻倍~💐 🪁🍁 希望本文能够给您带来一定的帮助🌸文章粗浅,敬

    2024年02月16日
    浏览(46)
  • 基于X86六轮差速移动机器人运动控制器设计与实现(一)软件与硬件架构

    本文研究的六轮差速移动机器人 (Six-Wheeled Differential Mobile Robot , SWDMR) 为了满足资源站到资源站点对点的物资运输,对机器人的跨越障碍能力 有较高的要求。对比传统的四轮移动机器人,六轮移动机器人能够提供更强的驱动 力,而且六轮与四轮相比整车分散到单个车轮的负

    2024年02月12日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包