APP下载

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

2021-11-08江洪郭英龙显军

广东通信技术 2021年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 核心网网元交互。

图1 NEF 在网络中的位置

NEF 负责提供和管理对外开放的功能接口,可同时为信任域内和信任域外的AF 提供接口。针对能力开发,3GPP 提出了CAPIF 架构和标准,实现对AF的认证、授权、计费等功能,并提供相应的安全保障来保证AF 到5G 核心网的安全。AF 访问5G 核心网内部数据、调用5G 核心网能力,都必须通过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 全链路日志系统架构

监控体系是云原生技术的重要环节,是实现自动化运维的关键。本NEF 平台采用了如图5的Prometheus 服务监控框架。

图5 Prometheus 监控方案架构

图4 是整个Jaeger 全链路日志框架。在NEF的微服务Pod 中,NEF 服务依赖Jaeger-client 包,通过实现OpenTracing API 协议在代码中产生埋点。在Pod 中部署了Jaeger-agent,收集从Jaeger-client的日志,传递给Jaegercollector,由Jaeger-collector 将日志信息存储到ELK 数据库中。储存的日志信息通过Jaeger query 在后端系统展示,使得运维人员可以查询任何请求的全链路日志信息。

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 网络将提供更多的开放能力,也会与各行业碰撞出更多有特色的应用。

猜你喜欢

网元核心网网关
GSM-R核心网升级改造方案
一种全网时钟同步管理方法
信号系统网关设备的优化
5G移动通信核心网关键技术
核心网云化技术的分析
VoLTE核心网建设方案
LTE Small Cell网关及虚拟网关技术研究
应对气候变化需要打通“网关”
一种实时高效的伺服控制网关设计
Java EE平台在综合网元管理系统中的应用研究