Ngăn xếp mạng là một mô-đun Mainline có thể cập nhật, đảm bảo rằng Android có thể thích ứng với các tiêu chuẩn mạng đang phát triển và cho phép khả năng tương tác với các phương thức triển khai mới. Ví dụ: các bản cập nhật cho tính năng phát hiện cổng thông tin và mã đăng nhập cho phép Android luôn cập nhật các mô hình cổng thông tin đang thay đổi, đồng thời các bản cập nhật cho APF cho phép Android tiết kiệm pin trên Wi-Fi khi các loại gói mới trở nên phổ biến.
Các thành phần đi kèm
Mô-đun Ngăn xếp mạng chứa các thành phần sau. Trên các thiết bị sử dụng mô-đun này, các dịch vụ này đã được chuyển sang một quy trình khác và được truy cập thông qua giao diện AIDL ổn định.
Dịch vụ IP.
IpClient
(trước đây làIpManager
) là một thành phần chịu trách nhiệm cấp và bảo trì lớp IP. Trong Android 9, các thành phần như Bluetooth đã sử dụng tính năng này trên nhiều quy trình và các thành phần như Wi-Fi đã sử dụng tính năng này trong quy trình.DhcpClient
lấy địa chỉ IP từ máy chủ DHCP để có thể chỉ định cho các giao diện.NetworkMonitor. Thành phần
NetworkMonitor
kiểm tra khả năng truy cập Internet khi kết nối với một mạng mới hoặc khi xảy ra lỗi mạng, khi phát hiện trang xác thực và khi xác thực mạng.Ứng dụng đăng nhập trang xác thực. Một ứng dụng được cài đặt sẵn chịu trách nhiệm quản lý việc đăng nhập trên trang xác thực. Đây là một ứng dụng riêng biệt kể từ Android 5.0, nhưng ứng dụng này tương tác với
NetworkMonitor
để chuyển tiếp một số lựa chọn của người dùng đến hệ thống.
Các đường dẫn bị ảnh hưởng
Dưới đây là danh sách các đường dẫn được di chuyển sang mô-đun Ngăn xếp mạng bằng quá trình tái cấu trúc.
Dịch vụ IP. Trong
frameworks/base/services/net/java/android/net/
:apf
dhcp
ip
netlink
util
(một phần)
Phát hiện và đăng nhập vào trang xác thực. Trong
frameworks/base/
:core/java/android/net/captiveportal/
services/core/java/com/android/server/connectivity/NetworkMonitor.java
packages/CaptivePortalLogin/*
Vị trí mới của mã đã di chuyển nằm trong packages/modules/NetworkStack
,
packages/modules/CaptivePortalLogin
và một số vị trí dùng chung khác. Các đường dẫn trên
tham chiếu đến vị trí của các tệp trước khi được chuyển đến đó cho Mainline.
Các tệp trong packages/modules/NetworkStack
và
packages/modules/CaptivePortalLogin
là một phần của mô-đun Mainline và không thể
sửa đổi.
Định dạng gói
Mô-đun ngăn xếp mạng chứa các thành phần sau đây ở định dạng APK:
- Dịch vụ về quyền sở hữu trí tuệ
- Đăng nhập trang xác thực (
com.google.android.captiveportallogin
)
Mô-đun này đi kèm với mô-đun Cấu hình quyền ngăn xếp mạng, là một tệp APK được cài đặt sẵn xác định các quyền cần thiết cho các thành phần Ngăn xếp mạng.
Phần phụ thuộc
Mô-đun Ngăn xếp mạng phụ thuộc vào những phần sau:
Các phương thức @hide đặc quyền trong máy chủ hệ thống (ví dụ: trong
IConnectivityManager.aidl
). Các API này đã được tạo@SystemApi
và được bảo vệ thích hợp để mô-đun Mainline có thể truy cập nhưng các ứng dụng đặc quyền khác thì không (ví dụ: sử dụng quyền chữ ký mới).IPC của liên kết đến
netd
được xác định trongINetd.aidl
. Giao diện này đã được chuyển đổi thành AIDL ổn định và phải tuân theo các quy trình kiểm thử về việc tuân thủ.