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