譯至:隨著開放源**的出現,開發的時間已經快速下降,同時質量也迅速提高。 對於所有參與wlan /wifi開發的人來說,讓我們來研究一下基於開源mac80211框架的linux的wlan架構吧。
下面的框圖說明了linux的wlan架構。 請看下面的詳細資料。
所有直接與使用者互動的應用程式都在這裡。 例如可以基於gui / cli。 在ubuntu / fedora發行版本的網路管理器是基於gui的,但最核心的部分是基於命令列的。例如,使用wpa_supplicant用於控制sta的部分和使用hostapd用於控制ap的部分。
兩者都是可通過其cli版本(wpa_cli,hostapd_cli)配置的。
它們支援不同的功能,如sme,mlme,安全,無線直連(p2p),ap和sta的配置。
我們也有工具來直接傳送命令到驅動來設定一些引數,如通道,頻寬,一些自定義的命令等。
如何在使用者空間中的各種應用程式和核心中的核心實體之間進行溝通呢? 我們有不同的方法,但都是基於不同的套接字介面。
wext ==> 通用無線擴充套件:
ioctl介面
nl80211==>
netlink套接字
hostap ==>
原始資料報套接字
特定於晶元組:
atheros==> ioctl 介面
prism,ipw etc.
對於開源世界來說,核心的wlan架構是mac80211,它分成2個核心模組。
cfg80211.ko:它處理所有的配置,和使用者空間的互動。
mac80211.ko:協議:上層的mac,和驅動程式的互動。
大部分功能和管理是由具有mac80211模組在底層的mac協助下處理的。
低層的mac驅動擔任umac和晶元組(韌體和硬體)之間的橋梁。 他們通過linux核心提供的服務來執行所有的裝置初始化,註冊到作業系統上,錯誤註冊,中斷註冊等。
乙個精心編寫的驅動程式遵循這些約定:
完整的802.11協議的功能在這裡實現。
韌體可能是執行在乙個單獨的處理器/微控制器上,它配置和控制硬體,同時還通過乙個晶元組(控制路徑)特定的通訊介面與主機(驅動程式)進行互動。
資料路徑通常包括乙個硬體上的dma控制器,它負責產生中斷給主處理器和從/至主機傳輸資料報到硬體佇列。
Linux中的無線架構
譯至 隨著開放源 的出現,開發的時間已經快速下降,同時質量也迅速提高。對於所有參與wlan wifi開發的人來說,讓我們來研究一下基於開源mac80211框架的linux的wlan架構吧。下面的框圖說明了linux的wlan架構。請看下面的詳細資料。所有直接與使用者互動的應用程式都在這裡。例如可以基...
WCF中的REST架構一(REST 概述)
wcf中的 rest 架構一 rest 概述 不同的人似乎對 rest 有不同的定義,有些定義是非常嚴格的,而有些則是比較自由的。我傾向於認為 rest 架構存在於乙個連續的範圍裡,如圖所示 我們可以認為 rest 背後隱含的基本理念如下 越簡單越好 web 一直是非常成功的。web 是很簡單的。w...
Dubbo的架構簡單概述
節點角色說明 provider 暴露服務的服務提供方。consumer 呼叫遠端服務的服務消費方。registry 服務註冊與發現的註冊中心。monitor 統計服務的呼叫次調和呼叫時間的監控中心。container 服務執行容器。呼叫關係說明 0.服務容器負責啟動,載入,執行服務提供者。1.服務提...