對於運行 Android 12 或更高版本的設備,Android 提供對 5G 網絡切片的支持,即使用網絡虛擬化將單個網絡連接劃分為多個不同的虛擬連接,為不同類型的流量提供不同數量的資源。 5G 網絡切片允許網絡運營商將一部分網絡專門用於為特定客戶群提供特定功能。 Android 12 引入了以下 5G 企業網絡切片功能,網絡運營商可以向其企業客戶端提供這些功能:
完全託管設備的企業設備切片
對於向員工提供完全託管的公司設備的企業,網絡提供商可以為他們提供一個活動的企業網絡切片,公司設備上的所有流量都將路由到該切片。在 Android 12 中,Android 允許運營商通過 URSP 規則提供企業切片,而不是通過 APN 設置切片。
適用於具有工作配置文件的設備的企業業務應用程序切片
對於使用工作配置文件解決方案的企業,Android 12 允許設備將來自工作配置文件中所有應用的流量路由到企業網絡切片。企業可以通過設備策略控制器 (DPC)啟用此功能。
工作配置文件解決方案提供企業所需的自動級別的身份驗證和訪問控制,以確保只有來自工作配置文件中企業應用程序的流量被路由到企業網絡切片。無需修改工作配置文件中的應用即可顯式請求企業網絡切片。
5G 網絡切片在 AOSP 中的工作原理
Android 12 通過添加 AOSP 中的電話代碼庫和Tethering 模塊引入了對 5G 網絡切片的支持,以整合網絡切片所需的現有連接 API。
Android 電話平台提供 HAL 和電話 API,以支持基於核心網絡代碼提交的網絡請求的切片和調製解調器中的 5G 切片功能。圖 1 描述了 5G 網絡切片功能的組件。
圖 1. AOSP 中的 5G 網絡切片架構。
電話和連接平台支持:
- 將切片類別的網絡請求轉換為流量描述符,然後將其傳遞給調製解調器以進行 URSP 流量匹配和路由選擇
- 如果請求的切片不可用,則回退到默認網絡
- 將來自工作配置文件下所有應用的流量路由到相應的連接
支持企業切片
- 檢測設備上是否存在工作配置文件
- 檢查企業 IT 管理員使用的 DPC 提供的權限或路由方向
核心網絡服務包括對 Android 12 中的 Tethering 模塊的以下更改:
- 將大部分
android.net.*
公共或系統 API 類添加到 Tethering 模塊 擴展 Tethering 模塊邊界以包括:
-
f/b/core/java/android/net/…
-
f/b/services/net/…
-
f/b/services/core/java/com/android/server/connectivity/…
-
f/b/services/core/java/com/android/server/ConnectivityService.java
-
f/b/services/core/java/com/android/server/TestNetworkService.java
-
將 VPN 代碼移出網絡共享模塊
Android 12 將具有以下功能的代碼移至 Tethering 模塊:
- 接收來自應用程序的網絡連接請求
- 接收來自系統的請求(例如,“將這些應用程序放在企業切片上”;在 Android 12 中引入)
- 從系統向電話代碼發送請求,電話代碼嘗試通過 HAL API 和調製解調器設置網絡或切片
- 通知 netd 如何基於每個應用路由流量(在 Android 12 中引入)
- 通過
NetworkCallback
、getActiveNetwork
、getNetworkCapabilities
等ConnectivityManager
API 通知應用程序的網絡流量發生了什麼。
執行
要在設備上支持 5G 切片,設備必須具有支持具有setupDataCall_1_6
API 的 IRadio 1.6 HAL 的調製解調器。該 API 建立數據連接,包含以下支持 5G 切片的參數:
-
trafficDescriptor
:指定發送到調製解調器的流量描述符 sliceInfo
:指定在 EPDG 到 5G 切換的情況下要使用的網絡切片的信息matchAllRuleAllowed
:指定是否允許使用默認匹配所有 URSP 規則
調製解調器還必須實現getSlicingConfig
API,除非它被報告為不受getHalDeviceCapabilities
API 支持。
企業要求
下面介紹企業在 Android 企業部署中的設備上使用 5G 網絡切片的要求。
- 確保使用工作配置文件設置的完全託管或員工設備支持 5G SA,並且調製解調器支持
setupDataCall_1_6
API。 - 在切片設置和性能或 SLA 特性方面與運營商合作夥伴合作。
在設置有工作配置文件的設備上啟用 5G 切片
對於設置了工作配置文件的設備,AOSP 中默認關閉 5G 網絡切片。要啟用網絡切片,企業 IT 管理員可以通過 EMM DPC 以每個員工為基礎打開或關閉到企業網絡切片的工作配置文件應用程序流量路由,該 DPC 使用DevicePolicyManager
(DPM) API 中的setPreferentialNetworkServiceEnabled
方法(在 Android 中引入12)。
具有自定義 DPC 的 EMM 供應商必須集成DevicePolicyManager
API 以支持企業客戶端。
URSP 規則
本部分包括為運營商配置不同切片類別(包括企業、CBS、低延遲和高帶寬流量)的 URSP 規則的信息。為不同的切片類別配置 URSP 規則時,運營商必須使用以下 Android 特定值。
ID | 價值 | 描述 |
---|---|---|
操作系統標識 | 97a498e3-fc92-5c94-8986-0333d06e4e47 | Android 的 OSId 是使用命名空間 ISO OID 和名稱“Android”生成的版本 5 UUID。 |
運營商必須為每個分片流量配置 URSP 規則,流量描述符組件為“OS Id + OS App Id 類型”。例如,“ENTERPRISE”切片的值必須為0x97A498E3FC925C9489860333D06E4E470A454E5445525052495345
。該值是 OSId、OSAppId 的長度 ( 0x0A
) 和 OSAppId 的串聯。有關流量描述符組件類型的更多信息,請參閱3GPP TS 24.526 表 5.2.1 。
下表描述了不同切片類別的 OSAppId 值。
切片類別 | OSAppId | 描述 |
---|---|---|
企業 | 0x454E5445525052495345 | OSAppId 是字符串“ENTERPRISE”的字節數組表示 |
企業2 | 0x454E544552505249534532 | OSAppId 是字符串“ENTERPRISE2”的字節數組表示 |
企業3 | 0x454E544552505249534533 | OSAppId 是字符串“ENTERPRISE3”的字節數組表示 |
企業4 | 0x454E544552505249534534 | OSAppId 是字符串“ENTERPRISE4”的字節數組表示 |
企業5 | 0x454E544552505249534535 | OSAppId 是字符串“ENTERPRISE5”的字節數組表示 |
哥倫比亞廣播公司 | 0x454E544552505249534535 | OSAppId 是字符串“CBS”的字節數組表示 |
PRIORITIZE_LATENCY | 0x5052494f524954495a455f4c4154454e4359 | OSAppId 是字符串“PRIORITIZE_LATENCY”的字節數組表示 |
PRIORITIZE_BANDWIDTH | 0x5052494f524954495a455f42414e445749445448 | OSAppId 是字符串“PRIORITIZE_BANDWIDTH”的字節數組表示 |
URSP 規則示例
下表顯示了企業、CBS、低延遲、高帶寬和默認流量的示例 URSP 規則。
企業1
URSP 規則 #1(企業 1) | |
---|---|
優先級 | 1 (0x01) |
流量描述符#1 | |
操作系統 ID + 操作系統應用 ID 類型 | 0x97A498E3FC925C9489860333D06E4E470A454E5445525052495345 |
路由選擇描述符#1 | |
優先級 | 1 (0x01) |
組件 #1:S-NSSAI | SST:XX SD:YYYYYY |
組件 #2:DNN | 企業 |
路由選擇描述符#2 | |
優先級 | 2 (0x02) |
組件 #1:DNN | 企業 |
企業 2
URSP 規則 #2(企業 2) | |
---|---|
優先級 | 2 (0x02) |
流量描述符#1 | |
操作系統 ID + 操作系統應用 ID 類型 | 0x97A498E3FC925C9489860333D06E4E470A454E544552505249534532 |
路由選擇描述符#1 | |
優先級 | 1 (0x01) |
組件 #1:S-NSSAI | SST:XX SD:YYYYYY |
組件 #2:DNN | 企業2 |
路由選擇描述符#2 | |
優先級 | 2 (0x02) |
組件 #1:DNN | 企業2 |
企業3
URSP 規則 #3(企業 3) | |
---|---|
優先級 | 3 (0x03) |
流量描述符#1 | |
操作系統 ID + 操作系統應用 ID 類型 | 0x97A498E3FC925C9489860333D06E4E470A454E544552505249534533 |
路由選擇描述符#1 | |
優先級 | 1 (0x01) |
組件 #1:S-NSSAI | SST:XX SD:YYYYYY |
組件 #2:DNN | 企業3 |
路由選擇描述符#2 | |
優先級 | 2 (0x02) |
組件 #1:DNN | 企業3 |
企業 4
URSP 規則 #4(企業 4) | |
---|---|
優先級 | 4 (0x04) |
流量描述符#1 | |
操作系統 ID + 操作系統應用 ID 類型 | 0x97A498E3FC925C9489860333D06E4E470A454E544552505249534534 |
路由選擇描述符#1 | |
優先級 | 1 (0x01) |
組件 #1:S-NSSAI | SST:XX SD:YYYYYY |
組件 #2:DNN | 企業4 |
路由選擇描述符#2 | |
優先級 | 2 (0x02) |
組件 #1:DNN | 企業4 |
企業5
URSP 規則 #5(企業 5) | |
---|---|
優先級 | 5 (0x05) |
流量描述符#1 | |
操作系統 ID + 操作系統應用 ID 類型 | 0x97A498E3FC925C9489860333D06E4E470A454E544552505249534535 |
路由選擇描述符#1 | |
優先級 | 1 (0x01) |
組件 #1:S-NSSAI | SST:XX SD:YYYYYY |
組件 #2:DNN | 企業5 |
路由選擇描述符#2 | |
優先級 | 2 (0x02) |
組件 #1:DNN | 企業5 |
哥倫比亞廣播公司
以下是 CBS 流量的示例 URSP 規則:
URSP 規則 #6 (CBS) | |
---|---|
優先級 | 6 (0x06) |
流量描述符#1 | |
操作系統 ID + 操作系統應用 ID 類型 | 0x97A498E3FC925C9489860333D06E4E470A434253 |
路由選擇描述符#1 | |
優先級 | 1 (0x01) |
組件 #1:S-NSSAI | SST:XX SD:YYYYYY |
組件 #2:DNN | 哥倫比亞廣播公司 |
路由選擇描述符#2 | |
優先級 | 2 (0x02) |
組件 #1:DNN | 哥倫比亞廣播公司 |
低延遲
URSP 規則 #7(低延遲) | |
---|---|
優先級 | 7 (0x07) |
流量描述符#1 | |
操作系統 ID + 操作系統應用 ID 類型 | 0x97A498E3FC925C9489860333D06E4E470A5052494f524954495a455f4c4154454e4359 |
路由選擇描述符#1 | |
優先級 | 1 (0x01) |
組件 #1:S-NSSAI | SST:XX SD:YYYYYY |
組件 #2:DNN | 潛伏 |
路由選擇描述符#2 | |
優先級 | 2 (0x02) |
組件 #1:DNN | 潛伏 |
高帶寬
URSP 規則 #8(高帶寬) | |
---|---|
優先級 | 8 (0x08) |
流量描述符#1 | |
操作系統 ID + 操作系統應用 ID 類型 | 97A498E3FC925C9489860333D06E4E470A5052494f524954495a455f42414e445749445448 |
路由選擇描述符#1 | |
優先級 | 1 (0x01) |
組件 #1:S-NSSAI | SST:XX SD:YYYYYY |
組件 #2:DNN | 帶寬 |
路由選擇描述符#2 | |
優先級 | 2 (0x02) |
組件 #1:DNN | 帶寬 |
默認
URSP 規則 #9(默認) | |
---|---|
優先級 | 9 (0x09) |
流量描述符#1 | |
匹配所有 | 不適用 |
路由選擇描述符#1 | |
優先級 | 1 (0x01) |
組件 #1:S-NSSAI | SST:XX SD:YYYYYY |
測試
要測試 5G 網絡切片,請使用以下手動測試。
要設置設備進行測試,請執行以下操作:
確保URSP策略配置了與企業類別匹配的非默認規則,並且對應的路由選擇描述符將企業類別映射到企業切片;以及將流量定向到默認 Internet 切片的默認規則。
確保在設備上配置了工作配置文件。
選擇通過 DPC 使用網絡切片
要測試 5G 網絡切片行為,請執行以下操作:
- 驗證是否與企業切片建立了 PDU 會話(例如,通過使用特定的 IP 地址),並且工作配置文件中的應用程序使用該 PDU 會話。
- 驗證是否使用默認 Internet 切片建立了單獨的 PDU 會話,並且個人配置文件中的應用程序使用 PDU 會話。