一、引言

以前从来没关注电信无线上网网络的具体架构(也即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的演进过程中,核心功能是一脉相传,但实现的方式在不停演进,系统实现演进的目的就是为了提升用户上网响应的性能、减少不必要的流量传输、提升系统的可复用性、可靠性和扩展性,并节约投资。

最后要感谢各位互联网上知识分享的达人,由于查阅资料众多,也没有记录相关网页,在此就不一一致谢了,同时要感谢各位同事和朋友的线下帮助。

IT人的5G网络架构视点:从网络架构演进的前世今生详解5G各NF网络功能体的更多相关文章

  1. Java网络编程和NIO详解开篇:Java网络编程基础

    Java网络编程和NIO详解开篇:Java网络编程基础 计算机网络编程基础 转自:https://mp.weixin.qq.com/s/XXMz5uAFSsPdg38bth2jAA 我们是幸运的,因为 ...

  2. Android热门网络框架Volley详解[申明:来源于网络]

    Android热门网络框架Volley详解[申明:来源于网络] 地址:http://www.cnblogs.com/caobotao/p/5071658.html

  3. struts2常用标签详解(申明:来源于网络)

    struts2常用标签详解(申明:来源于网络) 地址:http://blessht.iteye.com/blog/1184960

  4. Sentry(v20.12.1) K8S 云原生架构探索,SENTRY FOR JAVASCRIPT Source Maps 详解

    系列 Sentry-Go SDK 中文实践指南 一起来刷 Sentry For Go 官方文档之 Enriching Events Snuba:Sentry 新的搜索基础设施(基于 ClickHous ...

  5. 本文详解5G是个什么鬼,程序员都准备好了吗?

    无线移动通讯发展历史 最近5G的概念炒的如火如荼,为此,华为和高通还干了一仗.这篇文章从技术层面给大家分析,什么是5G,它和4G比,高级在哪里? 我们来看看移动互联网的技术发展: 然后我们在来看看他们 ...

  6. 详解区块链P2P网络

    根据前一篇文章<从微观到宏观理解区块链>我们已经了解到,微观上,区块链本质就是一种不可篡改且可追踪溯源的哈希链条:宏观上,还具备了另外三个基本特征:分布式存储.P2P 网络和共识机制.分布 ...

  7. 【Linux 运维】查看网络连接状态信息之netstat和ss命令详解

    一.netstat 常用命令详解 通过man netstat可以查看netstat的帮助信息: netstat 命令:用于显示各种网络相关信息,如网络连接,路由表,接口状态,无效连接,组播成员 等等. ...

  8. CentOS 6.9下KVM虚拟机网络Bridge(网桥)方式与NAT方式详解(转)

    摘要:KVM虚拟机网络配置的两种方式:NAT方式和Bridge方式.Bridge方式的配置原理和步骤.Bridge方式适用于服务器主机的虚拟化.NAT方式适用于桌面主机的虚拟化. NAT的网络结构图: ...

  9. Jmeter(五) - 从入门到精通 - 创建网络计划实战和创建高级Web测试计划(详解教程)

    1.简介 上一篇中宏哥已经将其的理论知识介绍了一下,这一篇宏哥就带着大家一步一步的把上一篇介绍的理论知识实践一下,然后再说一下如何创建高级web测试计划. 2.网络计划实战 通过上一篇的学习,宏哥将其 ...

随机推荐

  1. 【QT】跨线程的信号槽(connect函数)

    线程的信号槽机制需要开启线程的事件循环机制,即调用QThread::exec()函数开启线程的事件循环. Qt信号-槽连接函数原型如下: bool QObject::connect ( const Q ...

  2. 虚拟机中安装Centos 7

    VMware中安装centos7系统 一.首先需要准备必要文件 1.VMware软件的安装包,建议使用12以上版本 VMwareWorkstation14版本下载链接 链接:https://pan.b ...

  3. 论文阅读:An End-to-End Network for Generating Social Relationship Graphs

    论文链接:https://arxiv.org/abs/1903.09784v1 Abstract 社交关系智能代理在人工智能领域中越来越引人关注.为此,我们需要一个可以在不同社会关系上下文中理解社交关 ...

  4. 思科ASA放行主/被动FTP

    实验环境: 设备说明: internet是一台windows10,用于模拟外网客户 ASA是思科ASA防火墙 FTP-SERVER是Centos7,Centos7上安装了vsftpd 实验说明: 本文 ...

  5. 什么是JavaScript作用域

    编程语言中,存储.访问和修改变量的值的能力将状态带给了程序.但是将变量引入程序会引起一些有意思的问题:变量存储在哪里?程序需要时如何找到它们?这些问题说明需要一套设计良好的规则来存储变量,并且之后可以 ...

  6. [MIT6.006] 14. Depth-First Search (DFS), Topological Sort 深度优先搜索,拓扑排序

    一.深度优先搜索 它的定义是:递归探索图,必要时要回溯,同时避免重复. 关于深度优先搜索的伪代码如下: 左边DFS-Visit(V, Adj.s)是只实现visit所有连接某个特定点(例如s)的其他点 ...

  7. ngx instance

    首先看下 连接池的获取以及释放 ngx_connection_t * ngx_get_connection(ngx_socket_t s, ngx_log_t *log) //从连接池中获取一个ngx ...

  8. Ubuntu18.04上安装CUDA_10.1(nvidia-driver)和cuDNN_7.6.5

    本文是在Ubuntu18.04.5服务器上安装CUDA_10.1(nvidia-driver455)和cuDNN_7.6.5, Ubuntu 18.04.5 CUDA_10.1 (nvidia-dri ...

  9. Python基础数据类型与for循环

    数据类型:int,bool,str,list, tuple元组,dict字典. 1.数字:12,3,4 在使用print打印数字时,在终端界面中无法判断出打印的是什么类型,当我们需要知道一个值是什么类 ...

  10. .NET 开源工作流: Slickflow流程引擎高级开发(八) -- 审批网关(ApprovalOrSplit)模式的应用

    前言:业务流程流转过程中,审批类型的节点是比较常见的,在审批操作中,常见的操作就是就是主管人员对待办事项进行同意或者拒绝.所以网关处理节点,就是需要对这两种审批结果进行预备处理,审批网关是在或分支(O ...