通信网络的链路为:终端 -- 无线接入网 -- 承载网 -- 核心网,进而到达IP数据网络,访问互联网业务,这也是移动互联网的链路。
第一、用户面和控制面完全分离;
第二、网络功能微服务化。本文着重理解这一点。
一、基于SBA的5G核心网
1. 软件应用架构的演进
首先,我们需要看看,IT领域软件架构的发展与演进路线,因为在前十年IT领域所产生的思想与技术,正影响着CT领域未来十年的发展。
在软件开发的初级阶段,我们通常将负责不同的业务职责的代码文件进行逻辑上的划分,分隔不同的小模块,每个小模块赋予相应的职责,大致过程如下图①②③所示:
这些代码开发简单,发布时会被打成一个包,如WAR包,被部署在同一台机器的同一个进程中运行。这被称为 单体应用架构 。程序员的工作就是不停地地修补和旋转这个球。
随着业务的不断深入和复杂性的提高,我们需要构建更多的模块:
模块的增多,程序员们修补和旋转这个大球,实在太累,而且有很多的程序员使不上力气。
那么,就像切西瓜一样,把这个球切开。这样,不同的模块在发布时,会被打成不同的小包,如jar包。它们以接口的形式“藕断丝连”着,部署时还是在同一物理服务器上。
当代码大到一定量级,需要数百人来维护时,真是太难了:一个微不足道的小问题,可以导致整个应用挂掉;大用户量上来时,又无法满足高并发情况下的业务需求。
那么,我们把这个球完全成切开,形成一个一个独立的小球,每个小球负责独立的业务功能对外提供服务。这被称为 微服务(Microservice Architect,MSA) 。
仔细来分析,每个微服务的“小球”都需要找到所需的服务和对外提供服务,大流量来时,多个小球共担流量。大致就是这样了:
不难看到,业务代码是翻译的业务逻辑,直接促进业务创新。像服务发现、负载均衡、熔断、限流等等,属于非业务相关,为提高业务开发效率,这部分功能是可以提取出来的,部署时采用专门的进程负责,称为Mesh,这也就是 Service Mesh(服务网格) 了。
在单体--微服务--服务网格的演进过程中,还有一个阶段被称为SOA,也就是面向服务架构,英文全称是Service-Oriented Architecture。SOA的产生背景更多的是将现有的单体服务进行改造并集成,对外提供统一的服务。
所以,软件应用架构的演进路线是: 单体-- SOA --微服务--服务网格 。
- 基于服务的架构SBA
我们再来看看,5G核心网的SBA。SBA,英文全称Service Based Architecture,也就是基于服务的架构。
为啥不是IT领域中的SOA或者MSA呢?大致的原因有:
- SOA 提倡将架构分解为层而不是域,需要进行大量测试才能发布;
- 微服务提倡数百或数千个服务,而某些应用场景可能只需数十个可部署的服务;
- 微服务对其数据拥有唯一所有权,而拆分大型数据库模式的难度是最为复杂的部分。
下面的表格列出了SOA、MSA、SBA、Monolithic在敏捷、部署、可测试性、可扩展性、性能、简洁等方面的比较。
不难看出,SBA借鉴了IT业界成熟的SOA(面向服务架构)和MSA(微服务架构),并在它们之间进行了折衷和平衡:
- 服务按领域拆成比SOA更细的粒度,可升级单个服务,而对其他服务几乎没有影响;
- 服务按领域拆成比MSA更粗的粒度,减小调用链,提高可维护性;
- 服务可扩展、开放,任何其他服务都可以进行相互调用,轻量级服务接口是轻量级的HTTP2.0。
以此来实现核心网元的软件化、开放化和智慧化,做到服务功能不太大,也不至于太小。
二、5G核心网服务功能的理解
- NF是有哪些?
5G核心网软件体现为多个NF网络功能,每个NF又被称为多个NFS网络功能服务。
整体上,又可以看成控制面功能服务和用户面功能服务。本质上是管理线和业务线的工作,一个负责指挥,一个负责干活。
- 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。
- NF如何来管理?
众多的NF中,有个NRF(NF Repository Function,网络存储功能),可以进行NF的集中管理,进行NFS的注册、发现、管理与状态检测。每个NF启动时,必须要到NRF进行注册登记才能对外提供服务,登记信息包括NF类型、地址、服务列表等。
- NF如何对外提供服务?
NEF(Network Exposure Function,网络开放功能),负责管理对外开放网络的数据,外部应用如要访问5G核心网内部数据,则要通过NEF。
- NF数据如何进行存储?
程序的业务运行过程中,必然产生数据。5G核心网中的数据有结构化数据和非结构化数据。
结构化数据包含:手机号码信息,可以使用的业务信息、数据带宽限制数据等。
非结构化数据包括:用户会话信息、状态信息等。UDSF一般跟AMF、SMF打交道。
UDSF(Unstructured Data Storage Function,非结构化数据存储功能) 用来存储非结构化的数据,允许任何NF存储和检索其非结构化数据。
UDR(Unified Data Repository,统一数据存储) 用来存储结构化数据,UDM管理的用户签约数据和PCF管理的策略数据。
数据存储从各个网元中剥离出来,进行统一的存储,这样NF的“无状态”,有助于实现NF的弹性伸缩。
- 数据流的如何进行转发?
核心网的首要职责是将数据包按照某种策略进行转发,本质上是“路由和交换”。这个工作由UPF用户平面功能来完成:
接收基站过来的数据流,进行数据包的转发和路由,到达IP数据网络;
面向公网服务,则UPF部署于网络核心侧,负责全网业务;行业专网服务往往需要低时延,则UPF可部署于边缘DC、区域DC、园区、工厂等位置。
- 手机上网的会话,如何建立?
AMF(Access and Mobility Management Function,接入和移动性管理功能),负责为用户注册、连接、可达性、移动性管理,为UE和SMF提供会话管理消息传输通道。
SMF(Session Management function,会话管理功能),负责隧道维护、IP地址分配和管理、UP功能选择、策略实施和QoS控制、计费数据采集、漫游等。
-
移动互联网
+关注
关注
5文章
598浏览量
34059 -
数据网络
+关注
关注
0文章
46浏览量
11513 -
通信网络
+关注
关注
21文章
2033浏览量
52016
发布评论请先 登录
相关推荐
评论