Android 10 zawiera następujące moduły sieciowe:
- Moduł Networking Components zapewnia typowe usługi IP, monitorowanie łączności sieciowej i wykrywanie przechwytujących portali logowania.
- Moduł konfiguracji uprawnień stosu sieciowego definiuje uprawnienie, które umożliwia modułom wykonywanie zadań związanych z siecią.
Moduł komponentów sieciowych
Moduł Networking Components zapewnia, że Android może dostosowywać się do zmieniających się standardów sieciowych i umożliwia współdziałanie z nowymi implementacjami. Na przykład aktualizacje wykrywania i kodu logowania portali przechwytujących pozwalają systemowi Android być na bieżąco ze zmieniającymi się modelami portali przechwytujących, a aktualizacje zapory zaawansowanej zasad (APF) umożliwiają systemowi Android oszczędzanie energii w sieci Wi-Fi, gdy nowe typy pakietów stają się powszechne.
Zmiany w Androidzie 10
Moduł Składniki sieciowe zawiera następujące składniki.
- Usługi IP. Składnik IpClient (dawniej IpManager) obsługuje udostępnianie i konserwację warstwy IP. W systemie Android 9 był używany w procesie krzyżowym przez komponenty, takie jak Bluetooth, i w procesie przez komponenty, takie jak Wi-Fi. Składnik DhcpClient uzyskuje adresy IP z serwerów DHCP, dzięki czemu można je przypisać do interfejsów.
- Monitor sieci. Komponent NetworkMonitor testuje dostępność Internetu podczas łączenia się z nową siecią lub w przypadku awarii sieci, podczas wykrywania portali przechwytujących oraz podczas sprawdzania poprawności sieci.
- Aplikacja logowania do portalu przechwytującego. Aplikacja logowania do portalu przechwytującego to preinstalowana aplikacja odpowiedzialna za zarządzanie logowaniem w portalach przechwytujących. Jest to osobna aplikacja od Androida 5.0, ale współpracuje z Monitorem sieci, aby przekazać niektóre wybory użytkownika do systemu.
Na urządzeniach korzystających z modułu Komponenty sieciowe powyższe usługi są refaktoryzowane do innego procesu i są dostępne za pomocą stabilnych interfejsów AIDL . Ścieżki refaktoryzacji są pokazane w poniższych tabelach.
Ścieżki refaktoryzacji usług IP
Android 9 i niższy | W frameworks/base/services/net/java/android/net/ :
|
---|---|
Android 10 i nowszy | packages/modules/NetworkStack |
Ścieżki refaktoryzacji logowania do portalu Captive
Android 9 i niższy | W frameworks/base/ :
|
---|---|
Android 10 i nowszy | packages/modules/CaptivePortalLogin (i kilka innych wspólnych lokalizacji) |
Format i zależności
Moduł Networking Components jest dostarczany jako trzy pakiety APK: jeden dla usług IP, jeden dla logowania do portalu przechwytującego i jeden dla konfiguracji uprawnień stosu sieciowego .
Moduł Komponenty sieciowe zależy od następujących czynników:
- Uprzywilejowane metody
@hide
na serwerze systemowym (na przykład wIConnectivityManager.aidl
). Te interfejsy API zostały oznaczone adnotacją@SystemApi
i odpowiednio zabezpieczone, dzięki czemu są dostępne dla modułu, ale nie dla innych uprzywilejowanych aplikacji (na przykład przy użyciu nowego uprawnienia do podpisu). - Powiąż IPC z
netd
zdefiniowane wINetd.aidl
. Ten interfejs został przekonwertowany na stabilny AIDL i podlega testom zgodności.
Moduł konfiguracji uprawnień stosu sieciowego
Moduł konfiguracji uprawnień stosu sieciowego nie zawiera kodu, ale zamiast tego definiuje uprawnienie przeznaczone do użytku przez moduły stosu sieciowego i logowania do portalu przechwytującego. System umożliwia modułom, którym przyznano to uprawnienie, wykonywanie powiązanych zadań konfiguracji sieci na urządzeniu.