【Free5GC】run.sh脚本测试流程

1、run.sh 测试的IP地址规划和参考拓扑

free5gc代码整体架构参考的是SBA 5GC架构,如下所示,free5gc涉及到的网元有AMF、SMF、UPF、AUSF、N3IWF、NRF、NSSF、PCF、UDM,各网元功能可以参考文章末尾解释说明:

【Free5GC】run.sh脚本测试流程_第1张图片

搭建run.sh测试环境需要创建两个虚拟机,一台名称为UERANSIM,作为(R)ANUE,另外一台名称为free5GC,作为5GC核心网,用于部署free5gc程序并启动run.sh测试程序,具体IP配置如下图和配置文件所示:
【Free5GC】run.sh脚本测试流程_第2张图片

报文中的IP地址规划如下

网元 接口 IP地址 端口号
AMF N2 192.168.135.101 38412
AMF SBI 127.0.0.18 8000
AUSF SBI 127.0.0.9 8000
NRF SBI 127.0.0.10 8000
NSSF SBI 127.0.0.31 8000
PCF SBI 127.0.0.7 8000
UDM SBI 127.0.0.3 8000
UDR SBI 127.0.0.4 8000
UDR MongoDB 127.0.0.1 27017
SMF SBI 127.0.0.2 8000
SMF N4 127.0.0.1 8805
UPF N4 127.0.0.8 8805
UPF N3 192.168.135.101 2152
UPF UE地址池 60.60.0.0/16 N/A

2、修改free5GC虚拟机配置文件

2.1、AMF配置文件

路径free5gc/config/amfcfg.yaml

info:
  version: 1.0.2
  description: AMF initial local configuration

configuration:
  amfName: AMF # the name of this AMF
  ngapIpList:  # the IP list of N2 interfaces on this AMF
    - 192.168.135.101 # 127.0.0.1
  sbi: # Service-based interface information
    scheme: http # the protocol for sbi (http or https)
    registerIPv4: 127.0.0.18 # IP used to register to NRF
    bindingIPv4: 127.0.0.18  # IP used to bind the service
    port: 8000 # port used to bind the service
  serviceNameList: # the SBI services provided by this AMF, refer to TS 29.518
    - namf-comm # Namf_Communication service
    - namf-evts # Namf_EventExposure service
    - namf-mt   # Namf_MT service
    - namf-loc  # Namf_Location service
    - namf-oam  # OAM service
  servedGuamiList: # Guami (Globally Unique AMF ID) list supported by this AMF
    #  = 
    - plmnId: # Public Land Mobile Network ID,  = 
        mcc: 208 # Mobile Country Code (3 digits string, digit: 0~9)
        mnc: 93 # Mobile Network Code (2 or 3 digits string, digit: 0~9)
      amfId: cafe00 # AMF identifier (3 bytes hex string, range: 000000~FFFFFF)
  supportTaiList:  # the TAI (Tracking Area Identifier) list supported by this AMF
    - plmnId: # Public Land Mobile Network ID,  = 
        mcc: 208 # Mobile Country Code (3 digits string, digit: 0~9)
        mnc: 93 # Mobile Network Code (2 or 3 digits string, digit: 0~9)
      tac: 1 # Tracking Area Code (uinteger, range: 0~16777215)
  plmnSupportList: # the PLMNs (Public land mobile network) list supported by this AMF
    - plmnId: # Public Land Mobile Network ID,  = 
        mcc: 208 # Mobile Country Code (3 digits string, digit: 0~9)
        mnc: 93 # Mobile Network Code (2 or 3 digits string, digit: 0~9)
      snssaiList: # the S-NSSAI (Single Network Slice Selection Assistance Information) list supported by this AMF
        - sst: 1 # Slice/Service Type (uinteger, range: 0~255)
          sd: 010203 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF)
        - sst: 1 # Slice/Service Type (uinteger, range: 0~255)
          sd: 112233 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF)
  supportDnnList:  # the DNN (Data Network Name) list supported by this AMF
    - internet
  nrfUri: http://127.0.0.10:8000 # a valid URI of NRF
  security:  # NAS security parameters
    integrityOrder: # the priority of integrity algorithms
      - NIA2
      # - NIA0
    cipheringOrder: # the priority of ciphering algorithms
      - NEA0
      # - NEA2
  networkName:  # the name of this core network
    full: free5GC
    short: free
  locality: area1 # Name of the location where a set of AMF, SMF and UPFs are located
  networkFeatureSupport5GS: # 5gs Network Feature Support IE, refer to TS 24.501
    enable: true # append this IE in Registration accept or not
    imsVoPS: 0 # IMS voice over PS session indicator (uinteger, range: 0~1)
    emc: 0 # Emergency service support indicator for 3GPP access (uinteger, range: 0~3)
    emf: 0 # Emergency service fallback indicator for 3GPP access (uinteger, range: 0~3)
    iwkN26: 0 # Interworking without N26 interface indicator (uinteger, range: 0~1)
    mpsi: 0 # MPS indicator (uinteger, range: 0~1)
    emcN3: 0 # Emergency service support indicator for Non-3GPP access (uinteger, range: 0~1)
    mcsi: 0 # MCS indicator (uinteger, range: 0~1)
  t3502Value: 720  # timer value (seconds) at UE side
  t3512Value: 3600 # timer value (seconds) at UE side
  non3gppDeregistrationTimerValue: 3240 # timer value (seconds) at UE side
  # retransmission timer for paging message
  t3513:
    enable: true     # true or false
    expireTime: 6s   # default is 6 seconds
    maxRetryTimes: 4 # the max number of retransmission
  # retransmission timer for NAS Deregistration Request message
  t3522:
    enable: true     # true or false
    expireTime: 6s   # default is 6 seconds
    maxRetryTimes: 4 # the max number of retransmission
  # retransmission timer for NAS Registration Accept message
  t3550:
    enable: true     # true or false
    expireTime: 6s   # default is 6 seconds
    maxRetryTimes: 4 # the max number of retransmission
  # retransmission timer for NAS Authentication Request/Security Mode Command message
  t3560:
    enable: true     # true or false
    expireTime: 6s   # default is 6 seconds
    maxRetryTimes: 4 # the max number of retransmission
  # retransmission timer for NAS Notification message
  t3565:
    enable: true     # true or false
    expireTime: 6s   # default is 6 seconds
    maxRetryTimes: 4 # the max number of retransmission

# the kind of log output
  # debugLevel: how detailed to output, value: trace, debug, info, warn, error, fatal, panic
  # ReportCaller: enable the caller report or not, value: true or false
logger:
  AMF:
    debugLevel: info
    ReportCaller: false
  NAS:
    debugLevel: info
    ReportCaller: false
  FSM:
    debugLevel: info
    ReportCaller: false
  NGAP:
    debugLevel: info
    ReportCaller: false
  Aper:
    debugLevel: info
    ReportCaller: false
  PathUtil:
    debugLevel: info
    ReportCaller: false
  OpenApi:
    debugLevel: info
    ReportCaller: false

2.2、SMF配置文件

路径free5gc/config/smfcfg.yaml

info:
  version: 1.0.2
  description: SMF initial local configuration

configuration:
  smfName: SMF # the name of this SMF
  sbi: # Service-based interface information
    scheme: http # the protocol for sbi (http or https)
    registerIPv4: 127.0.0.2 # IP used to register to NRF
    bindingIPv4: 127.0.0.2  # IP used to bind the service
    port: 8000 # Port used to bind the service
    tls: # the local path of TLS key
      key: free5gc/support/TLS/smf.key # SMF TLS Certificate
      pem: free5gc/support/TLS/smf.pem # SMF TLS Private key
  serviceNameList: # the SBI services provided by this SMF, refer to TS 29.502
    - nsmf-pdusession # Nsmf_PDUSession service
    - nsmf-event-exposure # Nsmf_EventExposure service
    - nsmf-oam # OAM service
  snssaiInfos: # the S-NSSAI (Single Network Slice Selection Assistance Information) list supported by this AMF
    - sNssai: # S-NSSAI (Single Network Slice Selection Assistance Information)
        sst: 1 # Slice/Service Type (uinteger, range: 0~255)
        sd: 010203 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF)
      dnnInfos: # DNN information list
        - dnn: internet # Data Network Name
          dns: # the IP address of DNS
            ipv4: 8.8.8.8
    - sNssai: # S-NSSAI (Single Network Slice Selection Assistance Information)
        sst: 1 # Slice/Service Type (uinteger, range: 0~255)
        sd: 112233 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF)
      dnnInfos: # DNN information list
        - dnn: internet # Data Network Name
          dns: # the IP address of DNS
            ipv4: 8.8.8.8
  plmnList: # the list of PLMN IDs that this SMF belongs to (optional, remove this key when unnecessary)
    - mcc: "208" # Mobile Country Code (3 digits string, digit: 0~9)
      mnc: "93" # Mobile Network Code (2 or 3 digits string, digit: 0~9)
  pfcp: # the IP address of N4 interface on this SMF (PFCP)
    addr: 127.0.0.1
  userplane_information: # list of userplane information
    up_nodes: # information of userplane node (AN or UPF)
      gNB1: # the name of the node
        type: AN # the type of the node (AN or UPF)
      UPF:  # the name of the node
        type: UPF # the type of the node (AN or UPF)
        node_id: 127.0.0.8 # the IP/FQDN of N4 interface on this UPF (PFCP)
        sNssaiUpfInfos: # S-NSSAI information list for this UPF
          - sNssai: # S-NSSAI (Single Network Slice Selection Assistance Information)
              sst: 1 # Slice/Service Type (uinteger, range: 0~255)
              sd: 010203 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF)
            dnnUpfInfoList: # DNN information list for this S-NSSAI
              - dnn: internet
                pools:
                  - cidr: 60.60.0.0/16
          - sNssai: # S-NSSAI (Single Network Slice Selection Assistance Information)
              sst: 1 # Slice/Service Type (uinteger, range: 0~255)
              sd: 112233 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF)
            dnnUpfInfoList: # DNN information list for this S-NSSAI
              - dnn: internet
                pools:
                  - cidr: 60.61.0.0/16
        interfaces: # Interface list for this UPF
          - interfaceType: N3 # the type of the interface (N3 or N9)
            endpoints: # the IP address of this N3/N9 interface on this UPF
              - 192.168.135.101 # 127.0.0.8
            networkInstance: internet # Data Network Name (DNN)
    links: # the topology graph of userplane, A and B represent the two nodes of each link
      - A: gNB1
        B: UPF
  nrfUri: http://127.0.0.10:8000 # a valid URI of NRF
  locality: area1 # Name of the location where a set of AMF, SMF and UPFs are located

# the kind of log output
  # debugLevel: how detailed to output, value: trace, debug, info, warn, error, fatal, panic
  # ReportCaller: enable the caller report or not, value: true or false
logger:
  SMF:
    debugLevel: info
    ReportCaller: false
  NAS:
    debugLevel: info
    ReportCaller: false
  NGAP:
    debugLevel: info
    ReportCaller: false
  Aper:
    debugLevel: info
    ReportCaller: false
  PathUtil:
    debugLevel: info
    ReportCaller: false
  OpenApi:
    debugLevel: info
    ReportCaller: false
  PFCP:
    debugLevel: info
    ReportCaller: false

2.3、UPF配置文件

路径free5gc/NFs/upf/build/config/upfcfg.yaml

info:
  version: 1.0.0
  description: UPF configuration

configuration:
  # the kind of log output
    # debugLevel: how detailed to output, value: trace, debug, info, warn, error, fatal, panic
    # ReportCaller: enable the caller report or not, value: true or false
  debugLevel: info
  ReportCaller: false

  # The IP list of the N4 interface on this UPF (Can't set to 0.0.0.0)
  pfcp:
    - addr: 127.0.0.8

  # The IP list of the N3/N9 interfaces on this UPF
  # If there are multiple connection, set addr to 0.0.0.0 or list all the addresses
  gtpu:
    - addr: 192.168.135.101  # 127.0.0.8
    # [optional] gtpu.name
    # - name: upf.5gc.nctu.me
    # [optional] gtpu.ifname
    # - ifname: gtpif

  # The DNN list supported by UPF
  dnn_list:
    - dnn: internet # Data Network Name
      cidr: 60.60.0.0/24 # Classless Inter-Domain Routing for assigned IPv4 pool of UE
      # [optional] dnn_list[*].natifname
      # natifname: eth0

3、修改UERANSIM 虚拟机配置文件

3.1、RAN配置文件

路径UERANSIM/config/free5gc-gnb.yaml

mcc: '208'          # Mobile Country Code value
mnc: '93'           # Mobile Network Code value (2 or 3 digits)

nci: '0x000000010'  # NR Cell Identity (36-bit)
idLength: 32        # NR gNB ID length in bits [22...32]
tac: 1              # Tracking Area Code

linkIp: 127.0.0.1   # gNB's local IP address for Radio Link Simulation (Usually same with local IP)
ngapIp: 192.168.135.102 #127.0.0.1   # gNB's local IP address for N2 Interface (Usually same with local IP)
gtpIp: 192.168.135.102 #127.0.0.1    # gNB's local IP address for N3 Interface (Usually same with local IP)

# List of AMF address information
amfConfigs:
  - address: 192.168.135.101 #127.0.0.1
    port: 38412

# List of supported S-NSSAIs by this gNB
slices:
  - sst: 0x1
    sd: 0x010203

# Indicates whether or not SCTP stream number errors should be ignored.
ignoreStreamIds: true

3.2、UE配置文件

路径UERANSIM/config/free5gc-ue.yaml

# IMSI number of the UE. IMSI = [MCC|MNC|MSISDN] (In total 15 or 16 digits)
supi: 'imsi-208930000000003'
# Mobile Country Code value
mcc: '208'
# Mobile Network Code value (2 or 3 digits)
mnc: '93'

# Permanent subscription key
key: '8baf473f2f8fd09487cccbd7097c6862'
# Operator code (OP or OPC) of the UE
op: '8e27b6af0e692e750f32667a3b14605d'
# This value specifies the OP type and it can be either 'OP' or 'OPC'
opType: 'OP'
# Authentication Management Field (AMF) value
amf: '8000'
# IMEI number of the device. It is used if no SUPI is provided
imei: '356938035643803'
# IMEISV number of the device. It is used if no SUPI and IMEI is provided
imeiSv: '4370816125816151'

# List of gNB IP addresses for Radio Link Simulation
gnbSearchList:
  - 127.0.0.1

# Initial PDU sessions to be established
sessions:
  - type: 'IPv4'
    apn: 'internet'
    slice:
      sst: 0x01
      sd: 0x010203

# List of requested S-NSSAIs by this UE
slices:
  - sst: 0x01
    sd: 0x010203

# Supported encryption and integrity algorithms by this UE
integrity:
  IA1: true
  IA2: true
  IA3: true
ciphering:
  EA1: true
  EA2: true
  EA3: true

4、执行Run.sh

1)、配置文件完成之后,首先在虚拟机free5GC上启动测试程序run.sh,如下:
【Free5GC】run.sh脚本测试流程_第3张图片

会逐个启动核心网各个网元,然后等待(R)AN的链接。

2)、然后在虚拟机ueransim上执行(R)AN连接到核心网,如下所示:
【Free5GC】run.sh脚本测试流程_第4张图片

(R)AN启动命令

虚拟机free5GC上也会输出链接成功日志,如下:
【Free5GC】run.sh脚本测试流程_第5张图片

free5g虚拟机中run.sh测试程序日志

3)、然后在虚拟机ueransim上执行UE通过(R)AN连接到核心网,如下所示:
【Free5GC】run.sh脚本测试流程_第6张图片

虚拟机ueransim上的(R)AN日志信息:

【Free5GC】run.sh脚本测试流程_第7张图片

虚拟机free5GC上的日志信息:

【Free5GC】run.sh脚本测试流程_第8张图片

4)、在ueransim虚拟机上执行ifconfig,如下:

【Free5GC】run.sh脚本测试流程_第9张图片

其中uesimtun0则是模拟出来的UE,使用这个虚拟网卡测试能否连接互联网,如下:

【Free5GC】run.sh脚本测试流程_第10张图片

至此,已经模拟出UE连接到5gc核心网,并且能够正常访问互联网的测试已经完成。

下面,通过抓包分析进一步了解run.sh测试环境下各个网卡的关联关系。

5、数据面报文分析

5.1、抓包步骤

1)、先禁用ueransim虚拟机中的ens32网卡,然后修改DNS解析服务器ip,再将ueransim虚拟机中模拟出的uesimtun0网卡设置为默认路由。(确保访问互联网的流量是通过虚拟网卡uesimtun0传送出去的)

root@ubuntu:/home/ubuntu# sudo ifconfig ens32 down
root@ubuntu:/home/ubuntu# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.135.0   0.0.0.0         255.255.255.0   U     0      0        0 ens33
root@ubuntu:/home/ubuntu# vim /etc/resolv.conf
nameserver 114.114.114.114 #暂时将 nameserver IP 改成 114.114.114.11
root@ubuntu:/home/ubuntu# ip r add default dev uesimtun0
root@ubuntu:/home/ubuntu# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         0.0.0.0         0.0.0.0         U     0      0        0 uesimtun0
192.168.135.0   0.0.0.0         255.255.255.0   U     0      0        0 ens33

2)、使用tcpdum命令同时抓取所有可能涉及到的网卡,如ueransim虚拟机中的ens33uesimtun0,以及free5GC虚拟机中的ens32ens33upfgtp网卡。

3)、通过模拟出的uesimtun0这个网卡访问百度的首页

root@ubuntu:/home/ubuntu# wget baidu.com
--2021-11-19 06:18:46--  http://baidu.com/
Resolving baidu.com (baidu.com)... 220.181.38.148, 220.181.38.251
Connecting to baidu.com (baidu.com)|220.181.38.148|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 81 [text/html]
Saving to: ‘index.html’

index.html                                           100%[===================================================================================================================>]      81  --.-KB/s    in 0s      

2021-11-19 06:18:46 (7.35 MB/s) - ‘index.html’ saved [81/81]

4)、停止抓包,将抓取到的报文分别通过wireshark打开,进行分析。

5.2、报文分析

【Free5GC】run.sh脚本测试流程_第11张图片

按照从 UE --> DN的顺序分别查看报文

1)、ueransim虚拟机中的uesimtun0网卡报文对应图中红色方块1,如下:

【Free5GC】run.sh脚本测试流程_第12张图片

可以得到用户UE IP地址为60.60.0.2,目的网址IP220.181.38.148

2)、ueransim虚拟机中的ens33网卡报文对应图中红色方块2,如下:

【Free5GC】run.sh脚本测试流程_第13张图片

可以得到此时http协议已经封装为gtp协议,其中标记部分为(R)AN-U IP以及UPF-U IP.

3)、free5GC虚拟机中的ens33网卡报文对应图中红色方块3,如下:

【Free5GC】run.sh脚本测试流程_第14张图片

可以看出内容和2)中报文一样。

4)、free5GC虚拟机中的upfgtp网卡对应

【Free5GC】run.sh脚本测试流程_第15张图片

此时已经把GTP层给去掉,剩余的UE IP和 目的网址IP

5)、free5GC虚拟机中的ens32网卡报文, 如下:

【Free5GC】run.sh脚本测试流程_第16张图片

此时源IP已经为ens32网卡IP地址,目的网址ip

6、总结

(R)AN网元各个接口IP地址在UERANSIM/config/free5gc-gnb.yaml进行配置

UPF网元各个接口IP地址在free5gc/NFs/upf/build/config/upfcfg.yaml进行配置

SMF网元各个接口IP地址在free5gc/config/smfcfg.yaml进行配置

AMF网元各个几口IP地址在free5gc/config/amfcfg.yaml进行配置

其他网元配置文件默认不改变

参考解释:

AMF:负 责 UE(User Equipment,用 户 终 端)的 注 册、连接、访问验证授权、移动性和可达性管理,在 UE 和 SMF(Session Management function,会话管理功能) 之间提供 SM(Session Management,会话管理)消息的 传 输,UE 和 SMSF(Short Message Service Function,短 消息服务功能)之间提供 SMS(Short Message Service, 短 信 息 服 务)消 息 的 传 输,提 供 UE 和 LMF(Location Management Function,定 位 管 理 功 能)之 间 以 及 RAN (Radio Access Network,无线局域网)和 LMF 之间的位 置服务消息的传输等。

AUSF(Authentication Server Function,认证服务器 功能):负责对 3GPP 和非 3GPP 的 UE 的接入进行认证。

SMF:负责与分离的数据面交互,根据自身配置或与 PCF(Policy Control Function,策略控制功能)交互来制 定策略和流模板,为会话选择和控制 UPF 和 SSC(Session and Service Continuity,会话和服务连续性)模式,管理 会话的建立、更新和释放以及维护着 PDU(Protocol Data Unit,协议数据单元)会话状态、群组管理、控制和协调 UPF 的收费数据收集和流量控制等。负责 UE 的 IP 分配 管理,具备 DHCP、ARP 代理或 IPv6 邻居请求代理功能。

UPF:响应 SMF 请求,作为移动基础设施 RAN 和 DN 之间的互连点,PDU 会话锚点负责完成用户平面上 GTP-U 协议的封装和解封装、分组路由和转发、数据包 检查、QoS 流映射等网络用户面的处理。完成用户平 面部分策略规则实施,例如门控、重定向和流量转向。 为计费以及合法拦截提供用户流量收集接口以及流量 使用报告。

PCF:负责用户的策略管理和实施,包括会话的策 略、移动性策略等。

UDM(Unified Data Management,统一数据管理): 存储和管理用户数据和配置文件。

UDR(Unified Data Repository,统一数据存储库): 支持 UDM 订阅数据、PCF 策略数据和应用程序数据等 的存储和检索。

UDSF(Unstructured Data Storage Function,非 结 构 化数据存储功能):NF 可在 UDSF 中存储和检索其未在 3GPP 规范中定义其结构的非结构化数据。

NSSF(Network Slice Selection Function,网 络 切 片 选择功能):选择服务于 UE 的网络切片实例的集合。

NRF(Network Repository Function,网 络 功 能 注 册 功能):负责网络功能实例及配置文件的注册、更新、注 销,使各 NF 可以相互发现选择并通过 API 进行通信。

NEF:作 为 外 部 用 户 接 入 的 API 网 关,负 责 将 5G 网络的能力开放给外部网元,同时网络内的 NF 可通过 NEF 向其他 NF 公开功能和事件,NEF 完成网络能力的 收集、分析和重组。

N3IWFNon-3GPP InterWorking Function,非 3GPP 互通功能):负责将不可信的非 3GPP 接入网(如 Wi-Fi) 接入到 5G 核心网。UEN3IWF 建立一个 IPsec 隧道, N3IWF 分别通过 N2 接口和 N3 接口接入 5G 核心网的 控制面和用户面。

UCMF(UE radio Capability Management Function, UE 无线能力管理功能):存储 UE 无线功能 ID。AMF 可 以订阅 UCMF 获得分配的 UE 无线电功能 ID 的新值,并 在本地缓存它们。

CHF(Charging Function,计费功能):负责用户计费、 配额授信等,也支持融合的在线和离线计费 。

LMF:负责向 5GC 注册或访问的 UE 的定位所需资 源的整体调度和协调,还可以计算或验证最终位置、速度 和精度。5G 可基于无线、终端以及用户面等多种手段 提供定位能力,但定位方法因访问类型而异,定位精度也 很大一部分取决于接入网所作的增强。

SMSF:用 于 提 供 NAS(non-access-stratum,非 接 入 层)短信服务。

5G-EIR(5G-Equipment Identity Register,5G 设备身 份注册):检查 PEI(Permanent Equipment Identifier,永久 设备标识符)的状态,例如检查其是否未列入黑名单。

NWDAF(Network Data Analytics Function,网 络 数 据分析功能):NWDAF 用人工智能技术从网络功能、 OAM(Operation Administration and Maintenance,运维管 理系统)和应用层获取的数据,进行分析,以生成需要的 数据结果。NF、OAM 或 AF 可以利用 NWDAF 的分析结果进行不同的优化操作。

SCP(Service Communication Proxy,服务通信代理): 在间接通信模式下,业务功能和网络路由功能分离,NF 服务使用者通过用 SCP 使用请求的 NF。从而各 NF 可 专心于业务功能的实现,路由控制等功能统一由 SCP 来 实现。

手段 提供定位能力,但定位方法因访问类型而异,定位精度也 很大一部分取决于接入网所作的增强。

SMSF:用 于 提 供 NAS(non-access-stratum,非 接 入 层)短信服务。

5G-EIR(5G-Equipment Identity Register,5G 设备身 份注册):检查 PEI(Permanent Equipment Identifier,永久 设备标识符)的状态,例如检查其是否未列入黑名单。

NWDAF(Network Data Analytics Function,网 络 数 据分析功能):NWDAF 用人工智能技术从网络功能、 OAM(Operation Administration and Maintenance,运维管 理系统)和应用层获取的数据,进行分析,以生成需要的 数据结果。NF、OAM 或 AF 可以利用 NWDAF 的分析结果进行不同的优化操作。

SCP(Service Communication Proxy,服务通信代理): 在间接通信模式下,业务功能和网络路由功能分离,NF 服务使用者通过用 SCP 使用请求的 NF。从而各 NF 可 专心于业务功能的实现,路由控制等功能统一由 SCP 来 实现。

SEPP(Security Edge Protection Proxy,安 全 边 缘 保 护代理):用于 5G 用户国际漫游,与他网运营商的 5G 互 通,负责 PLMN 间控制平面接口上的消息过滤和策略管理。

你可能感兴趣的:(【Free5GC】,Free5gc,5G,C,GO)