本文目標:
PDU (Packet Data Unit) Session 是為 UE 與 DN (Data Network) 提供 PDU 連線服務的資料通道。
PDU Session 有以下幾種類型:
換句話說,我們的手機向核心網路完成註冊以後,如果有資料需要傳送還需要向核心網路發起 PDU Session 的建立程序。
與 PDU Session 有關的 Procedure 有:
PDU Session Establishment 在很多情況下都會觸發,像是:
PDU Session Release 用於釋放與指定 PDU Session 有關的資源,包括:
當 UE 與核網之間流通的 QoS parameters 修改時,該流程就會被觸發。
觸發 Modification 的角色可以是 UE 也可以是核網端,核網端會在相關的 Policy 修改時由 PCF 通知 SMF 觸發該流程。
作者的話:
上面提到的 Policy 修改場景可以想成是使用者向電信業者修改了電話資費,所以新的資費對應到的 QoS 設定會需要套用到核心網路端。
QoS Flow 是 PDU Session 裡面的最小單位,一個 Session 可以有很多個 QoS Flow,每一個 QoS Flow 都有不同的上下行流量設定。
上圖取自 https://www.5gworldpro.com/5g-knowledge/what-is-pdu-session-in-5g.html。
以上圖為例,UE 一共建立了兩個 PDU Session,一個用於 Internet 連線,一個用於 IMS Voice。
作者的話:
DRB: Data Radio Bearer 是 UE 與基地台之間的乘載,每一個 DRB 都會有基地台為它分配的 DRB ID。
1. S-NSSAI
用於識別該 PDU Session 屬於哪一塊網路切片。
2. PDU Session ID
儲存於 UE 與核心網路之間的 Identifier。
3. Request Type
在本文的最一開始有提到,PDU Session 有:
一共 4 個類型,Request Type 就是用來表示 PDU Session 類別的 IE。
4. DNN
表示該 PDU Session 提供連線的網路名稱。
5. User Plane Security Information
表示是否對 PDU Session 啟用加密與完整性保護。
6. SSC Mode (Service and Session Continuity mode)
SSC Mode 用於保證 PDU Session 服務的連續性。
5G System 支援三種不同的 SSC Mode,當 PDU Session 被建立時會被指定其中一個 SSC Mode,在整個 Session 的生命週期中 SSC Mode 都不會被改變。
Mode 1
從始至終 UE 都不會改由其他 UPF 服務。
Mode 2
如果 UE 要更換 Serving SMF 或是 UPF,需要先釋出當前的 PDU Session,等待釋放後才能建立新的 Session。
TS 23.502 4.3.51 有針對 SSC Mode 2 下 ULCL 的流程圖。
Mode 3
比起 Mode 2,Mode 3 允許 UE 先建立新的 PDU Session,再將原本用來服務的 Session 釋出,在這個模式下的服務性應當是最好的。
補充:
SSC Mode 3 僅支援 IP Type 的 PDU Session,接入的話可以是 3GPP 或是 Non-3GPP 類型。
QoS (Quality of Service) 是一種控制機制,它能夠對資料流的流量與速率進行控制。
一般來說,電信營運商都會有 QoS 的需求,因為他們需要對使用者的流量、網路速度進行控制,以台灣的 4G 吃到飽方案來看,費率從 199 - 1899 不等,方案之間的差異除了每個月固定的市話額度不同,剩下的就跟 QoS 有關了,本篇文章會搭配 3GPP TS 23.501 與筆者個人的初淺的理解來向大家說明 QoS,如果內容有誤歡迎大家在留言處指正。
5G QoS model 以 5G QoS flow 為基礎,每一個 5G QoS flow 都可以依據是否有保證速率劃分成:
兩者的差異也如上面所說,GBR flow 會有一定的服務品質保證,而 Non-GBR flow 只會提供一個最大的傳輸速率,這倆者因為功能上的不同所以會有不同的 Information Element (IE),這些 IE 也會在稍後進行補充。
在更深入的探討 GBR 與 Non-GBR 的差別之前,筆者統整了一些 TS 23.501 上關於 QoS Flow 的重要描述:
1. QoS Flow is the finest granularity of QoS differentiation in the PDU Session.
5G 網絡以 Data Packet 的形式將 UE 和外部網絡 PDN (Public Data Network) 之間的資料進行傳輸。
PDU (Packet Data Unit) Session 則是 UE 與外部網路之間的一個數據通道,每一個 PDU Session 可以根據不同的規劃分配不同的 QoS Rule,而最好細分 QoS 的方式就是使用 QoS flow。
2. A QoS Flow ID (QFI) is used to identify a QoS Flow in the 5G System.
如果在 PDU Session 內有多個 User Plan traffic 具有同樣的 QFI,那麼這些 traffic 會得到相同的對待,這裡的對待是指:排程、門檻值...等等。
QFI 會被封裝在 GTP-U 封包的 Header 當中(也就是 N3 與 N9 這兩個 Reference point),QFI 的值可以跟 5QI 相同也可以被動態的指派。
3. QoS Any QoS Flow is characterized by:
對每一個 QoS Flow 來說,QoS Profile 都需要包含:
5QI (5G QoS ID)
5QI 是一個用來識別 QoS 特徵的參考,不同的 5QI 會 mapping 不同的 QoS 參數,這些參數包含了 Packet Error Rate
、Resource Type
、Priority Level
...等.
等。
詳細的資料請參考 TS 23.501 Standardized 5QI to QoS characteristics mapping 章節。
ARP (Allocation and Retention Priority)
對 Non-GBR QoS Flow 來說,它可能會包含:
RQA (Reflective QoS Attribute)
如果 SMF 並沒有提供 DL QoS Rule 且 UE 支援 Reflective QoS 的功能,那麼 UE 就能透過收到的 DL Data 反推可能的 QoS Rule 並套用它。
只有當 RAN (透過 N2 從 SMF)收到 RQA Enable 的訊息時,RAN 才會傳輸與這個 QoS Flow 對應的 RAN 資源的 RQI 給 UE。
對 GBR QoS Flow 來說,它必須包含:
補充:MFBR 或是 GFBR 的單位都是 kb/s。
且可能包含:
4. 每一個 PDU Session 至少都需要有一個套用預設 QoS Rule 設定的 QoS flow,且這個 flow 必須是 Non-GBR flow。
當 UE 發起 PDU establishment request,SMF 會收到由 AMF 發送的 Nsmf_PDUSession_CreateSMContext,這時 SMF 需要做:
此外,QoS 會在以下場景需要修改:
1. PDU Session Modification
有可能是:
2. PCF 發起 SM Policy Association Modification procedure
取自 TS 29.513 Figure 5.2.2.2-1 Interactions between SMF, PCF and CHF for PCF-initiated SM Policy Association
Modification procedure
這個流程有可能是因為 UE 的 Subscriber information 更新所引起(更新後發現 UE 不符合當前 QoS 的資格)。
3. [SBI] Nsmf_PDUSession_UpdateSMContext
本篇提到的內容基本上都可以在 TS 23.501 找到,但筆者認為規格書的介紹實在過於抽象、難以理解,所以寫了一份筆記希望可以幫助大家學習。
順帶一提,在過程中我也發現原來 LinkedIn 上有這麼多 5G 相關的學習資源,有很多核心網路與 RAN 的概念都可以透過滑 LinkedIn 學會,算是意外之中的收穫(?)