第 5 章 Linux Wireless LAN & 80211

目录

5.1. 无线网络的架构
5.1.1. Framework
5.1.2. CRDA
5.1.3. Wext/WE
5.1.4. cfg80211
5.1.5. nl80211
5.1.6. Radiotap
5.1.7. Frame Reception/ Injection
5.1.8. MLME
5.1.9. FullMAC
5.1.10. SoftMAC

摘要

Linux: Generic 2.6 Wireless Driver

http://kerneltrap.org/node/3245

这个解释了,当时为何选Host AP作为wireless stack 的来龙去脉。

5.1. 无线网络的架构

5.1.1. Framework

From: Page 6/47 Johannes Berg's presentation

Old:

图 5.1. 旧的Linux的网络架构

旧的Linux的网络架构

From: page 4/47 Johannes Berg's presentation

New:

图 5.2. 新的Linux的网络架构

新的Linux的网络架构

From: page 5/47 Johannes Berg's presentation

Planned:

图 5.3. 计划的Linux的网络架构

计划的Linux的网络架构

5.1.2. CRDA

图 5.4. CRDA的架构

CRDA的架构

5.1.3. Wext/WE

Wireless Extensions的缩写, 是旧的Linux无线网络的架构,其基于mac80211。现在已逐渐转移到新的架构上面了,新的架构使用cfg80211nl80211

WE

WE stands for Wireless-Extensions - the old driver API and user <–> kernel communication transport.

5.1.4. cfg80211

新的Linux无线网络架构中,为驱动提供配置接口/API。

5.1.5. nl80211

新的Linux无线网络架构中,为内核空间和用户空间之间,提供通讯转换接口。

5.1.6. Radiotap

用于802.11的 帧接收(frame reception)和帧注入(frame injection)

5.1.7. Frame Reception/ Injection

所谓的帧接收,就是硬件(网卡)用中断通知CPU,一个数据帧到了,要CPU去接收。一般是在将无线网卡设置为 ???模式的时候,底层接受到数据帧之后,不处理,而是直接传送给上层处理,一般用于分析无线网络数据传输的时候,分析网络问题到底出现在哪。

5.1.8. MLME

MLME Stands for Media Access Control (MAC) Sublayer Management Entity. MLME is the management entity where the Physical layer (PHY) MAC state machines reside. Examples of states an MLME may assist in reaching:

5.1.9. FullMAC

FullMAC is a term used to describe a type of wireless card where the MLME is managed in hardware. You would not use mac80211 to write a FullMAC wireless driver.

5.1.10. SoftMAC

SoftMAC is a term used to describe a type of wireless card where the MLME is expected to be managed in software. mac80211 is a driver API for SoftMAC wireless cards, for example.