一、引言
以前从来没关注电信无线上网网络的具体架构(也即PS域架构),现在开始学5G接触这些东西时,理解起来很痛苦,资料也少,于是一方面到处找人咨询,一方面到处查资料,最后发现应该从3G、4G时代的架构及功能开始学习,这样知识有个演进过程,了解起来就很简单了。废话不说,下面我们来分别看看3G、4G、5G流量上网的网络能力架构。
二、3G时代PS域架构
3G时代的PS域结构非常简单,请见下图:
上图中:
RAN:无线接入网,其中的NodeB是基站,RNC是无线网络控制器(Radio Network Controller,也称为基站控制器),RNC负责移动性管理、呼叫处理、链路管理和移交机制
无线核心网:3G核心网由电路域(CS域,CS即Circuit Switched,电路交换)和分组域(PS域,PS即分组交换Packet Switch,有时又称分组业务Packet Service)两部分组成,分别负责传统语音业务和分组域业务(数据和多媒体业务),无线上网只和PS域相关。3G的PS域核心网主要由SGSN和GGSN两部分组成。SGSN和GGSN统称为GSN。
其中SGSN(Serving GPRS Support Node,服务GPRS支持节点)执行用户和GGSN之间的数据路由(用户面功能),并进行用户接入鉴权控制、移动性管理(包括附着、去附着和位置管理)、会话管理(包括激活、修改或者删除PDP上下文等功能)这些控制面功能。GSGN(Gateway GPRS Support Node,网关GPRS支持节点,GSN网关)作为整个GPRS网络的网关,位于GPRS网络和外部分组交换网络(Internet)之间,负责在核心网和外部网络之间交换数据和执行地址转换。
三、4G时代PS域架构
4G时代PS域的发展出现了较大的变化,PS域整体架构如下:
上图中:
MME:英文全称Mobile Managenment Entity, 即移动管理实体,主要负责M移动性管理和控制,包含用户的鉴权、寻呼、位置更新和切换等等
SGW:Serving GW,即服务网关,用户面接入服务网关,主要负责手机上下文会话的管理和数据包的路由和转发
PGW:Packet data network Gateway ,即PDN网关,主要负责连接到外部网络,包括会话和承载管理(承载管理即控制用户设备和网络的连接状态,一个承载可以看做是一条分配了IP地址的数据包传输通道)、用户IP地址分配、计费支持
可以看到,4G PS域的架构相对3G PS域架构进行了演进:
将SGSN的移动性管理等控制面功能划分给了MME
将SGSN的路由管理等用户面功能划分给了SGW
PGW相当于原有的GGSN
PCRF是新增的策略控制网元
在2016年,受5G规范的CUPS架构(控制面用户面分离架构)的影响,3GPP对SGW/PGW进行了一次拆分,把这两个网元都进一步拆分为控制面(SGW-C和PGW-C)和用户面(SGW-U和PGW-U)。如图:
SGW-C和PGW-C主要根据终端所在位置及漫游信息选择合适的SGW-U/PGW-U的路由,从而建立数据传输承载信道,路由建立后,MME将SGW-C/PGW-C返回的路由信息传至基站eNodeB,eNodeB自动将移动终端数据包在的SGW-U/PGW-U等组成的承载信道中直接传输,对于无需出本地的数据流量在本地直接分流。
三、5G时代PS域架构
5G标准制定时,为了提高系统响应性能,在整个PS域进行了比较大的架构优化,架构方面的优化主要有如下:
SBA(Service Based Architecture)架构:实际上就是中心化和微服务化架构,传统网元的功能进行整合后再按功能单一化划分为多个NF,然后NF再被分解为多个“网络功能服务”,支持容器化部署,目标是实现敏捷开发、变更控制范围、可动态伸缩、提升可靠性。所有基于服务的NF都接入SBI(Service Based Interface)消息总线,SBI消息总线基于HTTP/2,采用RESTful API设计原则
CUPS(Control and User Plane Separation):控制与用户面分离,用户面可以集中部署也可分布式部署,在分布式部署时将用户面下沉到更接近用户,提升对用户请求的响应速度,而控制面集中管理、统一集群部署,提升可维护性和可靠性
NS(Network Slice ):网络切片,基于网络功能虚拟化、软件化的基础上,把网络切成多个虚拟且相互隔离的子网络,分别应对有不同要求的不同服务,再将网络功能进一步细粒度模块化,实现灵活组装业务应用
5G PS域相关的整体架构如下:
相关网元及功能如下:
AMF:Access and Mobility Management Function,接入及移动性管理功能,AMF接收UE的请求并处理所有与连接和移动性管理有关的任务如鉴权,并通过N11接口向SMF转发会话管理需求。AMF通过询问NRF确定哪一个SMF是最适合处理该连接请求
SMF: Session Management Function ,会话管理功能,例如会话建立,修改和释放,包括UPF和AN节点之间的隧道维护、UE IP地址分配和管理、选择和控制UPF功能、计费数据收集和计费接口支持等
UPF: User plane Function,用户面功能,包括用户数据包的路由和转发、与外部数据网DN的数据交互、用户平面的QoS处理、流控规则实施(例如门控、重定向、流量转向)等
UDM:Unified Data Management,统一数据管理功能,负责用户标识、签约数据、鉴权数据的管理、用户的服务网元注册管理(比如当前为终端提供业务的AMF、SMF等,如当用户切换了访问的AMF时,UDM还会向旧的AMF发起注销消息,要求旧的AMF删除用户相关信息)
AUSF:Authentication Server Function,鉴权服务功能,AUSF用于接收AMF对UE进行身份验证的请求,通过向UDM请求密钥,再将UDM下发的密钥转发给AMF进行鉴权处理
PCF:Policy Control function ,策略控制功能,支持统一的策略框架去管理网络行为,提供策略规则给网络实体去实施执行,访问统一数据仓库(UDR)的订阅信息
NRF:NF Repository Function ,网络存储功能,用来进行NF登记、管理、状态检测,实现所有NF的自动化管理,每个NF启动时,必须要到NRF进行注册登记才能提供服务,登记信息包括NF类型、地址、服务列表等
AF:Application Function ,应用功能,指应用层的各种服务,可以是运营商内部的应用如Volte AF(类似4G的Volte As)、也可以是第三方的AF(如视频服务器、游戏服务器),如果是运营商内部的AF,与其他NF在一个可信域内,可以直接与其他NF如PCF交互访问,而第三方的AF则不在可信域内,必须通过NEF访问其他NF
NEF:Network Exposure Function ,网络开放功能,位于5G核心网和外部第三方应用功能体之间(可能也有部分内部AF),负责管理对外开放网络数据的,所有的外部应用,想要访问5G核心网内部数据,都必须要通过NEF。NEF提供相应的安全保障来保证外部应用到3gpp网络的安全,提供外部应用Qos定制能力开放、移动性状态事件订阅、AF请求分发等功能
NSSF:Network Slice Selection Function, 网络切片选择功能
DN: 数据网络Data Network (DN), 比如运营商业务,互联网或者第三方业务等
在这些功能型的NF后面,还有两个重要的NF,它们是:
UDR:Unified Data Repository ,统一数据存储/仓库,用于UDM存储订阅数据或读取订阅数据以及PCF存储策略数据或者读取策略数据
UDSF:Unstructured Data Storage network function,非结构化数据存储功能,所有NF的非结构化数据都存储于UDSF
从以上架构可以看出,无论怎么演进,网络架构中的用户管理、会话管理、移动性管理、接入和鉴权管理的控制面功能和数据包转发的用户面功能都是PS域的必选基础功能,从上面这些NF的功能可以看出,5G的基础功能相关NF是从4G的网元进行功能拆分再部分整合后形成的功能体:
MME中负责接入和移动性管理的功能独立出来,成了5G的AMF
SGW-C和PGW-C关于会话管理的功能合并成为SMF
MME和HSS中用户鉴权的功能被抽取出来,合并成为5G的AUSF,HSS中剩余的用户数据管理功能独立成为UDM,和AUSF配合工作来完成用户鉴权数据相关的处理
PCRF成了5G中的PCF
SGW-U和PGW-U合并成为5G的用户面功能UPF
AF和DN基本功能保持不变就是4G网络中的AS和互联网
同时为了适应新的SBA架构和业务要求,新增了NSSF、NRF、UDR、UDSF及NEF以及SBA总线。
四、小结
经过查阅各种互联网上分享的知识和阅读部分3GPP规范,并多处求教,同时结合3G、4G的PS域组网架构,老猿终于将5G PS域各功能体的大致功能弄清楚了。这个关于5G各NF的功能介绍,应该是目前网上相关文章中最全的,并且由于以前老猿本身对核心网并不熟悉,因此介绍时写得还算比较通俗易懂,这些内容有助于有一定IT基础大众的理解。
我们看到,从3G到4G、4G到5G的演进过程中,核心功能是一脉相传,但实现的方式在不停演进,系统实现演进的目的就是为了提升用户上网响应的性能、减少不必要的流量传输、提升系统的可复用性、可靠性和扩展性,并节约投资。
最后要感谢各位互联网上知识分享的达人,由于查阅资料众多,也没有记录相关网页,在此就不一一致谢了,同时要感谢各位同事和朋友的线下帮助。
请点击下方的“阅读原文”去访问老猿Python的博客原文。
本文转转自微信公众号老猿Python原创https://mp.weixin.qq.com/s/-Qk_B3a2CmLaufQGqVLqgQ,如有侵权,请联系删除。