Sieć

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/ :
  • apf
  • dhcp
  • ip
  • netlink
  • util (częściowo)
Android 10 i nowszy packages/modules/NetworkStack

Ścieżki refaktoryzacji logowania do portalu Captive

Android 9 i niższy W frameworks/base/ :
  • core/java/android/net/captiveportal/
  • services/core/java/com/android/server/connectivity/NetworkMonitor.java
  • packages/CaptivePortalLogin/* (gdzie * = symbol wieloznaczny)
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 w IConnectivityManager.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 w INetd.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.