Genel bakış

Android, aşağıdakiler de dahil olmak üzere çeşitli Wi-Fi protokolleri ve modları için destek içeren varsayılan bir Android çerçevesi uygulaması sağlar:

  • Wi-Fi altyapısı (STA)
  • Tethering veya yalnızca yerel modlarda kablosuz hotspot (Soft AP)
  • Wi-Fi Direct (p2p)
  • Wi-Fi Aware (NAN)
  • Kablosuz RTT (IEEE 802.11mc FTM)

Kablosuz hizmetlerini kullanan bir uygulama, Binder aracılığıyla çeşitli kablosuz hizmetleriyle doğrudan iletişim kurar. Kablosuz hizmetler, sistem hizmetinde çalışır ve sağlanan HIDL ve AIDL arayüzleri üzerinden HAL ile iletişim kurar. Bu şemada, Android Wi-Fi yığınının genel yapısı gösterilmektedir.

Kablosuz ağ mimarisi

1.şekil Android Wi-Fi mimarisi

Uygulama çerçevesi

Uygulama çerçevesi düzeyinde, kablosuz çerçevesi ve donanımla etkileşim kurmak için çeşitli android.net.wifi API'lerini kullanan uygulama kodu bulunur. Bu kod, dahili olarak Binder IPC mekanizması aracılığıyla Wi-Fi sürecini çağırır.

Kablosuz hizmetler

Kablosuz hizmetler, Sistem Hizmeti'nde çalışır ve packages/modules/Wifi/service/ konumundadır. Kablosuz hizmeti, AIDL üzerinden Kablosuz HAL ile iletişim kurar.

Çeşitli kablosuz bağlantı hizmetleri vardır:

  • Kablosuz Hizmet: Kablosuz altyapı modlarını (hem STA hem de AP) kontrol etmek için kullanılan birincil mekanizma.
  • Kablosuz P2P Hizmeti: Kablosuz Direct modunu yönetir.
  • Wi-Fi Aware Hizmeti: Wi-Fi Aware modunu yönetir.
  • Wi-Fi RTT Hizmeti: IEEE 802.11mc FTM işlevini yönetir.

Kablosuz ağ çerçevesi, system/connectivity/wificond konumunda bulunan bağımsız bir süreç olan wificond'u da içerir. wificond işlemi, standart nl80211 komutları üzerinden kablosuz sürücüyle iletişim kurar.

Wi-Fi HAL'leri

Kablosuz ağ çerçevesinde üç farklı arayüzle temsil edilen üç kablosuz ağ HAL yüzeyi bulunur: Vendor HAL, Supplicant HAL ve Hostapd HAL.

Çeşitli HAL'lerin uygulanmasıyla ilgili ayrıntılar için Wi-Fi HAL başlıklı makaleye bakın.