1 管理帧中的定长字段
1.Authentication Algorithm Number 认证过程中使用的认证类型
0 - 开放系统身份认证(Open System Authentication)
1 - 共享密钥身份认证(Shared Key Authentication)
2 - 快速BSS切换(Fast BSS Transition)
3 - SAE(Simultaneous Authentication of Equals,等值同时认证),用于两个STA互相认证,常用于Mesh BSS(多跳互联)
2.Beacon Interval field AP发出,包含BSS参数等信息
单位为Time Unit,一个TU为1024微秒,该字段一般设置为100TU
3.Capability Information 宣告此网络具备何种功能
4.Current AP Address
5.Listen Interval STA发出,告知AP其进入PS模式后每隔多长时间会醒来接收Beacon帧
6.AID
7.Reason Code
8.Status Code
2 信息元素
信息元素IE(Information Element)包含数据长度不固定的信息
3 常用管理帧
1.Beacon
2.Probe Request/Probe Response
3.Association Request/Association Response
4.Authentication
4 MLME
MAC子层中专门负责管理的Entity,名为MLME(MAC Sublayer Management Entity),对外提供接口是MLME_SAP
规范中,MLME_SAP一共有82个原语,常用的有3个
Scan
Authenticate
Associate
从编程角度来看,MLME_SAP相当于定义了一套接口函数,wpa_supplicant是对它们的实现
5 STA状态切换
State 3 s属于已认证,已经关联,但还未通过RSN认证
RSN采用802.1X进行控制
由于未通过RSN认证,所以只能发送处理认证的数据帧,即4-Way Handshake帧
6 Linux Wi-Fi编程API介绍
Linux提供cfg80211和nl80211两套编程接口
cfg80211用于驱动开发
nl80211 API供用户空间进程使用以操作那些利用cfg80211开发的无线网卡驱动
在nl80211框架中,用户进程和Kernel通信的手段没有使用wext的ioctl,而是采用了netlink机制
netlink是Linux上一种基于socket的IPC通信机制