分享

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

 bin仔学习园地 2022-10-28 发布于上海

先附上23502中会话建立的流程图:
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会话管理控制策略。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
上图与下文并非一一对应,但流程都是相同的

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 或者 IP 地址)

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开始发送第一个下行数据)

参考:
PS:如有侵权,请联系删除

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

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多