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)
  • Wi-Fi RTT (IEEE 802.11mc FTM)

Kablosuz hizmetlerini kullanan bir uygulama, Binder aracılığıyla çeşitli kablosuz hizmetleriyle doğrudan iletişim kurar. Kablosuz hizmetleri, 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

Şekil 1. Android Wi-Fi mimarisi

Uygulama çerçevesi

Uygulama çerçevesi düzeyinde, Wi-Fi çerçevesi ve donanımıyla etkileşim kurmak için çeşitli android.net.wifi API'lerini kullanan uygulama kodu bulunur. Dahili olarak bu kod, 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/ konumunda bulunur. Kablosuz hizmet, 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 işlem olan wificond'u da içerir. wificond işlemi, standart nl80211 komutları üzerinden kablosuz sürücüyle iletişim kurar.

Kablosuz HAL'ler

Wi-Fi çerçevesinde üç farklı arayüzle temsil edilen üç Wi-Fi 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.