5GC 会话建立流程
PUD Session
5G网络将终端和外部网络之间建立的这一通路,称为一个PDU Session(会话)。
用于实现和外部数据网络(DNN)的数据交互。
PDU连接业务通过UE发起PDU会话的建立来实现。一个PDU会话建立后,也就是建立了一条UE和DN的数据传输通道
至于为什么5G把会话管理流程单独拿出来,而不是像4G似的直接和注册流程一起建立会话?5g用户下很多物联网用户发送数据少,甚至发数据也不需要PDU Session,和用户同步地建立会话会造成很大的资源浪费
PDU会话建立的情况
一个UE启动的PDU会话建立过程。
一个终端在3GPP与非3GPP之间启动的PDU会话切换。
一个UE启动的PDU会话从EPS切换到5GS。
一个网络触发的PDU会话建立过程。
UE发起会话建立的前提
- UE要有已经建立的5GMM上下文,并且启动了NAS安全。
- UE在发送PDU SESSION ESTABLISHMENT REQUEST之前,UE和网络之间要处于连接态,即:5GMM-CONNECTED,也就是UE和gNB之间要有RRC连接。
- UE请求建立会话
UE向AMF发送PDU session Establishment Request- AMF选择合适的SMF
AMF根据S-NSSAI和DNN查询NRF选择合适的SMF- AMF向SMF请求建立PDU会话
AMF向SMF发送Nsmf_PDUSession_CreateSMContext Request消息请求建立PDU会话。消息中包括:SUPI、DNN、S-NSSAI、PDU Session ID、AMF ID、请求的类型、N1 SM container (PDU Session Establishment Request)、用户位置等信息- SMF向UDM发起会话注册并获取签约信息 (选择执行)
- SMF向AMF回复会话建立结果
SMF向AMF回复Nsmf_PDUSession_CreateSMContext Response。指示会话建立结果。如果建立成功会将会话上下文的ID信息返回给AMF。如果会话建立失败会返回拒绝原因。- PDU Session建立的二次鉴权 (选择执行)、
- SMF执行PCF选择
SMF选择PCF,SMF与PCF执行会话策略建立流程。PCF会下发相关QoS控制策略、计费控制策略、UPF选择策略等信息。- SMF根据DNN、TAC等信息执行UPF选择
- SMF向PCF发起会话策略更新流程
携带选择的UPF、给UE分配的IP地址等信息- SMF向选择的UPF发起N4会话建立过程
SMF向选择的UPF发起N4会话建立过程,UPF返回N4建立结果- SMF向AMF发送会话建立结果和给基站的资源建立请求
SMF向AMF发送Namf_Communication_ N1N2MessageTransfer消息,携带N1 Container和N2 Container。N1 Container是SMF发送给UE会话建立结果,N2 Container是SMF发送给gNB的资源建立请求。之后,AMF向SMF发送Namf_Communication_ N1N2MessageTransfer响应消息。- AMF通知基站建立无线承载
AMF向gNB发送N2 PDU Session Request消息(包含UPF侧的媒体面隧道端点信息)并携带PDU Session Establishment Accept消息。- 基站gNB和UE之间建立用户面连接
gNB向AMF回复N2 PDU Session Reponse消息,携带下行媒体面隧道端点信息。
此时,UE的上行数据通道建立完成。- **AMF通知SMF基站连接建立完成
AMF向SMF发送Nsmf_PDUSession_UpdateSMContext Request消息,携带基站侧的媒体面隧道端点信息。- SMF通知UPF基站端点信息
SMF向UPF发起N4 Session Modification Request消息,携带下行媒体面隧道信息。
UPF向SMF发送N4 Session Modification Reponse回复。
UPF此时已经知道了基站侧的隧道端点信息,下行数据通道建立完成。- SMF向UDM进行注册
携带SUPI、DNN、S-NSSAI、PDU Session ID等信息,UDM保存相关数据。- SMF向AMF发送Nsmf_PDUSession_UpdateSMContext Response消息。
- SMF向AMF发送Nsmf_PDUSession_SMContextNotify消息,指示会话建立完成。
如果会话建立在第4步后失败了,需要向UDM发起去注册和去订阅
SMF选择
AMF选择SMF的时候需要smf-select-data
对于UE的初始注册或者移动性注册且从old AMF没有得到UE Context,AMF重新从UDM下载全部签约数据,PDU会话建立不存在这个问题,因为此时AMF不仅下载AM签约数据(其中包含签约的DNN信息),还会下载SMF选择签约数据(其中包含具体切片下支持的DNN数据)等等。这样,如果UE发起PDU会话建立请求,AMF就可以根据SMF选择签约数据(smf-select-data)为UE选择一个该切片下支持的DNN。
那么,对于移动性注册,并且new AMF从old AMF得了可用的UE Context场景,此时new AMF仍然缺少SMF选择数据(smf-select-data)等签约数据,这时就要从UDM下载签约数据了。
AMF收到UE的业务请求,如果本地没有相关签约数据,或者相关数据不完整,或者数据损坏了,AMF都可以随时从UDM下载,并不一定非要在注册流程中全部下载完成。
SMF获取签约数据,订阅
SMF下载的是用户承载相关的会话管理签约数据
请求消息:Nudm_SDM_Get
GET {apiRoot}/nudm-sdm//{supi}/sm-data
UDM返回sm-data 包含
snssai
多个或一个DNN,DNN包含PDU会话的关键参数
SMF签约数据订阅
签约数据订阅Nudm_SDM_Subscribe Request消息中体中包含的数据类型为:SdmSubscription,其中两个关键信息是callbackReference、monitoredResourceUris。
callbackReference字段包含的信息SMF用于接收订阅通知的URI,也就是如果用户的会话签约数据发生变化了,UDM调用的就是callbackReference包含的地址。
monitoredResourceUris字段包含的信息是SMF想订阅的签约数据的资源URI,比如:SMF订阅会话管理的签约数据,该字段包含的内容就是:{apiRoot}/nudm-sdm//{supi}/sm-data,其内容和SMF下载的签约数据的资源URI是一样的。
SMF向UDM注册
Nudm_UEContext_Management registration
在第4步时会发生 SMF 注册 获取 订阅的过程
紧急会话且之前还没向UDM进行注册过,可以在16.c注册
5GC 会话建立流程相关推荐
- 4G与5G会话建立流程描述以及对比
4G与5G会话建立流程描述以及对比 1. 用于会话建立流程的EPC网元与5GC网元 1.1 EPC架构 1.2 5GC架构 1.3 有关会话建立流程中网络功能分离的描述 2. EPC与5GC会话建立信 ...
- 5GC PDU Session Establishment PDU会话建立流程
这里写目录标题 1.UE-AMF PDU Session Establishment Request 发起PDU会话建立请求 2.SMF Selection SMF的选择 3.AMF-SMF SmCo ...
- PDU会话建立流程(8)-SM Policy Association的建立
相关文章会在公众号同步更新.公众号:5G通信大家学 持续更新的相关5G内容都是直接根据3GPP整理,保证更新内容的准确性,避免通过二手,甚至多手的资料,以讹传讹误导网友. 在介绍完流程详解后,会整理专 ...
- 5G PDU会话建立流程
1.终端向AMF发送PDU Session Establishment Request的消息. 1> 消息中携带了哪些参数 S-NSSAI.DNN.PDU Session ID.Request ...
- 【计算机网络】网络安全 : 运输层安全协议 ( 安全套接字层 SSL | 运输层安全 TSL | SSL 服务 | SSL 安全会话建立流程 )
文章目录 一.运输层安全协议 二.运输层使用 SSL 前后对比 三.SSL 与 TSL 对比 四.SSL 服务 五.SSL 安全会话建立过程 一.运输层安全协议 运输层安全协议 : ① 安全套接字层 ...
- [5GC] [图解5GC信令流程] PDU会话建立
PDU会话建立流程分为四个阶段,每个阶段都有其目的和主题 本流程的主角是SMF,UPF将会起到辅助作用 ⭐场景介绍 PDU会话建立流程最终要完成什么?为什么要做PDU会话建立 上行数据流的打通:UE- ...
- ZooKeeper客户端源码(一)——向服务端建立连接+会话建立+心跳保持长连接
首发CSDN:徐同学呀,原创不易,转载请注明源链接.我是徐同学,用心输出高质量文章,希望对你有所帮助. 一.从ZooKeeper实例初始化开始 ZooKeeper 提供了原生的客户端库,虽然不好用,但 ...
- 【C 语言】内存四区原理 ( 内存四区建立流程 )
文章目录 一.内存四区建立流程 一.内存四区建立流程 内存四区 建立流程 : 1. 加载代码到内存 : 操作系统 中 执行 可执行程序 , 将 存放在硬盘中的 可执行程序 ( 包含代码 ) 加载到内存 ...
- Zookeeper实例创建和会话建立的异步特性
一. 关于zookeeper_init函数的使用 问题描述: 开发人员在调用zookeeper_init函数时,若返回一个非空句柄zhandle_t *zh,则认为初始化成功,这样可能会导致后续操作 ...
- L2TP详解(四)——LAC自动拨号隧道和会话建立过程
今天继续给大家介绍HCIE安全,本文主要给大家介绍LAC自动拨号隧道和会话建立过程. 与NAS-Initiated建立隧道方式不同,LAC自动拨号是无需触发的永久隧道,一旦配置完毕,即可建立永久隧道, ...
最新文章
- 电脑右键没有新建按钮解决办法
- 整系数多项式的整除平移不变性
- 36.centos 安装文泉驿字体
- 不是python中用于开发用户界面的第三方库-Python计算生态习题(50题)
- (J2EE学习笔记)解决Hibernate删除异常:deleted object would be re-saved by cascade
- openstack 使用集锦
- Android studio | Unused import statement
- SAP Spartacus 和 SmartEdit 协同工作需要遵循的协议
- 全局搜索快捷键_Windows 自带的聚合搜索来了,与 Mac 的 Spotlight 相比体验如何?...
- Java删除list
- python3入门代码-Python3零基础自学方法?
- ACL'22 | 一种基于隐变量建模的并行文本生成模型
- 程序员累了怎么办-兄弟连IT教育
- c语言上机南开100题,全国计算机三级网络技术C语言南开上机南开100题(WORD版)
- 2021年石景山区景贤计划人才认定条件及材料,补贴100万
- java的发展(8-17新特性整理)
- python 爬取微信朋友圈的一些信息
- Android息屏状态下启动App
- 苹果CMS怎么更换模板详细教程
- php notice 影响,PHP notice/warning 对性能的影响