802.11管理帧细节

1.概述

在802.11规范说明书中,管理帧所占据的篇幅最多。格式各样的管理帧只为了给有线网络提供相当简单的服务。对有线网络而言,识别一部工作站并非难事,毕竟控制中心与工作站之间必须通过布线方能建立连接。有时候,配线柜的插线面板可加速网络的构建,不过重点还是在于建立新的连接时可通过个人检查进行身份验证。
无线网络必须建立一些管理机制才能提供类似的功能。802.11将整个过程分解为三个步骤。寻求连接的移动式工作站必须首先找出可供访问的兼容无线网络。在有线网络中,这个步骤相当于在墙上找出合适的插座。其次,网络系统必须对移动式工作站进行验证,才能决定是否让工作站与网络系统连接。在有线网络访问,身份验证是由网络系统本身提供。如果必须通过网线才能够取得信号,那么能够使用网线至少也算的上是一种认证。最后,移动式工作站必须与接入点建立关联,这样才能访问有线骨干网络,这相当于将网线插到有线网络系统。

2.管理帧的结构

802.11管理帧的基本结构如以下,所有的管理帧的MAC标头都一样,与帧的子类型无关。管理帧会使用信息元素(带有数字标签的数据块)来与其他系统交换信息。

Frame Control Duration DA SA BSSID Seq ctl Frame body FCS
2bit 2bit 6bit 6bit 6bit 2bit 0-2312bit 4bit

DA :地址字段

目的地地址使用

计算持续时间

管理帧使用Duration(持续时间)字段的方式和其它帧没有不同:
1.无竞争周期内所传送的任何帧均会将持续时间设为32768
2.基于竞争的访问周期内利用DCF所传送的帧会通过Duration字段防止别人访问媒介,以确保原子帧交换得以完成。
a.如果是广播或组播帧(目的地地址为组地址),则持续时间会设定为0。广播与组播帧无需得到确认,因此NAV无需防止别人访问媒介。
b.如果不是最终片段,则持续时间会设为3个SIFS加上下一个片段以及其确认所需要的微秒数。
c.最终帧片段的持续时间会设定为一个响应加上一个SIFS所需要的时间。

帧主体

管理帧十分灵活。帧主体中的大部分数据如果使用长度固定的字段,就称为固定字段,如果字段长度不定,就称为信息元素,是指长度不定的数据块。每个数据块均会标注类型编号与大小,各种信息元素的数据字段都有特定的解释方式。

3.长度固定的管理帧组件

在管理帧中,可能出现的长度固定的字段有10种。长度固定的字段一般简称为字段,以便与长度不定的信息元素有所区别。字段本身并无标头可与帧主体的其他部分进行区别。因为长度与次序固定,所以不需要以字段标头来界定。

Authentication Algorithm Number字段

Authentication Algorithm Number(身份验证算法编号)字段占用了2个字节,此字段代表关联发送之前,802.11层的最初认证过程所使用的认证类型。此字段容许的值范围如下:

意义
0 开发系统身份验证
1 共享密钥身份验证
2~65535 保留

Authentication Tracnsaction Sequence Number字段

身份验证过程分为好几个步骤,其中包含从接入点所发出的质疑(challenge)以及试图关联的移动式工作站所做出的响应。由两个字节所构成,用以追踪身份验证的进度。此字段值介于1到65535之间,不可为0。

Beacon interval字段

每隔一段时间就会发出的Beacon(信标)信号用来宣布802.11网络的存在。Beacon帧中除了包含BSS参数的信息,也包含接入点缓存帧的信息,因此移动式工作站必须仔细监听Beacon信号。Beacon interval(信标间隔)字段的长度为16位,用来设定Beacon信号之间相隔多少时间单位。时间单位通常缩写成TU,代表1024微秒,相当于1毫秒。Beacon interval字段通常会被设定为100个时间单位,相当于每100毫秒或0.1秒依次传送Beacon信号。

Capability Information字段

传送Beacon信号的时候,它被用来通告网络具备何种性能。也可以使用在Probe Request与Probe Response帧中。在本字段中,每个位各自代表一个标记(flag),对应到网络所具备的某种特殊功能。工作站会使用这些通告数据来判断自己是否支持该BSS所有的功能。未实现性能通告中所有功能的工作站就无法加入该BSS。

ESS IBSS CF-Pollable CF-Poll request Privacy Short preamble PBCC Channel agility Reserved Short slot time Reserved DSSS-OFDM Reserved
0 1 2 3 4 5 6 7 8-9 10 11-12 13 14-15

ESS/IBSS(扩展服务集/独立基本服务集)

这两个位彼此互斥。接入点会将ESS字段设定为1,而将IBSS字段设定为0,表示接入点属于infrastructure(基础结构型)网络的一部分。IBSS中的工作站则会将ESS字段设定为0,而将IBSS字段设定为1。

Privacy(保密性)

将Privacy位设定为1,代表需要使用WEP以维持机密性。在infrastructure网络中,发送端为接入点。在IBSS里,Beacon信号必须由IBSS中的某个工作站负责。802.11g规定使用短前导码,因此在依据802.11g标准所构建的网络中,此字段必然被设定为1。

Short Preamble(短前导码)

802.11b规范新增此字段是为了支持高速直接序列扩频物理层。将之设定为1,代表此网络目前使用短前导码,0代表不使用此选项,并且在该BSS中禁止使用短前导码。

PBCC(封包二进制回旋码)

802.11b规范新增此字段是为了支持高速直接序列扩频物理层。将之设定为1,代表此网络目前使用封包二进制回旋码调制机制,0代表不使用。

Channel Agility(机动信道转换)

802.11b规范新增此字段是为了支持高速直接序列扩频物理层。将之设定为1,代表此网络目前使用机动信道转换,0代表不使用。

Short Slot Time(802.11g)

此位若设定为1,代表使用802.11所支持的较短的时隙

DSSS-OFDM(802.11g)

此位若设定为1,代表使用802.11g的DSSS-OFDM帧构造。

Contention-free polling(无竞争-轮询)

工作站与接入点使用这两位(CF-Pollable与CF-Poll Request)当做标签。

Current AP Address字段

移动式工作站可以使用此字段来表明当前管理的接入点的MAC地址。这个字段的用途是便于关联与重新关联的进行。工作站会借此传送上一次所关联的接入点的地址。当工作站打算与不同的接入点建立关联时,此字段可用来转换关联以及取回所有缓存的帧。

Listen interval字段

为了节省电池的电能,工作站可以暂时关闭802.11网络接口的天线。当工作站处于休眠状态时,接入点必须为之缓存帧。休眠中的工作站会定期醒来聆听往来消息,以判断是否有帧缓存与接入点。当工作站与接入点关联时,会将Listen Interval记录下来。所谓Listen Interval,其实就是以Beacon interval(信标间隔)为单位所计算出的休眠时间。

Association ID字段

当工作站与接入点关联时,就会被赋予一个关联标识符来协助控制与管理。虽然关联标识符的可用位数为14,不过只有1~2007可以使用。为了与MAC标头的Duration/ID字段兼容,最重要的两个位均被设定为1。

Timestamp字段

Timestamp(时间戳)字段可用来同步BSS中的工作站。BSS的主计时器会定期传送目前已作用的微秒数。当计数器到达最大值便会从头开始计数。

Reason Code字段

当对方不适合加入网络时,工作站会送出Disassociation或Deauthentication帧作为响应。这些帧中包含一个长度为16位的Reason Code字段,标识对方的做法有误。

Status Code字段

状态码用来标识某项操作成功或失败。Status Code(状态码)如果操作成功,该字段的值会被设定为0,否则被设为非零值。

4.管理帧的信息元素

信息元素是管理帧的可变长组件。信息元素通常包含一个Element ID(元素标识符)字段,一个Length(长度)字段以及一个长度不定的字段。

Element ID 名称

Element ID 名称
0 服务集标识符(SSID)
1 所支持的速率(Supported Rates)
2 跳频参数集(FH Parameter Set)
直接序列参数集(DS Parameter Set)
4 无竞争参数集(CF Parameter Set)
传输指示映射(TIM)
6 IBSS参数集
7-15 保留
16 质询文本
17-31 保留
32(802.11h) 功率限制
33(802.11h) 功率性能
34(802.11h) 发送功率控制请求
35(802.11h) 发送功率控制报告
36(802.11h) 所支持的信道
37(802.11h) 信道切换声明
38(802.11h) 测量请求
39(802.11h) 测量报告
40(802.11h) 静默
41(802.11h) IBSS动态选频
42(802.11h) ERP信息
43~49 保留
48(802.11i) 强健安全网络
50(802.11g) 扩展支持速率
52-255 保留
221 Wi-Fi保护访问

Service Set Identity(SSID)

SSID允许网管人员为服务集指定标识符。试图加入网络的工作站可以扫描当前区域的所有网络,然后依特定的SSID加入。共同组成扩展服务区域的所有基本服务区域都会使用相同的SSID。
SSID的长度介于0至32个字节之间。如果完全不加指定,这种特例就称为broadcast SSID。broadcast SSID只用于Probe Request帧,工作站可以借此找出该区域中所有的802.11网络。

Supported Rates

无线局域网支持几种标准速率。802.11网络可以使用Support Rates来指定所支持的速率。当移动式工作站试图加入网络时,会先查看该网络所使用的数据速率。有些速率是强制性的,每个工作站都必须支持,有的则是选择性的。
由一串字节构成,每个字节会使用7个低位来代表数据速率,最高位则是用来表示该数据速率是否为强制性的,如果是强制性速率,则最高位为1,非强制性速率则为0。此信息元素最多可包含8种速率。随着各种数据速率的增加,目前已将Extended Supported Rate(扩展支持速率)元素标准化,以便处理8种以上的速率。

FH Parameter Set

FH Parameter Set(跳频参数集)包含了加入802.11跳频(frequency-hopping)网络所需要的参数。

Element ID length Dwell Time Hop Set Hop Pattern Hop Index
1byte 1byte 2byte 1byte 1byte 1byte

在FH Parameter Set中有4个针对802.11跳频式网络的字段。
Dwell Time(驻留时间)
802.11 FH网络会在信道与信道之间跳跃。停留在每个信道上的时间称为dwell time(驻留时间)。驻留时间是以时间单位来表示。
Hop Set(跳频组合)
802.11跳频物理层定义了若干跳频模式,此字段的长度为1个字节,代表使用的跳频模式组合
Hop Pattern(跳频模式)
工作站从跳频集中挑出一种跳频模式。此字段的长度为一个字节,代表所使用的跳频模式。
Hop Index(跳频索引)
每种跳频模式均包含一组跳频序列,此字段的长度为1个字节,代表当前位于跳频序列的哪一点上。

DS Parameter Set

802.11直接序列网络只有一个参数:网络所使用的信道数。高速直接序列网络使用相同的信道,因此可以使用详细的参数集。信道数以一个字节进行编码。

Traffic Indication Map(TIM)

接入点会为处于休眠状态的工作站缓存帧。每隔一段时间,接入点就会尝试传送这些缓存帧给休眠中的工作站。
将TIM(传输指示映射)传送到网络来指示哪些工作站需要接收待传数据,TIM的内容是虚拟位映射,这个由2088个位组成的逻辑结构。每个位分别绑定到一个关联标识符,当某个关联标识符有数据缓存时,相应的位就会被设成1,否则设成0。

DTIM Count(DTIM 计数)

此字段的长度为1个字节,代表下一个DTIM(Delivery Traffic Indication Map,延迟传输指示映射)
帧前即将传送的Beacon帧数。DTIM帧用来表示所缓存的广播与组播帧即将被传送。并非所有Beacon帧都为DTIM帧

DTIM Period(DTIM 周期)

此字段的长度为1个字节,代表两个DTIM帧之间的Beacon间隔数。值0目前保留未用。
Bitmap Control(位映射控制)与Partial Virtual Bitmap(部分虚拟位映射)
Bitmap Control(位映射控制)字段可进一步划分2个子字段。位0用来表示关联标识符0的待传状态,主要是保留给组播使用。其他7个位则是保留给Bitmap Offset(位映射偏移)子字段使用。
为了节省带宽,可以通过Bitmap Offset子字段,只传送一部分”虚拟位映射”。Bitmap Offset是与虚拟位映射的开头处相关联。利用Bitmap Offset子字段及Length字段,802.11工作站可以推断虚拟位映射有哪些部分包括在内。

CF Parameter Set

CF Parameter Set(无竞争参数集)信息元素出现在支持无竞争(contention-free)操作的接入点所传送的Beacon帧中。

IBSS Parameter Set

IBSS目前只有一个参数,即ATIM(通知传输指示消息)窗口。此字段只用于IBSS Beacon帧,用来表示IBSS中ATIM帧之间相隔的时间单位(TU)数量

Country

802.11规范说明书原来是针对主要的工业化国家现有的管理规定所设计的。为了避免每新增一个国家就得重新修订规范,因此在规范说明说中加入新的规定,让网络能够提供管理规范给新加入的工作站。此机制的核心就是Country信息元素。

Element Length Country String First channel number Number of channels Max transmit power
1bytes 1bytes 3bytes 1bytes 1bytes 1bytes

在Type/Length信息元素标头之后的是国家标识符,之后是一系列由3个字节构成的用于限制的描述符。每组限制描述均注明特定频段,它们彼此不会重复,因为每个特定频率只会有一个最大允许功率。

Country String(国家字符串,3个字节)

由3个字符所构成的ASCII字符串,代表工作站的使用国家。前两个字符即ISO国家代码(例如US代表美国)。有些国家对于室内与室外有不同的管理规定,第三个字符既是用来区别这个的。如果室内室外的管理规定相同,第三个字符则为空白。如果只想指定室内或室外的管理规定,可以分别将第三个字符设为”I”或”O”。
First Channel Number(第一信道编号,1个字节)
第一信道编号是符合功率限制的最低信道。
Number of Channels(信道数,1个字节)
符合功率限制的频段大小是由信道数来指定的。信道大小随PHY的不同而有所不同。
Maximum Transmit Power(最大传送功率,1个字节)
最大传送功率,以dBm为单位。
Pad(补零码,1个字节,可有可无)
信息元素所使用的字节数必须刚好是偶数。如果信息元素的长度恰为奇数,就必须用一个字节补零。

Hopping Pattern Parameter(跳频模式参数)与Hopping Pattern Table(跳频模式表)

这两个元素可以用来指定新的跳频样式,以便符合其他国家的管理规定。如此一来,若要采用不同的跳频物理层,就不需要进一步修订规范说明书了。

Request

在Probe Request帧中,Request信息元素用来向网络查询特定的信息元信息元素本身有type/length标头以及一连串所要查询的信息元素编号。

Challenge Text

802.11所定义的共享密钥身份验证系统会要求移动式工作站必须成功解码一个加密过的质询。这个质询使用Challenge Text信息元素进行传送。

Power Constraint

Power Constraint(功率限制)信息元素允许网络向工作站描述其所允许的最大传送功率。除了规定上的最大值,另外还有实际使用时的最大值。此信息元素只有一个字段,长度为1个字节,其中记录的整数值是规定上的最大值减去实际使用时的最大值,以dBm为单位。例如,假设规定上允许的最大功率为10dBm,但是此信息元素值为2,那么此工作站就是将本身的最大传送功率设为8dBm。

Power Capability

802.11工作站通常以电池供电,在无线电波的性能上无法与接入点相提并论。移动式工作站通常不需要像接入点那样以高功率进行传送。Power Capability(功率性能)信息元素让工作站能够报告本身最低与最高的传送功率,以dBm为单位

TPC Request

Transmit Power Control(传送功率控制简称TPC),Request信息元素用来请求无线链路管理信息。此信息元素并无其他关联数据,因此此长度字段必然为0

TPC Report

知道整个链路的衰减情况可以帮助工作站了解该如何调整传送功率。TPC Report信息元素散见于各种管理帧中,有两个长度各为1个字节的字段构成。第一个字段代表传送功率,即包含此信息元素的帧的传送功率,以dBm为单位。第二个字段代表链路界限,即工作站所提出的安全界限值,同样以dBm为单位。工作站将会根据这两个值来调整本身的传送功率。

Supported Channel

Supported Channel(所支持的信道)信息元素与Country信息元素相似,用来记载所支持的子频段。在标头之后是一系列子频段的描述符。每组子频段描述符有第一信道编号,即所支持的子频段中的最低信道,以及子频段的信道数组成,举例说明,如果设备只支持信道40到52,那么第一信道编号即为40,信道数则为12.

Channel Switch Announcement

802.11h为网络加入了动态切换信道的能力。为了警告网络中的工作站即将变换信道,可以在管理帧中计入Channel Switch Announcement(信道切换声明)信息元素。

Channel Switch Mode(信道切换模式)

当操作信道改变时,通信会突然中断。如果此字段设定为1,已关联的工作站就会停止传送帧,直到信道切换完成,如果设定为0,则帧的传送就不受限制。

New Channel Number(新信道编号)

切换后的新信道编号。

Channel Switch Count(信道切换计时)

信道切换可以被预先安排时间。此字段记载了再过多少Beacon帧间间隔后进行信道切换。信道切换会在传送Beacon帧之前进行。非零值代表等待多少个Beacon间隔,0代表信道切换可以立刻进行,无需多作告警。

Measurement Request(测量请求)与Measurement Report(测量报告)

对于信道与功率设定的监控而言,定期进行信道测量十分重要。为了让工作站能够提出测量请求与接收测量报告。

Quiet

开发动态选频的理由之一,是为了避免与特定的军用雷达技术彼此干扰。要找出是否有雷达或其他干扰源存在,接入点可以使用Quite(静默)信息元素来暂时关闭该信道,以改善测量的质量。

Quiet Count(静默计时)

静默期可以被预先安排。此字段记载了再过多少Beacon间隔后开始进入静默期。

Quiet Period(静默周期)

静默期也可以被定期的预先安排。如果此字段为0,代表没有预先安排的静默期,非零值则代表每段禁声期之间相距多少Beacon间隔。

Quiet Duration(静默持续时间)

静默期不一定要持续一整个Beacon间隔时间。此字段用来指定静默期打算持续多少个单位时间

Quiet Offset(静默偏移时间)

静默期不一定要始于某个Beacon间隔。此字段用来指定Beacon间隔开始后经过多少个单位时间后开始进入下一个静默期。这个值必须小于Beacon间隔时间。

IBSS DFS

在基础结构型网络里,接入点负责动态选频(dynamic frequency selection简称DFS)。至于独立型网络,则必须有指定由谁进行动态选频的算法。

紧跟在标头之后的是负责维护DFS信息的工作站的MAC地址以及测量间隔。之后就是一系列的信道映射表,用来报告在每个信道上都探测到什么。信道映射表由一个信道编号以及一个映射字节构成,其中包含下列字段:

BSS(1位)

如果在测量期间探测到来自其他网络的帧,则此位就会被设定

OFDM Preamble(1位)

如果探测到802.11a的短训练序列,但其余的帧并未追随其后,则此位会被设定。

Unidentified Signal(1位)

当接收到的信号功率较高,但无法分辨此信号究竟是来自另一个802.11网络,另一个OFDM网络还是一个雷达信号,则此位就会被设定

Radar(1位)

如果在测量期间探测到雷达信号,则此位会被设定。

Unmeasured(1位)

如果未曾测量该信道,则此位会被设定。如果未曾测量,当然也就探测不到任何东西,因此上述4位均会被设定为0。

ERP信息

802.11g定义了增强速率物理层(extended rate PHY简称ERP)。为了向下兼容,另外定义了ERP信息元素,在最初的定义里,它相当于一个字节中的3个位标记。

Non-ERP present(无ERP信息)

当比较老旧,非802.11g的工作站与网络关联时,就会设定此位。如果探测到相邻网络无法使用802.11g,也会设定此位。

Use Protection(使用保护机制)

当网络中出现无法以802.11g的数据速率运作的工作站,此防护位就会被设定为1.这样一来就可以兼容于比较旧的工作站。

Barker Preamble Mode(Barker前导码模式)

如果关联到网络的工作站没有能力使用短前导码模式,则此位就会被设定。

Robust Security Network(RSN)

既然802.11i大幅改善了安全性,因此有必要开发一种方式,让工作站之间能够彼此交换安全性信息。用来实现此目标的主要工具即是Robust Security Network(强健安全网络简称RSN)信息元素。其中包含几种可变的成分,在某些情况下,就算不计标头,RSN信息元素也有可能超出信息元素长度的255个字节的限制。

Version(版本)

Version属于必要字段。802.11i定义了版本1,0保留未用,版本2及以上则尚未定义。

Group cipher suite(成组密码组)

接入点必须从中选择一种兼容于所有已关联工作站的成组密码,以便保护广播或组播帧。同时间只允许选择一种成组密码。
密码组选择器(cipher suite selector)的长度为4个字节,由厂商的OUI以及代表密码的编号组成。802.11i所使用的OUI为00-0F-AC,为802.11工作组所拥有。

Pairwise Cipher Suite(count + list)(成对密码组)

除了成组密码组,必然要有一些用来保护单播帧的成对密码组。它是由2个字节的计数以及一系列其所支持的密码描述符组成。密码组选择器可以设定为0,代表只支持分组密码组。除了信息元素的大小之外,支持多少成对密码并无限制。

Authentication and Key Management(AKM) suite(count+list)(身份验证与密钥管理组)

和成对密码组选择器一样,目前也存在好几种身份验证类型。它是由计数以及一系列4个字节的标识符所构成。和密码组一样,有4个字节所构成的标识符包含了一个OUI以及一组类型编号。

RSN Capabilities(RSN性能)

此字段的长度为2个字节,由4个标记构成,用来描述发送端的能力。其后的位保留未用,必须设定为0。
a.Pre-authentication(预先身份验证)
接入点可以设定此位,代表它可以和网络中其他接入点进行预先身份验证,以便安全地转移连接事宜,否则此位会被设定为0。
b.No Pairwise(无成对密钥)
如果工作站除了较牢靠的单播密钥外也支持手动设定的WEP密钥作为广播数据之用,则此位就会被设定。虽然工作站支持,但除非绝对必要,否则不会使用这种配制制定。
c.Pairwise Replay Counter(成对重放计数器)与Group Replay Counter(组重放计数器)
在逐渐浮出台面的服务质量扩展功能中,每个优先级可以拥有好几个不同的重放计数器。这些位用来描述工作站所支持的重放计数器的数量。

PMK list(count + list)

如果由接入点缓存成对主密钥,就可以在接入点之间进行快速换手。工作站可以在进行关联时给接入点提供一串主钥,这样就可以免除费时的身份验证过程。

Extended Supported Rates

与Supported Rates元素没有什么不同
Wi-Fi Protected Access(Wi-Fi保护访问简称WPA)
Wi-Fi保护访问是从802.11i中抽出部分功能并稍作修改,目的是为了尽快将TKIP推出到市场上。它相当于Robust Security Network信息元素,不过做了以下改动:
a.元素标识符为221而非48
b.WPA特有的00:50:F2:01标记(tag)被插入在版本字段之前
c.使用微软的OUI(00:50:F2)而非802.11工作组的OUI
d.此信息元素只支持一种密码组以及一种身份验证组合。不过,有些WAP实现并未遵照此项限制
e.使用TKIP(而非CCMP)作为默认的密码
f.WPA不支持预先身份验证,因此preauthentication capabilities位必然设定为0

剑气纵横三万里

“为什么要努力?” “想去的地方很远,想要的东西很贵,喜欢的人很优秀,父母的白发,朋友的约定,周围人的嘲笑,以及,天生傲骨。”

留下你的评论

*评论支持代码高亮<pre class="prettyprint linenums">代码</pre>

相关推荐

暂无内容!