admin管理员组

文章数量:1567915

2024年6月19日发(作者:)

一般802.11MAC帧帧格式

如下图是一般802.11 MAC帧帧格式:

2byte 2byte 6byte 6byte 6byte 2byte 6byte 0-2312byte 4byte

Frame

control

Duration

/ID

Address1 Address2 Address3

Seq-

ctl

Address4

Frame

body

FCS

一般802.11MAC帧

Frame control

字段:所有帧的开头均是长度两个字节的帧控制位,如下图所示。Frame

Control 位包括以下次位:

2 bit 2 bit 4 bit 1 1 1 1 1 1 1 1

Protocol Type

Sub

type

To DS

From

DS

More

Frag

Retry

Pwr

Mgmt

More Protect

Data Frame

Order

0 1 2 3 4 7 8 9 10 11 12 13 14 15

Frame control 字段

Protocol

协议版本位由两个bit构成,用以显示该帧所使用的 MAC版本。目前,802.11 MAC 只

有一个版本;它的协议编号为0。到目前为止,802.11 改版尚不需用到新的协议编号。

Type

与Subtype位

类型与次类型位用来指定所使用的帧类型。有三类帧类型,控制帧、数据帧和管理帧。

数据帧负责在工作站之间传输数据;控制帧负责区域的清空、信道的获取以及载波监听的维

护,并于收到数据时予以肯定确认,借此提高工作站之间数据传送的可靠性;管理帧负责监

督,主要用来加入或退出无线网络以及处理接入点之间关联。各类帧类型又含有不同种类的

子帧类型。下表显示了 type 与subtype位跟帧类型的对应关系。

To DS与From DS这两位的含义如下表:

To DS=0

From

DS=0

From

DS=1

基础网络中无线工作站所收到的数

据帧

所有管理帧、控制帧

To DS=1

基础网络中无线工作站所发送的数

据帧

无线桥接器上的数据帧

More fragments 位

如果上层的封包经过 MAC分段处理,最后一个片段除外,其他片段均会将此 bit设定

为 1 。大型的数据帧以及某些管理帧可能需要加以分段;除此之外的其他帧则会将此 bit

设定为0 。

Retry 位

有时候可能需要重传帧。任何重传的帧会将此 bit设定为 1 ,以告知接收端剔除重复

的帧。

Power management位

802.11网卡通常以 PC Card 的型式出现,主要用于以电池供电的笔记本电脑。为了提

高电池的使用时间,通常可以关闭网卡以节省电力。该位用来指出传送端在完成目前的基本

帧交换之后是否进入省电模式。1 代表工作站即将进入省电模式,而 0 则代表工作站会一

直保持在清醒状态。基站必须行使一系列重要的管理功能,所以不允许进入省电模式,因此

基站所传送的帧中,该位必然为0。

More data位

为了服务处于省电模式的工作站,基站会将接收的帧加以暂存。基站如果设定该位,即

代表至少有一个帧待传给休眠中的工作站。

Protected Frame位

无线传输本质上就比较容易遭受拦截。如果帧受到链路层安全协议的保护,该位会被设

定为 1。

Order位

帧与帧片段可依序传送。一旦进行“严格依序”传送,该位被设定为 1。

Duration/ID字段:

含有16位,其依据帧类型和子帧类型的不同而取不同的值。取值如下表:

位 0-13 位 14 位15

0

作用

设定 NAV。此数值代表目前所进行的传输预计使用介质多

少微秒。工作站必须监视所收到的任何帧头,并据以更新

NAV。任何超出预计使用介质时间的数值均会更新 NAV,

同时阻止其他工作站访问介质。

0

1-16383

0

1-2007

0

0

1

1

1

1

1

1

在免竞争期间使用,值为32768

保留

保留

休眠醒来的工作站会在 PS-Poll 帧中加入连接识别码

(association ID,简称 AID),以显示其所隶属的BSS 。其

值介于 1-2,007。

2008-16383 1 1 保留

0-32767

Address 位

一个802.11帧最多可以包含四个地址位。这些位地址位均经过编号,随着帧类型不同,

这些位的作用也有所差异。Address 1 代表接收端,Address 2 代表传送端,Address 3 位被

接收端拿来过虑地址。比如,在基础网络里,第三个地址位会被接收端用来判定该帧是否属

于其所连接网络。

顺序控制位

该位组成如下图,长度为 16个bit,用来重组帧片段以及丢弃重复帧。

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

fragment number sequence number

它由4 个bit的fragment number(片段编号)位以及 12个bit的sequence number (顺

序编号)位所组成。控制帧未使用顺序编号,因此并无顺序控制位。当上层帧交付MAC传

送时,会被赋予一个 sequence number (顺序编号)。此位的作用是计数已传帧。计数器由 0

起算,MAC每处理一个上层封包就会累加 1。如果上层封包被切割处理,所有帧片段都会

具有相同的顺序编号。如果是重传帧,则顺序编号不会有任何改变。帧片段之间的差异在于

fragment number (片段编号)。第一个片段的编号为 0 。其后每个片段依序累加 1 。重传

的片段会保有原来的 sequence number 协助重组。

数据位(Frame Boby)

负责在工作站间传送上层数据。在最初的标准中,802.11帧最多可以传送 2304个bit

构成的上层数据。(实际上必须能够容纳更多的数据,以便将安全性与 QoS 相关信息加入)。

帧检验序列(FCS )

802.11帧是以帧检验序列(frame check sequence ,简称 FCS )作为结束。FCS 让工

作站得以检查所收到的帧的完整性。FCS的计算范围涵盖 MAC头所有位以及数据位。当

帧送至无线介质时,会先计算 FCS ,然后再由无线链路传送出去。接收端随后会为所收到

的帧计算 FCS ,然后与记录在帧中的 FCS 做比较。在802.11网络上,通过完整性检验的

帧需接收端送出应答。接收无误的数据帧必须得到正面应答,否则就必须重传。

常用帧的帧格式

RTS帧格式:

请求发送帧(RTS)有20个字节长,它包含有帧控制域、帧交换所需时间长度(duration)/

关联号(ID)域、两个地址域和帧校验域。发送这个帧的一个目的是将完成帧交换所需时间长

度(duration)信息告知其邻近的STA,也就是能收到RTS的STA就用收到的信息更新其NAV,

从而防止了这些STA在告知的时间内发送信息,也就避免了冲突的发生。下图定义了RTS

的格式:

RTS帧中的RA标明的是一个无线媒体上的STA,该STA为即将发送的数据帧或者管

理帧的接收者,而且在RTS帧中的RA必须是某个STA的MAC地址。TA标明的是传送

RTS帧的STA,它被由RTS中的RA标识的STA用来发送RTS的响应帧。在该帧中传送的

时间长度(duration)信息是完成一个4步骤帧交换(RTS、CTS、DATA、ACK)所需要的时间,

它由这些时间构成:传送1个CTS的时间、传送1个数据或者管理帧的时间、传送1个对

数据或者管理帧应答的时间、以及在CTS和数据或者管理帧之间的帧间间隙(SIFS)和在数据

或者管理帧和ACK之间的帧间间隙(SIFS)时间(一共3个SIFS)。时间长度(duration)是以微

秒为单位的。如果计算的时间值不是整数,则取大于该值的最小整数。

CTS帧格式:

允许发送帧(CTS)有14个字节长,它包含有帧控制域、帧交换所需时间长度(duration)/

关联号(ID)域、1个地址域和帧校验域。发送这个帧的一个目的是将完成帧交换所需时间长

度(duration)信息告知其邻近的STA,也就是能收到CTS的STA就用收到的信息更新其NAV,

从而防止了这些STA在告知的时间内发送信息,也就避免了冲突的发生。下图定义了CTS

的格式:

CTS中的RA标识的是接收该CTS的某个STA的MAC地址,在CTS中RA必须是某

个STA的MAC地址。而RA的值是从接收到的RTS帧中的TA复制过来的,而此CTS就

是作为接收到的RTS的响应帧。在该帧中传送的时间长度(duration)信息是完成一个4步骤

帧交换(RTS、CTS、DATA、ACK)所需要的时间,它由这些时间构成:传送1个数据或者管

理帧的时间、传送1个对数据或者管理帧应答的时间、以及在数据或者管理帧和ACK之间

的帧间间隙(SIFS)时间,也就是将收到的RTS帧中的时间长度(duration)减去传送CTS时间

和1个SIFS时间。时间长度(duration)是以微秒为单位的。如果计算的时间值不是整数,则

取大于该值的最小整数。

ACK

帧格式:

确认(ACK)帧有14字节长,它包含有帧控制域、帧交换所需时间长度(duration)/关联号

(ID)域、1个地址域和帧校验域。使用这个帧有两个目的,一是对刚正确接收到的数据、管

理帧、PS-Poll帧的确认。这也就告诉了ACK的接收者或者是刚收到的数据、管理帧、PS-Poll

帧的发送者已经正确接收了,那么也就不需要重传刚收到的数据、管理帧、PS-Poll帧。ACK

帧的第二个目的是在段突发传送过程中,它可以将时间长度(duration)通知给段接收者的邻近

STA,这种情况下ACK就扮演了CTS的角色。

ACK帧的RA标识的是某个接收该帧的STA的MAC地址,而且在ACK中的RA必须

是某个STA的MAC地址,RA是从刚接收到的数据帧,管理帧或者PS-Poll控制帧中的第2

地址域复制过来的。如果接收到的数据帧或者管理帧中的帧控制域的More Fragment位被置

为0,则长度域的值置为0。如果接收到的数据帧或者管理帧中的帧控制域的More Fragment

位被置为1,则长度域的值置将接收到的数据帧或者管理帧的长度域的值减去传送1个ACK

帧的时间和1个SIFS得到。如果计算出的该值不是整数,则取大于该值的最小整数。

Beacon

帧格式:

信标帧Beacon是相当重要的维护机制,主要用来宣告某个网络的存在。定期发送的信

标,可让移动工作站得知该网络的存在,从而调整加入该网络所必要的参数。在基础型网络

里,接入点必须负责发送 Beacon帧。Beacon帧所及范围即为基本服务区域。在基础型网络

里,所有沟通都必须通过接入点,因此工作站不能距离太远,占则便无法接收到信标。信标

并不全会用到所有位。选择性位只有在用到时才一会出现。下表是Beacon帧体各段的含义。

IEEE 802.11n MAC帧

IEEE 802.11n数据帧格式相比于传统的802.11数据帧变大了。加入了高吞吐量(HT)控制

字段和Qos控制字段。如下图是11nMAC帧格式。帧体部分增加了大约四倍(最大7955字

节)。

管理帧通过在传统管理帧中插入HT信息单元表明它们来自于11n网络。下图是HT信息单

元的格式。

HT信息单元中2字节的HT Capabilities Info用于告知信道类型,编码规则,使用20MHz

还是40MHz信道。1字节A-MPDU参数用于声明使用A-MPDU聚合。16字节Supported MCS

Set包含有大量的数据传输速率信息。2字节HT Extended Capabilities字段描述对扩展功能

如PCO、RD的支持,不常用。4字节Transmit Beamforming Capabilities字段是对波束赋形

的支持。1字节Antenna Selection Capabilities用于天线比射频多的系统中,在现有系统中基

本不用。

HT操作信息单元被插入由AP发送的管理帧如Beacon等帧中,来告知客户端设备当前

的网络状态。其结构如下图:

1字节Primary Channel字段用来表明网络操作的主信道。2位Secondary Channel Offset,

设置成1的时候表明次级信道比主信道有一个更高的频率。当次级信道频率低于主信道被设

置成3,没有次级信道时设置成0。1位的Channel width设置成1的时候表示使用的是20MHz

信道。1位的RIFS设置成1允许RIFS操作,设置成0禁用RIFS。HT Protection用来设置

避免传统的11设备造成的干扰。

11n块确认帧:

为保证数据传输的可靠性,传统的802.11协议规定每收到一个单播数据帧,都必须立

即回应以ACK帧。如下图所示:

11n中A-MPDU的接收端在收到A-MPDU后,需要对其中的每一个MPDU进行处理,

因此同样针对每一个MPDU发送应答帧。Block Acknowledgement通过使用一个ACK帧来

完成对多个MPDU的应答,以降低这种情况下的ACK帧的数量。块确认帧格式如下:

IEEE 802.11ac MAC帧

802.11ac MAC帧大部分字段保留给11a/b/g/n使用。如下图11acMAC数据帧格式,主

要有两个变化,一是最大帧体的长度从11n的7000多字节增加到11426字节,增强了聚合

来自高层帧的能力。二是重用11n中用到的高吞吐量(HT)控制字段,但是使用了新的格

式。高吞吐量(HT)控制字段如果以0开始,它与11n中定义的格式一致;如果以1开始,

它成为11ac中超高吞吐量(VHT)控制字段。11ac MAC帧格式图给出的是它的定义。

设备要通过发送管理帧表明位于11ac网络中,在传统的管理帧中加入VHT信息单元。

这个信息单元位于探测请求和探测回应管理帧中。VHT信息单元如下图:

2位Maximum MPDU Length用来表明11acMAC帧体的长度。00表示长度为3895字节,

01表示长度为7991字节,10表示长度为11454字节,11保留。2位Supported Channel Width

设置位,用来设置支持20MHz,40MHz,80MHz操作。13位Rx and Tx Highest Supported Data

Rate字段用来表示支持的最大数据速率,以1Mbps为单位。比如,一个设备支持最大速率

867Mbps,设置为1(十进制为867)。其他字段在这里没有叙述。

本文标签: 数据时间工作站用来传送