天天看点

802.11n PHY-MAC层帧结构解析数据转换过程MPDU(MAC帧)结构PPDU(PHY帧)结构

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协议,其仍然具有重大的意义。

数据转换过程

  1. 802.11协议对数据链路层和物理层进行定义。
  2. 数据链路层分为:逻辑链路控制层(Logical Link Control,LLC)和媒介访问控制层(Media Access Control,MAC)
  3. 当来自Layer3(网络层)的数据进入数据链路层时,首先会经过LLC,添加一些信息形成MSDU(MAC Service Data Unit),这是一种802.3格式的帧。(注意:所有来自上层的数据包都会被封装为802.11数据帧,因此由MSDU转化的都是数据帧类型)
  4. MSDU进入MAC层,会被添加上MAC头部信息和尾部FCS校验信息,并被无限网卡驱动转化成MAC协议数据单元MPDU(MAC Protocol Data Unit),这就是平常我们抓包抓到得MAC帧。
  5. 而除了数据帧之外的控制帧和管理帧,是直接在MAC子层生产为MSDU的?
  6. 物理层也分为两层:物理层汇聚过程层(Physical Layer Convergence Procedure,PLCP)和物理介质依赖层(Physical Medium Dependent,PMD)
  7. 当MPDU进入到物理层后,名字会变成PSDU(PLCP Service Data Unit),和MPDU是同一个东西。
  8. PLCP收到PSDU后,会在PSDU前加一个前导同步码和PHY头部形成PHY层协议数据单元(PPDU)。
  9. 然后,PPDU会被移交给PMD层,根据不同的算法调制成一串比特流进行发送。
  10. 所有过程如下图所示。
802.11n PHY-MAC层帧结构解析数据转换过程MPDU(MAC帧)结构PPDU(PHY帧)结构

MPDU(MAC帧)结构

802.11n PHY-MAC层帧结构解析数据转换过程MPDU(MAC帧)结构PPDU(PHY帧)结构

如图,一个完整的MPDU包括以下字段:帧控制、持续时间、地址域(Address1、2、3、4)、序列控制、帧主体(MSDU)、循环冗余校验。以上单位为字节(8bit)。

1. 帧控制结构(Frame Control):

802.11n PHY-MAC层帧结构解析数据转换过程MPDU(MAC帧)结构PPDU(PHY帧)结构

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(绿地模式)。

802.11n PHY-MAC层帧结构解析数据转换过程MPDU(MAC帧)结构PPDU(PHY帧)结构

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用于探测帧,对信道更多分量进行评估。