在基于SBA的架构下,控制面的各NF一改传统的点对点通信方式,全部采用了基于服务化架构的SBI(service based interface)串行总线接口协议,传输层统一采用了HTTP/2协议,应用层携带不同的服务消息。每个NF对外的接口都是统一的服务化接口,也就是下图N系接口(Namf、Nsmf……)。在5GC中,协议提供了两种形式的参考点:一种是基于服务化接口的参考点,例如控制面NF之间的交互关系;一种是基于传统点对点通信的参考点,例如NF与无线以及外部数据网络连接时的交互关系。为了帮助大家按照传统去理解5GC各个NF之间以及对外交互的关系,3GPP协议中也提供了传统拓扑结构的架构图。控制面体现基于服务化接口的参考点,如下图中N11、N12等红色部分。控制面和UPF,5GC和无线侧以及外部网络连接时,仍然是基于传统的点对点通信参考点,如N1、N2等青色所示部分。不难看出,5G核心网的移动性管理、会话管理以及数据传输的核心功能都在,只是做了功能解耦,为了让5GC网络更加灵活、开放以及易扩展,从而应对5G灵活的业务场景。
03
网络服务自发现、自治理
NF的拆分3GPP为了细化管理,每个网络功能NF在控制平面上又可以提供不同的服务(Netwok Function Service后面简称NFS)。通过不同NFS的组合,最终实现注册、会话管理、移动性管理、鉴权及密钥协商等端到端的移动网络信令流程。NFS的自动化管理每个NF都会有各自的NFS,NF就如同一个人研发工程师,他具备设计、编代码、做测试、管理项目等多种技能(这些能力就可以类比NF中的NFS)。那么在某项具体的工作任务中,是需要你的编码能力还是设计能力(也就是具体要哪个NFS)这个是取决于具体项目要求(具体服务)。目前协议定义的可能是几十个,随着网络的演进、产品能力的不断增强,未来5G核心网将会提供更多更丰富的NFS,成千上百的NFS如何管理?如果工程师仍然依靠传统手工方式维护这些NFS,则无异于一场灾难。因此3GPP定义了一个仓库管理员NRF(网络存储功能)来负责所有NFS的自动化管理,包括注册、发现、状态检测。NF上电后会主动向NRF上报自身的NFS的信息,并通过NRF来找到对应的对端NFS。下图我们以新建一个PDU会话为例,介绍一下NRF如何串联不同NFS来支撑一个业务场景。首先,AMF、SMF上电后,会主动向NRF请求注册,NRF保存AMF、SMF的信息并标记其为可用。当AMF、SMF提供的服务发生变化或不再提供服务时,向NRF请求更新或去注册。当AMF-1收到UE发送的会话建立请求后,向NRF请求发现SMF。NRF查询本地维护的NF信息选择可用的SMF-1,并将SMF-1信息发送给AMF-1。AMF-1获取到SMF-1信息后,通过服务化接口调用相应服务实现会话建立。网络通信路径优化传统网元之间有着固定的通信链路。但是由于SBA架构的引入,各个NFS之间可以根据需求任意通信。以用户位置信息策略为例,PCF提前订阅了用户的位置变更事件,当AMF中的NFS检测到了位置变更时,发布相应的事件,PCF就可以及时接收到该事件,减少了传统网络的中间环节,优化了通信路径。