《5G核心网原理与实践》实践篇 · SMF 网元功能
《5GC实践篇》之SMF篇(13)网元选择之选择和AMF相同的PCF
爱卫生
2023年03月26日 21:27
2.5.2 选择和AMF相同的PCF
一 概述
在5G网络中实现了移动性管理和会话管理的分离,那策略这边也拆分成了AM-Policy和SM-Policy,这意味着在5G注册
流程中,AMF需要先选择一个PCF来获取am-policy。SMF在后续的PDU会话建立流程中也需要选择一个PCF来获取
sm-policy。那问题来了,SMF可以选择和AMF相同的PCF吗?规范中的答案是可以的,相关章节是TS23501的6.3.7.1
PCF discovery and selection for a UE or a PDU Session。
规范原文是:“The selected PCF instance for serving the UE and the selected PCF instance for serving a PDU
session of this UE may be the same or may be different.”(这句话前半段提到的the selected PCF instance for serving
the UE就是指的为UE提供am-policy和ue-policy的PCF,后面那个PCF是指提供sm-policy的PCF。)
PCF的选择原则在规范中定义了8个查询条件,其中条件e指明了可以选择和AMF相同的PCF。如下:
Q1:SMF怎么来选择和AMF一样的PCF呢?
A1:为了保证SMF能选择和AMF相同的PCF,AMF要把自己在注册流程中选择的PCF告诉SMF。AMF通过调用SMF
提供的Nsmf_PDUSession_CreateSMContext Request服务,将自己选择的PCF ID告诉SMF。这个是TS23502中PDU
会话建立流程的第3步,如下图:
关于第3步的文字描述是这样的:
由于调用的是SMF的服务,找到SMF的服务规范TS29502中查询具体的参数说明。在6.1.6.2.2 Type:
SmContextCreateData定义。如下:
可以看出,pcfId的数据类型是NFinstanceId,也就是PCF的实例编号。接下来SMF可以通过查询NRF来获取PCF的详
细信息(pcfinfo)。
同时可以看出,该参数是一个可选参数。也就是AMF可以提供,也可以不提供。这个本质上给了运营商灵活性。如果
运营商希望AMF、SMF选择的PCF一致,就会要求AMF提供。运营商可以根据自己的业务需要来决定。例如运营商如
果认为am-policy、ue-policy、sm-policy都由归属地PCF来提供(而不是拜访地PCF),那就可以让AMF和SMF选择相
同的PCF。
二 检查点与消息举例
以PDU会话建立流程为例。
首先检查AMF发过来的Nsmf_PDUSession_CreateSMContext Request请求消息是否包含了PCF ID。该请求采用Post
方法,request-uri部分应类似下图这样的:
进一步检查其中的JSON Data部分,应包含PCF ID,应类似下图这样的:
第二步,检查SMF是否向NRF发起了基于PCFID的查询,采用Get方法,request-uri如下所示:
需要检查第二步中的target-nf-instance-id取值和第一步AMF发过来的PCFID的取值相同。
第三步检查NRF是否根据PCFID查到了对应的PCF信息,并返回了PCF的详细信息。
第四步就是要检查SMF是否向NRF返回的PCF发起了N7会话的建立,向该PCF请求sm-policy。