สำหรับอุปกรณ์ที่ใช้ Android 12 หรือสูงกว่านั้น Android ให้การสนับสนุนการแบ่งส่วนเครือข่าย 5G การใช้การจำลองเสมือนเครือข่ายเพื่อแบ่งการเชื่อมต่อเครือข่ายเดียวออกเป็นการเชื่อมต่อเสมือนที่แตกต่างกันหลายรายการซึ่งให้ปริมาณทรัพยากรที่แตกต่างกันสำหรับการรับส่งข้อมูลประเภทต่างๆ การแบ่งส่วนเครือข่าย 5G ช่วยให้ผู้ให้บริการเครือข่ายสามารถทุ่มเทส่วนหนึ่งของเครือข่ายเพื่อมอบคุณสมบัติเฉพาะสำหรับลูกค้ากลุ่มใดกลุ่มหนึ่ง Android 12 นำเสนอความสามารถในการแบ่งส่วนเครือข่าย 5G ระดับองค์กรต่อไปนี้ ซึ่งผู้ให้บริการเครือข่ายสามารถให้บริการแก่ลูกค้าองค์กรของตนได้:
การแบ่งส่วนอุปกรณ์ระดับองค์กรสำหรับอุปกรณ์ที่มีการจัดการเต็มรูปแบบ
สำหรับองค์กรที่จัดหาอุปกรณ์ของบริษัทที่ มีการจัดการเต็มรูปแบบ ให้กับพนักงาน ผู้ให้บริการเครือข่ายสามารถจัดหาเครือข่ายองค์กรที่ใช้งานอยู่ได้เพียงชิ้นเดียว โดยที่การรับส่งข้อมูลทั้งหมดบนอุปกรณ์ของบริษัทจะถูกส่งไปยัง ใน Android 12 นั้น Android อนุญาตให้ผู้ให้บริการจัดหาการแบ่งส่วนองค์กรผ่านกฎ URSP แทนที่จะตั้งค่าส่วนต่างๆ ผ่าน APN
การแบ่งแอปธุรกิจระดับองค์กรสำหรับอุปกรณ์ที่มีโปรไฟล์งาน
สำหรับองค์กรที่ใช้โซลูชัน โปรไฟล์งาน Android 12 อนุญาตให้อุปกรณ์กำหนดเส้นทางการรับส่งข้อมูลจากแอปทั้งหมดในโปรไฟล์งานไปยังส่วนเครือข่ายขององค์กร องค์กรสามารถเปิดใช้งานความสามารถนี้ผ่าน Device Policy Controller (DPC)
โซลูชันโปรไฟล์งานมอบระดับการตรวจสอบสิทธิ์และการควบคุมการเข้าถึงอัตโนมัติที่องค์กรต้องการ เพื่อให้แน่ใจว่าเฉพาะการรับส่งข้อมูลจากแอปองค์กรในโปรไฟล์งานเท่านั้นที่จะกำหนดเส้นทางไปยังส่วนเครือข่ายขององค์กร แอปในโปรไฟล์งานไม่จำเป็นต้องแก้ไขเพื่อขอส่วนแบ่งเครือข่ายขององค์กรอย่างชัดเจน
การแบ่งส่วนเครือข่าย 5G ทำงานอย่างไรใน AOSP
Android 12 แนะนำการสนับสนุนสำหรับการแบ่งเครือข่าย 5G ผ่านการเพิ่มฐานรหัสโทรศัพท์ใน AOSP และ โมดูล Tethering เพื่อรวม API การเชื่อมต่อที่มีอยู่ซึ่งจำเป็นสำหรับการแบ่งส่วนเครือข่าย
แพลตฟอร์มโทรศัพท์ Android มี HAL และ API ทางโทรศัพท์เพื่อรองรับการแบ่งส่วนตามคำขอของเครือข่ายที่ยื่นโดยรหัสเครือข่ายหลักและความสามารถในการแบ่งส่วนข้อมูล 5G ในโมเด็ม รูปที่ 1 อธิบายส่วนประกอบของคุณสมบัติการแบ่งเครือข่าย 5G
รูปที่ 1. สถาปัตยกรรมการแบ่งเครือข่าย 5G ใน AOSP
แพลตฟอร์มโทรศัพท์และการเชื่อมต่อรองรับ:
- การแปลงคำขอเครือข่ายสำหรับหมวดหมู่สไลซ์เป็น ตัวอธิบายการรับส่งข้อมูล ซึ่งจะถูกส่งต่อไปยังโมเด็มสำหรับการจับคู่การรับส่งข้อมูล URSP และการเลือกเส้นทาง
- ย้อนกลับไปที่เครือข่ายเริ่มต้นถ้าสไลซ์ที่ร้องขอไม่พร้อมใช้งาน
- กำหนดเส้นทางการรับส่งข้อมูลจากแอปทั้งหมดภายใต้โปรไฟล์งานไปยังการเชื่อมต่อที่เกี่ยวข้อง
รองรับการแบ่งส่วนองค์กร
- การตรวจจับการมีอยู่ของโปรไฟล์งานบนอุปกรณ์
- การตรวจสอบสิทธิ์หรือเส้นทางการกำหนดเส้นทางจาก DPC ที่ใช้โดยผู้ดูแลระบบไอทีขององค์กร
บริการเครือข่ายหลักรวมถึงการเปลี่ยนแปลงต่อไปนี้ในโมดูล Tethering ใน Android 12:
- เพิ่ม
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 ออกจากโมดูล Tethering
Android 12 จะย้ายโค้ดที่มีความสามารถดังต่อไปนี้ไปยังโมดูล Tethering:
- รับคำขอจากแอพสำหรับการเชื่อมต่อเครือข่าย
- การรับคำขอจากระบบ (เช่น "วางแอปเหล่านี้ในสไลซ์ขององค์กร" ซึ่งเปิดตัวใน Android 12)
- การส่งคำขอจากระบบไปยังรหัสโทรศัพท์ที่พยายามตั้งค่าเครือข่ายหรือสไลซ์โดยผ่าน HAL API และโมเด็ม
- แจ้งวิธีกำหนดเส้นทางการรับส่งข้อมูลแบบ netd สำหรับแต่ละแอป (แนะนำใน Android 12)
- แจ้งแอปว่าเกิดอะไรขึ้นกับการรับส่งข้อมูลเครือข่ายผ่าน API ของ
ConnectivityManager
เช่นNetworkCallback
,getActiveNetwork
,getNetworkCapabilities
การดำเนินการ
เพื่อรองรับการแบ่งส่วน 5G บนอุปกรณ์ อุปกรณ์จะต้องมีโมเด็มที่รองรับ IRadio 1.6 HAL ซึ่งมี setupDataCall_1_6
API API นี้ตั้งค่าการเชื่อมต่อข้อมูลและรวมพารามิเตอร์ต่อไปนี้เพื่อรองรับการแบ่งส่วนข้อมูล 5G:
-
trafficDescriptor
: ระบุ Traffic Descriptor ที่ส่งไปยังโมเด็ม -
sliceInfo
: ระบุข้อมูลสำหรับเครือข่ายสไลซ์ที่จะใช้ในกรณีที่มีการส่งมอบ EPDG เป็น 5G -
matchAllRuleAllowed
: ระบุว่าอนุญาตให้ใช้กฎ URSP ที่ตรงกันทั้งหมดที่เป็นค่าเริ่มต้นหรือไม่
โมเด็มยังต้องปรับใช้ getSlicingConfig
API เว้นแต่จะได้รับรายงานว่าไม่ได้รับการสนับสนุนโดย getHalDeviceCapabilities
API
ข้อกำหนดขององค์กร
ข้อมูลต่อไปนี้อธิบายข้อกำหนดสำหรับองค์กรในการใช้การแบ่งเครือข่าย 5G บนอุปกรณ์ในการปรับใช้ Android ระดับองค์กร
- ตรวจสอบว่าอุปกรณ์ที่มีการจัดการเต็มรูปแบบหรืออุปกรณ์พนักงานที่ตั้งค่าด้วยโปรไฟล์งานนั้นรองรับ 5G SA พร้อมโมเด็มที่รองรับ
setupDataCall_1_6
API - ทำงานร่วมกับพันธมิตรผู้ให้บริการในการตั้งค่าสไลซ์และประสิทธิภาพหรือคุณสมบัติ SLA
เปิดใช้งานการแบ่งส่วนข้อมูล 5G บนอุปกรณ์ที่ตั้งค่าด้วยโปรไฟล์งาน
สำหรับอุปกรณ์ที่ตั้งค่าโปรไฟล์งาน การแบ่งส่วนเครือข่าย 5G จะปิดโดยค่าเริ่มต้นใน AOSP ในการเปิดใช้งานการแบ่งส่วนเครือข่าย ผู้ดูแลระบบไอทีขององค์กรสามารถเปิดหรือปิดการกำหนดเส้นทางการรับส่งข้อมูลแอปของโปรไฟล์งานไปยังส่วนแบ่งเครือข่ายขององค์กรแบบรายบุคคลผ่าน EMM DPC ซึ่งใช้วิธี setPreferentialNetworkServiceEnabled
ใน DevicePolicyManager
(DPM) API (แนะนำใน Android 12).
ผู้จำหน่าย EMM ที่มี DPC ที่กำหนดเองต้องผสานรวม DevicePolicyManager
API เพื่อรองรับไคลเอ็นต์ระดับองค์กร
กฎ URSP
ส่วนนี้ประกอบด้วยข้อมูลสำหรับผู้ให้บริการในการกำหนดค่ากฎ URSP สำหรับหมวดหมู่สไลซ์ต่างๆ รวมถึงองค์กร, CBS, เวลาแฝงต่ำ และการรับส่งข้อมูลแบนด์วิธสูง เมื่อกำหนดค่ากฎ URSP สำหรับหมวดหมู่สไลซ์ต่างๆ ผู้ให้บริการต้องใช้ค่าเฉพาะของ Android ต่อไปนี้
ไอดี | ค่า | คำอธิบาย |
---|---|---|
OSId | 97a498e3-fc92-5c94-8986-0333d06e4e47 | OSId สำหรับ Android คือ UUID เวอร์ชัน 5 ที่สร้างขึ้นด้วยเนมสเปซ ISO OID และชื่อ "Android" |
ผู้ให้บริการต้องกำหนดค่ากฎ URSP สำหรับการรับส่งข้อมูลแต่ละส่วนที่มีองค์ประกอบตัวบอกการรับส่งข้อมูลเป็น "OS Id + OS App Id type" ตัวอย่างเช่น ส่วน "ENTERPRISE" ต้องมีค่า 0x97A498E3FC925C9489860333D06E4E470A454E5445525052495345
ค่านี้เป็นการต่อกันของ OSId ความยาวของ OSAppId ( 0x0A
) และ OSAppId สำหรับข้อมูลเพิ่มเติมเกี่ยวกับประเภทองค์ประกอบตัวบอกปริมาณการใช้งาน โปรดดูที่ 3GPP TS 24.526 ตาราง 5.2.1
ตารางต่อไปนี้อธิบายค่า OSAppId สำหรับหมวดหมู่สไลซ์ต่างๆ
หมวดสไลซ์ | OSAppId | คำอธิบาย |
---|---|---|
องค์กร | 0x454E5445525052495345 | OSAppId คือการแสดงอาร์เรย์ไบต์ของสตริง "ENTERPRISE" |
ENTERPRISE2 | 0x454E544552505249534532 | OSAppId คือการแสดงอาร์เรย์ไบต์ของสตริง "ENTERPRISE2" |
องค์กร3 | 0x454E544552505249534533 | OSAppId คือการแสดงอาร์เรย์ไบต์ของสตริง "ENTERPRISE3" |
ENTERPRISE4 | 0x454E544552505249534534 | OSAppId คือการแสดงอาร์เรย์ไบต์ของสตริง "ENTERPRISE4" |
องค์กร5 | 0x454E544552505249534535 | OSAppId คือการแสดงอาร์เรย์ไบต์ของสตริง "ENTERPRISE5" |
ซีบีเอส | 0x454E544552505249534535 | OSAppId คือการแสดงอาร์เรย์ไบต์ของสตริง "CBS" |
PRIORITIZE_LATENCY | 0x5052494f524954495a455f4c4154454e4359 | OSAppId คือการแสดงอาร์เรย์ไบต์ของสตริง "PRIORITIZE_LATENCY" |
PRIORITIZE_BANDWIDTH | 0x5052494f524954495a455f42414e445749445448 | OSAppId คือการแสดงอาร์เรย์ไบต์ของสตริง "PRIORITIZE_BANDWIDTH" |
ตัวอย่างกฎ URSP
ตารางต่อไปนี้แสดงตัวอย่างกฎ URSP สำหรับองค์กร, CBS, เวลาแฝงต่ำ, แบนด์วิดท์สูง และการรับส่งข้อมูลเริ่มต้น
องค์กร 1
กฎ URSP #1 (องค์กร1) | |
---|---|
ลำดับความสำคัญ | 1 (0x01) |
ตัวบอกการจราจร #1 | |
OS Id + OS App Id type | 0x97A498E3FC925C9489860333D06E4E470A454E5445525052495345 |
ตัวบอกการเลือกเส้นทาง #1 | |
ลำดับความสำคัญ | 1 (0x01) |
ส่วนประกอบ #1: S-NSSAI | SST:XX SD:ปปปปป |
ส่วนประกอบ #2: DNN | องค์กร |
ตัวบอกการเลือกเส้นทาง #2 | |
ลำดับความสำคัญ | 2 (0x02) |
ส่วนประกอบ #1: DNN | องค์กร |
องค์กร 2
กฎ URSP #2 (องค์กร2) | |
---|---|
ลำดับความสำคัญ | 2 (0x02) |
ตัวบอกการจราจร #1 | |
OS Id + OS App Id type | 0x97A498E3FC925C9489860333D06E4E470A454E544552505249534532 |
ตัวบอกการเลือกเส้นทาง #1 | |
ลำดับความสำคัญ | 1 (0x01) |
ส่วนประกอบ #1: S-NSSAI | SST:XX SD:ปปปปป |
ส่วนประกอบ #2: DNN | องค์กร2 |
ตัวบอกการเลือกเส้นทาง #2 | |
ลำดับความสำคัญ | 2 (0x02) |
ส่วนประกอบ #1: DNN | องค์กร2 |
องค์กร 3
กฎ URSP #3 (องค์กร3) | |
---|---|
ลำดับความสำคัญ | 3 (0x03) |
ตัวบอกการจราจร #1 | |
OS Id + OS App Id type | 0x97A498E3FC925C9489860333D06E4E470A454E544552505249534533 |
ตัวบอกการเลือกเส้นทาง #1 | |
ลำดับความสำคัญ | 1 (0x01) |
ส่วนประกอบ #1: S-NSSAI | SST:XX SD:ปปปปป |
ส่วนประกอบ #2: DNN | องค์กร3 |
ตัวบอกการเลือกเส้นทาง #2 | |
ลำดับความสำคัญ | 2 (0x02) |
ส่วนประกอบ #1: DNN | องค์กร3 |
องค์กร 4
กฎ URSP #4 (องค์กร4) | |
---|---|
ลำดับความสำคัญ | 4 (0x04) |
ตัวบอกการจราจร #1 | |
OS Id + OS App Id type | 0x97A498E3FC925C9489860333D06E4E470A454E544552505249534534 |
ตัวบอกการเลือกเส้นทาง #1 | |
ลำดับความสำคัญ | 1 (0x01) |
ส่วนประกอบ #1: S-NSSAI | SST:XX SD:ปปปปป |
ส่วนประกอบ #2: DNN | องค์กร4 |
ตัวบอกการเลือกเส้นทาง #2 | |
ลำดับความสำคัญ | 2 (0x02) |
ส่วนประกอบ #1: DNN | องค์กร4 |
องค์กร 5
กฎ URSP #5 (องค์กร5) | |
---|---|
ลำดับความสำคัญ | 5 (0x05) |
ตัวบอกการจราจร #1 | |
OS Id + OS App Id type | 0x97A498E3FC925C9489860333D06E4E470A454E544552505249534535 |
ตัวบอกการเลือกเส้นทาง #1 | |
ลำดับความสำคัญ | 1 (0x01) |
ส่วนประกอบ #1: S-NSSAI | SST:XX SD:ปปปปป |
ส่วนประกอบ #2: DNN | องค์กร5 |
ตัวบอกการเลือกเส้นทาง #2 | |
ลำดับความสำคัญ | 2 (0x02) |
ส่วนประกอบ #1: DNN | องค์กร5 |
ซีบีเอส
ต่อไปนี้คือตัวอย่างกฎ URSP สำหรับการรับส่งข้อมูล CBS:
กฎ URSP #6 (CBS) | |
---|---|
ลำดับความสำคัญ | 6 (0x06) |
ตัวบอกการจราจร #1 | |
OS Id + OS App Id type | 0x97A498E3FC925C9489860333D06E4E470A434253 |
ตัวบอกการเลือกเส้นทาง #1 | |
ลำดับความสำคัญ | 1 (0x01) |
ส่วนประกอบ #1: S-NSSAI | SST:XX SD:ปปปปป |
ส่วนประกอบ #2: DNN | cbs |
ตัวบอกการเลือกเส้นทาง #2 | |
ลำดับความสำคัญ | 2 (0x02) |
ส่วนประกอบ #1: DNN | cbs |
เวลาแฝงต่ำ
กฎ URSP #7 (เวลาแฝงต่ำ) | |
---|---|
ลำดับความสำคัญ | 7 (0x07) |
ตัวบอกการจราจร #1 | |
OS Id + OS App Id type | 0x97A498E3FC925C9489860333D06E4E470A5052494f524954495a455f4c4154454e4359 |
ตัวบอกการเลือกเส้นทาง #1 | |
ลำดับความสำคัญ | 1 (0x01) |
ส่วนประกอบ #1: S-NSSAI | SST:XX SD:ปปปปป |
ส่วนประกอบ #2: DNN | เวลาแฝง |
ตัวบอกการเลือกเส้นทาง #2 | |
ลำดับความสำคัญ | 2 (0x02) |
ส่วนประกอบ #1: DNN | เวลาแฝง |
แบนด์วิดธ์สูง
กฎ URSP #8 (แบนด์วิดท์สูง) | |
---|---|
ลำดับความสำคัญ | 8 (0x08) |
ตัวบอกการจราจร #1 | |
OS Id + OS App Id type | 97A498E3FC925C9489860333D06E4E470A5052494f524954495a455f42414e445749445448 |
ตัวบอกการเลือกเส้นทาง #1 | |
ลำดับความสำคัญ | 1 (0x01) |
ส่วนประกอบ #1: S-NSSAI | SST:XX SD:ปปปปป |
ส่วนประกอบ #2: DNN | แบนด์วิดธ์ |
ตัวบอกการเลือกเส้นทาง #2 | |
ลำดับความสำคัญ | 2 (0x02) |
ส่วนประกอบ #1: DNN | แบนด์วิดธ์ |
ค่าเริ่มต้น
กฎ URSP #9 (ค่าเริ่มต้น) | |
---|---|
ลำดับความสำคัญ | 9 (0x09) |
ตัวบอกการจราจร #1 | |
จับคู่ทั้งหมด | ไม่มี |
ตัวบอกการเลือกเส้นทาง #1 | |
ลำดับความสำคัญ | 1 (0x01) |
ส่วนประกอบ #1: S-NSSAI | SST:XX SD:ปปปปป |
การทดสอบ
หากต้องการทดสอบการแบ่งเครือข่าย 5G ให้ใช้การทดสอบด้วยตนเองต่อไปนี้
ในการตั้งค่าอุปกรณ์สำหรับการทดสอบ ให้ทำดังนี้:
ตรวจสอบให้แน่ใจว่านโยบาย URSP ได้รับการกำหนดค่าด้วยกฎที่ไม่ใช่ค่าเริ่มต้นที่ตรงกับหมวดหมู่ขององค์กร และตัวบอกเกี่ยวกับการเลือกเส้นทางที่เกี่ยวข้องจะจับคู่หมวดหมู่องค์กรกับส่วนแบ่งขององค์กร และกฎเริ่มต้นที่นำทราฟฟิกไปยังส่วนอินเทอร์เน็ตเริ่มต้น
ตรวจสอบว่ากำหนดค่าโปรไฟล์งานในอุปกรณ์แล้ว
เลือกใช้การแบ่งเครือข่ายผ่าน DPC
ในการทดสอบพฤติกรรมการแบ่งส่วนเครือข่าย 5G ให้ทำดังต่อไปนี้:
- ตรวจสอบว่ามีการสร้างเซสชัน PDU ด้วยส่วนขององค์กร (เช่น โดยใช้ที่อยู่ IP เฉพาะ) และแอปในโปรไฟล์งานนั้นใช้เซสชัน PDU นั้น
- ตรวจสอบว่ามีการสร้างเซสชัน PDU แยกต่างหากโดยใช้อินเทอร์เน็ตเริ่มต้น และแอปในโปรไฟล์ส่วนบุคคลนั้นใช้เซสชัน PDU