IEEE 802.11协议
PHY层技术
PHY层是物理层的汇聚过程,负责将MAC帧映射到传输介质,另外一个是物理媒体相关子层,负责传送这些帧。
扩频技术
在通信系统种,带宽能够有效的通过该信道的信号最大频带宽度,以Hz为单位。
IEEE 802.11帧封装
802.111帧的最大长度为2346个字节,基本结构如图所示。
Frame Control位
- Protocol(协议版本): 协议版本为0,是目前唯一的版本。
- Type: 用以区分帧类型。
- Subtype(子类型): 此位代表发送的帧的子类型。例如发送RTS的Type=01,Subtype=1011;允许发送帧CTS的Type=01,Subtype=1100。
- To DS 与From DS :分别表示无线链路向无线工作站(如AP)发送的帧和无线工作站向无线链路发送的帧。
- More Fragments(更多片段):用于说明长帧被分段的情况,是否还有其它的帧。若较上层的封包经过MAC 分段处理,最后一个片段除外,其他片段均会将此bit 设定为1。
- Retry(重试):有时候可能需要重传帧。任何重传的帧会将此bit 设定为1,以协助接收端剔除重复的帧。
- Power Management(电源管理):此bit 用来指示、完成当前的帧交换过程后,发送端的电源管理状态。为1表示STA处于Power_save模式,为0表示STA处于active模式。
- More Data(尚有数据):More Data bit 只用于管理数据帧,在控制帧中此bit 必然为0。
- Protected Frame(受保护帧):为1表示帧体部分包含加密处理过的数据,为0则表示没有进行加密处理。
- Order(次序):帧与帧片段可依序传送,不过发送端与接收端的MAC必须付出额外的代价,对帧片段进行严格编号。一旦进行“严格依序”传送,此bit被设定为1。
Duration/ID
用于记载网络的分配矢量(NAV)的值。访问介质的时间限制是由NAV所指定的。
此数值代表目前所进行的传输预计使用介质多少微秒。工作站必须监视所收到的任何
帧头,并据以更新NAV。任何超出预计使用介质时间的数值均会更新NAV,同时阻止其
他工作站访问介质。
Address
Address 1 代表帧接收端的地址。在某些情况下,接收端即为目的地,但不然如此。
- 目的地是指负责处理帧中网络层封包的工作站。
- 而接收端则是负责将无线电解码为802.11 帧的工作站。
- 如果Address 1 被设为广播或组播地址,则必须同时检查BSSID(基本服务组合识别码)。工作站只会应答来自同一个基本服务组合(basic service set,简称BSS)的广播或组播信息;至于来自其他不同BSS 者则加以忽略。
Address 2 是发送端的地址,用来发送应答信息。在某些情况下,发送端即为源地址,
但不然如此。源地址是指产生帧中网络层协议封包的工作站;而发送端则是负责将帧
发送至无线链路。
Address 3 位则是供基站与传输系统过滤之用,不过该位的用法,取决于所使用的网络
类型。
Address 4 一般不使用,只有在WDS(无线传输系统)中才会使用。
帧检验序列
FCS让工作站获得收到帧的完整性。
在以太网上,如果帧的FCS有误,则随即予以丢弃,否则就会传送给上层协议处理。在802.11网络上,通过完整性检验的帧还需接收端送出应答。例如,接收无误的数据帧必须得到正面应答,否则就必须重传。对于未能通过FCS检验的帧,802.11并未提供负面应答机制;在重传之前,工作站就必须等候应答超时。
帧类型
- 数据帧:数据帧负责在工作站之间传递数据,数据帧可能会因为所处的环境不同而有所差异。
- 控制帧: 控制帧通常与数据帧搭配使用,负责区域维护的清空、信道的取得和载波监听的维护,并且收到数据时予以正面的应答,借此促进工作站见的数据传输的可靠性。
- 管理帧: 管理帧负责监督,主要用于加入或退出网络,以及基站间的连接。
数据帧
数据帧会将上层协议的数据置于帧主体加以传递。用到的数据位,取决于该数据的所属的类型。
- Frame Control(帧控制):每个帧控制bit 都可能影响到MAC 标头其他位的解读方式。最值得注意的是那些地址位,它们的意义将因ToDS 及FromDSbit 的值而异。
- Duration(持续时间):Duration(持续时间)位用来记载网络分配矢量(NAV)的值。访问介质的时间限制是由NAV所指定。
To Ds与From Ds
- DS(Distribution system)分布式系统是接入点间转发帧的骨干网络,因此通常就称为骨干网络。一般可以理解为以太网。
- SA指源地址,DA指目的地址, RA指接收端, TA指发送端。
- BSSID:一个AP所覆盖的范围构成一个BSS(基本服务集),而BSSID(基本服务集标识符)用来标识BSS,表示AP的数据链路层的MAC地址。
控制帧
控制帧使用相同的Frame Control位
- Type:控制帧的类型识别码为01。定义上,所有控制帧均使用此识别码。
- To DS 与From DS:控制帧负责处理无线介质的访问,因此只能够由无线工作站产生,传输系统并不会收送控制帧,因此这两个bit 必然为0。
- More Fragments: 控制帧不可能被切割,这个bit 必然为0。
- Retry: 控制帧不像管理或数据帧那样,必须在序列中等候重送,因此这个bit 必然为0。
- More Data:More Data bit 只用于管理数据帧,在控制帧中此bit 必然为0。
- Protected Frame:控制帧不会经过加密。因此对控制帧而言,Protected Frame bit必然为0。
- Order:控制帧是基本帧交换程序(atomic frame exchange operation)的组成要件,因此必须依序发送。所以这个bit 必然为0。
控制帧-RTS(请求发送)
当AP向某个客户端发送数据的时候,AP会向客户端发送一个RTS报文,这样AP覆盖范围内的所有设备在收到RTS后都会在指定时间不发送数据。
- RTS 帧可用来取得介质的控制权,以便传输帧。
- Frame Control(帧控制):Frame Control 位并没有任何特殊之处。帧的subtype(子类型)位设定为1011,代表RTS 帧。除此之外,它与其他的控制帧具备相同位。
- Duration(持续时间):RTS 帧会试图预定介质使用权,供帧交换程序使用,因此RTS帧发送者必须计算RTS 帧结束后还需要多少时间。传输所需要的微秒数经过计算后会置于Duration 位。假使计算的结果不是整数,就会被修正为下一个整数微秒。
- Receiver Address(接收端地址):接收RTS 帧的工作站的地址。
- Transmitter Address(发送端地址):RTS 帧的发送端的地址。
控制帧-CTS(允许发送)
目的客户端收到RTS后,发送一个CTS报文,这样在客户端覆盖范围内所有的设备都会在指定的时间内不发送数据。
- 和RTS 帧一样,CTS 帧也会令附近的工作站保持沉默,从而取得介质的控制权。
- Frame Control(帧控制):帧的subtype(子类型)位被设定为1100,代表CTS帧。
- Duration(持续时间):用来应答RTS 时,CTS 帧的发送端会以RTS 帧的duration 值作为持续时间的计算基准。RTS会为整个RTS-CTS-frame-ACK 交换过程预留介质使用时间。不过当CTS 帧被发送出后,只剩下其他未帧或帧片段及其回应待传。CTS 帧发送端会将RTS 帧的duration 值减去发送CTS 帧及其后短帧间隔所需的时间,然后将计算结果置于CTS的Duration 位。
- Receiver Address(接收端地址):CTS 帧的接收端即为之前RTS 帧的发送端,因此MAC会将RTS 帧的发送端地址复制到CTS 帧的接收端地址。
控制帧-ACK(应答)
每个发送的单播报文,接受者在成功收到发送报文之后,都需要发送一个ACK进行确认。
- ACK帧就是MAC以及任何数据传输(包括一般传输RTS/CTS 交换之前的帧、帧片段)所需要的正面应答(positive acknowledgment)。服务质量扩展功能放宽了个别数据帧必须各自得到应答的要求。
- Frame Control(帧控制):帧的subtype(子类型)位被设定为1101,代表ACK 帧。
- Duration(持续时间):依照ACK 信号在整个帧交换过程中位居何处,在完整的数据帧及一连串帧片段的最后一个片段中,duration 会被设定为0。
- Receiver Address(接收端地址):接收端地址是由所要应答的发送端帧复制而来。
控制帧-PS-Poll
当客户端从省电模式苏醒,便会发送一个PS-Poll帧给AP,以取得任何的暂存帧。
管理帧
管理帧的目的是通过帧的使用,为网络提供相对简单的服务。
Beacon帧(信标帧)
- Beacon帧主要来声明网络的存在。定期传送的信标可让移动式工作站得知该网络的存在,从而调整加入该网络所必需的参数。
- 基础结构网络中,接入点负责传送Beacon帧。
- IBSS网络中,工作站轮流送出Beacon帧。
Probe Request、Probe Response帧
- 工作站通过Probe Request帧来扫描所在区域内的802.11网络。
- 若Probe Request帧探查的网络与之兼容,该网络就会回复Probe Response帧给予响应。
Authentication帧、Deauthentication
- 工作站通过共享密钥以及Authentication帧进行身份验证。
- Deauthentication(解除身份验证)帧则用来终结认证关系。
Association Request帧
一旦工作站找到兼容网络并且通过身份验证,便会发送Association Request(关联请求) 帧试图加入网络。
Disassociation帧
Disassociation(取消关联)帧用来终结一段关联关系。
Reassociation Request帧
位于相同ESS中,当在不同的BSS之间移动的工作站若要再次使用分布式系统(DS),必需与网络重新关联,区别于关联请求帧的是:它包含工作站当前所关联的接入点地址。
Association Response帧与Reassociation Response帧
当工作站试图连接接入点时,接入点会回复一个Association Response帧或Reassociation Response帧,响应过程中,接入点会指定一个Association ID(关联标识符)。