整理一下 23502 中提到的 PDU Session Establishment
5G 核心网采用的是SBA( Service based Architecture)架构。
其中主要网元的功能如下:
各个网元接口的控制面的协议栈如下:
该过程是用来做什么的呢?协议上是这么说的:
- Establish a new PDU Session;
- Handover a PDN Connection in EPS to PDU Session in 5GS without N26 interface;
- Switching an existing PDU Session between non-3GPP access and 3GPP access. The specific system behaviour
in this case is further defined in clause 4.9.2;
- Request a PDU Session for Emergency services.
简单来说就是:
UE requested PDU session establishment.
UE initiated PDU session HO between 3GPP and Non-3Gpp.
UE initiated HO from EPS to 5GS
其实在5g中,PDU sessio 的建立,类似于EPC中的PDN连接的建立流程。但是5G core中已经没有了EPS Bearer的概念。
在PDU sessio 的建立中不会包含默认承载,取而代之的是QOS FLOW,具体点就是使用sessRule 建立的 default qos flow。
与4g EPC不同,5g 中永久在线(always-on PDU session,)是可选的。和EPC一样,5GC的PDU session establishment只能由UE发起。
最后,阅读这个信令流程图的话,还可能需要查阅:24501 nas消息 和 29244 pfcp消息 以及 38413 NGAP消息
1 、 UE 发送 pdu session est req 给 AMF
这是一个nas 消息。其实,这个消息是UE 发给AN,然后由AN发给AMF的。
The NAS message sent by the UE is encapsulated by the AN in a N2 message towards the AMF that should include User location information and Access Type Information.
这个nas 消息,带有
( S-NSSAI: This is UE preferred network slice or NSSAI where UE was registered before.
DNN:Data Network Name,类似于LTE中的APN. 代表UE想要接入的data service name
PDU 会话 ID: pdu session id, 这是Ue 生成的ID.
请求类型: Request Type, 一般是以下几种:“Initial Request”, “Existing Session” or “PDU session Handover”
Old PDU Session ID,N1 SM container(PDU 会话建立请求PDU Session Establishment Request))等信息。
如果是新的 pdu 会话,则UE 生成一个新的PDU ID.
并且请求类型是:初始请求, 如果是紧急附着,那么请求类型就是:紧急请求
该消息中的其他IE:
5GSM Capability: This is UE’s session management capabilitys.
PCO: Protocol Configuration Option, same as EPS, and used to request various NW parameter.
SM PDU DN Request Container : This include Authorization information to access DN.
2 、 AMF 收到第一步的消息后,AMF 基于该请求类型指示“初始请求”,确定该消息对应于对新 PDU 会话的请求,
并且 该PDU 会话 ID 不用于UE 的任何现有 PDU 会话。如果 NAS 消息中不包含
S-NSSAI,则 AMF 根据 UE 用户确定所请求的 PDU 会话的默认 S-NSSAI,或者基于运营商策略,
选择一个 S-NSSAI。(Single Network Slice Selection Assistance Information)
The AMF selects an SMF as described in clause 6.3.2 of TS 23.501 [2] and clause 4.3.2.2.3.(AMF 会使用nrf discover 服务去发现 smf, The NRF provides the IP address or the FQDN of SMF instance(s) or Endpoint Address(es) of SMF service instance(s) to the AMF.)
3 、 AMF 发 Nsmf_PDUSession_CreateSMContext req 给 SMF
Nsmf_PDUSession_CreateSMContext 请求消息包含(SUPI,DNN,S-NSSAI,PDU 会话 ID,AMF ID,请求类型,PCF ID,优先级接入,N1 SM 容器(PDU 会话建立请求),用户位置信息, 接入类型,PEI,GPSI,UE presence in LADN service area,用户用于 PDU 会话状态通知,DNN 选择模式,跟踪要求)
或
Nsmf_PDUSession_UpdateSMContext 请求(SUPI,DNN,S-NSSAI,PDU 会话 ID,AMF ID,请求类型,N1 SM 容器(PDU 会话建立请求),用户位置信息,接入类型,RAT 类型,PEI)。
如果 AMF 没有与 UE 提供的 PDU session ID 的 SMF 关联(例如,当请求类型指示“初始请求”时),则 AMF 发 Nsmf_PDUSession_CreateSMContext 请求。
如果 AMF 已经与 SMF 关联对于 UE 提供的 PDU 会话ID(例如,当请求类型指示“现有 PDU 会话”时),AMF 发 Nsmf_PDUSession_UpdateSMContext 请求。
对于该步骤中一些IE 的说明:
AMF 将 S-NSSAI 从允许的 NSSAI 发送到 SMF。
AMF ID 是 UE 的 GUAMI,其唯一地标识为 UE 服务的 AMF。 AMF 将 PDU 会话 ID 放在 从 UE 接收的 PDU 会话建立请求的 N1 SM 容器中一起转发。如果 GPSI在 AMF可用,则应包括 GPSI。
AMF 可以在 Nsmf_PDUSession_CreateSMContext 请求中包括 PCF ID。该 PCF ID 标识非漫游情况下的 HPCF 和本地分组漫游情况下的 V-PCF。
4 、SMF 与UDM 的交互
如果不是紧急会话,并且如果 SMF 尚未注册该 PDU 会话 ID,则 SMF 使用 Nudm_UECM_Registration(SUPI,DNN,S-)向 UDM 注册(在udm中注册smf自己的信息)。UDM 收到该消息后,将存储:SUPI,SMF 标识以及关联的 DNN 和 PDU 会话ID。
如果对应的 SUPI,DNN 和 S-NSSAI 的会话管理用户数据不可用(就是没有该supi的数据),则 SMF 使用 Nudm_SDM_Get(SUPI,会话管理用户数据,DNN,S-NSSAI)向UDM 检索会话管理用户数据.(就是去udm中下载用户的数据)
并且发送 Nudm_SDM_Subscribe 去订阅数据(SUPI,会话管理用户数据,DNN,S-NSSAI),当被订阅的数据被修改时,smf 会收到 notify .(主要靠callbackuri这个IE)
如果在第三步中,Request Type indicates "Existing PDU Session" or "Existing Emergency PDU Session",那么smf自己判断这是不是切换。如果 Request Type 是 Initial request, 并且在Nsmf_PDUSession_CreateSMContext Request中包含旧的PDU ID, 那么SMF会根据旧PDU ID去release session。
简单总结: 登记,获取,订阅
5、SMF 回复 AMF
Nsmf_PDUSession_CreateSMContext (cause,SM 上下文 ID 或 N1 SM 容器(PDU 会话拒绝(原因)))
或 Nsmf_PDUSession_UpdateSMContext ,
具体取决于在步骤 3 中收到的请求。
如果 SMF 在步骤 3 中接收到 Nsmf_PDUSession_CreateSMContext Req 请求并且 SMF 能够处理 PDU 会话建立请求,则 SMF 创建 SM 上下文并通过提供 SM 上下文标识符来响应 AMF(意思是告诉AMF,我smf收到你的请求了,我会帮你处理后续流程)
当 SMF 决定不接受建立 PDU 会话时,SMF 通过 NAS SM 信令拒绝 UE 请求,通过用
Nsmf_PDUSession_CreateSMContext rsp 响应 AMF , 消息中应包括相关 SM 拒绝原因
6、 这是可选的辅助授权/认证。
如果步骤 3 中的请求类型指示“现有 PDU 会话”,则 SMF 不执行辅助授权/认证。
如果在步骤 3 中收到的请求类型指示“紧急请求”或“现有紧急 PDU 会话”,则 SMF 不应执行辅助授权/认证
7a. SMF 进行PCF 的选择
If dynamic PCC is to be used for the PDU Session,则 SMF 执行 PCF 选择,如 TS 23.501 [2],第 6.3.7.1 节中所述。
PCF 选择和发现:
7.1 (PCF 必须能够将通过 N5 或 Rx 建立的 AF 服务会话与通过 N7 处理的相关 PDU 会话(会话绑定)相关联。)
7.2 AMF 为 UE 选择 PCF,SMF 为 PDU 会话选择 PCF。选择的 PCF 可以是相同的。
7.3 SMF 利用 NRF 发现 PDU 会话的 PCF 实例,除非 PCF 信息可通过其他方式获得,例如 在 SMF 上本地配置或在 AMF 的 PDU 会话建立过程期间接收。SMF 基于可用的 PCF 实例(从 NRF 获得或在 SMF 中本地配置)选择 PCF 实例。
在 PCF 选择期间可以考虑以下因素:
a) 本地运营商策略。
b) 选定的数据网络名称(DNN)。
如果请求类型指示“现有 PDU 会话”或“现有紧急 PDU 会话”,则 SMF 应使用已为 PDU 会话选择的PCF。
否则,SMF 可能会应用本地策略。
7b、 sm policy asso est 或者 smf initiate sm policy asso modify
SMF 可以执行第 4.16.4 节中定义的 SM 策略关联建立过程,以与 PCF 建立 SM 策略关联,并获得 PDU会话的默认 PCC 规则。(get the default PCC Rules for the pdu session)
SMF 发送 Npcf_smpolicyControl_Create 给 PCF 如下图:
SMF 通过发送 Npcf_SMPolicyControl_Create 操作 确定需要 PCC 授权并请求与 PCF 建立 SM Policy 关联
如果GPSI在 SMF中可用的话,则应包括 GPSI。如果步骤 3 中的请求类型指示“现有 PDU 会话”(Existing PDU Session),则 SMF 可以提供关于 SMF 发起的 SM 策略关联修改过程已满足的策略控制请求触发条件的信息,
如 4.16.5.1 中所定义。 PCF 可以向 SMF 提供第 5.2.5.4 节(以及 TS 23.503 [20])中定义的策略信息。
该信令的目的:
The purpose of step 7 is to receive PCC rules before selecting UPF. pcf 告诉smf sessRuleID,authSessAmbr,
authDefaultQos 等。
If PCC rules are not needed as input for UPF selection, step 7 can be performed after step 8.
8、upf selection
如果步骤 3 中的请求类型指示“初始请求”(Initial request),则 SMF 为 PDU 会话选择 SSC 模式,如 TS 23.501 [2]条款5.6.9.3 中所述。SSC: 服务连续性支持, ssc mode 的相关理解: https://blog.csdn.net/u010178611/article/details/81705135
如 TS 23.501 [2]第 6.3.3 节所述,SMF 还根据需要选择一个或多个 UPF。
在 PDU 会话类型为 IPv4 或 IPv6 或 IPv4v6 的情况下,SMF 为 PDU 会话分配 IP 地址/前缀,如 TS 23.501 [2]第5.8.1 节中所述。在 PDU 会话类型 IPv6 或 IPv4v6 的情况下,SMF 还向 UE 分配接口标识符,以便 UE 建立其链路本地地址。
For IPv4 or IPv6 or IPv4v6 type PDU Sessions, the PDU Session Anchor may be IP anchor point of the IP address/prefix allocated to the UE(摘录自23.501 [2]第5.8.1 节)
(所以说,smf请求upf的ippool后,为UE分配ip,如果在udm返回的数据中包含了ue的ip,那么就直接使用udm返回的数据中包含的ue的ip)
8.1 upf 怎么选择
8.1.1 SMF 提供可用的 UPF
A ) 当实例化或移除 UPF 时,SMF 可以在本地配置有关于可用 UPF 的信息,
例如通过 OA&M 系统。
B ) SMF 中的 UPF 选择功能可以可选地利用 NRF 来发现 UPF 实例。
在这种情况下,SMF 向 NRF 发出可能包括以下参数的请求:
DNN,S-NSSAI,SMF 区域标识。在其回应中,NRF 向 SMF 提供相应 UPF 实例的 N4 接口的 IP 地址或FQDN。
C ) UPF 可以与 NRF 中的 SMF 区域标识相关联。这允许使用 NRF 将 UPF 的 SMF 供应限制到与某个 SMF 区域标识相关联的那些 UPF。
NRF 可以由 OAM 配置有关可用 UPF 的信息,或者 UPF 可以将其自身注册到 NRF 上。这在 TS 23.502 [3]第 4.17条中进一步定义
8.1.2 为特定 PDU 会话选择 UPF
如果存在现有的 PDU 会话,并且 SMF 接收到相同的 DNN 和 S-NSSAI 的另一个 PDU 会话请求,并且 UE 用户数据指示支持与该 DNN 的 EPC 互通,则应该选择相同的 UPF。否则,如果 UE 用户数据未指示支持与该 DNN 的 EPS互通,则可以选择不同的 UPF.
9、SMF 发起 SM Policy Association Modify
SMF 可能会执行第 4.16.5.1 节中定义的 SMF 启动的 SM 策略关联修改过程,以提供有关已满足的策略控制请求触发条件的信息。
如果请求类型是“初始请求”并且部署了动态 PCC 并且 PDU 会话类型是 IPv4 或
IPv6 或 IPv4v6,则 SMF 用所分配的 UE IP 地址/前缀通知 PCF(如果满足策略控制请求触发条件)
当部署 PCF 时,如果提供了 PS 数据关闭策略控制请求触发器,SMF 将进一步向 PSF 报告 PS 数据关闭状态,在 TS 23.503 [20]中定义了用于 3GPP PS 数据关闭的 SMF 和 PCF 的附加行为
9.1 SMF 启动的 SM 策略关联修改过程
NOTE 6: If an IP address/prefix has been allocated before step 7 (e.g. subscribed static IP address/prefix in UDM/UDR) or the step 7 is perform after step 8, the IP address/prefix can be provided to PCF in step 7, and the IP address/prefix notification in this step can be skipped.(意思是,如果在前面的步骤sm create policy 中,已经能够向pcf提供ue的ip的话,那么modify之个流程就不需要了)
10、N4 流程 。N4 EST 或 N4 modify
如果请求类型指示“初始请求”,则 SMF 使用所选 UPF 启动 N4 会话建立过程(est req) ,否则它将使用所选UPF 启动 N4 会话修改过程(modify):
10a. SMF 向 UPF 发送 N4 会话建立/修改请求,并提供要在该 PDU 会话的 UPF 上安装的分组检测(PDR),实施和报告规则(qer)。如果由 SMF 分配 CN 通道信息,则在该步骤中将 CN 通道信息提供给 UPF。如果此 PDU 会话需要 "选择性用户平面停用",则 SMF 确定一个 “去活动定时器” 并将其提供给 UPF。如果已收到跟踪要求,SMF 会向 UPF 提供跟踪要求。(给upf提供各种rule:PDR FAR URR QER)
10b. UPF 通过发送 N4 会话建立/修改响应来确认。如果由 UPF 分配 CN 通道信息,则在该步骤中向 CNF提供 CN 通道信息。
如果为 PDU 会话选择了多个 UPF,则 SMF 在该步骤中给每个 PDU 会话的 UPF 发送 N4 会话建立/修改过程。
如果请求类型指示“现有 PDU 会话”,并且 SMF 创建 CN 通道信息,则跳过此步骤。否则,执行该步骤以使用 N4 会话修改过程从 UPF 获得 CN 通道信息
11、SMF 发 Namf_Communication_N1N2MessageTransfer 给 AMF
这条消息包括的信息有:
(PDU Session ID, N2 SM information (PDU Session ID, QFI(s), QoS Profile(s), CN Tunnel Info, S-NSSAI from the Allowed NSSAI, Session-AMBR, PDU Session Type, User Plane Security Enforcement information, UE Integrity Protection Maximum Data Rate), N1 SM container (PDU Session Establishment Accept (QoS Rule(s) and QoS Flow level QoS parameters if needed for the QoS Flow(s) associated with the QoS rule(s), selected SSC mode, S-NSSAI(s), DNN, allocated IPv4 address, interface identifier, Session-AMBR, selected PDU Session Type, Reflective QoS Timer (if available), P-CSCF address(es), [Always-on PDU Session]))).
其中的 N1 SM container 应包含:AMF 应提供给 UE 的 PDU 会话建立接受
这个信息的目的就是,smf 要将一些信息告诉UE 和 基站,但smf和他们两者都没有直接的链接,所以必须依靠amf来转发。这个看消息的名字也能猜到了。
N1 msg 是发给UE的,N2 msg是发给基站的。
N2 msg 主要是想告诉基站 UPF隧道地址和TEID,这样上行 N3隧道就打通了,还有QOS flow.
N1 msg 主要是想告诉UE默认的QOS rule(对上行数据进行分类时使用) ssc 模式,分配给UE的ip,sess-ambr等
AMF 主要是做信息的中转。
12、N2 PDU Session Request (这个是一个 NGAP消息)
AMF 到(R)AN:N2 PDU 会话请求(N2 SM 信息,NAS 消息(PDU 会话 ID,N1 SM 容器(PDU 会话建立接受)))。((R)AN会解释他想要的N2消息,然后将nas消息发给UE)
AMF 将包含针对 UE 的 PDU 会话 ID 、 PDU 会话建立接受的 NAS 消息(accept)、以及在 N2 PDU 会话请求内从 SMF 接收的 N2 SM 信息,发送到(R)AN。
13、(R)AN 到 UE:(R)AN 可以向 UE 发出与从 SMF 接收的信息相关的 AN 特定信令交换。
例如,在 NGRAN 的情况下,可以在 UE 建立与步骤 12 中接收的 PDU 会话请求的 QoS 规则相关的必要 NG-RAN 资源的情况下进行 RRC 连接重新配置。
如果在步骤11中不包括N2 SM information ,则省略以下步骤14至20。
14、 N2 PDU Session Request Ack(这个是一个NGAP 消息)
N2 PDU Session Response
(R)AN 到 AMF:N2 PDU 会话响应(PDU 会话 ID,cause,N2 SM 信息(PDU 会话 ID,AN 通道信息,接受/拒绝的 QFI 列表,用户平面执行策略通知))。
AN 通道信息对应于与 PDU 会话相对应的 N3 通道的接入网络地址。(AMF 收到后,告诉upf,这样upf就知道下行的N3通道了)
如果(R)AN 拒绝 QFI,则 SMF 负责更新 QoS 规则和 QoS 流级 QoS 参数,如果需要,则相应地与 UE 中的QoS 规则相关联的 QoS 流。
当 NG-RAN 无法满足值为 Required 的用户平面安全执行信息时,拒绝为 PDU 会话建立 UP 资源。在这种情况下,SMF 释放 PDU 会话。当 NGF 无法实现具有值 Preferred 的用户平面安全执行时,NG-RAN 会通知SMF。
到这里为止,数据上行通道打通。
15、AMF 发送 Nsmf_PDUSession_UpdateSMContext req (N2 SM 信息,请求类型)
AMF 到 SMF:Nsmf_PDUSession_UpdateSMContext 请求(N2 SM 信息,请求类型)。
AMF 将从(R)AN 接收的 N2 SM 信息转发给 SMF。
如果被拒绝的 QFI 列表包含在 N2 SM information 中,则 SMF 将释放被拒绝的 QFI 相关联的 QoS profiles。
如果 N2 SM 信息中的用户平面执行策略通知表明不能建立用户平面资源,并且用户平面执行策略指示 TS 23.501 [2]第 5.10.3 节中描述的“必需”,则 SMF 将释放 PDU 会话。
16a、SMF 发 N4 Session Modification Request 给 upf
The SMF provides AN Tunnel Info to the UPF as well as the corresponding forwarding rules.(far)
SMF 发起 UPF 启动 N4 会话修改过程。 SMF 向 UPF 提供 AN 通道信息以及相应的转发规则。
注 :如果 PDU 会话建立请求是由于 3GPP 和非 3GPP 接入之间的移动性或来自 EPC 的移动性,则在该步骤中将下行链路数据路径切换到目标接入。
16b、upf 回复 SMF : N4 Session Modification Rsp
UPF 向 SMF 提供 N4 会话修改响应。
The UPF provides an N4 Session Modification Response to the SMF.
If multiple UPFs are used in the PDU Session, the UPF in step 16 refers to the UPF terminating N3.
After this step, the UPF delivers any down-link packets to the UE that may have been buffered for this PDU Session.
17、SMF 发送 Nsmf_PDUSession_UpdateSMContext Response (Cause).给 AMF
在此步骤之后,SMF 可以通过调用第 5.2.2.3.2 节中规定的 Namf_EventExposure_Subscribe 服务操作来订阅来自 AMF 的 UE 移动性事件通知(例如,位置报告,UE 移入或移出感兴趣的区域)。
对于 LADN,SMF通过提供 LADN DNN 作为兴趣的区域的指示符来订阅UE进入或离开 LADN 服务区事件的通知 (参见 TS 23.501 [5.6]的第 5.6.5 和 5.6.11 节)。
在此步骤之后,AMF 转发由 SMF 订阅的相关事件。
18、 [Conditional] SMF to AMF: Nsmf_PDUSession_SMContextStatusNotify (Release)
If during the procedure, any time after step 5, the PDU Session establishment is not successful, the SMF informs the AMF by invoking Nsmf_PDUSession_SMContextStatusNotify (Release). The SMF also releases any N4 session(s) created, any PDU Session address if allocated (e.g IP address) and releases the association with PCF, if any.
如果在该过程期间,在步骤 5 之后的任何时间,PDU 会话建立不成功,则 SMF 通过调用
Nsmf_PDUSession_SMContextStatusNotify(Release)来通知 AMF。 SMF 还释放所创建的任何 N4 会
话,如果分配了任何 PDU 会话地址(例如 IP 地址)并释放与 PCF 的关联(如果有的话)。
19、IPV6 Address configuration
该过程是 SMF 通过 UPF 发到 UE:在 PDU 会话类型为 IPv6 或 IPv4v6 的情况下,SMF 生成 IPv6 路由器通告并通过 N4 和 UPF 将其发送到 UE。
20. 如果在步骤 4 之后 PDU 会话建立失败,则 SMF 应执行以下操作:
a) 如果 SMF 不再处理这个UE 的 PDU session,则 SMF 使用 Nudm_SDM_Unsubscribe(SUPI,会话管理用户数据,DNN,SNSSAI)取消订阅相应(SUPI,DNN,S-NSSAI)的会话管理用户数据的修改(DNN,SNSSAI)。 UDM 可以通过 Nudr_DM_Unsubscribe(SUPI,用户数据,会话管理用户数据,SNSSAI,DNN)取消订阅来自 UDR 的修改通知。
b) SMF 使用 Nudm_UECM_Deregistration(SUPI,DNN,PDU 会话 ID)注销给定的PDU 会话。
UDM 可以通过 Nudr_DM_Update(SUPI,用户数据,SMF 数据中的 UE 上下文)来更新相应的 UE 上下文