什么是5G核心网的微服务

描述

通信网络的链路为:终端 -- 无线接入网 -- 承载网 -- 核心网,进而到达IP数据网络,访问互联网业务,这也是移动互联网的链路。

核心网在从4G到5G的演进过程,产生了非常大的变化:

第一、用户面和控制面完全分离;

第二、网络功能微服务化。本文着重理解这一点。

一、基于SBA的5G核心网

1. 软件应用架构的演进

首先,我们需要看看,IT领域软件架构的发展与演进路线,因为在前十年IT领域所产生的思想与技术,正影响着CT领域未来十年的发展。

在软件开发的初级阶段,我们通常将负责不同的业务职责的代码文件进行逻辑上的划分,分隔不同的小模块,每个小模块赋予相应的职责,大致过程如下图①②③所示:

通信网络

这些代码开发简单,发布时会被打成一个包,如WAR包,被部署在同一台机器的同一个进程中运行。这被称为 单体应用架构 。程序员的工作就是不停地地修补和旋转这个球。

通信网络

随着业务的不断深入和复杂性的提高,我们需要构建更多的模块:

通信网络

模块的增多,程序员们修补和旋转这个大球,实在太累,而且有很多的程序员使不上力气。

那么,就像切西瓜一样,把这个球切开。这样,不同的模块在发布时,会被打成不同的小包,如jar包。它们以接口的形式“藕断丝连”着,部署时还是在同一物理服务器上。

通信网络

当代码大到一定量级,需要数百人来维护时,真是太难了:一个微不足道的小问题,可以导致整个应用挂掉;大用户量上来时,又无法满足高并发情况下的业务需求。

那么,我们把这个球完全成切开,形成一个一个独立的小球,每个小球负责独立的业务功能对外提供服务。这被称为 微服务(Microservice Architect,MSA)

通信网络

仔细来分析,每个微服务的“小球”都需要找到所需的服务和对外提供服务,大流量来时,多个小球共担流量。大致就是这样了:

通信网络

不难看到,业务代码是翻译的业务逻辑,直接促进业务创新。像服务发现、负载均衡、熔断、限流等等,属于非业务相关,为提高业务开发效率,这部分功能是可以提取出来的,部署时采用专门的进程负责,称为Mesh,这也就是 Service Mesh(服务网格) 了。

在单体--微服务--服务网格的演进过程中,还有一个阶段被称为SOA,也就是面向服务架构,英文全称是Service-Oriented Architecture。SOA的产生背景更多的是将现有的单体服务进行改造并集成,对外提供统一的服务。

所以,软件应用架构的演进路线是: 单体-- SOA --微服务--服务网格

  1. 基于服务的架构SBA

我们再来看看,5G核心网的SBA。SBA,英文全称Service Based Architecture,也就是基于服务的架构。

为啥不是IT领域中的SOA或者MSA呢?大致的原因有:

  • SOA 提倡将架构分解为层而不是域,需要进行大量测试才能发布;
  • 微服务提倡数百或数千个服务,而某些应用场景可能只需数十个可部署的服务;
  • 微服务对其数据拥有唯一所有权,而拆分大型数据库模式的难度是最为复杂的部分。

下面的表格列出了SOA、MSA、SBA、Monolithic在敏捷、部署、可测试性、可扩展性、性能、简洁等方面的比较。

通信网络

不难看出,SBA借鉴了IT业界成熟的SOA(面向服务架构)和MSA(微服务架构),并在它们之间进行了折衷和平衡:

  • 服务按领域拆成比SOA更细的粒度,可升级单个服务,而对其他服务几乎没有影响;
  • 服务按领域拆成比MSA更粗的粒度,减小调用链,提高可维护性;
  • 服务可扩展、开放,任何其他服务都可以进行相互调用,轻量级服务接口是轻量级的HTTP2.0。

以此来实现核心网元的软件化、开放化和智慧化,做到服务功能不太大,也不至于太小。

通信网络

通信网络

通信网络

通信网络

二、5G核心网服务功能的理解

  1. NF是有哪些?

5G核心网软件体现为多个NF网络功能,每个NF又被称为多个NFS网络功能服务。

通信网络

整体上,又可以看成控制面功能服务和用户面功能服务。本质上是管理线和业务线的工作,一个负责指挥,一个负责干活。

  1. NF之间如何进行交互?

5G SBA 由一个参考点表示来描述,该表示命名每个 NF 连接到其他 NF 的点。

NF之间通过总线之间进行互连,参考点通过基于服务的接口(SBI) 实现,如AMF和SMF 通之间的参考点是N11,对应到SBI就是Namf和Nsmf。

SBI的定义只存在控制平面,所以,SMF和UPF之间的参考点是N4,AMF和UE的参考点是N1,AMF和RAN的参考点是N2,RAN和UPF的参考点是N3。

通信网络

  1. NF如何来管理?

众多的NF中,有个NRF(NF Repository Function,网络存储功能),可以进行NF的集中管理,进行NFS的注册、发现、管理与状态检测。每个NF启动时,必须要到NRF进行注册登记才能对外提供服务,登记信息包括NF类型、地址、服务列表等。

  1. NF如何对外提供服务?

NEF(Network Exposure Function,网络开放功能),负责管理对外开放网络的数据,外部应用如要访问5G核心网内部数据,则要通过NEF。

  1. NF数据如何进行存储?

程序的业务运行过程中,必然产生数据。5G核心网中的数据有结构化数据和非结构化数据。

结构化数据包含:手机号码信息,可以使用的业务信息、数据带宽限制数据等。

非结构化数据包括:用户会话信息、状态信息等。UDSF一般跟AMF、SMF打交道。

UDSF(Unstructured Data Storage Function,非结构化数据存储功能) 用来存储非结构化的数据,允许任何NF存储和检索其非结构化数据。

通信网络

UDR(Unified Data Repository,统一数据存储) 用来存储结构化数据,UDM管理的用户签约数据和PCF管理的策略数据。

通信网络

数据存储从各个网元中剥离出来,进行统一的存储,这样NF的“无状态”,有助于实现NF的弹性伸缩。

  1. 数据流的如何进行转发?

核心网的首要职责是将数据包按照某种策略进行转发,本质上是“路由和交换”。这个工作由UPF用户平面功能来完成:

接收基站过来的数据流,进行数据包的转发和路由,到达IP数据网络;

面向公网服务,则UPF部署于网络核心侧,负责全网业务;行业专网服务往往需要低时延,则UPF可部署于边缘DC、区域DC、园区、工厂等位置。

  1. 手机上网的会话,如何建立?

AMF(Access and Mobility Management Function,接入和移动性管理功能),负责为用户注册、连接、可达性、移动性管理,为UE和SMF提供会话管理消息传输通道。

SMF(Session Management function,会话管理功能),负责隧道维护、IP地址分配和管理、UP功能选择、策略实施和QoS控制、计费数据采集、漫游等。

通信网络

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分