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