热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

802.11802.11ac协议

一.概述IEEE802.11工作组在2013年发布了802.11ac(Wave1)标准,然后在2016年又发布了802.11acWave

一. 概述

IEEE 802.11工作组在2013年发布了802.11ac(Wave1)标准,然后在2016年又发布了802.11ac Wave2版本,在Wave1的基础上做了一些改进与升级,本文不着重对比Wave1和Wave2的区别,而是将他们作为一个整体进行介绍。
  802.11ac又称为VHT(Very High Throughput),WFA将其重命名为WiFi5,是第一个速率超过1Gbps的802.11协议;
  802.11ac相对于802.11n的改动并没有非常大,更多的是对802.11n协议的加强,以及引入部分新的特性,主要从PHY、MAC两个维度简单概括一下802.11ac的新特性;


二. 专业术语

本小节对一些专业术语进行一个简要的说明,如下:
  1. A-MPDU:aggregate MAC protocol data unit;
  2. A-MSDU:aggregate MAC service data unit;
  3. HT-GF-STF:High-Throughput Greenfield Short Training field;
  4. HT-SIG:High-Throughput SIGNAL field;
  5. HT-STF:High-Throughput Short Training field;
  6. LDPC:low-density parity check;
  7. L-LTF:Non-HT Long Training field;
  8. L-SIG:Non-HT SIGNAL field;
  9. L-STF:Non-HT Short Training field;
  10. LTF:Long Training field;
  11. MCS:modulation and coding scheme;
  12. MIMO:multiple input, multiple output;
  13. NDP:null data packet;
  14. RIFS:reduced interframe space;
  15. SPP:A-MSDU signaling and payload protected aggregate MAC service data unit;
  16. STBC:space-time block coding;


三. PHY层

简单例举一下802.11ac协议中phy的新特性,主要包括如下:
  1. 工作频段:仅工作在5G频段;
  2. 支持3种工作模式:
   1) NON_HT:Non-HT format;
   2) HT_MF:HT-mixed format;
   3) 放弃了802.11n协议的HT_GF模式,增加了兼容性;
   4) VHT-mixed format,类似HT_MF模式,802.11ac协议新增的模式;
vht ppdu1
vht ppdu2
   简单了解一下VHT PPDU:
    a) VHT-SIG-A分为两个部分:VHT-SIG-A1和VHT-SIG-A2,一共48bit,如下所示(详细参见《IEEE 802.11-2016》21.3.8.3.3 VHT-SIG-A definition章节):
vht-sig-a
    b) VHT-SIG-B字段是一个变长字段,不同的频宽、SU和MU PPDU下各字段的长度是动态变化的,如下所示:
vht-sig-b
    Note:VHT-SIG-B字段每个20M频宽都发送一次,40M发送两次,80M发送4次,依次类推;
    c) VHT PPDU的发送:前导码部分使用的bpsk rate 1/2(6Mbps)的速率发送,数据部分则是由VHT-SIG-A中指定的mcs发送,如下所示:
vht ppdu tx
  3. MIMO
   1) 改进SU-MIMO,最多可支持8条流;
   2) 支持MU-MIMO,一次可以同时和4个终端通信,但只支持DL MU-MIMO,上行方向并不支持;
  4. 信道频宽
   1) 最大支持可选160MHz的频宽(包括80+80方式),此外还支持必选80、40、20的频宽;
   2) 相比于802.11n,没有了信道向上、向下绑定的概念,而是以中心频率代替,802.11ac中主信道、辅信道的设定和802.11n是一致的;
  5. 更高阶的调试技术
   1) 引入256-QAM,每个OFDM符号可以携带8bit信息;
   2) mcs增加了两个:mcs8、mcs9,共10中mcs方式;
   3) 在802.11n协议和信道带宽、空间流数相绑定,总共定义了77个mcs,802.11ac不再和带宽、流数绑定定义mcs,进行了简化:只定义了mcs0~mcs9共10种mcs;
   4) 和802.11n相比,调制方式对比如下:
vht-mcs
  6. 多空间流:最多可以支持8条空间流,相比WiFi4增加了1倍;
  7. 波束成形:简化设计,降低复杂度;
   1) 仅支持显式波束成形,不再支持隐式波束成形;
   2) 改进信道探测和反馈方式:信道探测使用空数据帧NDP,反馈信息由compressed V matrix组成,放弃了原来多种探测方式和多种反馈方式;
   Note:在802.11n显示波束成形中对信道的探测可以有两种方式:NDP(Null data packet,空包帧)和staggered preamble,反馈格式上有三种:CSI、Noncompressed beamforming和Compressed beamforming,在反馈的实时性上分为immediate和delayed两种;在802.11ac中仅支持NDP的探测方式,在反馈格式上只支持compressed V matrix,并采用immediate的方式。
  8. 信道评估CCA:跟802.11n类似,有一些区别,方法由40M扩展到80M、160M:
   1) 主信道载波监听信号强度-82dBm,辅信道仅进行能量检测,信号强度:-69dBm或-72dBm(频宽不同而不同);
   注意:
    a) 能量检测的信号强度和11n有些不同,11n的能量检测信道强度是-62dBm;
    b) 虽然11ac将能量检测信道强度降低了,但还是会存在主、辅信道检测不对称的情况,如果载波监听只需要-82dBm以上信号才认为信道忙,但实际却是-69dBm或-72dBm以上才认为繁忙;
    c) 主、辅信道的检测要求的不对称,导致使用辅信道的条件比主信道低,这样更容易发送冲突:辅信道有人在发送数据,但能量未达到阈值,此时发送方认为空闲,就把数据发送出去了,但造成的冲突可能会导致接收方那边无法正确解码;
   2) 主信道采用传统的DCF/CDCA方式竞争信道,DIFS周期后进入随机退避计数;辅信道在退避计数为0之前,对辅信道进行能量检测,周期为PIFS;
   3) 以上方式竞争信道就会出现以下一些组合:
    a) 主信道忙,所有辅信道也忙:此时不能发送数据,重新选一个随机时间再次检测整个信道(主信道+辅信道);
    b) 主信道忙,部分辅信道空闲:此时不能发送数据;
    c) 主信道忙,所有辅信道空闲:此时不能发送数据;
    d) 主信道空闲,所有辅信道也空闲:此时可以用主信道、所有辅信道发送数据;
    e) 主信道空闲,部分辅信道空闲:此时就有两种选择,不发送数据(11n协议的静态绑定),或者使用主信道+主信道相邻的辅信道发送数据(11ac新引入的动态绑定);
    f) 主信道空闲,所有辅信道忙:这种情形跟上一种是一样的;
  9. 由于实现起来比较复杂、或者带来的增益有限、或者有更好的方案替代等,去除了RIFS、L-SIG TXOP保护、PCO操作、Dual CTS等;


四. MAC层

MAC层也做了一些改进,主要是对802.11n协议的加强:
  1. Enhanced RTS/CTS
   1) 最初是用于解决隐藏节点碰撞问题,后来被用于虚拟载波监听;
   2) 802.11ac则进一步改进,将其用于动态频宽(动态信道管理),80MHz的频宽下,可以通过RTS/CTS,探测哪些信道不可用,从而降低到40MHz、20MHz来发送数据;
   3) 协调机制
    a) 在其使用的信道内以20MHz为单位的子信道内发送RTS,当信道带宽为80MHz时,再复制3份到其余60MHz的3个辅信道上;当信道带宽为160MHz时,复制7份到剩下的140MHz,这样做的好处:不管周边设备的主信道是80MHz或者160MHz信道中的任意20MHz都可以侦听到这个RTS报文,每个收到RTS报文的设备将虚拟载波侦听设为忙;
    b) 收到RTS报文的设备会检测其主信道或者80MHz带宽内的其他子信道是否繁忙,如果信道带宽的一部分被使用,则接收设备只会在CTS帧内响应可用的20MHz的子带宽,并报告重复的带宽;
    c) 在每个可用的20MHz带宽的子信道上回复CTS报文,这样发送设备就知道了哪些信道是可用的,哪些信道是不可用的,最终只在可用的子信道上发送数据,需要注意的是可使用的信道只能是连续的:80MHz、40MHz、20MHz,而不能是不连续:60MHz、不连续的40MHz;
  2. Enhanced A-MPDU/A-MSDU;
   1) AMSDU:可选支持长度最大增加到11454 B,802.11n无直接限制,比HT MPDU的最大值(8192)稍小一点:7935 B;
   2) AMPDU:可选支持长度最大增加到11048575 B,802.11n为65535 B;
   Note:部分数据的长度如下所示
vht phy max bytes
  3. MU-MIMO
   1) 应答机制:AP在竞争到信道后发送Multi-User数据帧,并向三个Station独立地请求BLOCK ACK确认及接收应答,如下所示:
MU-MIMO BA
   Note:其中第一个sta可以直接进行BA的应答,不需要BAR,但笔者一直没有找到第一个sta具体是指哪个:STA1、STA2、STA3?
   2) 队列控制:在AP竞争到信道后,就可以开始一次MU传输,在SU-MIMO中,向手机传输语音流的时候,其他的设备必须等待,在MU-MIMO中,可以同时向其他的设备传输低优先级报文,促使AP竞争到介质访问权的接入类(AC)叫做主AC,其他的AC就叫做二级AC,二级AC可以搭便车向其他接收端传输数据流,前提是二级AC的长度不应超过主AC的长度,如下所示:
MU-MIMO AC BA
   Note:此处笔者也有类似的疑惑,接收端如何知晓哪个是主AC sta,因为主AC sta可以直接回复BA;


附:

华为《什么是802.11ac和802.11ac Wave2》一文中有一个和802.11n对比,笔者觉得非常不错,特意记录下来
wifi4vswifi5


五. 参考资料

1. 《IEEE 802.11-2016》;
  2. 802.11ac技术解析:http://www.h3c.com/cn/d_201708/1018832_30005_0.htm;
  3. 什么是802.11ac和802.11ac Wave2:https://support.huawei.com/enterprise/zh/doc/EDOC1100081210;
  4. 深入探究802.11ac技术:https://www.mwrf.net/tech/communications/2012/7412.html;
  5. 一文看懂802.11ac和802.11n的区别:https://www.21ic.com/article/822080.html;


推荐阅读
  • 本章介绍了TCP/IP协议族中的链路层,其主要功能是为IP模块发送和接收IP数据报。链路层还支持一些辅助性协议,如ARP。此外,本文详细探讨了不同类型的链路层技术及其应用。 ... [详细]
  • 基于iSCSI的SQL Server 2012群集测试(一)SQL群集安装
    一、测试需求介绍与准备公司计划服务器迁移过程计划同时上线SQLServer2012,引入SQLServer2012群集提高高可用性,需要对SQLServ ... [详细]
  • 开机自启动的几种方式
    0x01快速自启动目录快速启动目录自启动方式源于Windows中的一个目录,这个目录一般叫启动或者Startup。位于该目录下的PE文件会在开机后进行自启动 ... [详细]
  • 本文详细介绍了 InfluxDB、collectd 和 Grafana 的安装与配置流程。首先,按照启动顺序依次安装并配置 InfluxDB、collectd 和 Grafana。InfluxDB 作为时序数据库,用于存储时间序列数据;collectd 负责数据的采集与传输;Grafana 则用于数据的可视化展示。文中提供了 collectd 的官方文档链接,便于用户参考和进一步了解其配置选项。通过本指南,读者可以轻松搭建一个高效的数据监控系统。 ... [详细]
  • JUC(三):深入解析AQS
    本文详细介绍了Java并发工具包中的核心类AQS(AbstractQueuedSynchronizer),包括其基本概念、数据结构、源码分析及核心方法的实现。 ... [详细]
  • 本文介绍了几种常用的图像相似度对比方法,包括直方图方法、图像模板匹配、PSNR峰值信噪比、SSIM结构相似性和感知哈希算法。每种方法都有其优缺点,适用于不同的应用场景。 ... [详细]
  • 应用链时代,详解 Avalanche 与 Cosmos 的差异 ... [详细]
  • 原文网址:https:www.cnblogs.comysoceanp7476379.html目录1、AOP什么?2、需求3、解决办法1:使用静态代理4 ... [详细]
  • 在CentOS 7环境中安装配置Redis及使用Redis Desktop Manager连接时的注意事项与技巧
    在 CentOS 7 环境中安装和配置 Redis 时,需要注意一些关键步骤和最佳实践。本文详细介绍了从安装 Redis 到配置其基本参数的全过程,并提供了使用 Redis Desktop Manager 连接 Redis 服务器的技巧和注意事项。此外,还探讨了如何优化性能和确保数据安全,帮助用户在生产环境中高效地管理和使用 Redis。 ... [详细]
  • 本文详细介绍了一种利用 ESP8266 01S 模块构建 Web 服务器的成功实践方案。通过具体的代码示例和详细的步骤说明,帮助读者快速掌握该模块的使用方法。在疫情期间,作者重新审视并研究了这一未被充分利用的模块,最终成功实现了 Web 服务器的功能。本文不仅提供了完整的代码实现,还涵盖了调试过程中遇到的常见问题及其解决方法,为初学者提供了宝贵的参考。 ... [详细]
  • TCP三次握手过程详解与图示解析
    本文详细解析了TCP三次握手的过程,并通过图示清晰展示了各个状态的变化。同时,文章还介绍了四次挥手的图解,解释了在TIME_WAIT状态中,客户端最后一次发送的ACK包的作用和重要性。 ... [详细]
  • Visual Studio Code (VSCode) 是一款功能强大的源代码编辑器,支持多种编程语言,具备丰富的扩展生态。本文将详细介绍如何在 macOS 上安装、配置并使用 VSCode。 ... [详细]
  • C# 实现可浮动工具栏功能
    本文介绍如何在 C# 中实现一个可浮动的工具栏,即工具栏可以从其初始位置拖出,并且可以重新拖回原位。通过创建一个新的窗口作为工具栏的容器,并利用 .NET Framework 提供的 ToolStrip 控件,可以轻松实现这一功能。 ... [详细]
  • 解决Bootstrap DataTable Ajax请求重复问题
    在最近的一个项目中,我们使用了JQuery DataTable进行数据展示,虽然使用起来非常方便,但在测试过程中发现了一个问题:当查询条件改变时,有时查询结果的数据不正确。通过FireBug调试发现,点击搜索按钮时,会发送两次Ajax请求,一次是原条件的请求,一次是新条件的请求。 ... [详细]
  • Docker 中创建 CentOS 容器并安装 MySQL 进行本地连接
    本文详细介绍了如何在 Docker 中创建 CentOS 容器,并在容器中安装 MySQL 以实现本地连接。文章内容包括镜像拉取、容器创建、MySQL 安装与配置等步骤。 ... [详细]
author-avatar
手机用户2602938185
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有