Jaringan

Android 10 menyertakan modul jaringan berikut:

  • Modul Komponen Jaringan menyediakan layanan IP umum, pemantauan konektivitas jaringan, dan deteksi captive login portal.
  • Modul Network Stack Permission Config mendefinisikan izin yang memungkinkan modul melakukan tugas terkait jaringan.

Modul Komponen Jaringan

Modul Komponen Jaringan memastikan bahwa Android dapat beradaptasi dengan standar jaringan yang berkembang dan memungkinkan interoperabilitas dengan implementasi baru. Misalnya, pembaruan untuk deteksi portal tawanan dan kode masuk memungkinkan Android untuk tetap mengikuti perubahan model portal tawanan, dan pembaruan untuk Firewall Kebijakan Lanjutan (APF) memungkinkan Android menghemat daya pada Wi-Fi karena jenis paket baru menjadi umum.

Perubahan di Android 10

Modul Komponen Jaringan berisi komponen berikut.

  • layanan IP. Komponen IpClient (sebelumnya IpManager) menangani penyediaan dan pemeliharaan lapisan IP. Di Android 9, digunakan lintas proses oleh komponen seperti Bluetooth, dan dalam proses oleh komponen seperti Wi-Fi. Komponen DhcpClient memperoleh alamat IP dari server DHCP sehingga dapat ditetapkan ke antarmuka.
  • JaringanMonitor. Komponen NetworkMonitor menguji keterjangkauan internet saat menyambung ke jaringan baru atau saat terjadi kegagalan jaringan, saat mendeteksi portal captive, dan saat memvalidasi jaringan.
  • Aplikasi masuk portal tawanan. Aplikasi masuk portal tawanan adalah aplikasi prainstal yang bertugas mengelola proses masuk di portal tawanan. Ini telah menjadi aplikasi terpisah sejak Android 5.0, tetapi berinteraksi dengan NetworkMonitor untuk meneruskan beberapa pilihan pengguna ke sistem.

Pada perangkat yang menggunakan modul Komponen Jaringan, layanan di atas difaktorkan ulang ke proses yang berbeda dan diakses menggunakan antarmuka AIDL yang stabil . Jalur refactor ditampilkan dalam tabel berikut.

Jalur refactor Layanan IP

Android 9 dan lebih rendah Dalam frameworks/base/services/net/java/android/net/ :
  • apf
  • dhcp
  • ip
  • netlink
  • util (sebagian)
Android 10 dan lebih tinggi packages/modules/NetworkStack

Jalur refactor Login Captive Portal

Android 9 dan lebih rendah Dalam frameworks/base/ :
  • core/java/android/net/captiveportal/
  • services/core/java/com/android/server/connectivity/NetworkMonitor.java
  • packages/CaptivePortalLogin/* (di mana * = wildcard)
Android 10 dan lebih tinggi packages/modules/CaptivePortalLogin (dan beberapa lokasi bersama lainnya)

Format dan dependensi

Modul Komponen Jaringan dikirimkan sebagai tiga APK: satu untuk layanan IP, satu untuk login portal captive, dan satu untuk Network Stack Permission Config .

Modul Komponen Jaringan bergantung pada hal berikut:

  • Metode @hide yang diistimewakan di server sistem (misalnya, di IConnectivityManager.aidl ). API ini telah dianotasi dengan @SystemApi dan dilindungi dengan tepat sehingga dapat diakses oleh modul tetapi tidak dapat diakses oleh aplikasi istimewa lainnya (misalnya, menggunakan izin tanda tangan baru).
  • Binder IPC ke netd yang ditentukan dalam INetd.aidl . Antarmuka ini telah diubah menjadi AIDL yang stabil dan tunduk pada uji kesesuaian.

Modul Konfigurasi Izin Tumpukan Jaringan

Modul Network Stack Permission Config tidak berisi kode melainkan mendefinisikan izin yang dimaksudkan untuk digunakan oleh modul Network Stack dan Captive Portal Login. Sistem mengizinkan modul yang diberikan izin ini untuk melakukan tugas konfigurasi jaringan terkait pada perangkat.