《5G核心网原理与实践》实践篇 · AMF 网元功能
《5GC原理与实践》实践篇(38) AMF支持根据优先级选择目标NF
爱卫生
2023年02月13日 23:03
《5GC原理与实践》实践篇是按网元来规划的。包括AMF篇、SMF篇、PCF篇等。
本文是AMF篇的第38篇。
1.7 网元选择的支持
本节和1.6节:服务发现的支持不一样的地方是。
服务发现说的是AMF发给NRF的查询请求里根据什么来选择网元(例如根据SUPI选择PCF),本节网元选择说的是当NRF在200 OK消
息里将目标NF的NFProfile信息发给AMF了,如果目标NF有多个(例如SMF可能是组Pool的,有多个SMF,那我选哪个呢?),那AMF
应该如何选择的问题。例如根据优先级、权重等来选择目标NF。
简单说,服务发现主要是决定发给NRF的请求消息带哪些参数用于网元的选择,而网元选择主要是AMF根据NRF的响应如何选择网元。
1.7.1 AMF支持根据优先级选择目标NF(SMF选择为例)
1.7.1.1 概述
AMF应支持根据NRF返回的NF的优先级来选择目标网元(目标网元存在多个的场景)。在1.6.4节中已经介绍了AMF根据DNN/切片信息
来选择SMF的场景和流程。
但在那一节里,NRF返回的SMF只有1个,因此不存在基于优先级来选择SMF的问题。
当NRF给AMF返回了多个SMF的信息,AMF应支持基于SMF的优先级进行选择。
- 如果多个SMF的优先级不同,则这几个SMF形成了主备的关系。
- 如果多个SMF优先级相同,则这几个SMF形成了负荷分担的关系。
具体行为是:
1)AMF应优先选择优先级高的SMF;
2)正常情况下,所有UE的流量都发给优先级高的SMF,优先级低的SMF不承载业务。
3)当优先级高的SMF故障,则AMF应选择优先级低的SMF为UE服务。
4)如果多个SMF的优先级相同,AMF应将UE的流量应该以负荷分担的方式发给SMF。
优先级对应的具体参数是nfInstancs下的priority参数,该值数值越小优先级越高。
也就是priority=1的网元比priority=2的网元优先级要高。
本节的场景假设如下:
- 某运营商为某省配置了一个SMF Pool,里边有两个SMF,这两个SMF都在NRF中进行了注册登记。并且为了测试本节AMF的功能,
将两个SMF的优先级设置为不相等。
(SMF1优先级为1,SMF2优先级为2。)
基于该场景,给出正常的信令流程和SMF1故障时的信令流程图如下:
1.7.1.2 消息举例
下面来看一个实际的AMF根据优先级来选择SMF的消息举例。
直接来看NRF返回的结果如下:
从消息中可以看出,NRF返回了两个NFInstance(网元实例)。这两个NF都是SMF,从nfType可以看出,并且具有不同的NFInstanceID和优先级。其中第1个SMF的优先级为1,会被AMF优先选中。而第2个SMF的优先级为2,会被作为备用SMF。正常情况下不承担流
量。
接下来的检查点和步骤:
1)在本例中,AMF应选择SMF1为UE服务,并在SMF1上建立UE的SM上下文。
2)通过模拟器模拟多个UE发起PDU会话建立流程,检查AMF是否将所有流量都转给了优先级更高的SMF1处理。
3)手工将SMF1 shutdown,并在NRF中去注册,模拟SMF1故障。检查AMF当感知到SMF1故障后,是否会在此后,将所有UE的PDU
会话建立都转发SMF2处理。即检查SMF是否切换成功。