802.11帧格式解析

802.11帧格式解析

 

一、前言

    本文为学习802.11协议关于帧格式部分的笔记,方便针对802.11帧数据进行分析时参考。

 

二、802.11帧

下图展示了一般的802.11MAC 帧。位的传送顺序由左至右,最高效bit 将会最后出现。

 

三、FrameControl

所有帧的开头均是长度两个元组的Frame Control (帧控制)位,其结构如下:

 

1、protocol

802.11 MAC版本号,为0,目前没有新的版本。

 

2、Type和Subtype

帧类型,用主类型和子类型表示。

Type

Mean

00

管理帧

01

控制帧

10

数据帧

11

保留

 

Subtype

Mean

Type

0000 

Association request(连接要求)

00

0001 

Association response(连接应答)

00

0010 

Reassociation request(重新连接要求)

00

0011

 Reassociation response(重新连接应答)

00

0100 

Probe request(探查要求)

00

0101

 Probe response(探查应答)

00

1000

 Beacon(导引信号)

00

1001

Announcement traffic indication message
(ATIM)(数据代传指示通知信号)

00

1010

Disassociation(解除连接)

00

1011

Authentication(身份验证)

00

1100

Deauthentication(解除认证)

00

Subtype

Mean

Type

1011

RTS(请求发送)

01

1100

CTS(允许发送)

01

1101

ACK(应答)

01

1110

CF-End(免竞争期间结束)

01

1111

CF-End(免竞争期间结束)+CF-Ack(免竞争期间回应)

01

Subtype

Mean

Type

0000 

Data(数据)

10

0001 

Data+CF-Ack

10

0010 

Data+CF-Poll

10

0011

Data+CF-Ack+CF-Poll

10

0100 

Null data (无数据:未发送数据)

10

0101

CF-Ack (未发送数据)

10

0110

CF-Poll (未发送数据)

10

0111

Data+CF-Ack+CF-Poll

10

1000

QoS Data

10

1001

QoS Data + CF-Ack

10

1010

QoS Data + CF-Poll

10

1011

QoS Data + CF-Ack + CF-Pol

10

1100

QoS Null (未发送数据)

10

1101

QoS CF-Ack (未发送数据)

10

1110

QoS CF-Poll (未发送数据)

10

1111

QoS CF-Ack+CF-Poll (未发送数据)

10

注:1000-1111未标准化


3、TO DS 与From DSbit

    这两个bit 用来指示帧的目的地是否为传输系统。在基础网络里,每个帧都会设定其中一个DSbit。

 

To DS =0

To DS =1

From DS =0

所有管理与控制帧IBSS (非基础型数据帧)

基础网络里无线工作站所发送的数据帧

From DS =1

基础网络里无线工作站所收到的数据帧

无线桥接器上的数据帧

 

4、More fragments bit

    表示是否为分段帧,此bit 的功能类似IP 的More fragmentsbit。若较上层的封包经过MAC 分段处理,最后一个片段除外,其他片段均会将此bit 设定为1。

 

5、Retrybit

    重传帧。任何重传的帧会将此bit 设定为1,以协助接收端剔除重复的帧。

 

6、Powermanagement bit

    此bit 用来指出传送端在完成目前的基

本帧交换之后是否进入省电模式。1 代表工作站即将进入省电模式,而0 则代表工作站会一直保持在清醒状态。基站必须行使一系列重要的管理功能,所以不允许进入省电模式,因此基站所传送的帧中,此bit 必然为0。

 

7、Moredata bit

    为了服务处于省电模式的工作站,基站会将这些由“传输系统”接收而来的帧加以暂存。

基站如果设定此bit,即代表至少有一个帧待传给休眠中的工作站。

 

8、ProtectedFrame bit

    相对于有线网络,无线传输本质上就比较容易遭受拦截。如果帧受到链路层安全协议的保

护,此bit会被设定为1,而且该帧会略有不同。之前,ProtectedFrame bit 被称为WEPbit。

 

9、Orderbit

    帧与帧片段可依序传送,不过发送端与接收端的MAC 必须付出额外的代价。一旦进行“严

格依序”传送,此bit 被设定为1。

 

四、Duration/ID位

    duration 位,用来预定一段介质使用时间,还有其他功能。

 

1、Duration:设定NAV

    当第15个bit被设定为0时,Duration/ID位就会被用来设定NAV。此数值代表目前所进

行的传输预计使用介质多少微秒。

 

2、免竞争期间所传送的帧

    在免竞争期间(contention-free period,简称CFP),第14 个bit 为0 ,第15 个bit 为1。其他所有bit 均为0,因此duration/ID位的值为32768。这个数值被解读为NAV。它让没有收到Beacon(信标)帧的任何工作站,得以公告免竞争期间,以便将NAV 更新为适当的数值,避免干扰到免竞争传输。

 

 

3、PS-Poll 帧

    在PS-Poll(省电模式-轮询)帧中,第14与第15个bit会被同时设定为1。移动式工作

站可以关闭天线以达到省电目的。休眠中的工作站必须定期醒来。为确保不致丢失任何帧,从休

眠状态醒来的工作站必须送出一个PS-Poll 帧,以便从基站取得之前暂存的任何帧。

 

五、Address位

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

这些位的作用也有所差异(详见第4 章)。基本上,Address 1 代表接收端,Address 2 代表传送端,Address3 位被接收端拿来过虑地址。

    址位本身的长度有48个bit。如果传送给实际介质的第一个bit为0,该地址位代表单一工作站(单播 unicast)。如果第一个bit为1,该地址代表一组实际工作站,称为组播(多点传

播 multicast)地址。如果所有bit 均为1,该帧即属广播(broadcast)。

 

六、Seqctl

    顺序控制位,此位的长度为16 个bit,用来重组帧片段以及丢弃重复帧。它由4 个bit 的fragment number(片段编号)位以及12 个bit 的sequencenumber(顺序编号)位所组成。控制帧未使用顺序编号, 因此并无sequence control 位。

 

请注意,分段的帧序列号是一样的,重传帧的序列号不变。

 

七、Frame Boby

    帧主体(Frame Boby)亦称为数据位,负责在工作站间传送上层数据(payload)。

 

八、帧检验序列(FCS)

    和以太网一样,802.11 帧也是以帧检验序列(framecheck sequence,简称FCS)作为结

束。在以太网上,如果帧的FCS 有误,则随即予以丢弃,否则就会传送给上层协议处理。在

802.11 网络上,通过完整性检验的帧还需接收端送出应答。例如,接收无误的数据帧必须得到正面应答,否则就必须重传。对于未能通过FCS检验的帧,802.11并未提供负面应答机制;在重传之前,工作站就必须等候应答超时。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


你可能感兴趣的:(网络编程)