分享

基于云原生的NEF设计与开发

 然而猴王看穿了 2021-12-15

图片

原文发表于《广东通信技术》2021年第10期

基于云原生的NEF设计与开发

江洪、郭英、龙显军

【摘  要】NEF是5G SA网络的能力开放功能网元,提供多种5G能力开放接口。5G能力与企业、行业业务结合,可实现更加丰富的业务创新。介绍基于云原生技术开发的NEF网元的架构设计及原理,采用微服务架构实现NEF的高可用、高并发、高扩展性,采用消息模版技术实现多厂家5GC网元对接的兼容性,同时对NEF在应用测试部署过程中的问题进行了分析,为5G SA网络能力开放提供解决思路。



【关键词】5G;云原生;NEF;业务能力开放。


DOI:10.3969/j.issn.1006-6403.2021.10.002
引用格式:江洪, 郭英, 龙显军. 基于云原生的NEF设计与开发[J]. 广东通信技术, 2021, 40(10): 05-10.

图片
1   引言
“4G改变生活,5G改变社会”,5G具有更高速率、更低时延及海量连接,5G面向公众客户的同时更多地面向行业应用,并针对各行业提出了丰富的应用场景:游戏行业的AR/VR、汽车行业的车联网、医疗行业的远程医疗、工业制造的智慧工厂等,5G的商用对各行业都有改变,也将改变整个社会。
5G的各种应用场景对网络能力的调用差异化明显,各种能力调用需要动态的实时变更,为了更好地满足各行业的个性化需求,需要将5G SA网络能力开放出来,各行业应用能够灵活地按需使用网络能力,充分发挥运营商的网络及业务能力。
为了能将5G SA网络能力开放出来,3GPP提出了5G网络能力开放架构,并在5G网络中引入了NEF(Network Exposure Function)网元,NEF是5G SA网络的能力开放功能网元,是连接5G核心网与各行业应用的纽带。
 
2   NEF概述
2.1   标准与现状
网络能力开放问题在国际和国内标准组织中都引起了广泛关注。3GPP R15标准于2018年12月冻结,针对NEF定义了流量分流、QoS控制等8个标准能力,R16标准于2020年7月冻结,增加了uRLLC、mMTC等业务应用场景。R17将更全面地面向垂直行业,进一步增强边缘计算、网络切片等基础能力,提供更广泛的5G能力调用。
目前商用部署的5G核心网主要基于R15标准,以及R16的部分能力。5G SA网络能力的开放需要5G核心网的支持和配合,基于此,NEF网元的首期功能主要基于R15标准,随着R16标准的冻结落地,NEF将不断完善和提供更多的5G能力。

2.2   NEF在网络中的位置
NEF在网络中的位置如图1所示,NEF通过北向Nnef接口向AF(Application Function)提供API接口调用,通过南向接口与其他5G核心网网元交互。
NEF负责提供和管理对外开放的功能接口,可同时为信任域内和信任域外的AF提供接口。针对能力开发,3GPP提出了CAPIF架构和标准,实现对AF的认证、授权、计费等功能,并提供相应的安全保障来保证AF到5G核心网的安全。AF访问5G核心网内部数据、调用5G核心网能力,都必须通过NEF。

图片

图1  NEF在网络中的位置

2.3   NEF主要功能
3GPP定义的5G SA网络能力很多,在5G能力开放初期,有必要根据行业应用需求的迫切性及5G核心网的现状对接口能力进行筛选,基于目前对客户的需求调研及5G核心网商用版本现状,初期主要提供事件监控、QoS、流量引导及计费策略控制4个接口能力。
①事件监控接口主要针对客户的位置信息、漫游信息、机卡绑定状态、可达性等状态进行监控,其应用场景包括物流追踪、紧急救援、设备故障监控等。
②QoS可实现流量加速、直播或视频等高带宽类业务的QoS保障,其应用场景包括定向流量加速、视频QoS保障等。
③流量引导实现对流量的本地卸载,其应用场景包括移动本地办公、MEC本地流量卸载、智慧园区等。
④计费策略控制可以对特定数据流量变更计费策略,其应用场景为商家或广告商赞助流量等。
 
3   NEF开发与设计
5G SA网络能力的需求是多样化、差异化且不断增长的,特别是2B行业应用、切片、边缘计算等对业务灵活性、平台高效性和运营敏捷性提出更高要求。云原生技术是能够满足这些需求的理想技术体系。通过云原生技术构建的5G核心网元,能够支撑业务灵活组装和扩展、赋能电信业务快速投放,提升运营商价值;通过云原生技术构建的开发工具链,能够提升系统的开发、交付以及运营运维效率;通过云原生技术的开放性,能够源源不断地将新技术新能力融入到网络方案中,从而促进网络价值的提升。

3.1   云原生设计与实现
本NEF网元的开发,全面引入了云原生技术,从架构设计、开发工具、服务部署以及自动化运维上都全部使用业界成熟的工具,并按照“12法则应用理论”,在开发、系统架构、日志处理、系统运维监控等各方面都按照云原生标准实施。
本NEF平台为部署在Kubernets(简称K8S)的分布式高可用微服务架构平台。除了平台所依赖的基础软件,如Mysql、Redis、Kafka等,NEF本身的原生服务都是无状态服务,以K8S Service的形式部署于K8S worker节点中。基于K8S的服务治理架构如图2所示,每个Service通过ClusterIP向集群内其他服务暴露服务地址。服务之间通信时,按目标服务的HostName向K8S DNS解析得到该服务的ClusterIP,再根据ClusterIP向目标服务Service对象发起请求。目标服务Service收到请求后,将请求代理到集群下的任意一个Pod,进行业务处理。每个服务的负载均衡由Service对象实现。Service对象将收到的请求均匀分配到集群下的每一个Pod,通过这种方式,使得整个NEF平台的每个服务都实现高可用和按业务量动态伸缩。

图片

图2  基于K8S的服务治理架构

本系统构建过程遵守标准的DevOps所要求的构建、发布、运行作业流程,使用的DevOps工具链体系如图3所示,禅道作为项目和需求管理,Gerrit作为代码管理,JFrog作为制品库以及Jenkins作为集成流水线。在Gerrit上实现代码分支管理以及代码评审,并触发构建流水线。

图片

图3  Devops工具链体系

禅道系统通过需求定义、版本迭代和任务去驱动开发团队的版本构建工作,开发团队通过DevOps工具链进行产品开发,并向禅道系统反馈测试报告和Bug跟踪,形成闭环。Jenkins是整个DevOps系统的核心控制点。在Jenkins中部署了流水线脚本,控制整个构建和部署的过程,其中包括驱动Fortify进行代码审计和安全扫描,减少构建前可能的安全性风险;从Gerrit中拉取代码编译构建各微服务镜像文件,并上传到JFrog制品库;执行制品部署到目标的K8S环境。
日志作为云原生系统重要的组成部分,在本NEF系统中具有重要地位,是故障定位,大数据分析以及日常运维的重要信息来源。本NEF平台的日志系统采用Jaeger的全链路日志跟踪系统。

图片

图4  Jaeger全链路日志系统架构

图4是整个Jaeger全链路日志框架。在NEF的微服务Pod中,NEF服务依赖Jaeger-client包,通过实现OpenTracing API协议在代码中产生埋点。在Pod中部署了Jaeger-agent,收集从Jaeger-client的日志,传递给Jaeger-collector,由Jaeger-collector将日志信息存储到ELK数据库中。储存的日志信息通过Jaeger query在后端系统展示,使得运维人员可以查询任何请求的全链路日志信息。
监控体系是云原生技术的重要环节,是实现自动化运维的关键。本NEF平台采用了如图5的Prometheus服务监控框架。

图片

图5  Prometheus监控方案架构

Prometheus是目前业界使用最广泛的服务监控软件。它在每个K8S节点上部署Exporter组件。Exporter组件收集节点本身的状态指标,如CPU占用率、内存占用率、网络IO流量等,还收集所有服务每个Pod的状态信息。Exporter将收集到的信息上报到Prometheus Server。Prometheus Server汇集上报的监控数据,并保存到数据库中,再以PromQL的方式输出信息,包括将告警数据输出到AlarmManager,同时也向Web UI、DashBoard等前端组件呈现实时监控信息。运维人员可以通过这些前端展示板查看到整个K8S集群各节点的健康状态以及各服务Pod的状态。

3.2   微服务架构
NEF系统采用微服务架构进行构建,并采用领域驱动方法进行设计。整体服务架构体系如图6所示。

图片

图6  NEF微服务体系架构

NEF服务系统软件主要由三大板块组成:内部服务板块、公共组件板块和前端Portal面板。内部服务板块由所有原生的NEF功能的服务组成。公共组件板块是内部服务依赖的开源组件框架,实现数据持久化、缓存以及消息队列功能。Portal面板是向系统管理员提供网元局数据管理的前端系统。
在内部服务板块,分3个领域实现NEF的整体逻辑:网关接口服务领域,核心服务领域和5GC网元网关领域。网关接口服务领域由入局接口网关服务、出局接口网关服务、API管理服务以及API网关管理服务组成。这一领域的服务实现NEF作为一个网元实体对外暴露API以及向外回调API请求的功能。
核心服务领域实现了NEF按3GPP规范中定义的主要能力逻辑,是整个NEF最核心逻辑的软件实现层。在这个领域中,NEF的所有能力被拆分为多个原子能力,每个原子能力由一个微服务实现。目前实现的能力服务包括NF能力管理服务、事件订阅能力服务、流量引导能力服务、QoS控制能力服务以及计费策略控制能力服务。
5GC网元网关服务领域实现与NEF对接的其他所有5GC网元的网关服务,每一种5GC对接网元实现一个服务。除了纵向分层的主要服务外,在横向还包括一些基础的服务,实现平台所需要的数据管理及可维护功能。账号管理服务管理外部Invoker账号及其鉴权处理;系统配置服务实现平台所有服务所依赖的配置项的集中管理,是云原生12法则中配置与服务分离的具体实现;定时器服务是向其他服务提供定时器订阅和回调的服务;分布式ID服务是提供生成各类唯一性ID的服务。

3.3   5GC核心网兼容性
NEF作为5G核心网的能力接口网元,需要对接不同厂家的核心网,这就引入了兼容性问题。NEF对不同厂家5G核心网的兼容性问题体现在两个方面:第一,不同的5G核心网厂家对3GPP规范中处理有差异,在信令流程、信令参数选择和结构等方面都有差别;第二,3GPP标准在现阶段仍然处于演进之中,5G网元的能力和接口也会随着标准的演进而改变。
本NEF平台通过网元消息模版引擎架构解决这个问题。网元消息模版引擎是针对每个厂家的每类5GC网元设置一个消息模版,消息模版中定义了该厂家该类网元的详细信令格式。在5GC网元网关服务内部处理时,根据对接网元的厂家类型找到对应的消息模版,对信令进行编解码处理,从而实现不同厂商信令的兼容。
消息模版的管理以及处理架构如图7所示。

图片

图7  网元消息模版引擎原理图

5GC网元消息模版的实现包括模版管理和模版编解码两部分。
模版管理是在平台的管理模块中实现。5GC网元管理服务负责管理与NEF对接的所有5GC网元的生命周期。每一个对接的网元都被标注厂家类型。在网络管理服务中,每个厂家的每个5GC网元都可以编辑维护一份网元消息模版。在各5GC网元网关服务处理对该网元的消息交互时,选择该厂家所对应的网元消息模版进行消息编解码。
模版编解码是每个5GC网元网关服务GateWay的核心服务,负责与对接的5GC网元进行消息收发。对于消息发送流程,根据目标网元的厂家类型,查询对应网元的消息模版,根据模版和接口参数,构造网元消息并发送到目标的5GC网元。对于消息接收流程,GateWay核心服务从5GC网元中接收到消息后,根据网元ID查询网元对应的厂家及消息模版,根据消息模版解析所收到的网元消息,再发送给相应的NEF能力服务进行逻辑处理。
 
4   NEF部署测试中的问题
4.1   测试中的问题
对于事件订阅,一般是在订阅的事件发生变化时会触发通知事件,如漫游状态、用户位置信息等,但用户也希望能获取用户当前的状态,如是否漫游、当前的位置在哪里?
对于当前状态的获取,规范中可以通过设置immediageFlag=true的方式要求在响应消息中提供当前状态的报告,但是对于经由UDM到AMF上订阅的事件如位置信息、可达状态等,AMF可以将通知报告返回给UDM,但是由于规范对于UDM返回NEF的响应消息参数没有定义AMF相关通知参数,按照规范无法在响应消息中将状态信息返回给NEF。
从与主流5G核心网厂家对接测试的情况来看,有的5GC厂家依照规范提出无法实现在响应消息中返回通知报告,有的5GC厂家自行扩展了响应消息参数,通过扩展参数将AMF相关通知信息透传给NEF。
客户对立即查询获取当前的状态信息的能力需求强烈。就目前的状况,NEF可采取绕过UDM直接订阅AMF的方式实现或者针对不同的厂家采用不同的处理方式。但从长远来看,对于该能力的实现建议扩展响应消息参数,一方面运营商可自行扩展,另一方面可以通过提案扩展3GPP定义的的响应参数,统一各厂家的实现方案,满足用户实时获取当前位置信息的需求。

4.2   NEF部署问题考虑
NEF在实际部署时会面对各种复杂情况,5G核心网、应用对接环境、网络部署环境的不同,对NEF的要求也不同,本NEF针对各种部署情况,在功能上做了增强和考虑,以适应实际的部署需求。
NEF可同时为信任域内和信任域外的应用提供接口调用,两类应用接入对安全性的要求是不同的,NEF针对不同的接入环境提供不同的鉴权方式,如IP地址、证书、账号密码、OAuth2.0及其组合鉴权,基于安全性的前提提供差异化鉴权。
在NEF部署初期或某些跨区域的应用场景,NEF可能会对接多套不同厂家的5G核心网,为适应该应用场景,NEF增强了基于号码的路由能力,基于号码选择服务的核心网络,同时通过设计处理,实现同时对接不同厂家5G核心网的能力。
网络切片是5G的热点技术,NEF在设计上也考虑了切片参数的配置及携带,可同时支持多个切片网络的能力调用,适应未来切片组网方式的应用场景。

4.3   统一的开放入口
从3GPP规范来看,NEF是5G核心网的一个网元,而国内运营商部署5G核心网络一般采用分省或分大区进行部署,如果NEF也采用分省或分大区部署,行业客户没有统一的接入点,这不利于行业客户的使用。
为解决行业客户统一入口调用5G能力的需求,部署方案可考虑在NEF之上部署一个统一的能力开放平台,对外提供统一的能力开放接口,统一认证,由平台根据路由规则调用各省或大区的NEF接口。能力开放平台还可以将运营、鉴权等维护方面的能力集成,统一开放入口一方面方便行业客户使用,另一方面也屏蔽了网络的内部拓扑,进一步保证了5G网络的安全性。

5   应用前景
通过NEF,可以实现实时、在线的5G SA网络能力调用,在智慧园区、工业互联网、物联网等领域都有广阔的应用场景。结合分流、QoS等5G开放能力,可为企业、园区组建可管可控5G企业专网,自主控制访问权限及QoS策略配置,企业无需自建网络却能使用安全和灵活的企业专网。结合事件订阅能力,可对终端的可达性、位置及状态实施监控,行业应用在策略及服务上能够及时动态进行调整、维护,提升业务体验。随着5G的商用及R16标准的落地,5G SA网络将提供更多的开放能力,也会与各行业碰撞出更多有特色的应用。

★原文发表于《广东通信技术》2021年第10期★



DOI:10.3969/j.issn.1006-6403.2021.10.002

引用格式:江洪, 郭英, 龙显军. 基于云原生的NEF设计与开发[J]. 广东通信技术, 2021, 40(10): 05-10.
图片
图片

作者简介

 
江洪:工程师,毕业于中山大学MBA,现任职于中国电信股份有限公司广州研究院,主要从事云原生技术研究和产品开发,5G、物联网产品研发。
郭英:高级工程师,工学学士毕业于北京邮电大学,现任职于中国电信股份有限公司广州研究院,主要从事5G通信网络、行业信息化应用等方面的技术研究。
龙显军:高级工程师,工学硕士毕业于西安交通大学,现任职于中国电信股份有限公司广州研究院,主要从事5G通信网络、云原生技术、行业信息化应用等方面的技术及产品研究。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多