技術問答:當UE處於CM-IDLE時,N4介面上的BAR如何控制下行鏈路封包緩衝和資料通知?
當UE進入CM-IDLE時,其PDU工作階段不會消失。然而,先前用於下行鏈路轉送的N3使用者平面路徑可能已不再作用。若此時從外部網路抵達新資料,封包仍可到達UPF,但無法像處於CM-CONNECTED時那樣立即透過N3轉送至gNB。因此,UPF必須決定是否應緩衝封包、可保留多少封包、可緩衝多久,以及何時應通知控制平面下行鏈路資料已抵達。
在N4介面的PFCP規則框架內,BAR(緩衝動作規則)為此緩衝行為提供規則。然而,BAR本身不會獨立決定是否應進行緩衝。緩衝動作由FAR中的Apply Action觸發,而BAR則定義應如何執行該緩衝。此區別是理解FAR與BAR關係的基礎。
BAR定義UPF如何緩衝封包
當UPF接收到封包時,會先使用PDR識別流量,再遵循該PDR所參照的FAR來決定下一步動作。若FAR要求正常轉送,UPF會根據轉送參數轉送封包。若FAR的Apply Action包含BUFF,封包便不會立即送往目的地介面,而是進入緩衝程序。
此處BAR變得重要。FAR可參照BAR,告知UPF應如何緩衝受影響的封包。此關係可總結如下:
PDR識別封包 → FAR選擇BUFF/NOCP → BAR定義緩衝行為。
常見的誤解是將BUFF與BAR視為同一件事。事實並非如此。BUFF回答「此封包現在是否應緩衝?」;BAR則回答「選定緩衝後,封包應在何種條件下被緩衝?」僅查看FAR中的BUFF,而不檢查相關BAR或UPF的本機緩衝組態,只能獲得使用者平面行為的部分樣貌。
NOCP也常與此情境相關。當UPF正在緩衝下行鏈路封包時,NOCP可要求UPF通知控制平面下行鏈路資料已抵達,以便SMF啟動後續控制平面程序。因此,緩衝與通知是以兩項協調任務的形式發生:使用者平面暫時保留封包,同時將事件回報給控制平面。

最典型的BAR情境發生在UE進入CM-IDLE之後
當UE從CM-CONNECTED轉換至CM-IDLE時,最容易理解BAR的角色。假設UE已完成註冊與PDU工作階段建立。連線期間,N3使用者平面路徑可用,UPF可將下行鏈路封包直接轉送至gNB。
經過一段非作用期後,接取側可能釋放連線,UE進入CM-IDLE。PDU工作階段仍存在,但先前作用中的N3使用者平面轉送路徑已不再立即可用。外部伺服器未必知曉此狀態變更,因此新的下行鏈路IP封包仍可能經由N6抵達UPF。
這產生了關鍵問題:UPF已接收資料,但目前沒有可用的N3路徑將資料傳遞給UE。
在此階段,SMF會透過N4更新使用者平面規則,使相關FAR從立即轉送改為緩衝行為。在典型情況下,Apply Action中會啟用BUFF和NOCP,而FORW不再作為目前的下行鏈路動作。當新的下行鏈路封包抵達時,UPF會根據適用的緩衝原則保留封包,並向SMF回報下行鏈路資料已抵達。
收到通知後,SMF可與AMF協調,啟動讓UE恢復可達所需的程序,包括適用時的傳呼。一旦UE回到可承載使用者平面流量的狀態,且N3路徑恢復,SMF會再次更新UPF規則,使下行鏈路處理從緩衝改回轉送。緩衝的封包隨後可繼續送往UE。
因此,BAR不只是靜態的記憶體配置規則。其真正目的是協助使用者平面度過下行鏈路封包已抵達但立即轉送尚不可行的暫時期間。
主要BAR參數定義緩衝的界限
緩衝無法無限期持續。若允許UPF為無法連線的UE保留無限制的下行鏈路資料,使用者平面記憶體可能被不必要地耗盡。因此,BAR為緩衝行為提供界限。視PFCP程序與UPF能力而定,這些參數可包含BAR ID、封包數限制、緩衝持續時間及通知延遲參數。
BAR ID
BAR ID在PFCP工作階段內唯一識別緩衝規則,並允許相關FAR參照正確的BAR。在疑難排解期間,僅看到Create BAR並不能證明該規則會影響正在分析的流量。也應檢查對應的FAR,確認其實際參照哪個BAR ID。
建議緩衝封包數
建議緩衝封包數指出建議UPF為適用流量緩衝的封包數量。一旦超過建議限制,額外封包可能被丟棄。此參數控制緩衝容量界限,而非緩衝時間。
其存在與否也取決於UPF功能支援。若PFCP追蹤中看不到該欄位,單憑這點並不證明缺少緩衝控制。分析時也應考量UPF是否支援相關能力,以及是否改為使用本機緩衝參數。
DL緩衝持續時間
DL緩衝持續時間定義在適用程序下,下行鏈路封包可繼續於UPF中緩衝的期間。這反映一項重要設計原則:緩衝是使用者平面傳遞恢復期間的暫時機制,而非永久封包儲存。
若UE長時間無法連線,緩衝程序需要明確的終止條件;否則使用者平面資源可能無限期被佔用。
下行鏈路資料通知延遲
在支援的程序與能力組合中,下行鏈路資料通知延遲可控管UPF在接收第一個下行鏈路封包後,通知控制平面之前等待的時間。此參數影響何時送出通知,而非封包是否應被緩衝。
因此,其行為應在特定PFCP程序、網路實作與UPF能力的背景下詮釋,而非僅從參數名稱推斷。

為何PFCP追蹤中有時會缺少完整的BAR參數?
這是分析BAR時最容易誤解的重點之一。要緩衝的封包數、緩衝持續時間及其他緩衝參數,並非總是必須透過N4動態提供。營運商或設備供應商也可在UPF中本機設定緩衝原則。
採用此實作時,SMF可能只需要動態變更FAR動作。例如,UE進入CM-IDLE後,SMF可使用PFCP工作階段修改將相關FAR更新為BUFF/NOCP。一旦UPF看到緩衝動作,便可套用本機設定的封包數與持續時間限制。
因此,追蹤中出現下列觀察結果並非自動異常:
FAR要求BUFF,但PFCP訊息未包含工程師預期的完整BAR參數。
至少應額外檢查兩個問題:UPF是否使用本機設定的緩衝值,以及UPF是否支援相關BAR參數的動態提供。否則,實作差異可能被誤認為SMF缺少規則。
本機設定也有實務優點。可減少部分N4訊號,並調適不同UPF實作之間的能力差異。代價是部分緩衝行為不再完全顯示於單一PFCP追蹤中,因此多供應商疑難排解可能需要同時分析訊號與檢查UPF的本機設定。
當下行鏈路資料在CM-IDLE抵達時,應如何理解PFCP流程?
將BAR放回完整程序而非視為孤立資訊元素時,較容易理解。
當UE處於CM-CONNECTED時,N3路徑可用,UPF根據正常FAR轉送下行鏈路封包。經過非作用期後,接取側連線被釋放。一旦SMF得知使用者平面連線狀態已變更,便使用PFCP工作階段修改來更新相關UPF規則。
重點是PDU工作階段並未被刪除。相反地,目前的下行鏈路使用者平面路徑暫時無法進行立即傳遞。因此,相關FAR可透過啟用BUFF及必要的控制平面通知動作,進入緩衝行為,而BAR或本機UPF設定則提供詳細的緩衝條件。
當網際網路伺服器或應用程式隨後送出新的下行鏈路資料時,封包先抵達UPF。UPF使用PDR識別流量,再套用相關聯的FAR。由於目前動作不再是FORW,封包被緩衝。同時,UPF透過PFCP報告機制向SMF回報下行鏈路資料已抵達。
接著,SMF與AMF側程序協調,讓UE恢復可達,並重建使用者平面路徑。一旦N3轉送再次可用,N4上的FAR會再度更新為正常轉送,UPF即可繼續將下行鏈路流量傳遞給UE。
整體邏輯可總結為:
UE進入CM-IDLE → N3暫時不可用 → SMF更新FAR/BAR → 下行鏈路資料抵達UPF → UPF緩衝並報告 → 控制平面恢復UE可達性 → N3恢復 → FAR回到轉送。
因此,BAR控制的是資料已抵達但傳遞路徑尚未恢復期間的使用者平面行為。

BAR疑難排解應遵循四個步驟:動作、緩衝、通知與復原
BAR相關問題很少以明確的「BAR錯誤」呈現。更常見的症狀是UE進入閒置狀態後的第一筆下行鏈路流量行為異常。應用程式可能在作用中正常運作,但非作用期後下一則訊息出現明顯延遲。另一種情況是UE成功被傳呼並重新連線,但前幾個下行鏈路封包已遺失。
這些問題可分四階段分析。
步驟1:確認FAR確實進入緩衝模式
從相關下行鏈路PDR參照的FAR開始,確認UE進入CM-IDLE後發生了預期的PFCP工作階段修改。檢查Apply Action是否從正常FORW行為變更為該情境預期的BUFF及通知動作。
若FAR仍嘗試將封包轉送至已不可用的使用者平面路徑,則問題主要不在BAR。
步驟2:判斷UPF正在套用哪些緩衝規則
檢查FAR參照的BAR ID,再檢視對應的Create BAR或Update BAR參數。若PFCP追蹤未包含完整緩衝參數,請繼續檢查UPF的本機緩衝設定與支援能力。
若封包數限制太小,部分最初的下行鏈路封包可能在UE恢復可達之前就被丟棄。若觀察到的緩衝行為與預期差異過大,也應驗證BAR關聯本身。
步驟3:確認UPF已回報下行鏈路資料抵達
僅緩衝封包並不會恢復與UE的通訊。若控制平面不知道新的下行鏈路資料已抵達,便不會啟動後續的傳呼或使用者平面復原程序。因此,應在追蹤中檢查適當的PFCP工作階段報告及SMF的正確處理。
若封包已在UPF中緩衝,但後續沒有控制平面程序,疑難排解應從BAR參數轉向UPF至SMF的報告路徑及後續SMF程序。
步驟4:確認使用者平面復原後轉送已恢復
當UE再次可達後,確認SMF正確更新N4規則,使下行鏈路FAR從緩衝改為正常轉送,並恢復必要的N3轉送參數。
若傳呼成功且UE已返回,但FAR仍停留在BUFF,系統可能進入UE可達但封包仍留在UPF的狀態。因此,BAR疑難排解應持續到使用者平面轉送路徑完全恢復為止。
BAR的核心價值
在PFCP規則框架內,BAR並不像PDR和FAR那樣參與每個正常轉送的封包。其重要性在一個特定但關鍵的情境中最為明顯:工作階段仍存在,但目前的使用者平面路徑無法立即傳遞新抵達的下行鏈路資料。
FAR將封包處理動作從FORW改為BUFF,BAR定義緩衝界限,UPF暫時保留封包並回報其抵達,而SMF與AMF等控制平面功能則協調UE可達性的恢復。這些機制共同銜接了從暫時傳遞不可用到恢復作用中使用者平面路徑的過渡。
因此,BAR不應只被理解為「Buffering Action Rule = 封包緩衝規則」。更有用的詮釋是:BAR告知UPF如何管理已抵達但在使用者平面傳遞路徑暫時不可用期間的下行鏈路封包。一旦將BAR與CM-IDLE、FAR BUFF/NOCP、PFCP工作階段報告及後續傳呼與使用者平面復原程序一併檢視,其在N4介面上的角色便清晰許多。
常見問題
FAR中的BAR與BUFF有何差異?
BUFF是FAR中的Apply Action,表示相符封包應被緩衝而非立即轉送。BAR則定義該緩衝應如何執行,例如封包數限制、緩衝持續時間或其他適用條件。簡言之,FAR決定需要緩衝,BAR則定義緩衝如何執行。
BAR可以獨立於FAR運作嗎?
BAR不應被視為獨立的封包比對規則。封包先由PDR比對,PDR參照相關FAR。當該FAR要求緩衝並參照適用的BAR時,BAR參數才會用來控制這些封包的緩衝方式。
當UE進入CM-IDLE時,為何不直接丟棄下行鏈路封包?
CM-IDLE並不代表PDU工作階段已刪除。外部應用程式可能在使用者平面傳遞路徑僅暫時不可用期間繼續傳送資料。短期緩衝可在控制平面恢復UE可達性的同時保留部分下行鏈路流量,有助於降低應用程式連續性中斷。
缺少建議緩衝封包數是否代表BAR設定錯誤?
不一定。此參數是否出現取決於PFCP程序、UPF能力與實作方式。封包數限制及其他緩衝行為也可在UPF中本機設定,因此應檢查能力支援、BAR關聯及設備端緩衝設定。
為何UPF已緩衝下行鏈路封包,但UE仍無法接收資料?
緩衝只是程序的一部分。UPF還必須向SMF回報下行鏈路資料抵達,控制平面必須啟動恢復UE可達性所需的程序,SMF必須在使用者平面路徑再次可用後更新FAR與N3轉送參數。任一階段失敗都可能讓封包留在緩衝中或最終被丟棄。