802.11成帧细节
802.11帧主要有三种类型:
-
数据帧(data frame)
数据帧好比802.11中的驮马,负责在工作站之间搬运数据
-
控制帧(control frame)
控制帧通常与数据帧搭配使用,负责区域的清空、信道的取得以及载波监听的维护,并于收到数据时予以肯定确认,借此提高工作站之间数据传送的可靠性
-
管理帧(management frame)
管理帧负责监督,主要用来加入或退出无线网络以及处理接入点之间关联的转移事项
本文将从如下几个方面描述802.11的成帧细节。
数据帧
数据帧会将上层协议的数据置于帧主体中加以传递,图 1显示了数据帧的基本结构,会用到那些字段取决于该数据帧所属的类型。
不同的数据帧,帧中字段的含义不同,尤其表现在地址字段。地址字段的编号与功能取决于ToDS位与FromDS位的设定,因此所使用的网络类型会间接影响到地址字段的用法。下表列出了地址字段在数据帧中的各种用法。
Address 1字段代表帧接收端的地址;Address 2字段是发送端的地址,用来发送确认信息;Address 3字段则是供接入点与分布式系统过滤之用。每个BSS都会被赋予一个BSSID,它是一个长度为48位的二进制标识符,用来识别不同的BSS,在infrastructure BSS中,BSSID就是创建该BSS的接入点上无线接口的MAC地址。
以下通过三个实例来说明数据帧中地址字段的含义。
实例一:将帧传送至服务器时地址字段的用法
如下图所示,无线客户端将帧传送给服务器,则数据帧中Address 1为RA(BSSID),Address 2为SA/TA,Address 3为DA。
传送至接入点的数据帧如下图所示
实例二:将帧从分布式系统传送至无线客户端
如下图所示,分布式系统的服务器将帧发送至无线客户端,则数据帧中Address 1为RA/DA,Address 2为TA(BSSID),Address 3为SA。
来自接入点的数据帧如下图所示
实例三:无线分布式系统
无线分布式系统有时也称为无线桥接器,如下图所示,两条有线网络通过扮演无线桥接器的基站彼此相连,从客户端送至服务器的帧会经过802.11 WDS。WDS中的数据帧传输会用到四个地址,数据帧中Address 1为RA,Address 2为TA,Address 3为DA,Address 4为SA。
WDS帧如下图所示
在802.11网络中,移动式工作站会利用Null帧来通知接入点改变省电状态。如果移动式工作站没有数据要经过分布式系统传送,可以使用Null帧,同时将Frame Control字段的Power Management位设定为1,通知接入点该移动工作站即将进入省电模式,接入点需要开始为之缓存帧。Null帧的交互如下图所示。
控制帧
所有控制帧的Frame Control字段只有Sub type不同,如下图所示
RTS(请求发送)
RTS帧可用来取得媒介的控制权,以便传送“大型”帧,由网卡驱动程序中的RTS threshold来区分“大型”帧,RTS帧的格式如下图所示,RTS帧只包含帧头,帧主体不包含任何数据,帧头之后即为FCS。
CTS(清除发送)
CTS帧用于恢复RTS帧,并清空传送区域。其帧格式如下图所示。
ACK(确认)
ACK帧是MAC以及任何数据的传送所需要的确认,其格式如下图所示。
PS-Poll(省电-轮询)
当一个移动式工作站从省电模式中苏醒后,便会传送一个PS-Poll帧给接入点以取得任何缓存帧,PS-Poll帧的格式如下图所示。
PS-Poll帧使用管理标识符(association ID)来填充Duration/ID字段。关联标识符是接入点指定的一个数值,用来识别关联。虽然PS-Poll帧中并未包含duration信息,无法更新NAV,但是所有收到PS-Poll帧的工作站都会以短帧间间隔加上传送ACK信号所需要的时间来更新NAV,这一自动调整机制使得接入点在传送ACK信号时,不容易与移动式工作站发生冲突。
管理帧
管理帧负责监督,主要用来加入或退出无线网络以及处理接入点之间关联的转移事项。所有管理帧的MAC标头都一样,与帧的子类型无关。管理帧会使用信息元素来与其他系统交换信息,管理帧的基本结构如下图所示。
帧主体中大部分数据如果使用长度固定的字段,就称为固定字段(fixed field);如果字段长度不定,就称为信息元素(information element),信息元素是TLV结构的数据块。
固定字段
- Authentication Algorithm Number字段
该字段占用2个字节,代表关联发生之前,802.11层的最初认证过程所使用的认证类型。 - Authentication Transaction Sequence Number字段
该字段由2个字节构成,用以追踪身份验证的进度 - Beacon interval字段
Beacon interval字段的长度为16位,用来设定Beacon信号之间相隔多少时间单位。时间单位通常缩写位TU,代表1024微秒 - Capability Information字段
传送Beacon信号的时候,该字段用来通告网络具备何种性能。Capability Information字段也可以使用在Probe Request与Probe Response帧中。
- Current AP Address字段
表明当前关联的接入点的MAC地址,这个字段的用途是便于关联与重新关联的进行 - Listen interval字段
该字段表明休眠中的工作站会多长时间定期醒来聆听往来消息,以判断是否有帧缓存于接入 - Association ID 当工作站与接入点关联时,就会被赋予一个关联标识符来协助控制与管理,该字段高两位置为1,只有14位可用,取值范围1~2007
- Timestamp字段
时间戳字段可用来同步BSS中的工作站 - Reason Code字段
当对方不适合加入网络时,工作站会送出Disassociation或Deauthentication帧作为响应,这些帧中包含一个长度位16位的Reason code
字段,表示对方的做法有误 - Status Code字段
状态码用来表示某项操作成功或失败
信息元素
信息元素通常包含一个Element ID字段、一个Length字段以及一个长度不定的字段,如下图所示。
- Service Set Identity(SSID)
SSID为网管人员为服务集指定的标识符,长度介于0至32个字节之间 - Supported Rates
802.11网络可以使用Supported Rates来指定其所支持的速率,有些速率是强制性的,每个工作站都必须支持,有些则是选择性的。如果是强制性速率,则最高位为
1;非强制性速率则为0。此信息元素最多可包括8种速率,每种编码均为500kbps的倍数。 - FH Parameter Set
跳频参数集信息元素ing Pattern Parameter与Hopping Pattern Table - Request
在Probe Request帧中,Request信息元素用来向网络查询特定的信息元素 - Challenge Text
802.11所定义的共享密钥身份验证系统会要求移动式工作站必须成功解码一个加密过的质询。这个质询使用Challenge Text信息元素进行传送 - Power Constraint
功率限制 - Power Capability
该字段让工作站能够报告本身最低与最高的传送功率,以dBm为单位 - TPC Request
Transmit Power Control(传送功率控制) Request信息元素用来请求无线链路管理信息 - TPC Report
- Supported Channel
- Channel Switch Announcement
- Quiet
- IBSS DFS
- ERP(extended rate PHY)信息
- Robust Security Network(RSN)
- Extended Supported Rates
- Wi-Fi Protected Access(WPA)
管理帧的类型
Beacon(信标)帧
Probe Request帧
Probe Response帧
IBSS的通知传输指示消息(ATIM)帧
Disassociation帧与Deauthentication帧
Association Request帧
Reassociation Request帧
Association Response帧与Reassociation Response帧
Authentication帧
Action帧
帧传送、关联与身份验证状态
802.11整体状态图如下所示: