帧类型 |
基于竞争的服务 |
无竞争服务 |
携带数据 |
未携带数据 |
Data |
√
|
|
√ |
|
Data+CF-ACK |
|
√ |
√ |
|
Data+CF-Poll |
|
AP only |
√ |
|
Data+CF-ACK+CF-Poll |
|
AP only |
√ |
|
Null |
√ |
√ |
|
√ |
CF-ACK |
|
√ |
|
√ |
CF-Poll |
|
AP only |
|
√ |
CF-ACK+CF-Poll |
|
AP only |
|
√ |
4.1.1 Frame Control(帧控制)
最值得注意的是那些地址位,它们的意义将因 ToDS 及FromDSbit 的值而异。
4.1.2 Duration(持续时间)
Duration(持续时间)位用来记载网络分配矢量( NAV)的值。
数据帧之 Duration 位的设定,必须依循四项规范:
1.免竞争期间所传递的任何帧,必须将 Duration 位设定为 32768。此规范适用于免竞争期间所传递的任何数据帧。
2.目的地为广播或组播地址的帧( Address 1 位设定了群组 bit),其持续时间为 0。此类帧并非基本交换过程的一部分,接收端也不会加以应答,因此竞争式介质访问可以在广播或组播数据帧结束后立即开始。 NAV 在帧交换过程中是用来保护传输介质。既然广播或组播帧之后不会有来自链路层的应答,因此没有必要为后续帧锁住介质使用权。
3.如果 Frame Control 位中的 More Fragments bit 为 0,表示该帧已无其余片段。最后的帧片段只须为本身的应答预订介质使用权,之后就可以恢复竞争式访问了。 Duration位会被设定为发送一个短帧间隔及片段应答所需要的时间。整个过程如图 4-2 所示。倒数第二个片段的 Duration 位,会为最后一个片段锁住介质使用权。
4.如果 Frame Control 位的 More Fragmentsbit 被设定为 1 ,表示其后还有帧片段。因此,Duration 位便会被设定为发送两个应答、加上三个短帧间隔及下一个帧片段所需要的时间。为非最终片段设定 NAN 的方式本质上与 RTS 相同,所以亦称为虚拟 RTS。
功能 |
ToDS |
FromDS |
Address 1(receiver) |
Address 2(transmitter) |
Address 3 |
Address 4 |
IBSS |
0 |
0 |
DA |
SA |
BSSID |
not used |
To AP |
1 |
0 |
BSSID |
SA |
DA |
not used |
From AP |
0 |
1 |
DA |
BSSID |
SA |
not used |
WDS(桥接器) |
1 |
1 |
RA |
TA |
DA |
SA |
注意接收端和目的地并不是完全相同的。
目的地是指负责处理帧中网络层封包的工作站;
接收端则是负责将无线电解码为 802.11 帧的工作站。
源地址是指产生帧中网络层协议封包的工作站
发送端则是负责将帧发送至无线链路。
Address 3 位则是供基站与传输系统过滤之用,不过该位的用法,取决于所使用的网络类型。
4.1.4 数据帧的次类型
次类型为 Data 的帧,只有在竞争访问期间才会传输。
它是由 MAC 标头与 FCS 标尾所组成。在传统的以太网中, Null帧无非就是额外的负担;在 802.11 网络中,移动工作站会利用 Null 帧来通知基站省电状态的改
变。
4.1.5 数据帧的封装
4.1.5.1 IBSS 帧
IBSS 数据帧的次类型不是 data 就是 Null;后者只是用来告知目前的电源管理状态。
4.1.5.2 发送自基站( From AP)的帧
区分源与发送端所以必要,是因为 802.11 MAC 会将应答送给帧的 Transmitter(发送端 AP),而较上层的协议会将应答送给帧的 source(来源地)。
4.1.5.3 发送至基站( To AP)的帧
发送至传输系统( Ds)的帧其 ToDS bit 会被设定为 1 ,而 FromOS bit 会被设定为 0。
4.1.5.4 WDS 中的帧
4.1.5.5 经加密的帧
Frames Control(帧控制)位的 Protected Frame bit 会被设定为 1
4.2 控制帧
控制帧主要在协助数据帧的传递。
4.2.1 一般的帧控制位
ToDS 与 FromDS bit
控制帧负责处理无线介质的访问,因此只能够由无线工作站产生。传输系统并不会收送控制帧,因此这两个 bit 必然为 0。
4.2.2 RTS(请求发送)
RTS 帧可用来取得介质的控制权,以便传输「大型」帧。至于多大称之大型:是由网卡驱动程式中的 RTS threshold(门限)来定义。介质访问权只能保留给单点传播( unicast)帧使用,而广播(broadcast)与组播( multicast)帧只须发送便是了。
Duration(持续时间)
RTS 帧会试图预定介质使用权,供帧交换程序使用,因此 RTS 帧发送者必须计算 RTS 帧结束后还需要多少时间。
4.2.3 CTS(允许发送)
CTS 帧有两种目的:1. 用于应答 RTS 帧;2.被 802. 11g 防护机制用来避免干扰较旧的工作站
4.2.4 ACK(应答)
ACK 帧就是 MAC 以及任何数据传输(包括一般传输 RTS/CTS 交换之前的帧、帧片段)所需要的正面应答( positive acknowledgment)。
4.2.5 PS-Poll(省电模式一轮询)
当一部移动工作站从省电模式中苏醒, 便会发送一个 PS-Poll 帧给基站, 以取得任何暂存帧。
AID(连接识别码):PS-Poll 帧将会以 MAC 标头的第三与第四 bit 来代表连接识别码(association ID)。连接识别码是基站所指定的一个数值, 用以区别各个连接。 将此识别码置入帧, 可让基站找出为其(移动工作站)所暂存的帧。
4.3 管理帧
4.3.1 管理帧的结构
4.3.2 长度固定的管理帧元件
Authentication Algorithm Number 位
Authentication Transaction Sequence Number 位
身份认证程序分为好几个步骤,其中包含由基站所发出的盘问口令( challenge),以及试图连接的移动工作站所做出的应答。
Beacon interval 位
每隔一段时间就会发出的 Beacon(信标)信号,用来宣布 802.11 网络的存在。 Beacon帧中除了包含 BSS 参数的信息,也包含基站暂存帧的信息,因此移动工作站必须仔细聆听Beacons 信号。 Beacon interval(信标间隔)位的长度有 16 个 bit,用来设定 Beacon 信号之间相隔多少时间单位。
Capability information 位
长度 16 个 bit 的 Capability Information 性能信息位, 发送 Beacon 信号的时候,它被用来通知各方,该网络具备哪种性能。
- ESS/IBSS(扩展服务组合/独立型塞本服务组合)
这两个 bit 旗标彼此互斥( mutually exclusive)。基站会将 ESS 位设定为 1 ,而将 IBSS 布位设定为 0,表示基站属于基础网络的一部分。 IBSS 中的工作站则会将 ESS 位设定为 0,而将IBSS 位设定为 1 。
将 Privacy bit 设定认 1 , 代表需要使用 WEP 以维持机密性。 在基础网络中, 发送端为基站。在 IBSS 里, Beacon 信号必须由 IBSS 当中某部工作站负责。
802.11b 规格新增此位的目的,是为了支持高速直接序列扩频物理层( high-rate DSSS PHY)。将之设定为 1 ,代表此网络目前使用短同步信号( short preamble),对此第十章会有进一步的说明。 0 代表不使用此选项,并且在该 BSS 中禁止使用短同步信号。 802.11g 规定使用短同步信号,因此在依循 802.11g 标准所建置的网络中,此位必然设定为 1 。
802.11b 规格新增此位的目的,是为了支持高速直接序列扩频物理层(high-rate DSSS PHY)。
这一位加入 802.11b 规格的目的,是为了支持高速直接序列扩频物理层(high-rate DSSS PHY)。
- Short Slot Time( 802.llg)
此 bit 若设定为 1 ,代表使用 802.11 所支持的较短的时槽,这将于第十四章讨论。
bit 若设定为 1 ,代表使用 802.11g 的 DSSS-OFDM 帧构建( frame construction)选项。
- Contention-free polling(免竞争轮询) bit
工作站与基站使用这两个 bit(CF-Ppllable 与 CF-Poll Request)当作标签。
Current AP Address 位
移动工作站可以使用图 4-25 所示的 Current AP Address(目前基站的地址)位来表明目前所连接的基站的 MAC 地址。 这个位的用途是便于连接( association) 与重新连接( reassociation)的进行。 工作站会借此发送上一次所连接的基站的地址。 当工作站打算与不同的基站建立连接时,此位可用来转换连接,以及取回所有暂存的帧。
Listen interval 位
所谓 Listen Interval,其实就是以 Beacon interval(信标间隔)为单位所计算出的休眠时间。
Association ID 位长度 16bit
Timestamp 位
用来同步 BSS 中的工作站 BSS 的主计时器会定期发送目前已作用的微秒数。 当计数器到达最大值时, 便会从头开始计数。
Reason Code 位
当对方不适合加入网络时,工作站会送出 Disassociation(解除连接)或 Deauthentication(解除身份认证)帧作为应答。这些帧当中包含一个长度 16bit 的 Reason Code(原因代码)位,表示对方的做法有误,
代码 |
含义 |
0 |
保留,未使用( Reserved; unused) |
1 |
未指定( Unspecified) |
2 |
之前的身份认证无效( Prior authentication is not valid) |
3 |
工作站已经离开基本服务区或扩展服务区,目前已经解除身份认证 |
4 |
闲置计时器超时,且工作站已经解除连接 |
5 |
基站资源不足,因此解除连接 |
6 |
从尚未认证的工作站所收到的帧类型或次类型不正确 |
7 |
从尚未连接的工作站所收到的帧类型或者次类型不正确 |
8 |
工作站已经离开基本服务区或扩展服务区,目前已经解除连接 |
9 |
在身份认证完成之前要求连接或者重新连接 |
10( 802.11h) |
无法接受 Power Capability 信息元素的设定值,因此解除连接 |
11( 802.11h) |
无法接受 Supported Channels 信息元素的设定值,因此解除连接 |
12 |
保留 |
13( 802.11i) |
信息元素不正确( 802.11i 所加入的原因代码, 因此应指 802.11i 的信息元素) |
14( 802.11i) |
数据完整性检验失败 |
15( 802.11i) |
四道密钥磋商超时 |
16( 802.11i) |
群组密钥磋商超时 |
17( 802.11i) |
四道磋商信息元素的安全参数与原始参数组合不符 |
18( 802.11i) |
群组密码锁不正确 |
19( 802.11i) |
成对密码锁不正确 |
20( 802.11i) |
身份认证与密钥管理协议不正确 |
21( 802.11i) |
未支持的固安网络信息元素版本 |
22( 802.11i) |
RSN IE 的性能项不正确 |
23( 802.11i) |
802.1X 身份认证失败 |
24( 802.11i) |
所设定的使用政策拒绝所提议的密钥锁组 |
25-65535 |
保留 |
Status Code 位
状态代码用来表示某项过程成功或失败。
4.3.3 管理帧的信息元素
信息元素( information element)是管理帧的组成元件,其长度不定。信息元素通常包含一个 Element ID(元素识别码)位、一个 Length(长度)位以及一个长度不定的位,如图 4-31所示。 Element ID 编号的标准值如表 4-7 所示。
表 4-7:信息元素
Element ID |
Name |
0 |
服务集标识( Service Set Identity (SSID)) |
1 |
所支持的速率( Supported Rates) |
2 |
跳频参数集合( FH Parameter Set) |
3 |
直接序列参数集合( DS Parameter Set) |
4 |
免竞争参数集合( CF Parameter Set) |
5 |
数据待传信息( Traffic Indication Map (TIM)) |
6 |
IBSS 参数集合( IBSS Parameter Set) |
7 (802.11d) |
国家( Country) |
8 (802.11d) |
跳频模式参数( Hopping Pattern Parameters) |
9 (802.11d) |
跳频模式表( Hopping Pattern Table) |
10(802.11d) |
请求( Request) |
11-15 |
保留;未使用( Reserved; unused) |
16 |
盘查口令( Challenge text) |
17-31 |
保留【注 a】(在 802.11 共享密钥身份认证停用之前,保留给盘查口令未来扩充用) |
32(802.11h) |
功率限制( Power Constraint) |
33(802.11h) |
功率性能( Power Capability) |
34(802.11h) |
发射功率控制请求( Transmit Power Control (TPC) Request) |
35(802.11h) |
发射功率控制报告( TPC Report) |
36(802.11h) |
所支持的信道( Supported Channels) |
37(802.11h) |
信道切换宣告( Channel Switch Announcement) |
38(802.11h) |
测量请求( Measurement Request) |
39(802.11h) |
测量报告( Measurement Report) |
40(802.11h) |
禁声( Quiet) |
41(802.11h) |
IBSS 动态选频( IBSS DFS) |
42(802.11g) |
ERP 信息( ERP information) |
43-49 |
保留( Reserved) |
48 (802.11i) |
固安网络( Robust Security Network) |
50(802.11g) |
扩展支持速率(Extended Supported Rates) |
32-255 |
保留;未使用(Reserved; unused) |
221 |
Wi-Fi 访问保护(Wi-Fi Protected Access) |
4.3.3.1 服务集标识(Service Set Identity( SSID))
有些文件将 SSID 视为网络名称,因为网管人员通常以字串来指定 SSID。其实, SSID 不过是由字节所形成的字串,用来标示所属网络的 BSSID。有些产品要求此字串必须是以 null(即0)结尾的 ASCII 字串,虽然标准对此并无特别规范。
SSID 的长度介于 0 至 32 字节之间。如果完全不加指定,此种特例称为 broadcast SSID;broadcast SSID 只用于 Probe Request 帧,工作站可以藉此找出该区域中所有的 802.11 网络。
4.3.3.2 支持速率( Supported Rates)
无线局域网络支持数种标准速率。 802.11 网络可以使用 Supported Rates(所支持的冻率)信息元素指定其所支持的速率。 当移动工作站试图加入网络, 会先检视该网络所使用的数据速率。有些速率是强制性的,每部工作站都必须支持,有些则是选择性的。
它是由一串字节所构成。每个字节会使用七个低效 bit 来代表数据速率;最高效 bit 则是用来表示该数据速率是否为强制性。如果是强制性速率,最高效 bit 为 1 ;非强制性速率则为 0。此信息元素最多可涵括八种速率。
二进制数值 |
十六进制 |
响应的速率( Corresponding rate (Mbps)) |
2 |
82 |
1Mbps |
4 |
84 |
2 Mbps |
11 (802.11b) |
8B |
5.5 Mbps |
12 (802.11g) |
0C |
6 Mbps |
18 (802.11g) |
12 |
9 Mbps |
22 (802.11b) |
96 |
11 Mbps |
24 (802.11g) |
18 |
12 Mbps |
36 (802.11g) |
24 |
18 Mbps |
44 (802.11g) |
2C |
22 Mbps (802.11g PBCC 选项 optional 802.11g PBCC) |
48 (802.11g) |
30 |
24 Mbps |
66 (802.11g) |
42 |
33 Mbps (802.11g PBCC 选项 optional 802.11g PBCC) |
72 (802.11g) |
48 |
36 Mbps |
96 (802.11g) |
60 |
48 Mbps |
108 (802.11g) |
6C |
54 Mbps |
图 4-33 显示了如何同时编码两种数据速率。除了支持强制性的 2Mbps 服务,也支持选择性的 11Mbps 服务。
4.3.3.4 直接序列参数集合(DS Parameter Set)
802.11 直接序列( Direct-sequence)网络只有一个参数:网络所使用的信道数。