Network Stack adalah modul Mainline yang dapat diperbarui yang memastikan bahwa Android dapat beradaptasi dengan standar jaringan yang terus berkembang dan memungkinkan interoperabilitas dengan implementasi baru. Misalnya, pembaruan pada deteksi portal captive dan kode login memungkinkan Android tetap mengikuti perkembangan model portal captive, dan pembaruan pada APF memungkinkan Android menghemat daya pada Wi-Fi seiring dengan semakin banyaknya jenis paket baru.
Komponen yang disertakan
Modul Network Stack berisi komponen berikut. Pada perangkat yang menggunakan modul, layanan ini dipindahkan ke proses berbeda dan diakses melalui antarmuka AIDL yang stabil.
layanan kekayaan intelektual.
IpClient
(sebelumnyaIpManager
) adalah komponen yang bertanggung jawab atas penyediaan dan pemeliharaan lapisan IP. Di Android 9, sudah digunakan proses silang oleh komponen seperti Bluetooth, dan dalam proses oleh komponen seperti Wi-Fi.DhcpClient
memperoleh alamat IP dari server DHCP sehingga dapat ditugaskan ke antarmuka.Monitor Jaringan. 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 prainstal yang bertugas mengelola login di portal captive. Ini telah menjadi aplikasi terpisah sejak Android 5.0, namun berinteraksi dengan
NetworkMonitor
untuk meneruskan beberapa pilihan pengguna ke sistem.
Jalur yang terkena dampak
Jalur yang dipindahkan ke modul Network Stack oleh refactor tercantum di bawah.
layanan kekayaan intelektual. Dalam
frameworks/base/services/net/java/android/net/
:-
apf
-
dhcp
-
ip
-
netlink
-
util
(sebagian)
-
Deteksi dan login portal tawanan. Dalam
frameworks/base/
:-
core/java/android/net/captiveportal/
-
services/core/java/com/android/server/connectivity/NetworkMonitor.java
-
packages/CaptivePortalLogin/*
-
Lokasi baru dari kode yang dipindahkan ada di packages/modules/NetworkStack
, packages/modules/CaptivePortalLogin
dan beberapa lokasi bersama lainnya. Jalur di atas mengacu pada lokasi file sebelum dipindahkan ke sana untuk Mainline. File dalam packages/modules/NetworkStack
dan packages/modules/CaptivePortalLogin
adalah bagian dari modul Mainline dan tidak dapat dimodifikasi.
Format paket
Modul Network Stack berisi komponen berikut dalam format APK:
- layanan kekayaan intelektual
- Login portal tawanan (
com.google.android.captiveportallogin
)
Modul ini disertai dengan modul Network Stack Permission Config, yang merupakan file APK pra-instal yang menentukan izin yang diperlukan untuk komponen Network Stack.
Ketergantungan
Modul Network Stack bergantung pada hal berikut:
Metode @hide yang diistimewakan di server sistem (misalnya, di
IConnectivityManager.aidl
). API ini telah dibuat@SystemApi
dan dilindungi dengan tepat sehingga dapat diakses oleh modul Mainline tetapi tidak dapat diakses oleh aplikasi istimewa lainnya (misalnya, menggunakan izin tanda tangan baru).Binder IPC ke
netd
ditentukan diINetd.aidl
. Antarmuka ini telah diubah menjadi AIDL yang stabil dan harus melalui uji kesesuaian.