《5G核心网原理与实践》实践篇 · AMF 网元功能
AMF查NRF选择SMF,NRF返回FQDN,继续查DNS得到IP
爱卫生
2024年02月02日 23:11
背景介绍:
1)网元信息需要在NRF中注册,除了能力信息(支持的服务),还有自己的寻址信息,这个寻址信息可
以是FQDN或者可以是IP地址。
2)以PDU会话建立流程为例,
当AMF根据UE请求消息中RequestType=“initial request”判定UE请求一个新的PDU会话,AMF执行SMF
选择功能以选择SMF。
3)AMF去查NRF的时候,得到的结果有可能是FQDN,而不是IP地址。
这样AMF还需要再去查DNS得到最后的SMF的地址。从而继续后面的PDU会话建立流程。
注册FQDN而不是IP有啥好处?
- 因为更灵活。FQDN可以指向一个动态的NF地址,甚至可以指向一个NF Set。同时DNS查询还有SRV、
NAPTR记录可以支持负荷分担,更好的在Pool内做负荷分担。
log实战:
一 AMF向NRF发起查询,选择SMF,得到SMF的业务级的FQDN。
1)AMF向NRF发起查询,get请求,request-uri如下:
/nnrf-disc/v1/nf-instances?service-names=nsmf-pdusession&target-nf-type=SMF&requester-nftype=AMF&snssais=%5B%7B%22sst%22%3A9%2C%22sd%22%3A%22000001%22%7D%5D&dnn=a
pnxxx
2)NRF返回200 OK,消息中包含了FQDN,如下图所示。
主要参数解读如下:
- pgwfqdn:这个参数是在SMF上本地配置,并且在NRF中注册的。
如果配了,则代表该SMF是和PGW-C合设的,如果没有配置,则代表没有合设,5G Only。
- ipv4Addresses:这个是节点级的全局地址,优先级较低。如果有颗粒度更细的业务级地址或FQDN,就
以业务级地址或FQDN为准。所以该参数在这里可以忽略。
- nfServices-->fqdn和ipendpoints,就是nsmf-pdusession这个服务的fqdn和端口号。amf接下来根据这个
fqdn查dns。
- ipendpoints有smf侧的SBI接口的http端口号。因为dns是不会返回端口号信息的。需要nrf提供。
二 AMF向DNS发起查询,得到SMF的业务地址。
如下图:
可以看到AMF向DNS发起了DNS查询,是A记录的查询。并且
DNS还返回了两个地址。