Ağ Yığını

Koleksiyonlar ile düzeninizi koruyun İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.

Network Stack, Android'in gelişen ağ standartlarına uyum sağlayabilmesini sağlayan ve yeni uygulamalarla birlikte çalışabilirliğe izin veren güncellenebilir bir Ana Hat modülüdür. Örneğin, sabit portal algılama ve oturum açma kodundaki güncellemeler, Android'in değişen sabit portal modelleriyle güncel kalmasına olanak tanır ve APF'deki güncellemeler, yeni paket türleri yaygınlaştıkça Android'in Wi-Fi üzerinde güç tasarrufu yapmasına olanak tanır.

Dahil edilen bileşenler

Ağ Yığını modülü aşağıdaki bileşenleri içerir. Modülü kullanan cihazlarda bu servisler farklı bir sürece taşınmış ve stabil bir AIDL arayüzü üzerinden erişim sağlanmıştır.

  • IP hizmetleri. IpClient (eski adıyla IpManager ), IP katmanı sağlama ve bakımından sorumlu bir bileşendir. Android 9'da zaten Bluetooth gibi bileşenler tarafından çapraz işlemlerde ve Wi-Fi gibi bileşenler tarafından işlem sırasında kullanılıyordu. DhcpClient , arabirimlere atanabilmeleri için DHCP sunucularından IP adresleri alır.

  • Ağ İzleyicisi. NetworkMonitor bileşeni, yeni bir ağa bağlanırken veya ağ arızalarında, sabit portalları algılarken ve ağları doğrularken internet erişilebilirliğini test eder.

  • Esir portal oturum açma uygulaması. Kısıtlanmış portallarda oturum açmayı yönetmekten sorumlu, önceden yüklenmiş bir uygulama. Bu, Android 5.0'dan beri ayrı bir uygulama olmuştur, ancak bazı kullanıcı seçimlerini sisteme iletmek için NetworkMonitor ile etkileşime girer.

Etkilenen yollar

Refactor tarafından Network Stack modülüne taşınan yollar aşağıda listelenmiştir.

  • IP hizmetleri. frameworks/base/services/net/java/android/net/ içinde:

    • apf
    • dhcp
    • ip
    • netlink
    • util (kısmen)
  • Esir portal algılama ve oturum açma. frameworks/base/ :

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

Taşınan kodun yeni konumu, package packages/modules/NetworkStack , packages/modules/CaptivePortalLogin ve diğer bazı paylaşılan konumlardır. Yukarıdaki yollar, Ana Hat için oraya taşınmadan önce dosyaların konumuna atıfta bulunur. package packages/modules/NetworkStack ve packages/modules/CaptivePortalLogin içindeki dosyalar, Mainline modülünün parçasıdır ve değiştirilemez.

Paket formatı

Ağ Yığını modülü, APK biçiminde aşağıdaki bileşenleri içerir:

  • IP hizmetleri
  • Sabit portal girişi ( com.google.android.captiveportallogin )

Bu modüle, Network Stack bileşenleri için gerekli izinleri tanımlayan önceden yüklenmiş bir APK dosyası olan Network Stack Permission Config modülü eşlik eder.

Bağımlılıklar

Ağ Yığını modülü aşağıdakilere bağlıdır:

  • Sistem sunucusunda (örneğin, IConnectivityManager.aidl ) ayrıcalıklı @hide yöntemleri. Bu API'ler, @SystemApi yapılmıştır ve Mainline modülü tarafından erişilebilmeleri ancak diğer ayrıcalıklı uygulamalar tarafından erişilemeyecekleri (örneğin, yeni bir imza izni kullanarak) için uygun şekilde korunmuştur.

  • netd tanımlanan INetd.aidl . Bu arayüz kararlı AIDL'ye dönüştürülmüştür ve uygunluk testlerine tabidir.