多 PCF 部署中的真正挑戰,並不在於存在多個 PCF 執行個體本身。問題在於,同一個 UE 在不同服務程序中很容易被路由到不同的 PCF。PDU 工作階段建立期間,SMF 可能已經與某個 PCF 建立政策關聯。之後,當 IMS 語音服務觸發、AF 發起新的政策請求時,負載平衡可能把該請求送到另一個 PCF。一旦發生這種情況,兩個階段之間的政策脈絡就會被切斷,從而可能造成 VoNR QoS 流、PCC 規則與工作階段政策不一致。
BSF,也就是 Binding Support Function,專門用來解決這類問題:同一使用者透過不同介面發出的請求,需要到達同一個 PCF。BSF 不會產生 PCC 規則,也不會取代 PCF 進行政策決策。它的核心職責是維護 UE 工作階段與關聯 PCF 之間的綁定關係,使後續請求到來時,服務消費者能夠找到先前已參與該使用者政策控制的 PCF。
為什麼多 PCF 網路可能選錯 PCF
要理解 BSF 的價值,可以先回顧 4G 中已經存在的類似問題。在 EPC 架構中,PGW 透過 Gx 介面與 PCRF 通訊,而 IMS 網域中的 P-CSCF 則透過 Rx 介面傳送政策授權請求。當部署多個 PCRF 時,Gx 與 Rx 兩條訊號路徑最終必須到達同一個 PCRF,否則後續 IMS 服務請求就無法沿用工作階段早期已建立的政策脈絡。
在 4G 網路中,常見做法是使用 DRA 進行 Diameter 路由與工作階段綁定。以一個典型案例為例:PGW 為 IMS APN 建立 PDN 連線時,Gx 請求會經 DRA1 路由到 PCRF1,DRA1 記錄 IMSI、UE IP 位址與 PCRF1 之間的關係。如果後續來自 P-CSCF 的 Rx 訊息因負載平衡被送到 DRA2,而 DRA2 又將請求轉送給 PCRF2,那麼 PCRF2 並不知道先前在 PGW 端已建立的工作階段脈絡。
其影響遠不只是「選錯伺服器」這麼簡單。PCRF2 沒有既有的 PCC 規則狀態,因此透過 Rx 收到的新媒體政策請求,無法與先前透過 Gx 建立的政策正確關聯。在 4G 部署中,可以藉由多個 DRA 之間即時同步綁定資訊來解決這個問題,但這類實作通常具有廠商專屬性,會明顯增加多廠商部署與長期維運的複雜度。
在 5GC 中,雖然網路功能與介面已改變,但對政策一致性的要求仍然相同。SMF 透過 N7 與 PCF 通訊,AF 則透過 N5 請求政策授權。在完整的 VoNR 政策流程中,AF 先提供應用流與 QoS 要求,PCF 產生對應的 PCC 規則,之後由 SMF 與 UPF 執行這些規則。如果同一 UE 的不同請求到達不同 PCF,政策連續性仍可能被破壞。
BSF 實際上把過去依賴專屬同步機制的綁定能力標準化。它維護目前 UE 工作階段與負責該工作階段的 PCF 之間的關係,幫助確保後續政策請求能重新路由到先前已參與該工作階段的 PCF 執行個體。
BSF 綁定哪些資訊?
從實作角度來看,BSF 可以視為一張動態維護的「UE 對政策歸屬」表。某個 PCF 參與 UE 的 PDU 工作階段政策控制後,會向 BSF 註冊所需的綁定資訊。之後其他網路功能可使用 UE 識別碼與工作階段特徵查詢 BSF,取得對應 PCF 的位址資訊。
一筆典型綁定紀錄可能包含 UE IP 位址、SUPI、DNN、S-NSSAI,以及關聯 PCF 的位址。在需要與傳統 Diameter 介面互通的部署中,紀錄還可能包含 PCF 的 Diameter 主機名稱或 FQDN。
這些欄位並不是為了資訊完整而單純收集。每個欄位在篩選與識別正確綁定時都有明確作用:
-
UE IP: 依目前使用者平面位址直接定位綁定,是最常用的查詢參數之一。
-
SUPI: 從使用者身分層級識別訂閱者,有助於確保綁定對應到正確的 UE。
-
DNN: 區分同一 UE 使用的不同資料網路,例如 IMS 與一般網際網路服務。
-
S-NSSAI: 在採用網路切片的 5G 部署中,進一步識別該工作階段所屬的網路切片。
-
PCF 位址: 提供服務消費者存取所選 PCF 所需的實際位址資訊。
-
Diameter 主機名稱/FQDN: 在 SBI 與 Diameter 共存的部署中,為傳統 Diameter 路由提供對應參考。
因此,BSF 綁定不能被簡化成 UE 位址與 PCF 位址之間單純的一對一對應。單一 UE 可以擁有多個 PDU 工作階段,也可能存取不同 DNN 或不同網路切片。如果查詢條件過於寬泛,回傳的 PCF 可能與目前服務內容不相符。
在實際部署中,綁定粒度應與政策控制粒度一致。這對 IMS 服務尤其重要,因為政策連續性非常關鍵。如果 UE 有多個切片或多個資料網路內容,DNN 與 S-NSSAI 不應從綁定條件中省略。
Nbsf_Management 應該如何使用?
BSF 透過 SBI 提供 Nbsf_Management 服務。這項服務不是由大量互不相關的 API 堆疊而成,而是提供涵蓋綁定紀錄完整生命週期的四項核心操作:註冊、探索、更新與取消註冊。在實際部署中,這四項操作可直接對應 PCF 綁定的建立、使用、維護與移除。
Register:先建立綁定
PCF 被選中並開始參與 UE 的政策控制後,需要向 BSF 註冊綁定。典型請求如下:
POST .../pcfBindings
請求內容可包含 UE IP 位址、SUPI、DNN、S-NSSAI、PCF 位址以及對應 FQDN 等重要欄位。BSF 成功建立綁定紀錄後,會回傳:
201 Created
時序是這個階段最常見的實作陷阱之一。必須在後續任何服務端查詢發起之前完成綁定註冊。否則,當 AF 端請求或相容 Diameter 的請求到達網路時,BSF 可能還沒有對應的 PCF 綁定,導致查詢失敗。
Discovery:從工作階段脈絡中找回既有 PCF
Discovery 操作最能顯示 BSF 的實際價值。服務消費者使用目前可取得的 UE 資訊發起查詢:
GET .../pcfBindings?query_parameters
查詢參數可包含 UE IP 位址、SUPI 或 GPSI、DNN、S-NSSAI,以及其他相關識別碼。如果找到相符的綁定,BSF 回傳:
200 OK
回應中包含對應的 PCF 位址,必要時也包含 Diameter 主機名稱或 FQDN。在標準化架構中,服務消費者可包括 NEF、AF、NWDAF 等功能。在仍需支援傳統 Rx 路由的部署中,回傳的綁定資訊也可用於為後續訊號選擇正確的 PCF。
Update 與 Deregister:維護綁定生命週期
如果綁定資訊發生變更,可使用 PATCH 更新既有紀錄:
PATCH .../pcfBindings/{bindingId}
更新成功後回傳 200 OK。當工作階段釋放、PCF 不再服務該 UE,或綁定失效時,應使用下列方式刪除紀錄:
DELETE .../pcfBindings/{bindingId}
刪除成功通常回傳 204 No Content。在實際部署中,取消註冊步驟不應被忽略。如果過期綁定長期留在 BSF 中,同一訂閱者日後建立新工作階段時可能誤配到舊 PCF。這類問題往往比單純缺少綁定更難排查。
如何排查 N7 與 Rx 綁定問題
從完整訊號路徑來看,BSF 工作流程可分成三個階段:先註冊綁定,再查詢綁定,最後將後續政策訊號路由回原始 PCF。明確掌握這個順序後,排查 VoNR 政策問題會比沒有方向地大量擷取訊號有效率得多。
第一階段:建立 PDU 工作階段並註冊 PCF
BSF 執行個體上線後,會先向 NRF 註冊自身能力與位址資訊。接著 UE 為 IMS DNN 建立 PDU 工作階段,SMF 向 PCF 請求政策控制。PCF 被選中後,會呼叫 Nbsf_Management_Register,把 UE 對 PCF 的綁定儲存在 BSF。
此時,BSF 中可能包含類似以下的綁定紀錄:
UE IP1 + DNN1 + S-NSSAI1 + SUPIxx → PCF1 UE IP2 + DNN2 + S-NSSAI2 + SUPIyy → PCF2
第二階段:VoNR 通話觸發政策查詢
當 UE 發起 VoNR 通話時,IMS 網域會觸發新的政策授權請求。在標準 5GC 架構中,AF 與 PCF 透過 N5 介面交換政策資訊。在部分仍沿用傳統 IMS Diameter 訊號的部署中,P-CSCF 可能仍使用 Rx/AAR 流程。
這個階段的關鍵問題很直接:政策請求應該傳送給哪個 PCF?
請求方不應只依一般負載平衡邏輯再選擇另一個 PCF,而應先使用 UE 位址、DNN、S-NSSAI 等資訊查詢 BSF。BSF 配對既有綁定紀錄,並回傳已經負責該 UE 工作階段的 PCF 執行個體。
第三階段:將後續訊號路由回原始 PCF
確認正確 PCF 後,後續政策請求都應傳送到同一 PCF。這樣,PDU 工作階段建立時形成的政策脈絡,以及 VoNR 媒體階段產生的新政策請求,就會持續保留在同一個政策控制執行個體上。PCF 因此能夠依完整工作階段脈絡產生並維護 PCC 規則。
如果 VoNR 通話能夠發起,但 QoS 政策行為異常、IMS 媒體規則不一致,或只有部分訂閱者出現間歇性故障,在立刻把問題歸因於無線網路之前,應先檢查 BSF 綁定路徑。
實際排查可分為四個步驟。第一,確認 PDU 工作階段建立後確實執行了 BSF Register 操作。第二,核對 BSF 中儲存的 UE IP 位址、SUPI、DNN、S-NSSAI 是否正確。第三,檢查後續 Discovery 請求所使用的查詢條件能否唯一配對原始綁定。第四,確認回傳的 PCF 位址或 Diameter 識別碼與最初參與 N7 政策控制的 PCF 完全一致。
也需要考量部署架構。在某些網路中,BSF 可能與 SMF 共置部署,此時封包擷取位置與內部呼叫流程可能與獨立 BSF 部署不同。不過基本原則不變:網路必須在 UE 工作階段與負責該工作階段的 PCF 之間維持穩定綁定。
常見問題
BSF 與 NRF 都會執行網路功能選擇嗎?
不會。兩者角色不同。NRF 協助網路功能探索可用的 NF 執行個體及其能力,比較接近服務登錄中心;BSF 則儲存某個特定 UE 工作階段與 PCF 之間已建立的綁定。簡單來說,NRF 回答的是「有哪些 PCF 可用?」,而 BSF 回答的是「目前這個 UE 工作階段已經由哪個 PCF 負責?」
一個 UE 只能有一筆 PCF 綁定嗎?
不一定。綁定並不是只由 UE 身分決定,也可能取決於 DNN、S-NSSAI 與特定 PDU 工作階段脈絡。如果同一 UE 存取不同資料網路或網路切片,對應綁定可能需要分別維護。
BSF 與 SMF 可以部署在同一個網路功能執行個體中嗎?
可以。兩者可採共置部署。在這種情況下,外部可看到的訊號順序可能與獨立 BSF 部署不同,但 UE 對 PCF 的綁定仍必須被儲存並使用。因此排查問題時,應先確認實際廠商的部署架構。
BSF 查詢失敗時首先應該檢查什麼?
先檢查三項:綁定紀錄是否成功建立、查詢參數是否與註冊時使用的值一致,以及綁定是否已過期或被過早刪除。如果 BSF 能回傳紀錄,也要確認回傳的 PCF 位址、FQDN 或 Diameter 識別碼是否指向預期的 PCF 執行個體。