《5G核心网原理与实践》实践篇 · AMF 网元功能
AMF支持DNN纠错功能
爱卫生
2024年03月04日 22:13
本文是《5GC原理与实践之实践篇AMF篇》图文专栏的52篇。
DNN纠错是指,如果UE在PDU会话建立请求中携带了未签约或者不合规的DNN,AMF有能力根据配置或
者签约数据完成纠错,帮助UE完成PDU会话的建立。
FAQ:
Q1:为什么UE会携带错误的DNN?
A1:典型的场景,像UE在国外买了机器回来用(买一张国内运营商的卡),但国外买的手机也是运营商
的定制机,比如说在日本买的苹果,拿回来用,可能会带上日本运营商的DNN,这时候就需要纠错。
Q2:AMF怎么能看到DNN?DNN不是会话管理NAS-SM消息吗,对AMF不是应该不可见吗?
A2:没有。PDU会话建立请求里的DNN是放在NAS-SM消息外面的,对AMF来说是可见的。如图:
测试步骤:
1)UE发起5G注册,AMF获取到了SMF选择签约数据smf-select-data,这个里边就有SMF服务的DNN和
切片列表,也是属于UE签约的DNN。
解读:
在这个smf-select-data中可以看出,SMF一共服务3个切片,分别是9-000001、002和003。
其中9-000001下面有3个DNN。ims、xxnet和Internet9,其中Internet9为缺省DNN
(defaultDnnIndicator = True)。
2)UE发起PDU会话建立请求,在请求消息中携带了一个未签约的DNN=apn19。
如果AMF此时不做纠错,那它有可能就会用UE请求的切片+UE请求的DNN(apn19)去查NRF,
结果可能会导致NRF返回的SMF结果为空,无法完成SMF的选择,导致PDU会话建立失败。
3)AMF启动DNN纠错功能,将DNN纠错为签约的默认DNN=Internet9,并向NRF发起查询,请求NRF返
回SMF的地址,从而完成SMF的选择。
纠错后的log如下,可以看到AMF向NRF发起的GET请求中已经完成纠错。
/nnrf-disc/v1/nf-instances?service-names=nsmf-pdusession&target-nf-type=SMF&requester-nftype=AMF&snssais=[{"sst":9,"sd":"000001"}]&dnn=Internet9]。
4)最后SMF在PDU会话建立接受消息中返回了纠错后的DNN。