Nội dung cập nhật trong Android 13
Cập nhật | Thông tin khác |
---|---|
Thiết bị chéo được giới thiệu | Thiết bị chéo |
Ra mắt tính năng phân tách đường hầm | Chế độ đường hầm phân tách |
Tổng quan
Mô-đun Chia sẻ Internet chia sẻ kết nối Internet của thiết bị Android với các thiết bị khách đã kết nối khác. Các thiết bị này có thể kết nối với thiết bị chia sẻ Internet qua Wi-Fi, USB, Bluetooth hoặc Ethernet. Mô-đun này bao gồm thành phần chia sẻ Internet (USB, điểm truy cập Wi-Fi, Bluetooth, v.v.) và các phần phụ thuộc của thành phần đó (tương tác với quyền chia sẻ Internet, IpServer
và offloadController
). Mô-đun này có thể cập nhật, nghĩa là có thể nhận bản cập nhật về chức năng bên ngoài chu kỳ phát hành thông thường của Android.
Mô-đun Chia sẻ Internet cho phép OEM trong hệ sinh thái Android sử dụng một cách triển khai tham chiếu chuẩn duy nhất mang lại những lợi ích sau.
Người dùng cuối có được trải nghiệm nhất quán trên các thiết bị Android và khắc phục các vấn đề về khả năng tương tác thông qua các bản cập nhật mô-đun.
Nhà sản xuất thiết bị gốc (OEM) có thể đáp ứng các yêu cầu của nhà mạng, đồng thời giảm chi phí cho việc tuỳ chỉnh riêng lẻ (vì họ không cần triển khai các yêu cầu giống nhau theo nhiều cách).
Tạo đường hầm phân tách
Để hỗ trợ các trường hợp sử dụng kỹ thuật phân tách đường hầm, một API mới sẽ được thêm vào Android 13 để chỉ định các tuyến loại trừ.
Chế độ đường hầm phân tách đề cập đến cấu hình trong đó một số lưu lượng truy cập sẽ đi qua VPN trong khi lưu lượng truy cập khác thì không. Một ví dụ phổ biến là khi một tổ chức muốn lướt web nói chung, tốn nhiều băng thông (ví dụ: YouTube, Netflix) hoặc các ứng dụng nhạy cảm về độ trễ (ví dụ: Office 365) để bỏ qua VPN. Trước khi có tính năng tách đường hầm, VpnService.Builder
cho phép ứng dụng VPN cho biết rằng chỉ một số mạng con mới được định tuyến đến ứng dụng đó (bao gồm các tuyến). Với tính năng phân tách đường hầm, bạn có thể chỉ định ngược lại: định tuyến tất cả lưu lượng truy cập đến VPN, ngoại trừ một số mạng con cụ thể (loại trừ các tuyến).
Chữ ký của API phân tách đường hầm mới là:
public Builder excludeRoute(@NonNull IpPrefix prefix)
CrossDevice
CrossDevice được giới thiệu trong Android 13 nhằm cung cấp các công nghệ giao tiếp trên nhiều thiết bị bằng các giao thức tiêu chuẩn. Thư viện này cung cấp các API và tính năng để khám phá thiết bị, kết nối được xác thực và các trải nghiệm khác trên nhiều thiết bị.
Động lực CrossDevice
- Cộng tác chặt chẽ hơn với các đối tác OEM. OEM có thể tích hợp hệ thống khoá tài khoản của riêng mình với tính năng triển khai trên nhiều thiết bị thay vì cần sử dụng giải pháp của Google.
- Triển khai giao thức rõ ràng hơn. Mô-đun CrossDevice là nguồn mở, cung cấp thông tin chi tiết hơn về cách triển khai và câu chuyện về quyền riêng tư tốt hơn để triển khai các công nghệ CrossDevice.
Ranh giới mô-đun CrossDevice
CrossDevice API | Trong packages/modules/CrossDevice/framework
|
Dịch vụ trên nhiều thiết bị | Trong packages/modules/CrossDevice/service
|
Định dạng gói trên nhiều thiết bị
Chức năng chính của mô-đun này có trong gói APEX. Các tài nguyên được đóng gói trong một tệp APK.
Phần phụ thuộc CrossDevice
CrossDevice phụ thuộc vào những yếu tố sau:
- Wi-Fi
- Bluetooth
- UWB (băng tần siêu rộng)
- modules-utils-preconditions
- Thư viện proto
Các tuỳ chọn tuỳ chỉnh trên nhiều thiết bị
Chúng tôi dự định cho phép OEM tuỳ chỉnh giao diện người dùng cho một nửa trang thông qua RRO. Không có kế hoạch tuỳ chỉnh chức năng này.
Chiến lược kiểm thử trên nhiều thiết bị
Chúng tôi dự định thêm các bài kiểm thử Bộ kiểm tra tính tương thích với Android (CTS) để xác minh chức năng trên nhiều thiết bị và kiểm thử trên nhiều thiết bị vào MTS.
Giảm tải tính năng chia sẻ Internet qua eBPF
Để cung cấp tính năng chia sẻ Internet tốc độ cao mà không cần dựa vào tính năng giảm tải phần cứng, Android 11 cung cấp giải pháp giảm tải phần mềm chia sẻ Internet có tên là tính năng giảm tải chia sẻ Internet eBPF để tải xuống IPv6 (lưu lượng truy cập chuyển đến thiết bị được chia sẻ Internet).
Kể từ Android 12, chức năng này (bao gồm cả mã chương trình eBPF) do mô-đun Cung cấp Internet qua USB cung cấp hoàn toàn. Mô-đun này hỗ trợ những tính năng sau:
- Tải xuống IPv6 (lưu lượng truy cập truyền đến thiết bị được chia sẻ Internet)
- Tải lên IPv6 (lưu lượng truy cập từ thiết bị được chia sẻ Internet)
- Tải lên và hạ nguồn IPv4 TCP/UDP (lưu lượng truy cập đến/từ thiết bị được chia sẻ Internet)
- Giảm tải eBPF
Tính năng này được bật theo mặc định, người dùng có thể ghi đè cấu hình config_tether_enable_bpf_offload
thành false bằng RRO.
Hãy xem phần Tuỳ chỉnh để biết thêm thông tin.
Hỗ trợ IPv4 và IPv6
Mô-đun Cung cấp Internet qua USB hỗ trợ ngăn xếp kép IPv4 và IPv6.
Đối với mạng IPv4, mô-đun này thiết lập tính năng dịch địa chỉ mạng (NAT) và sử dụng giao thức cấu hình máy chủ động (DHCP) để chỉ định địa chỉ IP.
Đối với mạng IPv6, mô-đun này sử dụng tính năng tự động định cấu hình địa chỉ không có trạng thái IPv6 (SLAAC) để chỉ định địa chỉ IP.
Ranh giới mô-đun
Đối với Android 12 trở lên, tất cả tệp/thư mục trong packages/modules/Connectivity
đều nằm trong phạm vi mô-đun Chế độ chia sẻ Internet.
Đối với Android 11 trở xuống, mô-đun Chia sẻ Internet có các tệp Android 10 sau đây trong packages/modules/Tethering
.
frameworks/base/services/core/java/com/android/server/connectivity/Tethering.java
frameworks/base/services/core/java/com/android/server/connectivity/tethering/
frameworks/base/services/core/java/com/android/server/NetworkManagementService.java
frameworks/base/services/net/java/android/net/ip/{InterfaceController,IpServer,RouterAdvertisementDaemon}.java
frameworks/base/services/net/java/android/net/{netlink,dhcp}/*
frameworks/base/services/net/java/android/net/util/{InterfaceSet,InterfaceParams,NetdService,PrefixUtils,SharedLog,VersionedBroadcastListener}.java
frameworks/base/core/java/android/net/{ITetheringEventCallback,ITetheringStatsProvider}.aidl
frameworks/base/core/java/android/net/{NetworkUtils,util/IpUtils}.java
frameworks/base/core/java/com/android/internal/util/{BitUtils,IndentingPrintWriter,State,StateMachine}.java
frameworks/base/core/java/com/android/server/connectivity/MockableSystemProperties.java
frameworks/base/core/java/android/os/INetworkManagementService.aidl
frameworks/base/core/java/android/bluetooth/BluetoothPan.java
frameworks/base/services/core/jni/com_android_server_connectivity_tethering_OffloadHardwareInterface.cpp
packages/apps/Settings/src/com/android/settings/wifi/tether/TetherService.java
packages/apps/Settings/src/com/android/settings/network/TetherProvisioningActivity.java
Định dạng mô-đun
Mô-đun Chia sẻ Internet (com.android.tethering
) có định dạng APEX và có sẵn trên các thiết bị chạy Android 11 trở lên.
Thêm ConnectivityService
Từ Android 12, mã ConnectivityService
triển khai thành phần trung tâm của khả năng kết nối L3+ sẽ được thêm vàoAPEX của tính năng Chia sẻ Internet. Phạm vi của tính năng Cung cấp Internet qua USB mở rộng thành mô-đun Kết nối.
Phần phụ thuộc mô-đun
Mô-đun Cung cấp Internet có các phần phụ thuộc sau:
- Phương thức API công khai và hệ thống trong máy chủ hệ thống
- Giao diện IPC AIDL ổn định với máy chủ hệ thống
tetheroffload
HIDL (được xác định tronghardware/interfaces/tetheroffload/
)- Máy chủ DHCP (một phần của mô-đun Ngăn xếp mạng)
Tuỳ chỉnh
Mô-đun Chia sẻ Internet không hỗ trợ tuỳ chỉnh.
Thử nghiệm
Bộ kiểm tra tính tương thích (CTS) với Android sẽ xác minh chức năng của mô-đun Chia sẻ Internet.