Service Based Interface - ianchen0119/Introduce-to-5GC GitHub Wiki

Service Based Interface

SBI 是 3GPP 提出的 Interface,所有的 5G NF(UPF 除外) 都使用 SBI 溝通。

5G SBI Protocols

  • 接受 HTTP/2 作為應用層的 Protocol。
  • 接受 TCP 作為傳輸層的 protocol
  • 接受 JSON 格式作為 serialization protocol
  • REST-style API 設計,每一個 NF 要提供什麼樣的服務、這些服務會由哪些 NF 存取都已經被 3GPP 定義好了。

發想:

  • 使用 REST-style API 以及 JSON 應該是為了可讀性,如果想要降低 SBI 的 Latency 或許可以嘗試非 3GPP 定義的作法,像是使用 gRPC 替代之類的。

Example 1

根據 3GPP 的定義,NF 之間的溝通都會依據 SBI (Service Based Interface) 進行實作,以 Nudm_UECM (UECM) service 為例,其他使用該服務的 NF 為 Consumer,提供服務的 UDM 在這裡則扮演 Producer。 如果其他 NF 想要註冊該服務,只需要調用 Nudm_UECM_Registration 即可。

Description: Register UE’s serving NF (if NF Type is AMF, SMSF, or NWDAF) or Session’s serving NF (if NF Type is SMF) on the UDM.

Example 2

SBI 讓網元之間可以使用一般的 http 請求溝通,並且 NF 在實作 Producer 的邏輯時,也可以採用 RestFul API 的設計。

Service Based Architecture

SBA Service Framework

SBA Example NF Services

  • AMF (Access Management Function)
    • Communication – enables other NFs to communication with the UE / the access network
    • Mobility Event Exposure – other NFs can subscribe to notifications about the UE’s mobility events
  • SMF (Session Management Function)
    • PDUSessions – Protocol Data Units exchange with the UE, including policy and charging.
  • UDM (Unified Data Management)
    • Context – provides information about UEs serving NF & status (讓其他 NF 不需要存放 Context,實現無狀態的目的)
    • UEAuthentciation – provides authentication data & info

Reference