802.11协议有规定三种类型的帧,分别时管理帧,控制帧和数据帧。
1.管理帧
有线通信和无线通信的最大区别是什么?那就是有没有用网线!有线客户端如果想连接某个网络,只要将网线接到对应的路由器上就好了,但是无线客户端想完成这个“接入”动作应该怎么办呢?这就需要管理帧的帮忙,管理帧的主要工作就是管理无线客户端的接入和断开。有线连接并不太需要管理帧的帮忙,插拔网线的动作也很简单,但是无线接入却复杂得多。管理帧是不带上层payload信息的,但是它携带一些固定大小的Information felds和可变大小的Information elements (IE)。
管理帧主要包括下面这些种类:
Association request
Association response
Reassociation request
Reassociation response
Probe request
Probe response
Beacon
Announcement traffic indication message (ATIM)
Disassociation
Authentication
Deauthentication
Action
2.控制帧
有线通信和无线通信另外一个区别是传输媒介的稳定性,无线因为传输媒介是电磁波,容易受到各种干而变得不稳定,为了保证数据的稳定传输,就需要控制帧的帮忙。控制帧不仅可以控制传输的速率,还可以用来清空通道(CTS/RTS),协商channel(DFS/ACS)和提供单播通知(PS-Poll/ACK)等功能。
Power Save Poll (PS-Poll)
Request to send (RTS)
Clear to send (CTS)
Acknowledgment (ACK)
Contention Free-End (CF-End)
CF-End + CF+ACK
Block ACK Request (BlockAckReq)
Block ACK (BlockAck)
3.数据帧
在802.11协议中,大部分数据帧都是通过携带MSDU来传输数据的,当然有一些特殊用途的空帧不会携带MSDU(比如用来通知power save status的帧),所以传输时不会对它进行加密。一般来说,控制帧、管理帧和空的数据帧都是不需要加密的。数据帧的类型主要包括下面这些:
Data (simple data frame)
Null function (no MSDU payload)
Data + CF-ACK
Data + CF-Poll
Data + CF-ACK + CF-Poll
CF-ACK (no MSDU payload)
CF-Poll (no MSDU payload)
CF-ACK + CF-Poll (no MSDU payload)
QoS data
QoS Null (no MSDU payload)
QoS data + CF-ACK
QoS data + CF-Poll
QoS data + CF-ACK + CF-Poll
QoS CF-Poll (no MSDU payload)
QoS CF-ACK + CF-Poll (no MSDU payload)
这里简单介绍了一下802.11都会用到哪些帧,后面将对这些帧的格式以及作用做详细分析。