欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

5GC中PDU Session Establishment 流程(切合实际分析流程)

程序员文章站 2022-03-01 21:53:27
先附上23502中会话建立的流程图:上面规范中列出的流程图,优点是   ①大而全但是还有很多的小遗憾,主要是   ①没有结合具体的场景来分析   ②没有加入协议的主要消息和参数说明   ③隐藏了NRF网元选择的流程   ④图中箭头上的文字其实不是消息的名称,例如第三步写的是Nsmf_PDUSession_CreateSMContext Request,但实际上真正的消息名称是HTTP2 POST:/nsmf-pdusession/v1/sm-contexts,这容易引起学习的困惑,故而对于新...

先附上23502中会话建立的流程图:
5GC中PDU Session Establishment 流程(切合实际分析流程)
上面规范中列出的流程图,优点是
   ①大而全
但是还有很多的小遗憾,主要是
   ①没有结合具体的场景来分析
   ②没有加入协议的主要消息和参数说明
   ③隐藏了NRF网元选择的流程
   ④图中箭头上的文字其实不是消息的名称,例如第三步写的是Nsmf_PDUSession_CreateSMContext Request,但实际上真正的消息名称是HTTP2 POST:/nsmf-pdusession/v1/sm-contexts,这容易引起学习的困惑,故而对于新手不是很友好(当初我就是这么过来的,看完了协议发现结合wireshark抓包还是云里雾里)。


以下流程为结合实际情况,更贴近国内运营商实际网络(文章最后的链接也可以参考,很棒)

广州5G用户到北京出差。早上7点起床后开机,在北京AMF服务区下完成注册。8点上了出租车,点击某APP刷新闻触发PDU会话建立流程。
该流程将通过拜访地北京的gNB接入、北京AMF完成会话管理消息透传、北京SMF完成会话管理控制、北京NRF完成网元选择、北京数据中心UPF完成将用户数据报文转发到北京Internet出口( 北京DN),并由归属地广州UDM下发UE会话管理相关的签约数据、广州PCF下发UE会话管理控制策略。

5GC中PDU Session Establishment 流程(切合实际分析流程)
5GC中PDU Session Establishment 流程(切合实际分析流程)
5GC中PDU Session Establishment 流程(切合实际分析流程)
5GC中PDU Session Establishment 流程(切合实际分析流程)
上图与下文并非一一对应,但流程都是相同的

UE——>AMF NAS消息:PDU Session Establishment Request,参数包括:PDU Session ID,PDU Session type,SSC Mode,DNN,S-NSSAI等

SMF Selection 在AMF上进行SMF的选择,主要是通过DNN,S-NSSAI来进行SMF的选择
     2.1 AMF——>NRF HTTP2 GET /nnrf-disc/v1/nf-instances
     2.2 NRF——>AMF HTTP2 200 OK,参数包括:SMF的IP,FQDN等

AMF——>SMF CreateSMContext_Request
通过HTTP2 POST发送请求,包含参数:第①步中的NAS消息,SUPI,DNN,PDUSessionID,S-NSSAI,RequestType等

SMF与UDM的交互
     4.1 UDM的选择,与②步骤中SMF的选择相同,省略
     4.2 通过子服务Nudm_RegistrationSMFRequest,在UDM中进行注册登记,注册成功会回复 201created
     4.3 通过子服务Nudm_GetUESessionManagementSubscriptionDataRequset,在UDM中获取/下载用户签约数据,下载成功会回复 response

可选的二次验证(void)如果在PDU会话期间,,提供了与DN特定身份相对应的身份验证信息,并且SM策略确定需要进行验证,那么就会把验证信息传给DN-AAA服务器进行二次验证,如果验证不通过则拒绝建立会话

PCF Selection(有条件的)如果request-type是existing PDU Session,那么就用不需要进行PCF的选择
     附上NF的发现的原则:一句话概括就是,如果本地配置了服务地址,就按本地配置,否则就需要进行NRF的请求

SMF——>NRF PCF的选择,省略

SMF——>PCF SMPolicy Association Establishment信令,从PCF获取PDU Session的QoS策略
     8.1 Npcf_SmPolicyControlCreateResquest 通过HTTP2 POST方法发送,包含JSON参数:SUPI,DNN,PDUSessionID,UE的IPV4地址等
     8.2 Npcf_SmPolicyControlCreateResponse 回复201created,包好JSON参数

SMF与UPF的交互
     9.1 UPF的选择,向NRF请求,省略
     9.2 PFCP Session Establishment Request和PFCP Session Establishment Response,SMF向UPF发送PFCP会话建立请求,下发QoS参数,主要是UPF的转发规则,比如PDR(包检测规则)等,请求成功回复Accept
(在 UP 功能上建立 PFCP 会话之前,应在 CP 功能和 UP 功能之间建立 PFCP 关联。即使 CP 和/或 UP 功能暴露了多个 IP 地址,在给定的一对 CP 和 UP 功能之间也只能建立一个 PFCP 关联。一个 CP 功能和 UP 功能将由唯一的 Node ID 标识,Node ID 将被设置位 FQDN 或者 ID 地址)

SMF——>AMF Namf_Communication_N1N2MessageTransfer,SMF向AMF传递消息,由AMF转发给UE
     实际上这一步执行之前还有一步,是SMF向NRF请求一个AMF的comm服务,参数servicename:namf_comm,只有支持comm服务的AMF才能进行n1n2消息的转发

AMF——>gNB N2PDUSessionRequest(PDUSession ResourceSetupRequest),AMF向RAN发送分配PDU会话资源的请求(N2消息给gNB建立用户面通道

gNB——>UE PDUSessionEstablishmentResponse NAS消息,是第一步的回复(N1消息给UE通知PDU会话建立成功及参数

gNB——>AMF PDUSession ResourceSetupResponse(UE开始发送第一个上行数据)

AMF——>SMF Nsmf_PDUSessionUpdateSMContextRequest AMF向SMF发起更新会话管理上下文的请求

SMF——>UPF PFCPSessionModification

SMF——>AMF Nsmf_PDUSessionUpdateSMContextResponse(UPF开始发送第一个下行数据)

参考:51xuetongxin.com
PS:如有侵权,请联系删除

推荐一个大神的博客,我根据我抓的PDU session establishment的pcap包,和他的博客做对照,基本一模一样,可以说完全对的上(因为写的太详细,我一度以为是抄协议的,差点错过了)
5GC PDU Session Establishment PDU会话建立流程

本文地址:https://blog.csdn.net/weixin_45022086/article/details/108775093