一、802.11数据帧
1、802.11数据帧的一般格式说明:
2、数据帧各个字段说明:
名称 | 描述 | 长度(字节) |
帧控制(Frame Control) |
| 2 |
持续时间(Duration ID) | 用来记载网络分配矢量(Network Allocation Vector,简称NAV) | 2 |
目的地址 | 最后的接收端,即负责将帧交付上层协议处理的工作站 | 6 |
源地址 | 传送的来源 | 6 |
接收端地址 | 负责处理该帧的无线工作站 | 6 |
顺序控制字段(Seq-Ctl) | 用来重组帧片段以及丢弃重复帧 | 2 |
发送端地址 | 将帧传送至无线媒介的无线接口 | 6 |
帧校验序列(FCS) | 让工作站能够检查所受到的帧的完整性 | 4 |
3、帧控制字段说明
名称 | 描述 | 长度(位) |
协议版本(Protocol) | 显示该帧所使用的MAC版本 | 2 |
类型(Type)与 子类型(Subtype) | 用来指定使用的帧的类型 | 2+4 |
To DS与From DS | 用来指示帧的目的地是否为分布式系统 | 1+1 |
More Fragments | 若较上层的封包经过MAC分段处理,除了最后一个片段,其他片段均会将此位设定为1 | 1 |
Retry | 指示该帧是否需要重传,任何重传帧会将此位设定为1 | 1 |
Power Management | 用来指出发送端在完成当前的原子帧交换之后是否进入省电(power-save)模式 | 1 |
More data | 接入点如果设定此位,即代表至少有一个帧待传个休眠中的工作站 | 1 |
Protected Fram | 如果帧受到链路层安全协议的保护,此位被设定为1 | 1 |
Order | 帧与帧片段可依次传送,一旦进行严格依次传送,此位被设定为1 | 1 |
4、地址字段在数据帧中的用法:
功能 | To DS | From DS | Address1(接收端) | Address2(发送端) | Address3 | Address4 |
IBSS | 0 | 0 | DA | SA | BSSID | 未使用 |
To AP(基础结构型) | 1 | 0 | BSSID | SA | DA | 未使用 |
From AP(基础结构型) | 0 | 1 | DA | BSSID | SA | 未使用 |
WDS(无线分布式系统) | 1 | 1 | RA | TA | DA | SA |
缩略语:
IBSS(Independent Basic Service Set)独立基本服务集
BSSID(Basic Service Set Identifier)基本服务集标识符
DA(Destination Address)目的地址
SA(Sender Address)源地址
RA(Receiver Address)接收端地址
TA(Transmission Address)发送端地址
WDS(Wireless Distribution System)无线分布式系统
二、802.11控制帧
1、帧控制字段说明
控制帧Frame Control字段 | ||
名称 | 功能描述 | 字段位数(位) |
Protocol | 该位设置为0. | 2 |
Type | 该位设置为01,表示控制帧 | 2 |
Subtype | 设置此位,标志不同的子类型 | 4 |
To DS | 该位设置为0 | 1 |
From DS | 该位设置为0 | 1 |
More Fragments | 该位设置为0 | 1 |
Retry | 该位设置为0 | 1 |
Power Management | 该位设置为0 | 1 |
More Data | 该位设置为0 | 1 |
Protected Frame | 该位设置为0 | 1 |
Order | 该位设置为0 | 1 |
2、子类型字段(Subtype)说明:
名称 | 功能描述 | 帧长度(字节) |
RTS | 请求发送,Subtype = 1011 | 20 |
CTS | 回复请求发送 Subtype = 1100 | 14 |
ACK | 确认(RTS/CTS) Subtype = 1101 | 14 |
PS-Poll | 当一部移动工作站从省电模式中苏醒, 便会发送一个 PS-Poll 帧给基站, 以取得任何暂存帧。Subtype = 1010 | 20 |
2.1 RTS字段说明:
控制帧.RTS帧 | ||
名称 | 功能描述 | 字段位数(字节) |
Frame Control | 帧的subtype位设定为1011,代表RTS帧 | 2 |
Duration | 持续时间 | 2 |
Receiver Address | 接收端地址,接收大型帧的工作站的地址 | 6 |
Transmitter Address | 发送端地址,RTS帧的发送端的地址。 | 6 |
FCS | 帧校验序列,用来检查所收到帧的完整性 | 4 |
2.2 CTS字段说明:
控制帧.CTS帧 | ||
名称 | 功能描述 | 字段位数(字节 |
Frame Control | 帧的subtype位被设定为 1100,代表 CTS帧 | 2 |
Duration | 持续时间 | 2 |
Receiver Address | 接收端地址(CTS 帧的接收端即为之前 RTS 帧的发送端) | 6 |
FCS | 帧校验序列,用来检查所收到帧的完整性 | 4 |
2.3 ACK字段说明:
控制帧.ACK帧 | ||
名称 | 功能描述 | 字段位数(字节) |
Frame Control | 帧的subtype位被设定为 1101,代表 ACK帧 | 2 |
Duration | 持续时间 | 2 |
Receiver Address | 接收端地址,接收端地址是由所要应答的发送端帧复制而来。 | 6 |
FCS | 帧校验序列,用来检查所收到帧的完整性 | 4 |
2.4 PS-Poll字段说明:
控制帧.PS-Poll帧 | ||
名称 | 功能描述 | 字段位数(字节) |
Frame Control | 帧的subtype位被设定为 1010,代表 PS-Poll帧 | 2 |
Duration | 持续时间 | 2 |
Receiver Address | 此位包含发送端目前所在 BSS的 BSSID,此 BSS建立自目前所连接的 AP。 | 6 |
Transmitter Address | 此为 PS-Poll帧之发送端的 MAC 地址 | 6 |
FCS | 帧校验序列,用来检查所收到帧的完整性 | 4 |
三、802.11管理帧
1、一般帧格式
802.11管理帧的一般格式如下图所示,所有管理帧的MAC帧头都是一样,与帧的子类型无关。管理帧会使用其带有的信息元素来和其他系统交换信息。
2、各个字段说明:
字段名 | 描述 | 长度(字节) |
Frame Control(帧控制)字段 | 描述与控制MAC帧相关信息 | 2 |
Duration字段 | 计算帧持续时间的作用 | 2 |
Destination Address | MAC帧的目的地址 | 6 |
Source Address | MAC帧的源地址 | 6 |
BSSID(基本服务集ID) | 用于过滤收到的MAC帧(在基础型网络里为工作站所关联的接入点的MAC地址) | 6 |
Sequence Control(顺序控制字段) | 用来重组帧片段以及丢弃重复帧 | 2 |
帧主体 | 用以传递上层信息 | 0-2312 |
FCS(帧校验序列) | 验证传来的帧是否有误 | 4 |
3、帧控制字段说明
字段名 | 描述 | 长度(位) |
Protocol(协议版本)字段 | 显示帧所使用的MAC版本 | 2 |
Type(类型)字段 | 描述帧的类型,在管理帧中Type字段的值为00 | 2 |
Subtype(子类型)字段 | 描述帧的子类型 | 4 |
To DS位 | 与From DS位一起指示帧的目的地是否为分布系统 | 1 |
From DS位 | 与TO DS位一起指示帧的目的地是否为分布系统 | 1 |
More Fragments位 | 显示该帧是否还有帧分段 | 1 |
Retry位 | 是否是重传帧 | 1 |
Power Management位 | 是否进入省电模式 | 1 |
More Data位 | 接入点是否有帧待传给休眠中的工作站 | 1 |
Protected Frame位 | 是否受到链路层的安全协议的保护 | 1 |
Order位 | 是否严格依次传送 | 1 |
4、子类型(Subtype)说明:
子类型Subtype值 | 代表的类型 |
0000 | Association Request(关联请求) |
0001 | Association Response (关联响应) |
0010 | Reassociation Request(重关联请求) |
0011 | Reassociation Response(重关联响应) |
0100 | Probe Request(探测请求) |
0101 | Probe Response(探测响应) |
1000 | Beacon(信标帧) |
1001 | ATIM(通知传输指示信息) |
1010 | Disassociation(解除关联) |
1011 | Authentication(解除身份验证) |
1100 | Deauthentication(解除身份验证) |
5、802.11管理帧帧主体
因为802.11管理帧中帧主体部分的数据分为长度固定字段和长度不固定的字段。并且长度固定的字段,其次序也固定,所以不需要字段标头来界定。
长度固定的管理帧组件列举如下:
1. 身份验证算法编号字段 (2个字节)
Authentication Algorithm Number field
此位代表连接发生之前 802.11层次(802.11-level)的最初认证程序所使用的认证类型。
身份验证算法编号值允许为如下值:
身份验证算法编号=0:开放系统身份验证(Open System)
身份验证算法编号=1:共享密钥身份验证(Shared Key)
其他身份验证算法的编号保留使用:2~65535
2. 身份验证处理序列号字段(2个字节)
Authentication Transaction Sequence Number field
用以追踪身份认证的进度。此位值介于1 到65,535直接,其值不可为 0。
3. 信标间隔字段(2个字节)
Beacon Interval field
每隔一段时间就会发出的 Beacon(信标)信号,用来宣布 802.11 网络的存在。除了包含 BSS 参数的信息,也包含基站暂存帧的信息。
4. 性能信息字段(2个字节)
Capability Information field
发送 Beacon 信号的时候,它被用来通知各方,该网络具备哪种性能。其具体格式如下图所示:
ESS/IBSS位:这两位是互斥关系,接入点会将ESS设置为1,而将IBSS字段设置为0,标识接入点属于基础结构型网络的一部分;IBSS中的工作站则会将ESS设置为0,而将IBSS设置为1.
STA 在关联请求和重关联请求管理帧中根据下图来设置QoS, CF-Pollable和 CF-Poll Request 位。
AP通过在信标帧和探测响应管理帧中根据如下的图来设置CF-Pollable和CF-Poll Request 位。一个 non-QoS AP在关联响应帧和重关联响应帧设置CF-Pollable和CF-Poll Request位的值等于最后其转发的信标帧和探测响应帧中的值。
5. 当前接入点的地址字段(6个字节)
Current AP Address field
用来表明目前所连接的基站的 MAC 地址。主要用于便于关联与重关联的进行。
6. 聆听间隔字段(2个字节)
Listen Interval field
以 Beacon interval(信标间隔)为单位所计算出的休眠时间。
7. 原因代码字段(2个字节)
Reason Code field
当对方不适合加入网络时,工作站会送出解除连接或解除身份认证帧作为应答,这些帧当中包含一个长度 16bit 的 Reason Code(原因代码)。原因代码及其代表的含义如下图:
8. 关联标识符字段(2个字节)
Association ID field
当工作站与基站连接时,就会被赋予一个关联识别码,用以协助控制与管理功能。
9. 状态码字段(2个字节)
Status Code field
状态代码用来表示某项过程成功或失败。如果成功,则此位设置为0,否则为非0,具体如下:
10. 时间戳字段(8个字节)
Timestamp field
用来同步 BSS中的工作站 BSS的主计时器会定期发送目前已作用的微秒数。
注:11-17详见IEEE std 802.11-2007 P95
11. 行动字段Action field
12. Dialog Token field
13. DLS Timeout Value field
14. Block Ack Parameter Set field
15. Block Ack Timeout Value field
16. DELBA Parameter Set field
17. QoS Info field
信息元素是管理帧的可变长组件,通常包含一个Element ID字段、一个Length字段以及一个长度不固定的字段。
如下图所示:
Element ID的标准编号如下
信息元素名称 | Element ID | 描述 | 长度(字节) |
服务集标识(SSID) | 0 | 标识ESS或IBSS | 2-34 |
所支持的速率(Supported rates) | 1 | 指定802.11支持的速率 | 3-10 |
跳频参数集(FH Parameter Set) | 2 |
| 7 |
直接序列参数集(DS Parameter Set) | 3 |
| 3 |
无竞争参数集(CF Parameter Set) | 4 |
| 8 |
传输指示映射(TIM) | 5 |
| 6-256 |
IBSS参数集(IBSS Parameter Set) | 6 |
| 4 |
Country | 7 |
| 8-256 |
Hopping Pattern Parameters | 8 |
| 4 |
Hopping Pattern Table | 9 |
| 6-256 |
Request | 10 |
| 2-256 |
BSS Load | 11 |
| 7 |
EDCA Parameter Set | 12 |
| 20 |
TSPEC | 13 |
| 57 |
TCLAS | 14 |
| 2-257 |
Schedule | 15 |
| 16 |
质询文本(Challenge text) | 16 |
| 3-255 |
保留(Reserved) | 17-31 |
|
|
功能限制(Power Constraint) | 32 |
| 3 |
功能性能(Power Capability) | 33 |
| 4 |
发送功率控制请求(TPC Request) | 34 |
| 2 |
发送功率控制报告(TPC Report) | 35 |
| 4 |
所支持的信道(Supported Channels) | 36 |
| 4-256 |
信道切换声明(Channel Switch Announcement) | 37 |
| 5 |
测量请求(Measurement Request) | 38 |
| 5-16 |
测量报告(Measurement Report) | 39 |
| 5-24 |
静默(Quiet) | 40 |
| 8 |
IBSS动态选频(IBSS DFS) | 41 |
| 10-255 |
ERP信息(ERP Information) | 42 |
| 3 |
TS Delay | 43 |
| 6 |
TCLAS Processing | 44 |
| 3 |
Reserved | 45 |
|
|
QoS Capability | 46 |
| 3 |
Reserved | 47 |
|
|
强健安全网络(RSN) | 48 |
| 36-256 |
保留(Reserved) | 49 |
|
|
扩展支持速率(Extended Supported Rates) | 50 |
| 3-257 |
保留(Reserved) | 51-126 |
|
|
其中部分元素信息如下:
1. 跳频参数集(FH Parameter Set element):
2. 传输指示映射(TIM)
3. 信道切换声明(Channel Switch Announcement)
4. ERP信息(ERP Information)
5. 扩展支持速率(Extended Supported Rates)
管理帧中的关联请求帧的格式如下(IEEE std 802.11-2007 P82):
顺序 | 字段名 | 描述 | 长度(字节) |
1 | Capability | 性能信息,通告网络具有的性能 | 2 |
2 | Listen interval | 以信标间隔计算的休眠时间 | 2 |
3 | SSID | 标识ESS或IBSS | 2-34 |
4 | Supported rates | 指定802.11支持的速率 | 3-10 |
5 | Extended Supported Rates | 扩展的支持速率 | 3-257 |
6 | Power Capability |
| 4 |
7 | Supported Channels |
| 4-256 |
8 | RSN |
| 36-256 |
9 | QoS Capability |
| 3 |
Last | Vendor Specific |
|
|
管理帧中的关联响应帧的格式如下(IEEE std 802.11-2007 P82-83):
顺序 | 描述 | 长度 |
1 | Capability | 2 |
2 | Status code | 2 |
3 | Association ID | 2 |
管理帧中的重新关联请求帧的格式如下(IEEE std 802.11-2007 P83):
顺序 | 描述 | 长度 |
1 | Capability | 2 |
2 | Listen interval | 2 |
3 | Current AP address | 6 |
4 | SSID | 2-34 |
5 | Supported rates | 3-10 |
6 | Extended Supported Rates | 3-257 |
7 | Power Capability | 4 |
8 | Supported Channels | 4-256 |
9 | RSN | 36-256 |
10 | QoS Capability | 3 |
11 | Vendor Specific |
|
管理帧中的重新关联响应帧的格式如下(IEEE std 802.11-2007 P84):
顺序 | 描述 | 长度 |
1 | Capability | 2 |
2 | Status code | 2 |
3 | Association ID | 2 |
4 | Supported rates | 3-10 |
5 | Extended Supported Rates | 3-257 |
6 | EDCA Parameter Set | 20 |
7 | Vendor Specific |
|
管理帧中的探测请求帧的格式如下(IEEE std 802.11-2007 P84):
顺序 | 描述 | 长度 |
1 | SSID | 2-34 |
2 | Supported rates | 3-10 |
3 | Request information | 2-256 |
4 | Extended Supported Rates | 3-257 |
5 | Vendor Specific |
|
管理帧中的探测响应帧的格式如下(IEEE std 802.11-2007 P85):
顺序 | 描述 | 长度 |
1 | Timestamp | 8 |
2 | Beacon interval | 2 |
3 | Capability | 2 |
4 | SSID | 2-34 |
5 | Supported rates | 3-10 |
6 | FH Parameter Set | 7 |
7 | DS Parameter Set | 3 |
8 | CF Parameter Set | 8 |
9 | IBSS Parameter Set | 4 |
10 | Country | 8-256 |
11 | FH Parameters |
|
12 | FH Pattern Table |
|
13 | Power Constraint | 3 |
14 | Channel Switch Announcement | 5 |
15 | Quiet | 8 |
16 | IBSS DFS | 10-255 |
17 | TPC Report | 4 |
18 | ERP Information | 3 |
19 | Extended Supported Rates | 3-257 |
20 | RSN | 36-256 |
21 | BSS Load |
|
22 | EDCA Parameter Set | 20 |
Last–1 | Vendor Specific |
|
Last–n | Requested information elements |
|
管理帧中的信标帧的格式如下(IEEE std 802.11-2007 P80-81):
顺序 | 描述 | 长度 |
1 | Timestamp | 8 |
2 | Beacon interval | 2 |
3 | Capability | 2 |
4 | Service Set Identifier (SSID) | 2-34 |
5 | Supported rates | 3-10 |
6 | Frequency-Hopping (FH) Parameter Set | 7 |
7 | DS Parameter Set | 3 |
8 | CF Parameter Set | 8 |
9 | IBSS Parameter Set |
|
10 | Traffic indication map (TIM) | 4 |
11 | Country | 8-256 |
12 | FH Parameters |
|
13 | FH Pattern Table |
|
14 | Power Constraint | 3 |
15 | Channel Switch Announcement | 5 |
16 | Quiet | 8 |
17 | IBSS DFS | 10-255 |
18 | TPC Report | 4 |
19 | ERP Information | 3 |
20 | Extended Supported Rates | 3-257 |
21 | RSN | 36-256 |
22 | BSS Load | 7 |
23 | EDCA Parameter Set | 20 |
24 | QoS Capability | 3 |
Last | Vendor Specific |
|
管理帧中的ATIM帧的格式如下:
The frame body of a management frame of subtype ATIM is null.
ATIM帧的帧主体部分是NULL。
管理帧中的取消关联帧的格式如下(IEEE std 802.11-2007 P81-82):
顺序 | 描述 | 长度 |
1 | Reason code | 2 |
2 | One or more vendor-specific information elements may appear in this frame. |
|
管理帧中的身份验证帧的格式如下(IEEE std 802.11-2007 P86):
顺序 | 描述 | 长度 |
1 | Authentication algorithm number | 2 |
2 | Authentication transaction sequence number | 2 |
3 | Status code | 2 |
4 | Challenge text | 3-255 |
Last | Vendor Specific |
|
管理帧中的解除身份验证帧的格式如下(IEEE std 802.11-2007 P86):
顺序 | 描述 | 长度 |
1 | Reason code | 2 |
Last | One or more vendor-specific information elements may appear in this frame. This information element follows all other information elements. |
|
管理帧中的行动帧的格式如下(IEEE std 802.11-2007 P87):
顺序 | 描述 | 备注 | 长度 |
1 | Action |
|
|
Last | One or more vendor-specific information elements may appear in this frame. This information element follows all other information elements. |
|
|
名称 | 描述 | 长度(字节) |
帧控制(Frame Control) |
| 2 |
持续时间(Duration ID) | 用来记载网络分配矢量(Network Allocation Vector,简称NAV) | 2 |
目的地址 | 最后的接收端,即负责将帧交付上层协议处理的工作站 | 6 |
源地址 | 传送的来源 | 6 |
接收端地址 | 负责处理该帧的无线工作站 | 6 |
顺序控制字段(Seq-Ctl) | 用来重组帧片段以及丢弃重复帧 | 2 |
发送端地址 | 将帧传送至无线媒介的无线接口 | 6 |
帧校验序列(FCS) | 让工作站能够检查所受到的帧的完整性 | 4 |