Kết nối mạng

Android 10 bao gồm các mô-đun mạng sau:

  • Mô-đun Thành phần Mạng cung cấp các dịch vụ IP chung, giám sát kết nối mạng và phát hiện cổng đăng nhập bị khóa.
  • Mô-đun Cấu hình quyền ngăn xếp mạng xác định quyền cho phép mô-đun thực hiện các tác vụ liên quan đến mạng.

Mô-đun thành phần mạng

Mô-đun Thành phần mạng đả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 triển khai mới. Ví dụ: các bản cập nhật cho mã đăng nhập và phát hiện cổng bị khóa cho phép Android luôn cập nhật các mô hình cổng bị khóa thay đổi và các bản cập nhật cho Tường lửa chính sách nâng cao (APF) cho phép Android tiết kiệm năng lượng trên Wi-Fi khi các loại gói mới trở nên phổ biến.

Những thay đổi trong Android 10

Mô-đun Thành phần Mạng chứa các thành phần sau.

  • Các dịch vụ IP. Thành phần IpClient (trước đây là IpManager) xử lý việc cung cấp và bảo trì lớp IP. Trong Android 9, nó được sử dụng xuyên suốt bởi các thành phần như Bluetooth và trong quá trình bởi các thành phần như Wi-Fi. Thành phần DhcpClient nhận các địa chỉ IP từ các máy chủ DHCP để chúng có thể được gán cho các giao diện.
  • Giám sát mạng. Thành phần NetworkMonitor kiểm tra khả năng truy cập internet khi kết nối với mạng mới hoặc khi mạng bị lỗi, khi phát hiện cổng bị khóa và khi xác thực mạng.
  • Ứng dụng đăng nhập cổng cố định. Ứng dụng đăng nhập cổng cố định là một ứng dụng được cài đặt sẵn chịu trách nhiệm quản lý thông tin đăng nhập trên các cổng cố định. Đây là một ứng dụng riêng biệt kể từ Android 5.0, nhưng nó 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.

Trên các thiết bị sử dụng mô-đun Thành phần Mạng, các dịch vụ trên được cấu trúc lại theo một quy trình khác và được truy cập bằng giao diện AIDL ổn định . Các đường dẫn cấu trúc lại được hiển thị trong bảng sau.

Đường dẫn cơ cấu lại Dịch vụ IP

Android 9 trở xuống Trong frameworks/base/services/net/java/android/net/ :
  • apf
  • dhcp
  • ip
  • netlink
  • util (một phần)
Android 10 trở lên packages/modules/NetworkStack

Đường dẫn cơ cấu lại trình tái cấu trúc Đăng nhập Cổng Captive

Android 9 trở xuống Trong frameworks/base/ :
  • core/java/android/net/captiveportal/
  • services/core/java/com/android/server/connectivity/NetworkMonitor.java
  • packages/CaptivePortalLogin/* (trong đó * = ký tự đại diện)
Android 10 trở lên packages/modules/CaptivePortalLogin (và một số vị trí được chia sẻ khác)

Định dạng và phụ thuộc

Mô-đun Thành phần mạng được phân phối dưới dạng ba APK: một cho dịch vụ IP, một cho đăng nhập cổng cố định và một cho Cấu hình quyền ngăn xếp mạng .

Mô-đun Thành phần Mạng phụ thuộc vào những điều sau:

  • 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 chú thích bằng @SystemApi và được bảo vệ thích hợp để chúng có thể truy cập vào mô-đun chứ không phải các ứng dụng đặc quyền khác (ví dụ: sử dụng quyền chữ ký mới).
  • Liên kết IPC với netd được xác định trong INetd.aidl . Giao diện này đã được chuyển đổi thành AIDL ổn định và phải tuân theo các bài kiểm tra sự phù hợp.

Mô-đun cấu hình quyền ngăn xếp mạng

Mô-đun Cấu hình Quyền Ngăn xếp Mạng không chứa mã nhưng thay vào đó xác định một quyền dành cho các mô-đun Đăng nhập Ngăn xếp Mạng và Cổng cố định để sử dụng. Hệ thống cho phép các mô-đun được cấp quyền này thực hiện các tác vụ cấu hình mạng liên quan trên thiết bị.