跳到主要内容

OmniBSF

OmniBSF 实现了 5G 核心的 绑定支持功能 (BSF)。BSF 维护一个 PCF 绑定的注册表:对于每个 PDU 会话,它存储 UE 身份(IPv4 地址、IPv6 前缀、MAC 地址或 SUPI)与 DNN 和 S-NSSAI 之间的映射,以及为该会话提供服务的 PCF 实例。其他网络功能 - AF/NEF、SMF 或另一个 PCF - 查询 BSF 以发现哪个 PCF 负责给定会话,从而确保该会话的所有策略信令都指向同一个 PCF 实例。

OmniBSF 在 SBI 基础路径 /nbsf-management/v1 下公开 Nbsf_Management 服务 (3GPP TS 29.521)。绑定完全存储在 ETS 表中,并为并发、低延迟查找进行了索引。绑定具有可配置的生存时间 (TTL);后台清理程序定期删除过期条目。OmniBSF 在启动时向 NRF 注册�� NF 配置文件,并发送定期心跳。

文档

  • 操作指南 - 核心概念、3GPP 参考、SBI 端点以及关键绑定生命周期程序和序列图。
  • 配置参考 - 完整的运行时配置参考,包括参数表、绑定生命周期调优和日志记录。
  • 指标与监控 - Prometheus 指标参考和示例 PromQL 查询。
  • 故障排除 - 常见问题及解决方案。
  • 管理 API - 面向操作员的 OAM REST 接口,用于状态、统计、绑定检查/删除和运行时配置控制。

架构概述

功能概述

  • 完整的 Nbsf_Management 生命周期 - 根据 TS 29.521 注册、发现、更新(合并补丁)和注销 PCF 绑定。
  • 多键发现 - 绑定可以通过 UE IPv4、UE IPv6 前缀、MAC 地址、SUPI 或 DNN+S-NSSAI 解析,并具有定义的解析优先级。
  • 重复保护 - 对于已经有绑定的 UE IP,第二次注册将被拒绝,并返回 403 ExtProblemDetails,其中返回现任 PCF 的地址,允许调用者重用它。
  • 支持特性协商 - suppFeat 位图通过与 BSF 支持集 (0x01, BindingUpdate) 进行按位与操作进行协商。
  • 绑定 TTL 和自动清理 - 每个绑定都带有过期时间戳;后台清理程序在固定间隔内删除过期绑定。
  • 并发 ETS 存储 - 绑定及其索引存储在可读并发的 ETS 表中,以便在负载下进行低延迟查找。
  • NRF 集成 - 自动 NF 注册和心跳,具有运行时可调的容量/优先级。
  • 操作员管理 API 和 Prometheus 指标 用于可观察性和运行时控制。

快速开始

OmniBSF 从应用程序环境键 :omnibsf 读取其配置。标准部署机制是 config/runtime.exs,它将每个值从操作系统环境变量映射到内置默认值。

config :omnibsf,
sbi_scheme: System.get_env("SBI_SCHEME", "http"),
sbi_addr: System.get_env("SBI_ADDR", "127.0.0.15"),
sbi_port: String.to_integer(System.get_env("SBI_PORT", "7777")),
nrf_uri: System.get_env("NRF_URI", "http://127.0.0.1:7777"),
mcc: System.get_env("MCC", "999"),
mnc: System.get_env("MNC", "70"),
prometheus_metrics_port: String.to_integer(System.get_env("PROMETHEUS_PORT", "9571")),
heartbeat_interval: String.to_integer(System.get_env("HEARTBEAT_INTERVAL", "10000"))

完整的参数文档、绑定生命周期调优和日志记录说明请参见 配置参考