802.11 mac帧

帧格式

在这里插入图片描述
主要有3部分组成:

  1. mac heaad:包括帧控制(Frame Control)、时长(Duration)、地址(Address)等
  2. frame body:代表数据域。这部分内容的长度可变,其具体存储的内容由帧类型(type)和子类型(sub type)决定
  3. fcs(Frame Check Sequence,帧校验序列):用于保障帧数据完整性

MAC head

Frame Control域

长度:共2字节,16bit
在这里插入图片描述

Protocol Version

代表802.11 MAC帧的版本号。目前的值是0。

Type和Subtype

这两个字段用于指明MAC帧的类型。802.11中MAC帧可划分为三种类型,分别是control、data和management,每种类型的帧用于完成不同功能。
在这里插入图片描述

To DS和From DS

只用在数据类型的帧中。表示帧的源和目的地址
在这里插入图片描述
在这里插入图片描述

More Fragments

表明数据是否分片。只支持data和management帧类型。

Retry

如果该值为1,表明是重传包。

Power Management

表明发送该帧的STA处于活跃模式还是处于省电模式,PM为1表示STA将进入PS状态,否则将进入Active状态。

802.11规范为STA定义了两种和电源相关的状态
//通常ap无ps模式,有线电源供电

  1. Active模式。
  2. PS(Power Save)模式。处于PS模式下,无线设备将关闭收发器(transceiver)以节省电力。
    关闭收发器节省电力的同时保证数据传输连贯性:
    a)AP了解与其关联的STA电源状态,当sta处于ps模式,AP缓存数据待sta激活后再将数据发送给sta
    b)AP定时发送缓存数据,sta在ps模式会定期接受,当接受到ap的缓存数据时则激活进入Active模式并通过PS-POLL控制帧来接收ap缓存帧

PM字段无用场景:
1.AP不缓存的管理帧
2.AP发送的帧
3.STA发送给还未与之关联的AP的帧中

More Data

PM字段=1:ap有缓存数据。AP为那些处于省电模式下的STA缓冲一些数据帧,而STA会定时查询是否有数据要接收。
More Data表示剩余缓存数据。即ap的缓存数据sta是否都获取完毕,如果该值为0,表明STA已经接收完数据帧

Protected Frame

表明数据是否加密

Order

指明接收端必须按顺序处理该帧。

Duration/ID域

共2字节16bit
其具体含义根据Type和Subtype的不同而变化,大体分为2类:

  1. 对于PS-POLL帧,该域表示AID的值。其中最后2位必须为1,而前14位取值为1~2007。这就是该域取名ID之意
  2. 对于其他帧,代表离下一帧到来还有多长时间,单位是微秒。这就是该域取名Duration之意

Address域

IEEE 802.3[19]协议,MAC地址特点

  1. MAC地址可用6字节的十六进制来表示
  2. MAC地址的组成包括两个部分。0~23位是厂商向IETF等机构申请用来标识厂商的代码,也称为“组织唯一标识符”(Organizationally Unique Identifier,OUI)。后24位是各个厂商制造的所有网卡的一个唯一编号
  3. 第48位用于表示这个地址是组播地址还是单播地址,0是单播,1是组播
  4. 第47位表示该MAC地址是全球唯一的还是本地唯一。故该位也称为G/L位

802.11 MAC帧头部分共包含五个MAC地址定义

  1. BSSID
    在基础型BSS中,它为AP的mac地址。
    在IBSS中则是一个本地唯一MAC地址。
    MAC广播地址来说,其名称为wildcard BSSID

  2. 目标地址(Destination Address,DA)
    MAC数据包最终接收者

  3. 源地址(Source Address,SA)
    最初发出MAC数据包的地址

  4. 发送STA地址(Transmitter Address,TA)
    将MAC数据包发送到WM中的STA地址

  5. 接收STA地址(Receiver Address,RA)
    接收者也是STA,那么RA和DA一样。
    如果接收者不是无线工作站,而是比如以太网中的某台PC,那么DA就是该机器的MAC地址,而RA则是AP的MAC地址(中转)。表明该帧将先发给AP,然后由AP转发给PC。
    在这里插入图片描述

Address1 接收

Address2 发送

Address3 携带其他信息帮助mac帧传输

Sequence Control域

长16位,前4位代表片段编号(Fragment Number),后12位为帧顺序编号(Sequence Number)
Sequence Number:STA每次发送数据帧时都会设置一个帧顺序编号。注意,控制帧没有帧顺序编号。另外,重传帧不使用新的帧顺序编号。
Fragment Number:用于控制分片帧。如果数据量太大,则MAC层会将其分片发送。每个分片帧都有对应的分片编号

管理帧

格式

在这里插入图片描述
管理帧中的Frame Body携带具体的管理信息数据,802.11的管理信息数据大体可分为两种类型:

  1. 定长字段:指长度固定的信息,规范称为Fixed Field
  2. 信息元素:指长度不固定的信息。显然这类信息中一定会有一个参数用于指示最终的数据长度

定长字段

Authentication Algorithm Number:认证过程中所使用的认证类型
0:代表开放系统身份认证(Open System Authentication)。
1:代表共享密钥身份认证(Shared Key Authentication)。
2:代表快速BSS切换(Fast BSS Transition)。
3:代表SAE(Simultaneous Authentication of Equals)。用于两个STA互相认证的方法,常用于Mesh BSS网络。
65535:代表厂商自定义算法

Beacon Interval field:表示发送Beacon信号之间间隔的时间,单位为Time Units

Capability Information(性能信息):用于宣告此网络具备何种功能
在这里插入图片描述
ESS/IBSS:基础结构型网络中,AP将设置ESS位为1,IBSS位为0。相反,IBSS中,STA设置ESS位为0,而IBSS位为1。Mesh BSS中,这两个位都为0。
Privacy:如果传输过程中需要维护数据机密性(data confidentiality),则AP设置该位为1,否则为0。
Spectrum Mgmt:如果某设备对应MIB中dot11SpectrumManagementRequired为真,则该位为1。根据802.11 MIB对dot11SpectrumManagementRequired的描述,它和前面介绍的TPC(传输功率控制)和DFS(动态频率选择)功能有关。
Radio Measurement:如果某设备对应MIB中的dot11RadioMeasurementActivated值为真,则该位置为1,用于表示无线网络支持Radio Measurement Service

Reason Code:该字段长2字节。用于通知Diassociaton、Deauthentication等操作(包括DELTS、DELBA、DLS Teardown等)失败的原因
在这里插入图片描述

Status Code:该字段长2字节,用于反馈某次操作的处理结果。0代表成功

信息元素

在这里插入图片描述
Element ID:表示不同的信息元素类型
Length:表示Information字段长度
根据Element ID的不同,Information中包含不同的信息

802.11上层协议封装

在这里插入图片描述
RFC 1042规定SNAPheader(Sub Network Access Protocol,子网访问协议)转换方法,在MAC headers和Type之间增加了4个字段。

DSAP(Destination Service Access Point,目标服务接入点)。
SSAP(Source Service Access Point,源服务接入点)。
Control(控制字段,值被设定为0x03,代表Unnumbered Information,即未编号信息)。
OUI(固定为0x000000)。

猜你喜欢

转载自blog.csdn.net/htt789/article/details/129345467