Pile réseau

Restez organisé à l'aide des collections Enregistrez et classez les contenus selon vos préférences.

Network Stack est un module Mainline pouvant être mis à jour qui garantit qu'Android peut s'adapter à l'évolution des normes de réseau et permet l'interopérabilité avec de nouvelles implémentations. Par exemple, les mises à jour de la détection de portail captif et du code de connexion permettent à Android de rester à jour avec l'évolution des modèles de portail captif, et les mises à jour d'APF permettent à Android d'économiser de l'énergie sur le Wi-Fi à mesure que de nouveaux types de paquets deviennent courants.

Composants inclus

Le module Network Stack contient les composants suivants. Sur les appareils utilisant le module, ces services ont été déplacés vers un processus différent et sont accessibles via une interface AIDL stable.

  • Prestations IP. IpClient (anciennement IpManager ) est un composant en charge du provisionnement et de la maintenance de la couche IP. Dans Android 9, il était déjà utilisé en processus croisé par des composants tels que Bluetooth et en processus par des composants tels que le Wi-Fi. DhcpClient obtient les adresses IP des serveurs DHCP afin qu'elles puissent être attribuées aux interfaces.

  • Moniteur réseau. Le composant NetworkMonitor teste l'accessibilité à Internet lors de la connexion à un nouveau réseau ou lors de pannes de réseau, lors de la détection de portails captifs et lors de la validation des réseaux.

  • Application de connexion au portail captif. Une application préinstallée chargée de gérer la connexion sur les portails captifs. Il s'agit d'une application distincte depuis Android 5.0, mais elle interagit avec NetworkMonitor pour transmettre certains choix d'utilisateurs au système.

Chemins concernés

Les chemins déplacés vers le module Network Stack par le refactor sont répertoriés ci-dessous.

  • Prestations IP. Dans frameworks/base/services/net/java/android/net/ :

    • apf
    • dhcp
    • ip
    • netlink
    • util (en partie)
  • Détection de portail captif et connexion. Dans frameworks/base/ :

    • core/java/android/net/captiveportal/
    • services/core/java/com/android/server/connectivity/NetworkMonitor.java
    • packages/CaptivePortalLogin/*

Le nouvel emplacement du code déplacé se trouve dans packages/modules/NetworkStack , packages/modules/CaptivePortalLogin et certains autres emplacements partagés. Les chemins ci-dessus font référence à l'emplacement des fichiers avant d'y être déplacés pour Mainline. Les fichiers dans packages/modules/NetworkStack et packages/modules/CaptivePortalLogin font partie du module Mainline et ne peuvent pas être modifiés.

Format de paquet

Le module Network Stack contient les composants suivants au format APK :

  • Services IP
  • Connexion au portail captif ( com.google.android.captiveportallogin )

Ce module est accompagné du module Network Stack Permission Config, qui est un fichier APK préinstallé qui définit les autorisations nécessaires pour les composants Network Stack.

Dépendances

Le module Network Stack dépend des éléments suivants :

  • Méthodes @hide privilégiées dans le serveur système (par exemple, dans IConnectivityManager.aidl ). Ces API ont été @SystemApi et protégées de manière appropriée afin qu'elles soient accessibles au module Mainline mais pas aux autres applications privilégiées (par exemple, en utilisant une nouvelle autorisation de signature).

  • Binder IPCs à netd défini dans INetd.aidl . Cette interface a été convertie en AIDL stable et est soumise à des tests de conformité.