传统蜂窝网络一般基于特定接入技术并针对大规模公共网络设计,无法灵活适配小规模网络以及异构无线技术。本文介绍了Magma在构建低成本异构无线接入方面的探索。原文: Building Flexible, Low-Cost Wireless Access Networks With Magma
摘要
当今仍然有数十亿人受限于网络覆盖以及价格原因,没有接入互联网。本文将介绍一个用于建设低成本无线接入网的灵活、开放系统--Magma,该系统旨在连接因人口密度低或收入水平低等原因而被运营商忽略的用户,同时保留蜂窝网络所应有的功能,如认证和计费策略等。为了实现这一目标,与传统蜂窝网相比,Magma采用了广泛利用互联网设计模式的方法,在边缘终止特定的接入网协议,并将接入网从核心架构中抽象出来。这一决定允许Magma使用SDN(软件定义网络)原则重构无线核心网,并利用现代分布式系统的其他技术,从而降低网络运营商的成本和运营复杂性,同时实现弹性、可扩展性和丰富的策略支持。
1. 简介
良好的互联网连接已成为全世界人民和企业的基本需求。然而,全球有超过三分之一的人口没有接入互联网[54],并且还有许多用户缺乏重要应用所需的高速连接。这个问题主要是经济问题:商业网络运营商声称,互联网如今似乎已经完成了在商业上可行的用户覆盖范围[29]。为了覆盖更多用户,必须降低互联网接入成本,或者让传统、大规模商业运营商以外的实体建立可持续、可扩展的网络基础设施。我们需要有效方法来降低资本和运营成本,通过更便宜的设备和软件,减少对高技能网络管理员的依赖,以及增加对现有本地能力的利用。同时,运营商需要有效管理有限的网络资源,以实现可持续的网络运营。蜂窝网络通常通过为每个用户制定策略来实现这些目标,包括每个用户的数据上限、费率限制或基于使用量的收费策略。
不幸的是,传统无线解决方案不能很好适用于很多被服务覆盖所影响的用户场景。由于无线电的传播特性,在非授权频谱上运行的WiFi接入点一般不能为大的地理区域(如人口稀少的农村地区)提供有效覆盖。此外,WiFi网络通常不提供精细策略来管理资源。相比之下,蜂窝基站提供更广泛的覆盖,支持更多用户,并连接到支持更灵活策略的核心网络。然而,今天的蜂窝接入网络依赖于昂贵的设备、复杂的协议和高度熟练的劳动力,限制了经济有效连接更多用户的能力。虽然蜂窝网可以扩展到大量用户群,但并不能很好的缩容,也就是说,小型蜂窝网络的部署通常相当昂贵。Magma旨在弥合这两类解决方案之间的差距:具有丰富策略、大量用户群和长距离的蜂窝网络,以及更简单但扩展性较差的WiFi网络。
更为根本的是,我们注意到,选择使用蜂窝无线接入网(RAN)这一决策迫使网络运营商做出一系列影响深远的决定,而这些决定与他们选择的接入网技术没有内在联系。这种选择使网络运营商备受约束:(i)特定的网络架构--即3GPP定义的用于网络管理的接口以及策略执行路径上的设备,(ii)为满足大规模电信运营商需求而发展的供应商生态体系,以及(iii)特定的无线电频谱及相关监管要求。Magma项目旨在改变这一切,它创建了一个开源的运营商级无线网络平台,支持广泛的部署场景。Magma的部署可以利用任何现成的、最适合其用户密度或部署场景的无线接入技术。Magma通过接入网关实现这一目标,接入网关在尽可能接近无线电的情况下终止特定的协议。因此,Magma允许运营商使用单一核心网络和管理平台,在热点地区(如体育场馆)用WiFi热点增强现有蜂窝网络部署,或使用LTE基站为农村地区家庭服务。
理想情况下,可以从小规模开始部署新网络,并随着时间的推移而扩展。Magma通过在商品硬件上运行软件组件的横向扩展实现了"随需求扩容(scale as you go)"的设计,这在云计算环境中很常见。Magma还利用了云环境中常用的开源软件组件(如Open vSwitch、gRPC、Kubernetes、Prometheus)。Magma通过采用软件定义网络概念简化了网络管理,这样就可以用一个中央控制点来设置网络策略、管理用户等。Magma采用分层控制平面来提高可扩展性。Magma只支持高效互联网接入的基本功能(如认证、计费和基于用户的策略),而放弃了一些复杂功能。例如,虽然Magma支持移动性(在接入网关的服务区域内)和漫游,但还不支持接入网关之间的用户无缝移动,这是因为移动性不是Magma的商业部署所支持的用例要求(例如家庭宽带或回传到WiFi热点)。正如通过其他工作所看到的[38],现代终端主机协议和应用程序可以在没有网络内生移动性支持的情况下表现良好。
本文将介绍设计和部署Magma的经验教训,讨论支持异构无线电、回传技术以及灵活策略的目标,以低成本支持所有这些功能,从而引导我们开发了一个新颖的软件架构。Magma被用于现实世界的部署,这些部署在地理范围、用户数量、技术选择和使其在财务上可持续的商业模式方面有很大不同。在第2节中,我们将阐述Magma的核心原则,即无线接入技术不应决定网络架构。然后在第3节讨论接入网关的设计如何使Magma支持各种技术、可扩展的控制平面、容错等。第4节介绍实验评估,证明Magma的设计和实施实现了良好的性能和可扩展性,同时讨论两个生产级接入网络。与传统方法相比,由于较低的运维、硬件和软件成本,在一次部署中可以节约43%的成本。我们的部署经验也指明了Magma是如何向上、向下扩展的,在撰写本文时,有一个支持美国45个州的800多个eNodeB(基站)的部署,第5节介绍了相关工作。最后在第6节讨论正在进行的关于Magma的工作和未来的挑战。
道德。本文没有提出任何道德问题,对于第4节中讨论的部署,只考虑运维数据,没有接触任何用户数据或流量。
2. 无线接入技术不应该决定网络架构
传统上,无线接入技术的选择决定了关于网络架构的一系列其他决定。相比之下,Magma的出发点是,每一种无线接入技术在覆盖不同用户群方面都可以发挥作用,网络运营商应该能够使用最适合部署场景的无线和回传技术。简而言之,无线网络架构应该像互联网本身一样,将链路层抽象化。
2.1. WiFi vs 蜂窝接入网
作为现有有线网络的延伸而出现的两类主要的无线接入技术具有不同的设计理念,WiFi扩展了IP网络,而现代蜂窝数据网络开始是对语音电话网络的扩展。两类接入网络之间的许多差异直接源于这种早期区别。
WiFi: WiFi允许没有经验的用户自己运行简单的低成本局域网络,这些网络使用未经授权的无线电频谱(通常在2.4GHz和5GHz),不需要WiFi网络运营商提前获得监管部门的批准。同时,任何人都可以访问相同的频谱,但要受到传输功率的限制。因此,WiFi网络与婴儿监视器、无绳电话和智能电表等设备共享频段,所以WiFi MAC层必须假定WiFi接入点(AP)在存在物理层干扰的情况下运行。再加上限制功率从而限制了发射距离,WiFi最适合在小范围内密集覆盖。考虑到干扰的可能性,WiFi服务是尽力而为的,与互联网设计理念一致。企业级WiFi部署,如大学校园和公司办公大楼的部署,对多个接入点的重叠干扰进行更集中的管理。然而,干扰的风险意味着服务仍然是尽力而为的。
蜂窝网络: 蜂窝接入网允许电信运营商向其用户提供无线服务,通常使用运营商长期拥有或以高成本租赁的授权频谱。由于无线电对某一地理区域的频谱有独家使用权,因此蜂窝网被设计为广域覆盖和高频谱效率,由资源丰富的实体进行部署,因为只有他们才可以获得土地、建造和连接塔台,并雇用熟练的工作人员。
无论何种接入技术,任何规模的网络都需要在设备、人员方面进行大量投资,就蜂窝网络而言,还需要监管许可。因此,除了非常小的网络,运营商通过策略来管理有限的频谱,包括接入控制;根据时间、使用量或更复杂的技术来收取费用,其中包括社区价值[36];使用上限;以及节流。例如,LTE的策略规范几乎达到300页[14]。一个简单的策略例子是:"客户C的速率限制为X Mbps,如果在t1
时间段内发送了Y GB数据,就在t2
时间段内将其限制为Z Mbps。"支持灵活的策略可以帮助运营商以经济上可持续的方式触达服务不足的用户:即使是出于社会责任原因运营的网络也会产生成本,必须有效管理有限的资源。
这些功能由复杂的分组核心网实现,该网络将多个基站连接到互联网,与互联网架构的渐进式演进相比,每一代蜂窝网络都是重新思考从认证到控制和数据平面模块化的机会。

不同世代的3GPP标准[15]有不同的分组核心架构,UTMS("3G")与LTE("4G")不同,而后者又与5G不同,并且各代标准都与企业级WiFi不同。图1显示了LTE和5G之间的差异,图片来自[46]。不同无线技术也体现为基站的差异(eNodeB与gNB),但也要关注移动核心网的模块化演进。WiFi又有所不同,而且标准化程度较低,其授权、认证和计费(AAA,Authorization, Authentication, and Accounting)等功能大致对应于LTE的移动管理实体(MME,Mobility Management Entity)和归属用户服务器(HSS,Home Subscriber Server)组件。
如今蜂窝网络和WiFi之间的界限越来越模糊,运营商将每种技术部署在该技术更适合的场景中。近年来,大型WiFi部署已经采用更复杂的用户认证、功率控制、无缝移动性等方法[23,24,60],Eduroam[58]和OpenRoaming[57]等努力为WiFi用户提供类似蜂窝网的广域漫游。同时,蜂窝接入网络现在可以使用"轻授权(lightly licensed)"频谱,如公民频段无线服务(CBRS,Citizen’s Band Radio Service)[17],支持无线频谱动态分配,使无线系统能独占部分频谱(以数十分钟为单位)。企业正在为一系列用例部署私有蜂窝接入网络,如工业自动化、医疗应用以及酒店和体育赛事的互联网接入,这些用例需要比传统WiFi更好的频谱效率、认证和性能。
2.2. 降低门槛
Magma旨在降低为缺乏网络服务的人群提供无线网络连接服务的成本。我们认为,运营商应该能够为任何部署选择合适的接入技术,而不是被锁定在只和该接入类型兼容的核心架构上。支持异构技术的统一设计可以摊薄软件构建工程成本以及培训和支持网络运维人员的费用。此外,这种设计使运营商能够在统一的核心网上支持多种无线技术(例如,在购物中心使用WiFi,在其他地方使用蜂窝网络)。
蜂窝接入的准入门槛很高,部署蜂窝接入技术的网络运营商必须在基础设施方面进行大量资本投资(CapEx)。相比之下,WiFi接入点的成本可能低于100美元,但即使是低成本的蜂窝部署,成本也至少要高出WiFi 1-2个数量级。传统上,蜂窝核心网络设备是为拥有数百个基站的大型部署而设计的,无法以合理成本"缩减"到小规模的初始部署。蜂窝网络的运营成本也很高(OpEx),需要依靠高技能工作人员来管理设备。此外,偏远社区可能负担不起高质量、低延迟的回传(如光纤)链接,而蜂窝网络通常依赖这种链接。相反,这些地区的网络可能使用可靠性和性能较低的卫星或无线回传链接。
相比之下,WiFi部署可以从小规模开始,但在规模扩张方面存在很大障碍。WiFi网络通常不需要熟练人员来部署。WiFi本质上是一种尽力而为接入技术,可以利用任何可用的回传,甚至是基于同一物理WiFi的临时网格(ad-hoc mesh)回传。然而,WiFi通常不提供可扩展的方式来实施网络策略,或者(除了专有和特定于供应商的解决方案)来管理大型网络。因此,面向WiFi的运营商很难像大型(通常是蜂窝)运营商那样在大范围内提供财务上可持续的服务。
尽管WiFi和蜂窝网络之间存在差异,但并没有根本障碍。网络策略的构建模块在每个国家都一样,缺少的只是架构支持。软件定义网络可以通过分布式基础设施支持网络范围内的控制来帮助解决这些差距,并且采用基于商品组件的可扩展技术可以降低成本。简而言之,采用并扩展成功的互联网和云原生技术实现可伸缩性和可管理性,使我们创建既灵活又低成本的无线接入网络成为可能。

3. Magma架构
Magma不是通过简单的重新实现一个符合3GPP标准的移动核心网来克服现有解决方案的缺点。相反,如图3所示,Magma通过在直连无线接入网的接入网关(AGW)中尽早终止特定无线协议,使这些接入网关在统一的设计中处理各种无线技术。Magma架构超越了3GPP传统的RAN/核心网的分解模式,将额外功能放在接入网关中,目的是使分组核心网更具可伸缩性,从而能够缩小规模。值得注意的是,Magma采用了软件定义网络(SDN)系统架构,使用分层的控制平面设计,每个接入网关的本地控制器与集中式编排器交互。编排器是系统的中央控制点,维护与全系统配置有关的权威状态(配置状态)。与用户设备(UE)活动有关的运行时状态被定位到为特定UE提供服务的基站所在的AGW。

每个AGW都是一个小型故障域,确保任何组件故障或升级影响到的用户相对较少。通过这种方式,Magma架构类似于现代云原生系统,旨在运行在容易发生故障的低成本硬件上[26]。Magma采用了云计算架构的其他想法,包括使用gRPC进行组件间通信,用于状态同步的"期望状态(desired state)"模型,以及基于软件的、可编程的数据平面。虽然在云计算部署中很常见,但这些决定大大偏离了典型3GPP网络的设计和管理方式。
3.1. 无线接入技术抽象
如图1所示,无线接入技术的细节传统上会体现在核心网中。为了解决这个问题,Magma确定了一套核心功能,AGW必须为任何无线技术实现这些功能(例如,为特定用户找到合适的策略),并以独立于接入技术的方式提供这些功能。这些功能构成了AGW的核心,如图4的右侧所示。特定无线技术的控制协议在靠近无线的特定技术模块中被提前终止,这些模块在图的左边,与右边的通用功能(如用户管理、访问控制和管理)进行通信,所基于的信息与RAN无关。

考虑添加一个新的活跃UE的例子。UE通过临时(未经认证的)无线链路与附近的基站通信。在传统4G实现中,基站将请求转发给移动管理实体(MME,Mobility Management Entity),MME发起UE身份验证流程,查询用户数据库,对终端进行认证,创建新会话,并将为终端服务所需参数通知给其他组件,包括:(a)为终端分配IP地址,并在数据平面设置相应的QoS参数;(b)指示基站建立到终端的加密信道;和(c)向UE提供加密通道的对称密钥。这一系列事件完成后,UE将和移动核心网建立一个活动会话,从而能够发送和接收数据。
这些功能在Magma AGW中以抽象化无线技术细节的方式进行,如图4右侧所示。例如,Magma的用户数据库具有跨无线接入类型的所有能力的联合,即使数据库中的某些字段只对某些技术有效也没有关系。例如,QoS策略在WiFi中不如在4G网络中丰富,而4G策略又不如5G策略丰富。同样,UE认证和会话建立是由涵盖4G、5G和WiFi的通用功能以通用方式完成的。在4G、5G和WiFi的不同设备中实现的数据平面,在Magma中通过通用、可编程的数据平面实现。

表1显示了4G、5G和WiFi的各种组件是如何被映射到一套共同的Magma抽象中的。这里的核心思想是,通过执行一组功能,从而验证用户,建立会话状态,控制数据平面,等等。Magma以一种与无线技术无关的通用方式完成所有这些工作,从而提供了一种将特定无线技术的细节从核心中抽象出来的方法,并且将相关协议终止在靠近无线本身的地方。
此外,Magma增加了一些不属于3GPP标准的通用功能,如设备管理和遥测。再加上SDN架构,这就简化了对分布在广大地理区域的大量设备的管理。Magma不需要登录到特定设备中去配置或检查统计数据,而是从编排器中提供中央管理和监控,并且其他接入北向API的系统也可以利用这些数据。我们发现,将设备管理和遥测视为Magma的首要职责,可以大大降低运营接入网的复杂性和成本(第4.3.1节)。
我们并不指望当前Magma的功能分解(图4)是最基本的,但我们的经验表明,无论从工程角度还是从广泛的用例来看,至少是有用的(第4节将进一步讨论)。组件之间的模块化使Magma的内部接口可以独立于RAN发展,这与迭代开发方法相一致,与3GPP僵化的接口定义形成鲜明对比,使得团队能够对AGW功能进行重大改变,如添加新功能(如5G支持)或重构内部服务,而不需要将这些变化向南向RAN或向北向调度器API暴露。
图4左边特定于RAN的模块和右边的通用功能之间的所有通信都基于gRPC[5],这是一个开源RPCRPC框架,所有长距离通信(例如从AGW到编排器)也是如此。虽然这是构建现代分布式系统的典型方法,但与为3GPP组件之间的通信协议有很大不同,后者将终端(如UE和MME)的一致性要求泄露到网络级协议中。通过在HTTP上运行,gRPC继承了TCP/IP对丢包和延迟的弹性,这在一些为更良好的受控环境(如专线)而设计的3GPP协议中是没有的。一个具体例子是GTP(GPRS隧道协议,GPRS Tunneling Protocol),它对丢包和延迟很敏感,以至于在质量较差或拥挤的回传链路(如卫星或共享微波链路)上很难运行。因此,采用gRPC使Magma有更大的自由度来实施替代的一致性模型,而不会在更多样化的回传网络条件下破坏UE状态机。在实践中,这种容忍度有助于减少设备上的错误处理。虽然UE在经历了3GPP协议级故障后应该重新连接,但我们发现某些使用了低端基带处理器的UE无法完成可靠的处理。当UE无法重连时,故障表现让使用这些设备的人感到困惑,他们会觉得这是因为信号不好,而且故障通常只在强制UE重启后才会解决。由于Magma在AGW本地终止GTP,不用穿越回传链路,所以UE永远不会经历GTP连接中断,也不需要处理这类错误。
虽然和无线技术无关,但Magma必须对功能开发优先级做出实际选择。许多早期Magma部署使用的是LTE,所以优先支持LTE功能,而把5G的支持放在后面。一个很好的例子是对QoS策略的支持,如第2.2节所述,今天LTE和5G都支持实行速率限制和使用上限的简单策略。当然也可以支持更复杂的策略(尤其是在5G中),目前正在开发对更丰富策略的全面支持。
3.2. 分层SDN控制平面
Magma采用软件定义网络(SDN)架构,以减少操作复杂性以及对熟练员工的依赖。运营商不用基于分布式的设备集合进行配置,而是在编排器上指定整个网络的策略。编排器提供了中央控制点,并公开北向API,以便与其他系统集成(例如,用于指标、警报和监控的系统)。然而,在单一中央控制器中运行整个控制平面会对系统的可扩展性造成限制。因此,像网络虚拟化平台(NVP,Network Virtualization Platform)[37]和开放虚拟网络(OVN,Open Virtual Network)[42]这样的实用SDN系统采用了分层的控制平面,这也是Magma使用的模型。
在分层控制平面设计中,我们确定控制平面中哪些组件会影响全网范围,这些组件是中央控制器的候选对象。例如,为了向网络添加新用户,关于该用户的长期信息是全网信息,由中央控制器创建和维护。相反,与UE相关的许多运行时状态可以被定位到单个AGW。例如,UE接入时与某个AGW相关联,UE会话状态可以由该AGW的本地控制平面创建和管理。因此,大部分控制平面能够随着基站和用户数量的增加而扩展,而不会增加中央控制器的处理负载。
中央控制平面和本地控制平面之间的这种划分大致上与控制平面状态变化的时间尺度相一致。新用户的增加发生在配置时间尺度上,该状态是集中管理的。会话状态的创建(当UE接入并连接到AGW时)发生的频率更高,这种运行时状态由AGW的本地控制器处理。
与任何SDN架构一样,必须考虑"无头(headless)"操作,即数据平面节点与中央控制平面断开连接的情况。在传统SDN方法中,目标是确保数据平面在没有控制平面的情况下继续运行,只是在控制平面断开时,无法对数据平面进行更新。有了分层控制平面,即使无法连接中央控制器,许多本地操作仍然可以处理。例如,因为本地控制平面有足够的信息(例如,缓存的用户资料)来处理会话的建立,AGW仍然可以为连接到基站的UE建立会话。相反,网络范围内的活动,如增加用户或改变用户策略,必须等到中央控制平面再次可用。Magma对可用性和一致性进行了权衡,正如CAP定理[22, 28]所暗示的那样。一般来说,唯一的问题是在断开连接时,存储在AGW中的状态有可能是旧的,比如可能允许UE暂时消耗超过其配额的资源。
这种设计有助于实现Magma的可扩展目标,既允许最小足迹(缩容),也允许扩大规模。最小的Magma部署可以是单一AGW和一个编排器。编排器通常是部署在云上的三个虚拟机实例,而AGW本身是一个小型(4核)X86商品服务器。这比传统蜂窝式分组核心网的硬件要少得多。扩容基本上只需要增加AGW,从而可以支持更多基站和UE,而编排器上的负载没有增加多少。第4.3节将讨论我们在扩容方面的经验。
将本地控制面功能放在AGW上的决定,虽然有利于可扩展性,但确实需要权衡利弊,尤其是这样会让一些需要AGW之间协调的功能变得复杂。值得注意的是,虽然Magma支持同一个AGW提供服务的基站之间的移动性,但AGW之间的无缝移动性需要在切换期间从一个AGW到另一个AGW进行一些控制面状态的通信。虽然没有这个功能也能支持许多用例,但希望将来能增加这一功能。
3.3. 小型故障域的容错
基于Magma建立低成本解决方案的愿景,对架构如何处理容错有很大影响。低成本硬件很容易发生故障,因此Magma采用了大多数现代云系统的一致看法,即预计个别组件会发生故障,但必须控制单一组件故障影响到的用户(即故障域必须很小),并且不能影响其他组件。这种方法对软件升级等操作也有积极影响,因为有可能在不关闭整个系统的情况下独立升级小部件,这与传统3GPP实施方式形成了鲜明对比。
Magma类似SDN的架构比典型3GPP实施更充分的将状态本地化。在标准实施中,UE运行状态分散在几个大型组件中(例如,LTE下的PGW、SGW和MME)。相比之下,Magma将UE运行状态定位到单一AGW,从而简化了故障处理。存储在AGW中的运行状态被定期检查,并可能被复制到作为云服务运行的AGW备份实例。当一个AGW发生故障时,备份云实例接管服务,管理受影响的一组UE连接,直到主AGW被重启。如上所述,即使与编排器断开连接,AGW也可以继续与UE建立会话。第3.4节中描述的状态同步方法可以减轻这种故障的长期影响。
虽然传统蜂窝分组核心网通常需要为数百万用户服务,但Magma将大部分功能分配给了大量接入网关,因此每个AGW都是一个故障域,维持少量(通常少于10个)基站服务的相对较少的UE状态。单个AGW故障会影响到目前由附属基站服务的UE集合,但对网络其他部分或其他客户没有影响,这与标准移动核心网实施中典型的大型故障域形成了鲜明对比。
3.4. 状态同步
移动核心网的状态需要在组件之间进行同步,一般来说,某个组件是某些状态的权威所有者,需要与其他组件同步状态。在Magma中,状态可以采取三种形式之一,Magma对此做出不同的保证。
首先是与UE及其网络活动相关的运行时状态。与现有用户设备和RAN设备的向后兼容性要求Magma实现标准定义的状态机,以支持网络接入等操作。由于UE本身、RAN设备或Magma的"核心"网元中的事件,运行时状态的修改随时可能发生。重要的是,Magma中的运行时状态被封装在AGW中,如第3.3节所述,AGW是Magma的故障域,我们为AGW定义了崩溃恢复故障模型。此外,大多数运行时状态都是短暂的,在发生故障时可以恢复,比如UE可以重新接入。
其次是配置状态,与Magma网络组件(如AGW)的配置相关。该状态只会由编排器写入并异步推送到AGW,例如应用于用户类别的网络策略,或由AGW应用于连接的RAN设备的无线配置。AGW在崩溃后会恢复配置状态,配置状态的真实来源持久存储在编排器中(Postgres),允许通过编排器修改配置状态。配置状态通常在人能够感知的时间尺度上发生变化(即几分钟或几小时)。
最后,Magma还管理指标状态,即来自Magma组件的遥测数据。这些数据虽然有用,但都是基于尽力而为模型采集的。
像其他云原生系统一样,Magma对运行时状态和配置状态采用了"期望状态"模型。意思是,为了同步所需的状态变化(例如,在数据平面中增加一个新会话),其最终状态是通过API设置的。这与3GPP规范中常见的"CRUD(创建、读取、更新、删除)"接口形成对比。Magma用期望状态模型取代了CRUD模型,以简化部分故障情况下对系统各组件变化的推理。这是在挑战环境中常见的情况,端到端系统的一部分(如回传)远不如其他部分(如UE和RAN之间的链接)可靠。下面将通过一个简单的例子来进一步解释。
考虑在AGW中为一组活跃会话建立数据面状态的情况。假设有两个活跃会话,X和Y,然后第三个UE接入,需要建立会话Z。在CRUD模型中,控制平面将指示数据平面"添加会话Z"。相比之下,期望状态模型将传达整个新状态:"现在会话集合是X、Y、Z"。CRUD模型在面对故障时很脆弱,如果丢了一个消息,或者某个组件暂时无法接收更新,接收端就会与发送端不同步。因此,控制平面有可能认为会话X、Y和Z已经建立了,而数据平面只有X和Y的状态。通过发送所有状态,可以确保一旦接收端能够再次接收消息,就会重新与发送端同步。
这种方法在云原生世界中并不新奇,但与典型的3GPP系统不同,从而允许Magma容忍偶尔的通信失败(例如由低质量回传引起的失败)或由于软件重启、硬件故障等导致的组件失效。将3GPP协议的范围限制在网络的最边缘,使我们能够灵活的重新考虑状态同步,以提高容错能力(此外还有上面提到的其他好处)。
最后,考虑一下Magma如何管理一个特别的策略状态:根据数据量向用户收费,以及重复消费的可能性。基于数据量的计费策略通常使用第三方在线收费系统(OCS)来实现,该系统与网络运营商现有的业务支持系统(BSS)以及Magma集成。在这种安排下,计费和收费(billing and charging) 由OCS处理,而Magma处理计量和记账(metering and accounting) 。OCS跟踪用户账户余额(如美元),然后通过Magma向用户授权少量数据配额(如1MB)。当用户接近用完其配额时,Magma代表用户向OCS申请另一个配额,OCS决定是否批准或拒绝该请求。从Magma的角度来看,一个用户是否被分配了配额是配置状态,而用户当前配额的剩余量是运行时状态。因此,虽然某个恶意用户有可能通过在AGW之间战略性移动来实现双花,但作为商业决策,允许的最大双花消费额度是以配额大小为上限的。对于那些特别关注这个问题的运营商,也可以在分布式环境中采用基于容量的记账技术[31]。
3.5. 软件数据平面实现
数据平面负责(i)识别活跃会话的流量(进出活跃UE的流量);(ii)收集这些流量的统计数据;(iii)添加和删除隧道头;以及(iv)执行策略,如每个用户的速率限制。Magma数据平面使用Open vSwitch(OVS)[47]实现,OVS提供了可编程数据平面,由OpenFlow[39]控制。虽然OpenFlow和OVS是方便的实现选择,但不是架构的根本,未来也可以选择其他实现。重要的是,数据平面是高度可编程的,并且完全用软件实现。
数据平面的软件实现使Magma能够在商用硬件上运行。虽然数据平面的吞吐量、延迟和抖动对蜂窝网络很重要,但我们发现OVS提供了完全足够的性能,OVS的性能已经被研究和优化了很多年[47]。在第4节中,我们评估了OVS在Magma环境中的性能。值得注意的是,系统的其他方面,如回传和RAN容量,可能比接入网关内的数据平面有更大的总体性能影响。
图4中的"数据平面配置"生成一组基于规则对数据平面进行编程所需的指令,以处理当前会话流。目前,这些命令都是OpenFlow命令,如果用不同转发引擎替换OVS,那么只有"数据平面配置"组件会受到影响。
3.6. 与其他网络联合
到此为止,我们已经介绍了Magma的的独立部署模式,Magma的所有可能的部署模式如下:
- 独立部署(Standalone) 。Magma支持独立的网络,所有3GPP控制和用户平面流量都在AGW中终止。
- 本地分发漫游(Local breakout roaming) 。Magma与现有蜂窝网络联合,控制面流量在外部终止,但用户面流量仍由AGW处理,并直接路由进出互联网的流量。
- 归属地漫游(Home roaming) 。Magma与现有蜂窝网络联合,控制和用户平面通信都终止在外部网络中。
与AGW终止来自无线网络的特定接入协议一样,Magma引入了额外组件来终止与外部核心网络的特定接入协议,该组件被称为联盟网关(FeG, Federation Gateway) 。FeG实现了3GPP定义的接口,以支持"归属地漫游"和"本地分发漫游"。AGW中提供了丰富的策略执行,因此后者在Magma中是可能的。例如,AGW可以通过查询联合网络中的用户数据库获得适用于UE的策略,然后在AGW中执行该策略。UE和MNO核心网之间的信令流量由编排器中的FeG服务处理。用户数据面流量通过隧道连接到一个类似组件,即GTP聚合器(GTP-A, GTP Aggregator),它反过来连接到MNO现有的P-GW。
与AGW不同,FeG和GTP-A是路径上的集中式设备,这么设计基于一个实际的目的:传统的MNO喜欢在敏感的核心网络和"扩展"网络之间通过单一接入点互连[31]。正如第4.3.2节所讨论的,这对可扩展性有影响。
4. 演进
Magma做出了一些与传统核心网不同的基本设计选择,以提高灵活性和可扩展性,同时支持丰富的网络策略,目的是为了支持实际的蜂窝接入部署。为了评估Magma,我们首先考虑模拟环境中的系统性能,然后讨论大规模商业部署。
4.1. 支持典型部署
仿真测试平台
尽管可以基于小规模部署评估Magma在实际部署中的性能,但评估有数百个UE和RAN组件的场景是不切实际的。此外,由于隐私和商业考虑,很难从商业部署中提取数据。因此,我们使用商业仿真系统Spirent Landslide[53]来评估Magma,该系统允许我们以可复制的方式仿真虚拟UE和RAN组件的任意配置。
我们在评估中部署了Magma的最新稳定版本,即v1.6.1,在实验室的AWS EC2实例集群和两个AGW上部署了编排器。第一个AGW是裸机AGW,运行在Intel J3160 4核1.6GHz CPU上,有8GB内存和4个英特尔I210 1Gbps网卡。第二个是运行在Intel Xeon 6126 2.60GHz、8GB内存和2个10G Mellanox ConnectX-3网卡上的虚拟AGW。我们为虚拟AGW分配了可变数量的vCPU,下面的实验中会有定义。裸机和虚拟AGW都直接连接到Landslide模拟器上,并分别通过1Gbps和10Gbps链接连接到互联网。我们还验证了在实验中,内存不是AGW的瓶颈,并且编排器部署中的所有机器都在容量阈值下运行。最后,在所有实验之前,模拟UE的模拟SIM卡被预先配置给编排器和AGW,这是网络运营商部署Magma的典型做法。
与传统核心网不同,Magma的AGW与RAN设备同处一地(例如,在塔台站点),Magma的扩展单位是AGW本身:随着运营商网络增长,既需要增加额外的RAN容量(即无线设备),也需要增加"核心网"容量(即AGW实例)。由于AGW处于与基站相关的所有流量的路径上,AGW的配置应该保证基站容量只受到RAN容量的限制,而不是AGW。这是一个值得注意的点,在一定程度上激发了Magma的设计:当将核心网功能与RAN网元共址时,RAN是站点的性能瓶颈。
推荐(典型的)部署方案是每个"基站"有一个AGW,在LTE网络的情况下,实际上是由1-3个eNodeB组成。一个典型eNodeB(如表2或图2中描述的)最多可以支持96个同时活跃用户以及最多20MHz无线信道,这个信道容量又对应于理想条件下126Mbps的峰值总吞吐量[16],典型基站最大容量为378Mbps。我们注意到,与基站成本相比,AGW的额外成本并不高,与相关工作中观察到的基站成本分类相似[31]。虽然LTE基站的成本变化很大,而且根据我们的经验,主要成本是非网络,如土地、电力和塔台(也称为"无源基础设施"),一个代表性部署可能包括表2中的硬件,AGW成本占基站有源设备成本的3%以下。电力成本在"离网"地点可能特别重要,但这些成本主要由无线设备的电力需求驱动,因此不会受到移动核心网实施的很大影响。请注意图2中对太阳能和电池电源的使用。

Magma必须能够支持这种类型的工作负荷。我们通过模拟上述基站的峰值负载来评估:共有288个UE以3UE/秒的速率接入(或"附着")到网络,然后每个UE以1.5Mbps的速率执行简单的HTTP下载,总负载为432Mbps。图5展示了结果,重点是AGW的总CPU利用率和实现的吞吐量。简单来说,AGW在大约1.5分钟内接受了所有新用户的连接请求,之后AGW在UE发出HTTP请求的时间内进入稳定状态。在这个实验中,UE的平均持续吞吐量在整个实验期间达到了预期的432Mbps,表明性能受到RAN的限制,而不是Magma的AGW,和预期一致。

我们承认,其他的RAN配置(包括vRAN/cRAN)也可以存在,许多RAN组件可以有效的同时运行在同一个运营商网络节点上。Magma可以有效用于这些部署,分配一个(或多个)AGW来支持一系列RAN设备。然而,到目前为止,没有大规模Magma部署使用这种配置(据我们所知),Magma可以部署在任何通用计算上(例如,虚拟机或容器),与RAN基础设施一起运行。同样,无线设备供应商可以将AGW集成到与传统eNodeB相同的物理设备中,以实现RAN和AGW组件的整合。
4.2. 控制面与用户面分离
不同的网络使用模式会对核心网用户平面或控制平面组件造成压力:前者的一个常见例子是人类用户访问视频内容,而后者的例子则是大量设备组成的物联网工作负载,它们只偶尔交换一些小信息。这给传统蜂窝核心网带来了重大的可扩展性挑战,并促使人们努力将控制平面和数据平面组件分离,以便运营商可以独立(静态或动态)扩展,这在LTE和5G中被称为"控制/用户平面分离(CUPS)"。
Magma的分布式设计很容易实现CUPS架构。默认情况下,每个AGW在网络边缘实现数据平面,所有控制平面功能都在AGW上作为用户空间进程实现,配置状态由编排器管理。
图5中我们可以看到AGW在两个不同的特征域内运行。实验开始时,当UE接入网络时,AGW的CPU主要处理接入请求相关的控制平面工作负载,包括执行验证用户所需的加密操作,以及在数据平面和控制平面设置用户、会话的状态,为UE实现所需策略。根据我们的经验,这是计算最密集的控制平面流程。当UE接入后,CPU主要处理与转发UE流量有关的用户平面工作负载。
图6说明了裸机AGW是如何应对"最坏情况"时的控制平面工作负载的,即新UE激增,然后造成数据平面饱和。我们将连接成功率(CSR,connection success rate) 定义为实验期间每5秒钟的连接尝试总数中,成功的连接尝试数量。我们观察到,在超过2UE/s时,裸机AGW无法为所有连接尝试提供服务,连接成功率(CSR)在超过这一点时呈线性下降。在每个AGW的基础上,Magma的控制平面性能相对有限,工程上正在积极改善这一点。接入率也是硬件的一个功能:虚拟AGW的4个vCPU实例支持每秒16次接入,这将使上述"典型"站点的RAN容量在18秒内达到饱和。



最后,考虑每个AGW对控制和用户平面的资源分配。为了做到这一点,我们静态限制了用户平面可用的内核数量,并评估了稳态吞吐量和中位连接成功率,结果显示在图7和图8中。请注意,实验使用的是虚拟机AGW,因此绝对吞吐量数字与早期实验没有可比性。我们观察到,增加用户面可用内核可以提高稳态吞吐量,代价是降低连接成功率(即控制面性能),但是允许内核调度器在用户面和控制面任务之间灵活分配资源,可以提供高吞吐量和良好的连接成功率。我们注意到,可以将用户面性能提高到超过当前所显示的性能,不过我们用的商业测试设备无法产生超过2.5Gbps的总负载。
综合仿真结果表明,Magma可以用低成本商品硬件处理典型工作负载。对于更密集的工作负载,Magma的控制面和用户面容量可以随着额外的硬件而扩展。最后我们注意到,这些结果为单个Magma AGW的性能定义了一个上限,Magma网络的容量与AGW呈线性扩展关系。
4.3. 部署
接下来看看Magma的大型商业部署。首先请注意,Magma是一个由Linux基金会管理的开源项目,因此核心开发团队(包括本文作者)并不直接运维任何生产部署,所有例子来自项目生态系统内的合作伙伴。
Magma的采用情况。 为了了解Magma在实践中的使用情况,我们采访了两位在Magma开源项目的产品管理和营销部门工作的人,他们经常与运营商以及Magma生态系统中的其他商业实体交流。根据我们的讨论,截至2022年2月,在非洲、亚洲、北美和南美的8个国家,有20个商业网络正在使用Magma运营。这些网络支持一系列接入模式和策略。例如,Magma已被用于为WiFi热点提供回传的网络,为家庭和企业提供固定无线宽带,将传统移动运营商的服务扩展到室内WiFi的"运营商"WiFi,以及传统移动宽带服务。今天,Magma代码库有大约100个活跃提交者。
Magma的部署情况。 为了展示Magma的使用情况,我们与最大的商业实体之一FreedomFi合作,为部署Magma的运营商提供支持。FreedomFi提供了两个重要部署的数据,这些数据经过了去标识化处理,我们在分析中只使用运营数据(而不是用户数据)。
4.3.1. 固定无线热点
FreedomFi的首批商业部署之一是AccessParks[1],一家位于美国的运营商,在大型户外区域提供公共WiFi热点网络,在他们部署的地方需要多个WiFi接入点(AP)以提供一致的服务。随着CBRS频谱的出现,AccessParks试图用LTE为其中某些大型部署的WiFi热点提供回传服务。终端用户通过传统WiFi机制和现有受控门户系统连接到AccessParks的WiFi接入点,而Magma网络中的UE是固定无线调制解调器,将WiFi AP连接到互联网。图10说明了该设置。


AccessParks于2020年12月开始部署10个试点站点,以评估Magma。今天,该网络由14个站点组成,为200多个接入点提供回传服务,并计划继续扩大。图9介绍了网络活跃用户和每小时吞吐量。
AccessParks网络策略非常简单。因为LTE网络只是作为回传,所有UE的访问都可以不受限制。每个用户的策略由AccessParks预先配置在使用标准技术(即WiFi接入点AAA的RADIUS)的专属门户和预付费计费软件中。
运维复杂性。 AccessParks最初试点Magma的部分动机是他们在前两年的部署中对其他商业和开源蜂窝核心软件运维复杂性的不良体验。虽然运维复杂性是主观的,但表现出来的一个可量化指标是运营商的劳动力成本,更简单的系统应该需要更少的员工时间和支持来管理,表3显示了AccessParks的比较结果。对于相同的接入网基础设施,与传统架构相比,AccessParks使用Magma的持久性部署成本减少了43%,主要受益于支持成本和站点配置和规划工程时间的减少。

4.3.2. 特许加盟MNO(Franchised MNO Extension)
第二个(据我们所知也是最大的)Magma部署是一个早期阶段部署,以提供一个特许、中立主机网络,其独特之处在于,网络基础设施的实际部署不由任何一个网络运营商管理。相反,"微型网络运营商"(包括个人、小型ISP和企业)将LTE和5G RAN设备与FreedomFi定制的Magma AGW一起部署,以支持其专有的流量计费和结算系统。
服务和策略。 中立主机网络由FreedomFi运营,允许现有移动网络运营商客户使用该网络进行服务。该网络支持的核心"策略"是将所有用户流量传回适当的移动网络运营商,而用户的移动网络运营商则在其现有核心网络内应用其标准网络策略进行计费、收费和流控。FreedomFi网络在尽力而为基础上提供接入,每个微型网络运营商利用3.5GHz频段的共享CBRS[17]频谱(如之前介绍的部署)。这项服务需要将数以千计的分布式AGW与合作伙伴MNO的集中式核心网整合起来,需要利用第3.6节中介绍的联盟功能。
规模。 截至目前,该网络仍处于早期测试阶段,所以没有大规模用户流量。然而,仍然提供了一个有用的例子,说明Magma控制平面如何随着网络规模的扩大而扩大。即使没有用户,Magma仍然管理设备配置、网络监控,并支持与合作伙伴MNO核心网的互连。
FreedomFi网络于2021年11月开始初步部署,截至2022年4月,由5370个AGW和880个eNodeB组成(FreedomFi报告说,AGW和eNodeB数量的差异是由于供应链问题,AGW是商品X86 PC,而蜂窝无线电是专业设备,供应商较少,该网络中使用的设备2022年1月才开始发货)。目前,该网络平均每周增加150个新的AGW和90个新的eNodeB,所有这些都由微型网络运营商临时部署,分布在全美45个州。
有一个专门的编排器支持这个网络,运行在6个由Kubernetes(EKS)管理的AWS虚拟机上[18]。其中3个实例专门用于"重量级"任务,如运行FeG、配置设备和报告指标,这些系统都配备了16个vCPU和32GB内存。其余编排器服务运行在一个较小的虚拟机集合上(4 vCPU/16GB RAM)。GTP-A运行在一台带有3.4GHz 8核至强E2278G CPU、32GB RAM和2x10G网卡的裸机服务器上,并部署在合作伙伴MNO的核心网设施附近。总体来说,FreedomFi每月运营成本约为4000美元。
我们认为该网络的快速部署谨慎证明了Magma有能力支持具有独特商业模式的大规模网络,希望在未来的工作中能进一步研究这个网络的运行动态。
5. 相关工作
开源LTE/5G核心网。 有几个项目与我们目标一致,即创建一个开源的LTE/5G蜂窝核心网[4, 9, 10, 13]。在这些项目之前,也有类似的努力来建立开放的2G和3G网络[11, 12]。除了OpenBTS[11] (一个GSM到VOIP的桥接),每一个都专注于实现传统的、符合3GPP标准的核心网络。Aether[2, 43]是一个开源5G连接边缘平台,集成了5G连接和边缘云服务器。与Magma一样,Aether采用云原生设计原则,然而并没有重构网络设计以打破无线接入技术与核心网的耦合,而且Aether并不关注低成本设备以覆盖服务不足的用户。
扩展网络连接。 已经提出了很多新的建议及解决方案,以扩大互联网接入服务,为边缘人群服务[25, 30, 44, 45, 48, 55, 56]。同样,如社区网络[3, 6, 7, 21]和小型ISP[32]等小规模网络运营商有丰富的为农村社区提供服务[27]的历史。在这些广泛领域中,Magma与社区蜂窝网络的工作关系最为密切[19, 33, 51]。
NextG蜂窝核心架构。 网络研究界正在积极思考下一代网络设计。PEPC[50]通过将用户状态整合到一个位置来重构分组核心网,其精神与Magma的AGW相似。ECHO[40]重构了EPC,以在不太可靠的公共云基础设施上运行。SCALE[20]探索了可弹性扩展的蜂窝控制平面,KLEIN[49]介绍了类似的弹性控制和数据平面。虽然这些工作都集中在(逻辑上)中心化的核心网,但所介绍的技术也是对Magma的有益补充。
其他工作采取了更"干净"的方法来重新设想蜂窝核心网。CellBricks[38]考虑了高度联合的蜂窝网络,并将对移动性、认证和计费的支持转移到终端主机,其实现为Magma的扩展。SoftCell[34]采用SDN原则来提高分组核心网的可扩展性和灵活性。Magma借鉴了这些工作的灵感,同时保持了向后兼容的、符合标准的边缘,以促进生产部署。
Magma的想法直接源自最近对服务不足社区的核心架构探索工作。CCM[31]提出了分布式的蜂窝2G核心网,能够在不可靠的农村回传连接上实现半断开操作,这项工作是Magma的早期灵感来源,并将这些概念扩展到现代无线接入技术。同样,CoLTE[52]提供了一个轻量级核心网,和AGW一样,与RAN网元共处一地,但与Magma不同的是,它侧重于小型、独立的社区网络。
开放无线接入网。 最近的一些倡议集中在开放无线接入网。例如,OpenRAN项目[59]和O-RAN联盟[8,41]制定了解耦的3GPP RAN标准,各层之间有开放接口。这些努力是对Magma的补充,专注于蜂窝接口,即Magma接入网关之前的那部分网络。
6. 结论
本文介绍了我们在设计和部署Magma方面的经验,Magma是用于构建接入网络的开源平台,其最重要的设计决定是在靠近无线的接入网关中终止特定的RAN协议,这个简单的设计决定带来了许多好处:支持不同的无线技术,容忍回传链路的中断,使用低成本软件数据平面,并通过分层SDN控制平面实现自然扩展。Magma还采用了现代云计算设计模式(例如,期望状态同步,容忍单个组件故障)和开源软件组件(例如,gRPC、Open vSwitch、Kubernetes、Prometheus)。根据Magma支持实用网络的目标,我们展示了Magma可以支持的典型部署场景,并讨论了两个基于Magma的大规模商业网络。重要的是,Magma还可以缩小规模,其最小占地面积小,支持增量部署,从而填补了传统WiFi和蜂窝网络之间的空白。Magma的所有软件组件都可以在GitHub(https://github.com/magma/magma)上找到。
Magma的主要设计目标是通过支持异构无线和回传技术,降低资本和运营成本,覆盖服务不足的社区。我们相信,Magma也很适合其他部署场景,包括企业5G网络。Magma未来的工作是扩大支持的功能集,包括接入网关之间的无缝移动性以及网络虚拟化。我们期待着扩展Magma代码库,以及软件贡献者社区,从而发展平台为更多用户服务。
参考文献
[1] AccessParks. https://accessparks.com/. Retrieved 7/2022.
[2] Aether. https://www.aetherproject.org/. Retrieved 7/2022.
[3] AlterMundi. https://altermundi.net/. Retrieved 7/2022.
[4] free5GC. https://www.free5gc.org/.
[5] gRPC. https://grpc.io/. Retrieved 7/2022.
[6] Guifi.net. https://guifi.net/. Retrieved 7/2022.
[7] NYCMesh. https://www.nycmesh.net/. Retrieved 7/2022.
[8] O-RAN Alliance. https://www.o-ran.org/.
[9] Open Air Interface. https://openairinterface.org/.
[10] Open5Gs. https://open5gs.org/. Retrieved 7/2022.
[11] OpenBTS. http://openbts.org. Retrieved 7/2022.
[12] Osmocom. https://osmocom.org/projects/cellular-infrastructure. Retrieved 7/2022.
[13] srsRAN. https://www.srsran.com/.
[14] Universal Mobile Telecommunications System (UMTS); LTE; Policy and Charging Control (PCC); Reference points. https://www.etsi.org/deliver/etsi_TS/129200_129299/129212/15.03.00_60/ts_129212v150300p.pdf. (3GPP TS 29.212 version 15.3.0 Release 15).
[15] 3GPP: The mobile broadband standard. https://www.3gpp.org/.
[16] 3GPP: Evolved universal terrestrial radio access (EUTRA); physical layer procedures. https://portal.3gpp.org/desktopmodules/Specifications/SpecificationDetails.aspx?specificationId=2427.
[17] CBRS Alliance. https://www.cbrsalliance.org.
[18] Amazon Elastic Kubernetes Service (EKS). https://aws.amazon.com/eks/.
[19] Abhinav Anand, Veljko Pejovic, Elizabeth M Belding, and David L Johnson. VillageCell: Cost Effective Cellular Connectivity in Rural Areas. In International Conference on Information and Communication Technologies and Development, pages 180–189, 2012.
[20] Arijit Banerjee, Rajesh Mahindra, Karthik Sundaresan, Sneha Kasera, Kobus Van der Merwe, and Sampath Rangarajan. Scaling the LTE Control-Plane for Future Mobile Access. In ACM SIGCOMM CoNEXT Conference, pages 1–13. ACM, 2015.
[21] Luca Belli, Sarbani Banerjee Belur, Peter Bloom, Anriette Esterhuysen, Nathalia Foditsch, Maureen Hernandez, Erik Huerta, Mike Jensen, Meghna Khaturia, Michael J Oghia, et al. Community Networks: The Internet by the People, for the People. FGV Direito Rio, December 2017.
[22] Eric Brewer. CAP Twelve Years Later: How The "Rules"