本文主要是介绍802.11无线权威指南读书笔记(4)802.11成帧细节,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
数据帧(data frame)
负责用户数据的传递,位于帧主体(frame body)中。
数据帧基本结构
下面是数据帧的各种分类方式,我们主要看基于竞争的服务,就只有2种,如下图。
Frame Control(控制帧)
各字段含义之前有写过,需要注意ToDS和FromDS,根据这2bit来判断数据方向。
Duration(持续时间)
用Duration来记载NAV的值。遵循以西4项规范
1.无竞争周期Duration必须为32768,适用于无竞争周期任何数据帧
2.目的地址为组播、广播的帧,Duration为0,因为不需要确认
3.对于Frame Control中More Fragment(更多片段)位为0的数据帧Duration只需设置为SIFS+ACK
的长度,因为这是最后一段,没必要在继续锁定信道。
4.对于Frame Control中More Fragment(更多片段)位为1的数据帧Duration需设置为下一片段所需时间+3*SIFS+2*ACK
的长度,因为这是不是最后一段,需要继续锁定信道。
ToDS与FromDS
下面是ToDS与FromDS这2bit决定Address字段代表意义
ToDS=0,FromDS=0
这种帧用于IBSS(独立基本服务集),那种没有接入点的网络
ToDS=1,FromDS=0,来自AP的帧
ToDS=0,FromDS=1,传送至AP的帧
ToDS=1,FromDS=1,从AP到AP
数据帧类型
Data
在基于竞争的周期访问这种帧用于传递用户数据
Null
这种帧由MAC头和FCS组成,工作站用Null帧通知接入点进入省电状态,同时Frame Control的Power Management位置1
控制帧
控制帧用于协助数据帧传递,管理无线媒介访问以及提供MAC层可靠性。
控制帧的Frame Control
所有控制帧使用相同的Frame Control,如下
RTS(请求发送)
RTS用于获得媒介控制权。
CTS(清除发送)
CTS用于回复RTS,在802.11g中,用来避免干扰较旧的工作站。
ACK(确认)
用于帧的确认,对于最终ACK帧的持续时间直接设置为0
PS-Poll(省电-轮询)
工作站从省电模式苏醒后,需要向AP发生PS-Poll帧来取AP缓存帧,其中AID作用为AP标识不同的工作站
管理帧
管理帧用于无线网络的建立,比如认证、关联等。
管理帧结构
所有管理帧MAC头一样,管理帧用帧主体中的固定字段(fixed field,长度固定的字段)信息元素(information element,长度不固定的数据块)与其他系统交换信息。
长度固定的管理帧组件
这种组件长度与次序固定,所以不需要字段标头界定
Authentication Algorithm Number 字段
Authentication Algorithm Number(身份认证算法编号)位占用两个字节,表示关联之前,802.11层认证使用的认证类型,目前2种
Authentication Transaction Sequence Number字段
认证过程有好几个步骤,此字段用来标号认证步骤,1~65535之间。
Beacon interval字段
占2个字节,标识Beacon的发生时间间隔,单位是1024us。
Capability information字段
占2个字节,Capability information(性能信息)字段,用来告知设备具备何种性能,工作站通过这些位判断自己能否支持该BSS所有的功能,未实现性能通告的工作站无法加入该BSS
- ESS/IBSS(扩展服务集/独立基本服务集)
此2位互斥,标识此网络是ESS还是IBSS - Privacy(保密性)
设为1,标识需要使用WEP/WPA加密,否则不需要 - short Preamble(短前导码)
802.11b增加此字段为了支持高速直接序列扩频物理层(high-rate DSSS),为1,支持短前导码,否则不支持。 - PBCC(封包二进制回旋码)
802.11b增加此字段为了支持高速直接序列扩频物理层(high-rate DSSS),为1,支持封包二进制回旋码调制机制,否则不支持。 - Channel Agility(机动信道转换)
802.11b增加此字段为了支持高速直接序列扩频物理层(high-rate DSSS),为1,支持机动信道转换选项,否则不支持。 - Short Slot Time(802.11g)
为1,代表使用802.11g所支持的较短时隙 - DSSS-OFDM(802.11g)
为1,代表使用802.11g的DSSS-OFDM帧构造选项
Current AP Address字段
6个字节,STA用词字段表明当前要关联的AP的MAC地址。
Listen interval字段
2字节,以Beacon interval为单位计算STA会多长时间想AP取缓存帧
Association ID字段
2字节,1~2007可用
Timestamp字段
8字节,时间戳
Reason Code 字段
2字节,当对方不适合加入网络,STA会发出Disassociation(取消关联)或Deauthentication(解除身份验证)帧作为响应,包含原因代码。
Status Code 字段
2字节,标识某项操作成功或者失败
管理帧的信息元素
管理帧的信息元素是边长组件,由1个Element ID(元素标识符)、一个Length(长度)以及不定长字段组成。如下所示
这里太多,不在列举,参考书P105
管理帧的类型
Beacon帧
Beacon帧是用于声明某个网络的存在,要加入该网络的必须参数,在基础结构型网络中,AP负责传送Beacon帧,下面是Beacon帧的结构,不一定所有字段都会使用到。
Probe Request帧
STA会用Probe Request(探测请求)帧主动扫描附件有哪些802.11网络,格式如下,SSID和Supported Rates字段必须,如果是兼容任何网络的SSID则使用broadcast SSID(广播形式的服务及标识符)。
Probe Response帧
如果Probe Request帧所探测的网络与之兼容,则该网络会以Probe Response帧响应。如下
Disassociation帧与Deauthentication帧
Disassociation(取消关联)帧用来终结一段关联关系,而Deauthentication(接触身份验证)帧用来终结一段认证关系,均包含Reason Code(原因代码)。
Association Request(关联请求)帧
Capability Information(性能信息)位用来指出移动工作站所欲加入的网络类型。在接受连接要求之前,基站会验证 Capability Information、 SSID 以及(Extended)Supported Rated等位是否符合网络参数。此外,基站也会记录工作站所使用的 Listen Interval(聆听间隔;即移动工作站每隔多久聆听一次 Beacon 帧,以监视 TIM 信息)。
Reassociation Request(重关联请求)帧
当在不同基本服务区域之间游走的STA若要再次加入分布式系统或者STA暂时离开接入点所覆盖范围,之后重新加入时也必须重新关联。
association Request与 Reassociation Request之间的差别在于,后者包含移动工作站目前所连接之基站的地址(Current AP Address)。拥有这项信息可让新旧基站彼此联系,以及交接连接数据。交接项目包括先前连接之基站所暂存的帧。
Association Response 与 Reassociation Response帧
分别用于回应Association Request 与 Reassociation Request帧,区别只是Frame Control字段的subtype字段而已,响应过程中会给STA分配一个AID(关联标识符)
Authentication帧
802.11早期使用共享密钥和Authentication帧进行身份验证,到了802.11i有新的身份验证算法,且与共享密钥身份验证不兼容,所以Authentication Algorithm Number(身份认证演算法编号)位用于选择演算法。Authentication Transaction Seq.No用于记录认证郭晨中每个帧序号,应为整个过程可能包含好几个步骤,这与算法有关,Status Code与Challenge Text因验证算法而异。
帧传送、身份验证与关联状态
工作站STA有如下3种状态
1.初始状态,未经认证且未关联
2.已经认证且尚未关联
3.已经认证且已经关联
如下图
上图把帧划分成了3种等级,在状态 1 可以传递第 1 级帧;在状态 2 可以传递第 1 与 2 级帧;在状态 3 则可以传递第 1、 2 与第3级帧。
第1级帧
第 1 级帧可以在任何状态中传递,它让 802.11 的工作站得以进行基本作业。 在 IBSS 当中,控制帧主要用来依循 CSMA/CA 规则,以及传送帧。工作站也会使用第 1 级帧来寻找基础结构型网络,并与之进行身份认证。表 4-11 列出了属于第 1 级的各种帧。
第2级帧
工作站只有在经过身份认证之后才能够发送第 2 级帧,而且第 2 级帧只能使用于状态 2与状态 3。第 2 级帧主要用来管理关联。关联或重新连接成功后,工作站就会进入状态 3;如果连接失败,则工作站依然处于状态 2。工作站收到未经认证的作站所传来的第 2 级帧时,就会应答一个 Deauthentication(解除身份认证)帧,将对方推回状态 1。表 4-12 列出了所有的第 2 级帧。
第3级帧
第 3 级帧的使用时机是在工作站认证成功并与AP关联之后。一旦工作站进入状态 3,就标识连接上AP。在状态 3,工作站还可以利用PS-Poll 帧享受AP所提供的省电服务。表4-13列出了不同类型的第 3 级帧。
如果收到的帧来自一个已经验证但尚未关联的工作站,AP就会响应Disassociation(解除关联)帧,迫使工作站回到状态 2。如果发出帧的工作站尚未经过认证,则AP会响应Deauthentication(解除认证)帧,迫使工作站回到状态 1。
这篇关于802.11无线权威指南读书笔记(4)802.11成帧细节的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!