概述
802.11n PHY-MAC层帧结构解析
- 数据转换过程
- MPDU(MAC帧)结构
- 1. 帧控制结构(Frame Control):
- 2. 持续时间/标识(Duration/ID)
- 3. 地址域
- 4. 序列控制(Sequence Control)
- 5. 帧主体(Frame Body)
- 6. 帧检验序列(FCS)
- PPDU(PHY帧)结构
- 1. Non-HT
- 2. HT-Mixed
- 3. HT-Grennfield
- 4. L-STF
- 5. L-LTF
- 6. L-SIG
- 7. HT-SIG
- 8. HT-GF-STF
- 9. HT-LTF1
- 10. HT-LTFs
最近因为业务问题学习了一下802.11n帧结构的有关知识,尽管随着802.11ac、ax时代的到来,802.11n已经走向了终结,但作为史上使用时间最长的WiFi协议,其仍然具有重大的意义。
数据转换过程
- 802.11协议对数据链路层和物理层进行定义。
- 数据链路层分为:逻辑链路控制层(Logical Link Control,LLC)和媒介访问控制层(Media Access Control,MAC)
- 当来自Layer3(网络层)的数据进入数据链路层时,首先会经过LLC,添加一些信息形成MSDU(MAC Service Data Unit),这是一种802.3格式的帧。(注意:所有来自上层的数据包都会被封装为802.11数据帧,因此由MSDU转化的都是数据帧类型)
- MSDU进入MAC层,会被添加上MAC头部信息和尾部FCS校验信息,并被无限网卡驱动转化成MAC协议数据单元MPDU(MAC Protocol Data Unit),这就是平常我们抓包抓到得MAC帧。
- 而除了数据帧之外的控制帧和管理帧,是直接在MAC子层生产为MSDU的?
- 物理层也分为两层:物理层汇聚过程层(Physical Layer Convergence Procedure,PLCP)和物理介质依赖层(Physical Medium Dependent,PMD)
- 当MPDU进入到物理层后,名字会变成PSDU(PLCP Service Data Unit),和MPDU是同一个东西。
- PLCP收到PSDU后,会在PSDU前加一个前导同步码和PHY头部形成PHY层协议数据单元(PPDU)。
- 然后,PPDU会被移交给PMD层,根据不同的算法调制成一串比特流进行发送。
- 所有过程如下图所示。
MPDU(MAC帧)结构
如图,一个完整的MPDU包括以下字段:帧控制、持续时间、地址域(Address1、2、3、4)、序列控制、帧主体(MSDU)、循环冗余校验。以上单位为字节(8bit)。
1. 帧控制结构(Frame Control):
1)协议版本(Protocol Version):通常为0,没有新版本。
2)帧类型(Type):管理帧00(用于STA、AP协商)、控制帧01(用于信道控制)、数据帧10(数据的载体)
3)帧子类型(SubType):用于表示子类型。
Type | Subtype | Info |
---|---|---|
00 | 0000 | Association Request(关联请求) |
00 | 0001 | Association Response(关联应答) |
00 | 0010 | Reassociation Request(重新关联请求) |
00 | 0011 | Reassociation Response(重新关联应答) |
00 | 0100 | Probe Requset(探测请求) |
00 | 0101 | Probe Response(探测应答) |
00 | 1000 | Beacon(信标,被动扫描AP发出) |
00 | 0110 | Timing Advertisement |
00 | 1001 | ATIM(通知传输指示) |
00 | 1010 | Disassociation(解除关联) |
00 | 1011 | Authentication(链路验证) |
00 | 1100 | Deauthentication(解除链路身份验证) |
00 | 1101 | Action(功能帧,802.11h加入) |
00 | 1110 | Action-No-Ack(无需确认的功能帧) |
01 | 0100 | Beamforming Report Poll(波束成形轮询报告,802.11ac新增) |
01 | 0101 | VHT NDP Announcement(空数据包通告,802.11ac新增) |
01 | 0111 | Control Wrapper(控制封装) |
01 | 1000 | Block Ack Request(块确认请求) |
01 | 1001 | Block Ack(块确认) |
01 | 1010 | PS-Poll(省电轮询) |
01 | 1011 | RTS(请求发送) |
01 | 1100 | CTS(允许发送) |
01 | 1101 | ACK(确认) |
01 | 1110 | CF-End(无竞争周期结束) |
01 | 1111 | CF-End+CF-Ack(无竞争周期确认,确认正确接收到帧) |
10 | 0000 | Data(标准数据帧,无需确认) |
10 | 0001 | Data+CF-Ack(无竞争周期确认,确认之前收到的所有帧) |
10 | 0010 | Data+CF-Poll(无竞争周期轮询,STA赋予AP缓存帧权利) |
10 | 0011 | Data+CF-Ack+CF-Poll |
10 | 0100 | Null Data(no data) |
10 | 0101 | CF-Ack(no data) |
10 | 0110 | CF-Poll(no data) |
10 | 0111 | Data+CF-Ack+CF-Poll(no data) |
10 | 1000 | QoS Data |
10 | 1001 | QoS Data+CF-Ack |
10 | 1010 | QoS Data+CF-Poll |
10 | 1011 | QoS Data+CF-ACK+CF-Poll |
10 | 1100 | Qos Null(no dataa) |
10 | 1101 | QoS CF-Ack |
10 | 1110 | QoS CF-Poll |
10 | 1111 | QoS CF-Ack+CF-Poll |
4)To DS:表明是否是BSS(基本服务集)向DS(分布式系统)发送的帧,也就是Station->AP。
5)From DS:表明是否是DS向BSS发送的帧,也就是AP->Station。
6)More Fragment:用于被分段的帧,是否还有剩余的片段。
7) 重传域(Retry):是否是重传帧。
8) 电源管理(Power Management):此帧过后是否进入省电模式,AP发出的帧必为0。
9)More Data:AP是否有缓存的帧需要发送给休眠中的Station。
10)帧保护(Protected Frame):是否开启了链路认证,只有WEP启用。
11) Order:被分段的帧是否严格按序传送。
2. 持续时间/标识(Duration/ID)
用来表明该帧及其确认帧需要占用信道的时间。
3. 地址域
总体来说有四类地址:SA(源地址)、DA(目的地址)、TA(发送地址)、RA(接收地址),不同的网络类型,占用的Address1、2、3、4有所不同。通常来说1是接收机、2是发射机、3用于接收过滤。(这里待查证)
4. 序列控制(Sequence Control)
用于重组帧片段以及丢弃重复帧。
5. 帧主体(Frame Body)
包含上层数据。
6. 帧检验序列(FCS)
对帧进行完整性检验,通过则传送给上层协议;失败丢弃。
PPDU(PHY帧)结构
802.11n中定义了三种PHY帧格式:Non-HT格式(传统模式)、HT-Mixed格式(混合模式)、HT-Greenfield(绿地模式)。
1. Non-HT
该模式下的帧完全符合802.11a和802.11g格式,所有802.11n产品都必须支持这种格式,但此模式下的802.11n性能最差、速度最慢且无法使用40MHz的信道,。
2. HT-Mixed
该模式下的帧同时包含有Non-HT域和HT域,Non-HT域能够被802.11a和802.11g识别,因此能够兼容a/g协议,所有产品都必须支持这种格式,其速率明显高于传统模式,但相比绿地模式还是付出了明显的吞吐量的代价。
3. HT-Grennfield
该模式下的帧只含有HT域,因此不能兼容802.11a和802.11g,只能被802.11n设备识别,对此格式的支持是可选的,是速度最快、性能最高的模式。
4. L-STF
遗留的短训练字段(Legacy-Short Training Field),BPSK调制,无信道编码,不加扰,时长为8μs,20MHz下使用子载波[-24,-20,…,20,24]共24个OFDM符号训练,40MHz下使用[-58,2]和[2,58]。主要功能是帧同步和粗频率同步
5. L-LTF
遗留的长训练字段(Leagacy-Long Training Field),BPSK调制,无信道编码,不加扰,时长为8μs,20MHz下使用[-26,1]和[1,26],40MHz下使用[-58,2]和[2,58]。主要功能是细频率同步和信道估计。
6. L-SIG
信号位,其结构包含Rate(编码与调制方式)、Reserved、Length(数据位的长度)、Parity(用于奇偶校验)、Tail(用于FEC解码)
7. HT-SIG
高吞吐量信号序列(High-Throughput-Greenfiled),和L-SIG类似,包含了关键的编码和调制参数(传输速率、帧长等等),用于解释HT数据区。该域包含SIG1和SIG2两个部分。
8. HT-GF-STF
高吞吐量绿地模式的短训练序列(HT-Short-Training-Field)。
9. HT-LTF1
第一个高吞吐绿地模式的长训练序列(HT-Long TF),时长为8μs,是其他HT-LTFs的两倍,由时长为1.6μs的长CP(cyclic prefix)和两个完全重复的3.2μs的长训练符号组成,和HT-GF-STF一起用于频率、时间同步。
10. HT-LTFs
高吞吐量绿地模式的长训练序列,包含数据HT-LTF(DATA HT-LTF)和扩展HT-LTF(Extension HT-LTF)两类。其中DLTF用于接收端进行信道评估,以准确地对数据区进行解调;ELTF用于探测帧,对信道更多分量进行评估。
最后
以上就是大胆丝袜为你收集整理的802.11n PHY-MAC层帧结构解析数据转换过程MPDU(MAC帧)结构PPDU(PHY帧)结构的全部内容,希望文章能够帮你解决802.11n PHY-MAC层帧结构解析数据转换过程MPDU(MAC帧)结构PPDU(PHY帧)结构所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复