Android 10, aşağıdaki ağ modüllerini içerir:

  • Ağ Bileşenleri modülü, ortak IP hizmetleri, ağ bağlantısı izleme ve sabit oturum açma portalı algılama sağlar.
  • Ağ Yığını İzin Yapılandırma modülü, modüllerin ağla ilgili görevleri gerçekleştirmesini sağlayan bir izin tanımlar.

Ağ Bileşenleri modülü

Ağ Bileşenleri modülü, Android'in gelişen ağ standartlarına uyum sağlayabilmesini sağlar ve yeni uygulamalarla birlikte çalışabilirliğe izin verir. Örneğin, sabit portal algılama ve oturum açma kodunda yapılan güncellemeler, Android'in değişen sabit portal modelleriyle güncel kalmasını sağlar ve Gelişmiş İlke Güvenlik Duvarı (APF) güncellemeleri, yeni paket türleri yaygınlaştıkça Android'in Wi-Fi'de güç tasarrufu yapmasına olanak tanır.

Android 10'daki değişiklikler

Ağ Bileşenleri modülü aşağıdaki bileşenleri içerir.

  • IP hizmetleri. IpClient (eski adıyla IpManager) bileşeni, IP katmanı sağlama ve bakımını gerçekleştirir. Android 9'da, Bluetooth gibi bileşenler tarafından çapraz işlem ve Wi-Fi gibi bileşenler tarafından işlem içi olarak kullanıldı. DhcpClient bileşeni, arabirimlere atanabilmeleri için DHCP sunucularından IP adresleri alır.
  • Ağ Monitörü. NetworkMonitor bileşeni, yeni bir ağa bağlanırken veya ağ arızalarında, sabit portalları tespit ederken ve ağları doğrularken internet erişilebilirliğini test eder.
  • Esir portal giriş uygulaması. Captive portal oturum açma uygulaması, sabit portallarda oturum açmayı yönetmekten sorumlu önceden yüklenmiş bir uygulamadır. Bu, Android 5.0'dan beri ayrı bir uygulamadır, ancak bazı kullanıcı seçimlerini sisteme iletmek için NetworkMonitor ile etkileşime girer.

Ağ Bileşenleri modülünü kullanan cihazlarda, yukarıdaki hizmetler farklı bir işlem için yeniden düzenlenir ve kararlı bir AIDL arabirimleri kullanılarak erişilir. Yeniden düzenleme yolları aşağıdaki tablolarda gösterilmiştir.

IP Hizmetleri yeniden düzenleme yolları

Android 9 ve altı frameworks/base/services/net/java/android/net/ :
  • apf
  • dhcp
  • ip
  • netlink
  • util (kısmen)
Android 10 ve üstü packages/modules/NetworkStack

Captive Portal Oturum Açma yeniden düzenleme yolları

Android 9 ve altı frameworks/base/ :
  • core/java/android/net/captiveportal/
  • services/core/java/com/android/server/connectivity/NetworkMonitor.java
  • packages/CaptivePortalLogin/* (burada * = joker karakter)
Android 10 ve üstü packages/modules/CaptivePortalLogin (ve diğer bazı paylaşılan konumlar)

Biçim ve bağımlılıklar

Ağ Bileşenleri modülü üç APK olarak sunulur: biri IP hizmetleri için, biri sabit portal oturum açma için ve biri Ağ Yığını İzin Yapılandırması için.

Ağ Bileşenleri modülü aşağıdakilere bağlıdır:

  • Sistem sunucusunda ayrıcalıklı @hide yöntemleri (örneğin, IConnectivityManager.aidl içinde). Bu API'lere @SystemApi ile açıklama eklenmiştir ve modül tarafından erişilebilir olmaları, ancak diğer ayrıcalıklı uygulamalara erişilebilmeleri (örneğin, yeni bir imza izni kullanılarak) için uygun şekilde korunmuştur.
  • netd tanımlanan netd'ye Bağlayıcı INetd.aidl . Bu arayüz, kararlı AIDL'ye dönüştürülmüştür ve uygunluk testlerine tabidir.

Ağ Yığını İzin Yapılandırma modülü

Network Stack Permission Config modülü kod içermez, bunun yerine Network Stack ve Captive Portal Login modülleri tarafından kullanılması amaçlanan bir izin tanımlar. Sistem, bu izin verilen modüllerin cihazda ilgili ağ yapılandırma görevlerini gerçekleştirmesine izin verir.