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. 所有过程如下图所示。

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层帧结构解析相关推荐

  1. wireshark分析以太网帧结构_分析Ethernet标准和Ieee802.3标准规定的MAC层帧结构

    阅读导览 1. 学习Wireshark的安装与使用 下载并安装网络装包软件Wireshark-win32-1.10.2 安装软件所需环境 WinPcap 2. 熟悉Wireshark的操作界面与功能 ...

  2. 802.11 MAC层帧解析

    注1:本文STA为station简称,AP为access piont简称. 注2:本文属于个人理解,存在错误望见谅和指正. 1.MAC帧格式 对应的数据结构如下: typedef struct _rt ...

  3. 802.11n 原理解析

    1.1  802.11n标准发展历程 IEEE 802.11工作组意识到支持高吞吐将是WLAN技术发展历程的关键点,基于IEEE HTSG (High Throughput Study Group)前 ...

  4. wlan之802.11n原理解析

    1.1  802.11n标准发展历程 IEEE 802.11工作组意识到支持高吞吐将是WLAN技术发展历程的关键点,基于IEEE HTSG (High Throughput Study Group)前 ...

  5. 无线个人区域网WPAN 802.11局域网的MAC层协议 CSMA/CA

    目录 802.11物理层 802.11局域网的MAC层协议 无线局域网的特殊问题 CSMA/CA协议(Colision Avoidance) 802.11的MAC层​ CSMA/CA协议的原理 为什么 ...

  6. 802.11n协议解析(一)

    1.1  802.11n标准发展历程 IEEE 802.11工作组意识到支持高吞吐将是WLAN技术发展历程的关键点,基于IEEE HTSG (High Throughput Study Group)前 ...

  7. 802.11n关键技术

    原文地址:http://baike.soso.com/v3635395.htm           技术概述 802.11n主要是结合物理层和MAC层的优化来充分提高WLAN技术的吞吐.主要的物理层技 ...

  8. WiFi 4: 802.11n 白皮书

    目录 执行摘要 IEEE和Wi-Fi联盟的作用 802.11n之前的产品 802.11n技术 多输入多输出 无线电操作基础 MIMO的空间传播 利用发射天线提高信噪比 MIMO均衡器 空分复用 MIM ...

  9. 第三章:zigbee学习笔记之物理层和mac层帧格式分析

    本文原地址:https://blog.csdn.net/tainjau/article/details/81634681 IEEE802.15.4工作组致力于无线个人区域网络(wireless per ...

最新文章

  1. 优秀Java开发者的10条共性
  2. 企业架构(三)——联邦企业架构框架(FEAF)
  3. 【深度学习】深度学习之Pytorch基础教程!
  4. dynamodb java_使用Java将项目插入DynamoDB表
  5. android闹钟实现原理
  6. [Oracle]使用非滚动游标
  7. toolStrip 按钮图片大小的修改
  8. Android逆向笔记-Unity3D逆向一般思路(静态分析)
  9. TreeView的checked事件
  10. Mybatis # 和 $ 的区别
  11. 阿里 P7 到底该具备什么样的能力?
  12. c语言编程if语句的用法,if句子用法(C语言中,if语句的用法)
  13. buuctf——(HDCTF2019)Maze
  14. JS正则表达式--正则量词与元字符
  15. Vue中插入jQuery插件
  16. 简易Android专注模式的实现
  17. UVM 代码生成器 easier UVM
  18. 电芯:聚合物的一定比18650更好_移动电源_移动电源评测-中关村在线
  19. 了不起的Chrome浏览器(6):Chrome 94开始WebGPU试用,Web的图像渲染及机器学能力更强了
  20. POJ 3122 Pie【二分答案】

热门文章

  1. 《劝学》---附一篇《热爱生命》
  2. Python 数字转中文大写
  3. 全职高手手游服务器维护,《全职高手》停服停运公告!
  4. 八问数据中台:关于数据中台你想知道的都在这里!
  5. 一段顺序颠倒能读通的文字_专家解释汉字顺序不影响阅读--人脑自动排序
  6. Xposed模块开发入门教程
  7. EMX,PROC文件与电感的简单仿真
  8. ARC与非ARC混合编程
  9. 状态机的描述方法案例分析(一段式、二段式、三段式)
  10. 一、Conflux 网页钱包创建