目录
一、基本介绍(Introduction)
二、进化发展(Evolution)
三、PHY帧((PHY Frame )
四、MAC帧(MAC Frame )
五、协议(Protocol)
六、安全(Security)
七、802.11ac标准
八、802.11ad标准
九、802.11ax (WiFi 6)标准
十、WiFi直接连接(WiFi Direct)
十一、测试(Testing)
十二、WiFi射频测量(WiFi RF Meas.)
https://www.sharetechnote.com/
一、基本介绍(Introduction)
1、总体网络架构(Overall Network Architecture)
使用WLAN的最常见方式如下。在大多数情况下( In most case),主通信线路将是有线线路,我们将AP(Access Point接入点)连接到有线骨干网(wireline backbone),如下所示。接入点是一种与客户端设备(如笔记本电脑Laptop或智能手机)通信并通过有线主干(wireline backbone)传输数据的设备。接入点有两个不同的接口(interface),一个用于使用有线协议(wireline protocol)连接到有线骨干网,另一个用于通过无线协议(wireless protocol)与各种移动设备通信。
当我们在技术上说WLAN时,它通常是指在无线通信方法中用于连接移动客户端(mobile client)和接入点的技术。我将发布的页面也将是关于移动客户端和接入点之间的无线通信技术。
WLAN(Wireless Local Area Network无线局域网)基本上是一种设置,可以让你在不使用任何电缆的情况下将笔记本电脑(laptops)、手机或平板电脑(tablet)等设备连接到互联网。无线局域网的主要部分是接入点(APs)、无线设备(wireless devices)和有线骨干网(wired backbone)。
当你将设备连接到Wi-Fi时,它会与接入点通信,然后接入点通过有线骨干网将你的数据发送到需要的地方。这种设置可以让你在没有任何电缆的情况下使用互联网和共享数据,这非常方便。
**接入点(AP)**就像是无线设备和有线网络之间的中间人(middleman)。它们会产生一个Wi-Fi信号,这样你就可以将你的设备连接到互联网上。当你有很大的空间需要覆盖时,你可能需要多个AP来确保你在任何地方都能得到良好的覆盖(coverage)。
**无线设备(wireless devices)**是你用来连接Wi-Fi的设备,比如你的手机、笔记本电脑或平板电脑。他们有一个无线适配器(wireless adapter),可以使用Wi-Fi信号与接入点通话。
**有线主干网(wired backbone)**连接所有接入点和其他网络设备,如交换机(switch)或路由器(router)。它有点像整个系统的主干,确保数据到达需要的地方。它使用以太网电缆(Ethernet cable)将所有东西连接在一起,有时甚至使用光纤电缆(fiber-optic cable)来实现更快的速度和更长的距离。
2、协议栈(Protocol Stack)
顾名思义(As the terminology implies),WLAN也是LAN(局域网)的一种,因此它使用了标准LAN协议的大部分,尤其是在更高层。唯一的区别是非常低层的部分(PHY和低MAC)。我将要处理的大部分内容将是关于协议栈的PHY/MAC部分。
让我们以一种更随意的方式来分解它,重点关注Wi-Fi协议栈和三个主要层:物理层(PHY/Physical)、媒体访问控制层(MAC/Media Access Control)和互联网协议层(IP/Internet Protocol)。
物理(PHY)层:
物理层就像无线网络的无线电台(radio station)。它负责将您的数据转换为可以通过空中发送的无线电信号。不同的Wi-Fi版本(如802.11a、b、g、n、ac和ax)使用不同的方法和射频以不同的速度和距离发送数据。它也有一些技巧来检测和修复传输过程中可能发生的错误。
媒体访问控制(MAC)层:
MAC层就像一个交通警察(traffic cop),确保所有使用Wi-Fi的设备都能很好地配合使用。由于每个人共享相同的无线电波(airwave),MAC层使用一个名为CSMA/CA的系统来帮助设备确定何时轮到他们说话。它还负责寻址(addressing)等事务,以便数据到达正确的位置,并在需要时将大块数据(big chunks)分解成小块(smaller pieces)。
互联网协议(IP)层:
IP层本身并不是Wi-Fi的一部分,但它对于让一切协同工作非常重要。这就像是你的数据的GPS,为每个设备提供一个地址,并帮助你的信息从一个地方找到另一个地方,即使它必须通过不同的网络。有几个不同版本的IP,如IPv4和IPv6,可以帮助实现这一点。
因此,简言之(in a nutshell),Wi-Fi协议栈有负责处理无线电信号的PHY层,有帮助设备共享无线电波的MAC层,还有将数据引导到需要的地方的IP层。它们一起确保你可以毫无障碍地连接Wi-Fi和上网(surf the web)。
3、安全(Security)
安全就是保护你的Wi-Fi网络免受黑客和爱管闲事的邻居(hackers and nosy neighbors)的攻击。有不同的方法来保护你的网络,比如使用密码和加密(encryption)。WPA2和WPA3是确保Wi-Fi安全和数据安全的最佳选择。
注意:WiFi安全的更多细节在此处的单独注释中进行了解释。
4、网络管理(Network Management)
管理Wi-Fi网络意味着确保一切顺利运行。你需要规划网络,设置它,关注(keep an eye on)它的运行情况,解决问题(fix problems),并随着时间的推移使其变得更好。有一些工具和软件可以帮助网络管理员完成所有这些工作。
5、服务质量(QoS/Quality of Service)
QoS是指确保网络上的重要内容((important stuff)得到优先(priority)考虑。例如,如果你正在流媒体播放电影(stream a movie)或进行视频通话(video call),你不希望因为别人正在下载一个巨大的文件而速度缓慢或断断续续(choppy)。QoS通过优先考虑重要的东西来帮助保持一切顺利运行。
6、漫游(Roaming)
漫游是指当你带着设备四处移动时,它会自动切换到最佳的Wi-Fi信号。它在办公室或校园(campuse)等有很多不同Wi-Fi接入点的大地方非常有用。漫游可以确保您保持联系,不会出现任何问题(hiccup)。
7、范围和覆盖范围(Range and Coverage)
范围和覆盖范围是关于你的Wi-Fi信号能走多远,以及它覆盖该地区的程度。很多事情都会影响这一点,比如接入点的功率有多大,它有什么样的天线(antenna),甚至墙上的建筑材料。有时,为了获得更好的覆盖,你可以使用网状网络(mesh network)之类的东西,这有助于扩展Wi-Fi信号,而不需要更多的电线。
8、基本功能(Basic Features)
WiFi基于半双工(TDD/Half-Duplex)。
使用CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance,带冲突避免的载波侦听多路访问),而有线以太网(wired ethernet)使用CSMA/CD
使用WEP(Wired Equivalent Privacy,有线等效隐私)、WPA(WiFi Protected Access,WiFi保护访问)、WPA2(802.11i)
YouTube
IEEE 802.11无线局域网(WLAN)第1部分-基本概念(2013年9月)
IEEE 802.11无线局域网(WLAN)第2部分(2013年9月)
IEEE 802.11无线局域网(WLAN)第3部分(2013年9月)
Wi-Fi的故事(2015年3月)
802.11ac帧-有什么变化?(2015年9月)
IEEE 802 11标准的演进-BAG NAC(2018年9月)
802.11ax-最新网络研讨会(2018年5月)
2018 Wi-Fi Trek-Mark Williams(无线节能机制)(2019年2月)
解释:WiFi 1、2、3、4、5和6(2019年5月)
9、信标(Beacon)
信标是从AP(接入点)定期广播的一种特殊类型的信号(消息),AP将其ID和能力携带到AP周围的每个设备。Beacon的整体框架结构(overall frame structure)如下。
以下是显示信标帧头部分(Beacon Frame Header part)的示例
IEEE 802.11 Beacon frame, Flags: …m…C
Type/Subtype: Beacon frame (0x08)
Frame Control Field: 0x8020
.... ..00 = Version: 0
.... 00.. = Type: Management frame (0)
1000 .... = Subtype: 8
Flags: 0x20
.... ..00 = DS status: Not leaving DS or network is operating in AD-HOC mode
(To DS: 0 From DS: 0) (0x00)
// (To DS: 0 From DS: 0) mean the address 1 is Destination address
// the address 2 is Source address
.... .0.. = More Fragments: This is the last fragment
.... 0... = Retry: Frame is not being retransmitted
...0 .... = PWR MGT: STA will stay up
..1. .... = More Data: Data is buffered for STA at AP
.0.. .... = Protected flag: Data is not protected
0... .... = Order flag: Not strictly ordered
.000 0000 0000 0000 = Duration: 0 microseconds
Receiver address: Broadcast (ff:ff:ff:ff:ff:ff)
Destination address: Broadcast (ff:ff:ff:ff:ff:ff)
Transmitter address: Anritsu_07:91:0e (00:00:91:07:91:0e)
Source address: Anritsu_07:91:0e (00:00:91:07:91:0e)
BSS Id: Anritsu_07:91:0e (00:00:91:07:91:0e)
Fragment number: 0
Sequence number: 78
Frame check sequence: 0xe0fbec2b [correct]
[Good: True]
[Bad: False]
下是Beacon信号的[Frame Body]中携带的信息广播(information broadcast)的列表。并非所有这些信息都是由AP广播的。其中许多字段(fields)仅在特定条件下广播(您可以在802.11-8.3.3.2信标帧格式中找到更多详细信息)。
以下是信标帧内容的示例。
< Example 1 >
以下是旧802.11规范中的一个示例,您将看到信标中包含的信息集相对较小。将此示例与来自最新规范(802.11ac)的下一个示例进行比较,以及功能集是如何增长的。
< Example 2 >
这是一个名为Anritsu MT8862的实验性AP(接入点)的例子,它支持802.11ac。日志(log)是在这里显示的测试设置中捕获的。除非您完全理解802.11 PHY/MAC规范,否则很难理解此处显示的所有参数的含义。但是,如果你把这里的所有项目都浏览了几次,即使你不明白这意味着什么。阅读与802.11相关的其他技术材料或规范将对您有所帮助。(学习任何新事物的第一步是习惯它,即使你不了解全部细节)
IEEE 802.11 Beacon frame, Flags: …m…C
Type/Subtype: Beacon frame (0x08)
Frame Control Field: 0x8020
.... ..00 = Version: 0
.... 00.. = Type: Management frame (0)
1000 .... = Subtype: 8
Flags: 0x20
.... ..00 = DS status: Not leaving DS or network is operating in AD-HOC mode
(To DS: 0 From DS: 0) (0x00)
.... .0.. = More Fragments: This is the last fragment
.... 0... = Retry: Frame is not being retransmitted
...0 .... = PWR MGT: STA will stay up
..1. .... = More Data: Data is buffered for STA at AP
.0.. .... = Protected flag: Data is not protected
0... .... = Order flag: Not strictly ordered
.000 0000 0000 0000 = Duration: 0 microseconds
Receiver address: Broadcast (ff:ff:ff:ff:ff:ff)
Destination address: Broadcast (ff:ff:ff:ff:ff:ff)
Transmitter address: Anritsu_07:91:0e (00:00:91:07:91:0e)
Source address: Anritsu_07:91:0e (00:00:91:07:91:0e)
BSS Id: Anritsu_07:91:0e (00:00:91:07:91:0e)
Fragment number: 0
Sequence number: 78
Frame check sequence: 0xe0fbec2b [correct]
[Good: True]
[Bad: False]
IEEE 802.11 wireless LAN management frame
Fixed parameters (12 bytes)
Timestamp: 0x0000000000f3c041
Beacon Interval: 0.204800 [Seconds]
Capabilities Information: 0x0001
.... .... .... ...1 = ESS capabilities: Transmitter is an AP
.... .... .... ..0. = IBSS status: Transmitter belongs to a BSS
.... ..0. .... 00.. = CFP participation capabilities:
No point coordinator at AP (0x0000)
.... .... ...0 .... = Privacy: AP/STA cannot support WEP
.... .... ..0. .... = Short Preamble: Not Allowed
.... .... .0.. .... = PBCC: Not Allowed
.... .... 0... .... = Channel Agility: Not in use
.... ...0 .... .... = Spectrum Management: Not Implemented
.... .0.. .... .... = Short Slot Time: Not in use
.... 0... .... .... = Automatic Power Save Delivery: Not Implemented
...0 .... .... .... = Radio Measurement: Not Implemented
..0. .... .... .... = DSSS-OFDM: Not Allowed
.0.. .... .... .... = Delayed Block Ack: Not Implemented
0... .... .... .... = Immediate Block Ack: Not Implemented
Tagged parameters (134 bytes)
Tag: SSID parameter set: MT8862A6000000008
Tag Number: SSID parameter set (0)
Tag length: 17
SSID: MT8862A6000000008
Tag: Supported Rates 6(B), 9, 12(B), 18, 24(B), 36, 48, 54, [Mbit/sec]
Tag Number: Supported Rates (1)
Tag length: 8
Supported Rates: 6(B) (0x8c)
Supported Rates: 9 (0x12)
Supported Rates: 12(B) (0x98)
Supported Rates: 18 (0x24)
Supported Rates: 24(B) (0xb0)
Supported Rates: 36 (0x48)
Supported Rates: 48 (0x60)
Supported Rates: 54 (0x6c)
Tag: Traffic Indication Map (TIM): DTIM 0 of 0 bitmap
Tag Number: Traffic Indication Map (TIM) (5)
Tag length: 4
DTIM count: 0
DTIM period: 1
Bitmap control: 0x00
.... ...0 = Multicast: False
0000 000. = Bitmap Offset: 0x00
Partial Virtual Bitmap: 00
Tag: HT Capabilities (802.11n D1.10)
Tag Number: HT Capabilities (802.11n D1.10) (45)
Tag length: 26
HT Capabilities Info: 0x007e
.... .... .... ...0 = HT LDPC coding capability:
Transmitter does not support receiving LDPC coded packets
.... .... .... ..1. = HT Support channel width:
Transmitter supports 20MHz and 40MHz operation
.... .... .... 11.. = HT SM Power Save: SM Power Save disabled (0x0003)
.... .... ...1 .... = HT Green Field: Transmitter is able to receive PPDUs
with Green Field (GF) preamble
.... .... ..1. .... = HT Short GI for 20MHz: Supported
.... .... .1.. .... = HT Short GI for 40MHz: Supported
.... .... 0... .... = HT Tx STBC: Not supported
.... ..00 .... .... = HT Rx STBC: No Rx STBC support (0x0000)
.... .0.. .... .... = HT Delayed Block ACK:
Transmitter does not support HT-Delayed BlockAck
.... 0... .... .... = HT Max A-MSDU length: 3839 bytes
...0 .... .... .... = HT DSSS/CCK mode in 40MHz:
Won't/Can't use of DSSS/CCK in 40 MHz
..0. .... .... .... = HT PSMP Support: Won't/Can't support PSMP operation
.0.. .... .... .... = HT Forty MHz Intolerant: Use of 40 MHz transmissions
unrestricted/allowed
0... .... .... .... = HT L-SIG TXOP Protection support: Not supported
A-MPDU Parameters: 0x1f
.... ..11 = Maximum Rx A-MPDU Length: 0x03 (65535[Bytes])
...1 11.. = MPDU Density: 16 [usec] (0x07)
000. .... = Reserved: 0x00
Rx Supported Modulation and Coding Scheme Set: MCS Set
Rx Modulation and Coding Scheme (One bit per modulation): 1 spatial stream
.... .... .... .... .... .... 1111 1111 = Rx Bitmask Bits 0-7: 0x000000ff
.... .... .... .... 0000 0000 .... .... = Rx Bitmask Bits 8-15: 0x00000000
.... .... 0000 0000 .... .... .... .... = Rx Bitmask Bits 16-23: 0x00000000
0000 0000 .... .... .... .... .... .... = Rx Bitmask Bits 24-31: 0x00000000
.... .... .... .... .... .... .... ...0 = Rx Bitmask Bit 32: 0x00000000
.... .... .... .... .... .... .000 000. = Rx Bitmask Bits 33-38: 0x00000000
.... .... ...0 0000 0000 0000 0... .... = Rx Bitmask Bits 39-52: 0x00000000
...0 0000 0000 0000 0000 0000 000. .... = Rx Bitmask Bits 53-76: 0x00000000
.... ..00 0000 0000 = Highest Supported Data Rate: 0x0000
.... .... .... ...0 = Tx Supported MCS Set: Not Defined
.... .... .... ..0. = Tx and Rx MCS Set: Equal
.... .... .... 00.. = Maximum Number of Tx Spatial Streams Supported: 0x0000,
TX MCS Set Not Defined
.... .... ...0 .... = Unequal Modulation: Not supported
HT Extended Capabilities: 0x0006
.... .... .... ...0 = Transmitter supports PCO: Not supported
.... .... .... .11. = Time needed to transition between 20MHz and 40MHz:
5 msec (0x0003)
.... ..00 .... .... = MCS Feedback capability:
STA does not provide MCS feedback (0x0000)
.... .0.. .... .... = High Throughput: Not supported
.... 0... .... .... = Reverse Direction Responder: Not supported
Transmit Beam Forming (TxBF) Capabilities: 0x0000
.... .... .... .... .... .... .... ...0 = Transmit Beamforming: Not supported
.... .... .... .... .... .... .... ..0. = Receive Staggered Sounding:
Not supported
.... .... .... .... .... .... .... .0.. = Transmit Staggered Sounding:
Not supported
.... .... .... .... .... .... .... 0... = Receive Null Data packet (NDP):
Not supported
.... .... .... .... .... .... ...0 .... = Transmit Null Data packet (NDP):
Not supported
.... .... .... .... .... .... ..0. .... = Implicit TxBF capable: Not supported
.... .... .... .... .... .... 00.. .... = Calibration: incapable (0x00000000)
.... .... .... .... .... ...0 .... .... = STA can apply TxBF using CSI explicit
feedback: Not supported
.... .... .... .... .... ..0. .... .... = STA can apply TxBF using uncompressed
beamforming feedback matrix: Not supported
.... .... .... .... .... .0.. .... .... = STA can apply TxBF using compressed
beamforming feedback matrix: Not supported
.... .... .... .... ...0 0... .... .... = Receiver can return explicit CSI
feedback: not supported (0x00000000)
.... .... .... .... .00. .... .... .... = Receiver can return explicit
uncompressed Beamforming Feedback Matrix:
not supported (0x00000000)
.... .... .... ...0 0... .... .... .... = STA can compress and use compressed
Beamforming Feedback Matrix:
not supported (0x00000000)
.... .... .... .00. .... .... .... .... = Minimal grouping used for explicit
feedback reports: No grouping supported
(0x00000000)
.... .... ...0 0... .... .... .... .... = Max antennae STA can support when CSI
feedback required: 1 TX antenna sounding
(0x00000000)
.... .... .00. .... .... .... .... .... = Max antennae STA can support when
uncompressed Beamforming feedback
required: 1 TX antenna sounding
(0x00000000)
.... ...0 0... .... .... .... .... .... = Max antennae STA can support when
compressed Beamforming feedback required:
1 TX antenna sounding (0x00000000)
.... .00. .... .... .... .... .... .... = Maximum number of rows of CSI explicit
feedback: 1 row of CSI (0x00000000)
...0 0... .... .... .... .... .... .... = Maximum number of space time streams
for which channel dimensions can be
simultaneously estimated: 1 space time
stream (0x00000000)
000. .... .... .... .... .... .... .... = Reserved: 0x00000000
Antenna Selection (ASEL) Capabilities: 0x00
.... ...0 = Antenna Selection Capable: Not supported
.... ..0. = Explicit CSI Feedback Based Tx ASEL: Not supported
.... .0.. = Antenna Indices Feedback Based Tx ASEL: Not supported
.... 0... = Explicit CSI Feedback: Not supported
...0 .... = Antenna Indices Feedback: Not supported
..0. .... = Rx ASEL: Not supported
.0.. .... = Tx Sounding PPDUs: Not supported
0... .... = Reserved: 0x00
Tag: HT Information (802.11n D1.10)
Tag Number: HT Information (802.11n D1.10) (61)
Tag length: 22
Primary Channel: 36
HT Information Subset (1 of 3): 0x05
.... ..01 = Secondary channel offset: Secondary channel is above the primary
channel (0x01)
.... .1.. = Supported channel width: Channel of any width supported
.... 0... = Reduced Interframe Spacing (RIFS): Prohibited
...0 .... = Power Save Multi-Poll (PSMP) stations only: Association requests are
accepted regardless of PSMP capability
000. .... = Shortest service interval: 5 ms (0x00)
HT Information Subset (2 of 3): 0x0000
.... .... .... ..00 = Operating mode of BSS: All STAs are - 20/40 MHz HT
or in a 20/40 MHz BSS or are 20 MHz HT in a 20 MHz BSS
(0x0000)
.... .... .... .0.. = Non-greenfield STAs present:
All associated STAs are greenfield capable
.... .... .... 0... = Transmit burst limit: No limit
.... .... ...0 .... = OBSS non-HT STAs present: Use of protection for non-HT STAs
by overlapping BSSs is not needed
0000 0000 000. .... = Reserved: 0x0000
HT Information Subset (3 of 3): 0x0000
.... .... ..00 0000 = Reserved: 0x0000
.... .... .0.. .... = Dual beacon: No second beacon is transmitted
.... .... 0... .... = Dual Clear To Send (CTS) protection: Not required
.... ...0 .... .... = Beacon ID: Primary beacon
.... ..0. .... .... = L-SIG TXOP Protection Full Support: One or more HT STAs
in the BSS do not support L-SIG TXOP protection
.... .0.. .... .... = Phased Coexistence Operation (PCO): Inactive
.... 0... .... .... = Phased Coexistence Operation (PCO) Phase: Switch to or
continue 20 MHz phase
0000 .... .... .... = Reserved: 0x0000
Rx Supported Modulation and Coding Scheme Set: Basic MCS Set
Rx Modulation and Coding Scheme (One bit per modulation): Reserved:8
.... .... .... .... .... .... 0000 0000 = Rx Bitmask Bits 0-7: 0x00000000
.... .... .... .... 0000 0000 .... .... = Rx Bitmask Bits 8-15: 0x00000000
.... .... 0000 0000 .... .... .... .... = Rx Bitmask Bits 16-23: 0x00000000
0000 0000 .... .... .... .... .... .... = Rx Bitmask Bits 24-31: 0x00000000
.... .... .... .... .... .... .... ...0 = Rx Bitmask Bit 32: 0x00000000
.... .... .... .... .... .... .000 000. = Rx Bitmask Bits 33-38: 0x00000000
.... .... ...0 0000 0000 0000 0... .... = Rx Bitmask Bits 39-52: 0x00000000
...0 0000 0000 0000 0000 0000 000. .... = Rx Bitmask Bits 53-76: 0x00000000
.... ..00 0000 0000 = Highest Supported Data Rate: 0x0000
.... .... .... ...0 = Tx Supported MCS Set: Not Defined
.... .... .... ..0. = Tx and Rx MCS Set: Equal
.... .... .... 00.. = Maximum Number of Tx Spatial Streams Supported: 0x0000,
TX MCS Set Not Defined
.... .... ...0 .... = Unequal Modulation: Not supported
Tag: VHT Capabilities (IEEE Stc 802.11ac/D3.1)
Tag Number: VHT Capabilities (IEEE Stc 802.11ac/D3.1) (191)
Tag length: 12
VHT Capabilities Info: 0x03800022
.... .... .... .... .... .... .... ..10 = Maximum MPDU Length: 11 454 (0x00000002)
.... .... .... .... .... .... .... 00.. = Supported Channel Width Set:
Neither 160MHz nor 80+80 supported
(0x00000000)
.... .... .... .... .... .... ...0 .... = Rx LDPC: Not supported
.... .... .... .... .... .... ..1. .... = Short GI for 80MHz: Supported
.... .... .... .... .... .... .0.. .... = Short GI for 160MHz and 80+80MHz:
Not supported
.... .... .... .... .... .... 0... .... = Tx STBC: Not supported
.... .... .... .... .... .000 .... .... = Rx STBC: None (0x00000000)
.... .... .... .... .... 0... .... .... = SU Beam-former Capable: Not supported
.... .... .... .... ...0 .... .... .... = SU Beam-formee Capable: Not supported
.... .... .... .... 000. .... .... .... = Compressed Steering Number of Beamformer
Antennas Supported: 1 (0x00000000)
.... .... .... .000 .... .... .... .... = Number of Sounding Dimensions: 1
(0x00000000)
.... .... .... 0... .... .... .... .... = MU Beam-former Capable: Not supported
.... .... ...0 .... .... .... .... .... = MU Beam-formee Capable: Not supported
.... .... ..0. .... .... .... .... .... = VHT TXOP PS: Not supported
.... .... .0.. .... .... .... .... .... = +HTC-VHT Capable (VHT variant HT Control
field): Not supported
.... ..11 1... .... .... .... .... .... = Max A-MPDU Length: 1 048 575 (0x00000007)
.... 00.. .... .... .... .... .... .... = VHT Link Adaptation: No Feedback
(0x00000000)
...0 .... .... .... .... .... .... .... = Rx Antenna Pattern Consistency:
Not supported
..0. .... .... .... .... .... .... .... = Tx Antenna Pattern Consistency:
Not supported
00.. .... .... .... .... .... .... .... = Reserved: False
VHT Supported MCS Set
Rx MCS Map: 0xfffe
.... .... .... ..10 = Rx 1 SS: MCS 0-9 (0x0002)
.... .... .... 11.. = Rx 2 SS: Not Supported (0x0003)
.... .... ..11 .... = Rx 3 SS: Not Supported (0x0003)
.... .... 11.. .... = Rx 4 SS: Not Supported (0x0003)
.... ..11 .... .... = Rx 5 SS: Not Supported (0x0003)
.... 11.. .... .... = Rx 6 SS: Not Supported (0x0003)
..11 .... .... .... = Rx 7 SS: Not Supported (0x0003)
11.. .... .... .... = Rx 8 SS: Not Supported (0x0003)
...0 0000 0000 0000 = Rx Highest Long GI Data Rate
(in Mb/s, 0 = subfield not in use): 0x0000
Tx MCS Map: 0xfffe
.... .... .... ..10 = Tx 1 SS: MCS 0-9 (0x0002)
.... .... .... 11.. = Tx 2 SS: Not Supported (0x0003)
.... .... ..11 .... = Tx 3 SS: Not Supported (0x0003)
.... .... 11.. .... = Tx 4 SS: Not Supported (0x0003)
.... ..11 .... .... = Tx 5 SS: Not Supported (0x0003)
.... 11.. .... .... = Tx 6 SS: Not Supported (0x0003)
..11 .... .... .... = Tx 7 SS: Not Supported (0x0003)
11.. .... .... .... = Tx 8 SS: Not Supported (0x0003)
...0 0000 0000 0000 = Tx Highest Long GI Data Rate
(in Mb/s, 0 = subfield not in use): 0x0000
Tag: VHT Operation (IEEE Stc 802.11ac/D3.1)
Tag Number: VHT Operation (IEEE Stc 802.11ac/D3.1) (192)
Tag length: 5
VHT Operation Info
Channel Width: 80 MHz (0x01)
Channel Center Segment 0: 42
Channel Center Segment 1: 0
Basic MCS Map: 0xfffc
.... .... .... ..00 = Basic 1 SS: MCS 0-7 (0x0000)
.... .... .... 11.. = Basic 2 SS: Not Supported (0x0003)
.... .... ..11 .... = Basic 3 SS: Not Supported (0x0003)
.... .... 11.. .... = Basic 4 SS: Not Supported (0x0003)
.... ..11 .... .... = Basic 5 SS: Not Supported (0x0003)
.... 11.. .... .... = Basic 6 SS: Not Supported (0x0003)
..11 .... .... .... = Basic 7 SS: Not Supported (0x0003)
11.. .... .... .... = Basic 8 SS: Not Supported (0x0003)
Tag: Vendor Specific: Microsof: WMM/WME: Parameter Element
Tag Number: Vendor Specific (221)
Tag length: 24
OUI: 00-50-f2 (Microsof)
Vendor Specific OUI Type: 2
Type: WMM/WME (0x02)
WME Subtype: Parameter Element (1)
WME Version: 1
WME QoS Info: 0x00
0... .... = U-APSD: Disabled
.... 0000 = Parameter Set Count: 0x00
.000 .... = Reserved: 0x00
Reserved: 00
Ac Parameters ACI 0 (Best Effort), ACM no , AIFSN 3, ECWmin 4 ,ECWmax 10, TXOP 0
ACI / AIFSN Field: 0x03
.00. .... = ACI: Best Effort (0)
...0 .... = Admission Control Mandatory: No
.... 0011 = AIFSN: 3
0... .... = Reserved: 0
ECW: 0xa4
1010 .... = ECW Max: 10
.... 0100 = ECW Min: 4
TXOP Limit: 0
Ac Parameters ACI 1 (Background), ACM no , AIFSN 7, ECWmin 4 ,ECWmax 10, TXOP 0
ACI / AIFSN Field: 0x27
.01. .... = ACI: Background (1)
...0 .... = Admission Control Mandatory: No
.... 0111 = AIFSN: 7
0... .... = Reserved: 0
ECW: 0xa4
1010 .... = ECW Max: 10
.... 0100 = ECW Min: 4
TXOP Limit: 0
Ac Parameters ACI 2 (Video), ACM no , AIFSN 2, ECWmin 3 ,ECWmax 4, TXOP 94
ACI / AIFSN Field: 0x42
.10. .... = ACI: Video (2)
...0 .... = Admission Control Mandatory: No
.... 0010 = AIFSN: 2
0... .... = Reserved: 0
ECW: 0x43
0100 .... = ECW Max: 4
.... 0011 = ECW Min: 3
TXOP Limit: 94
Ac Parameters ACI 3 (Voice), ACM no , AIFSN 2, ECWmin 2 ,ECWmax 3, TXOP 47
ACI / AIFSN Field: 0x62
.11. .... = ACI: Voice (3)
...0 .... = Admission Control Mandatory: No
.... 0010 = AIFSN: 2
0... .... = Reserved: 0
ECW: 0x32
0011 .... = ECW Max: 3
.... 0010 = ECW Min: 2
TXOP Limit: 47
10、服务质量(QoS Field)
< Example for (5) >
IEEE 802.11 QoS Data, Flags: …TC
Type/Subtype: QoS Data (0x28)
Frame Control Field: 0x8801
.... ..00 = Version: 0
.... 10.. = Type: Data frame (2)
1000 .... = Subtype: 8
Flags: 0x01
.... ..01 = DS status: Frame from STA to DS via an AP (To DS: 1 From DS: 0) (0x01)
.... .0.. = More Fragments: This is the last fragment
.... 0... = Retry: Frame is not being retransmitted
...0 .... = PWR MGT: STA will stay up
..0. .... = More Data: No data buffered
.0.. .... = Protected flag: Data is not protected
0... .... = Order flag: Not strictly ordered
.000 0000 0011 1100 = Duration: 60 microseconds
Receiver address: Anritsu_07:91:0e (00:00:91:07:91:0e)
BSS Id: Anritsu_07:91:0e (00:00:91:07:91:0e)
Transmitter address: e0:cb:ee:f9:4a:de (e0:cb:ee:f9:4a:de)
Source address: e0:cb:ee:f9:4a:de (e0:cb:ee:f9:4a:de)
Destination address: Anritsu_07:91:0e (00:00:91:07:91:0e)
Fragment number: 0
Sequence number: 13
Frame check sequence: 0x1adb5852 [correct]
[Good: True]
[Bad: False]
Qos Control: 0x0000
.... .... .... 0000 = TID: 0
[.... .... .... .000 = Priority: Best Effort (Best Effort) (0)]
.... .... ...0 .... = QoS bit 4: Bits 8-15 of QoS Control field are TXOP Duration Requested
.... .... .00. .... = Ack Policy: Normal Ack (0x0000)
.... .... 0... .... = Payload Type: MSDU
0000 0000 .... .... = TXOP Duration Requested: 0 (no TXOP requested)
11、无线局域网:CSMA/CA碰撞检测的载波侦听
CSMA/CA(Carrier Sense Multiple Access with Collision Detection)由以下三个组成部分(过程)组成。因此,如果您对每个组件流程都有清晰的理解,那么您就会理解什么是CSMA/CA。
CS:载波感应(Carrier-Sensing)
MA:多址接入(Multiple Access)
CA:防撞(Collision Avoidance)
现在,让我们考虑一下这些组件过程中的每一个。其中的质心分量是“MA”,所以我将从MA开始。
什么是MA?
MA(Multiple Access)代表多址接入。这是什么意思?
简单地说,多路访问是在“多个”实体(例如,多个设备、多个人等)之间共享(访问/accessing)单个物理资源。
例如,在我们的日常生活中,我可以说“任何有很多汽车行驶的道路(或街道)都是一种多路访问。你家门前的道路是一种物理资源,许多汽车共享(访问)这种物理资源。
在类似的逻辑中,以太网(例如LAN系统)可以是多址系统。在局域网(Wired LAN)系统中,许多网卡都连接到一根局域网电缆主干上。甚至无线LAN也可以是多址系统,因为多个无线设备共享相同的物理资源,该物理资源是相同的RF频率。
什么是CS?
为了使这种多址系统(Multiple Access system)正常工作,所有共享资源的设备都应该具有一定的技术,以避免多个设备之间争夺同一资源的冲突。这种用于以太网的“冲突避免技术”(collision avoidance system)被称为“CS(Carrier-Sensing)”。
CS(Carrier-Sensing)听起来可能很吓人,但概念很简单。这就是你每次开车从家里驶入家门前的一条大道时所做的事情。当你开车上路时,你不只是开车上路。如果你这样做,你可能很容易被路上行驶的其他汽车撞到。通常你会先看一看路上的交通情况。如果路上没有汽车经过,那么你就开车上路。如果前面有一辆车经过,你就等它经过。换句话说(In other words),你“感觉到”了交通,然后开车进入(或等待)。
这与以太网系统( Ethernet System)中的逻辑相同。在一个设备发送任何数据之前,它首先检查是否有其他设备发送的任何其他流量。换句话说,如果有其他设备发送的流量,它就会“感知(Sense)”。如果没有流量,它会发送自己的数据。如果有交通,它会一直等到交通经过。
什么是CA?
在有线以太网的情况下,它们使用CD(Collision Detection/碰撞检测),但在无线情况下,设备无法像在有线情况下那样直接检测碰撞,因为无线LAN设备在传输时无法检测到任何传入信号(incoming signal),因为它是TDD(half Duplex/半双工)。这意味着设备在传输(使用发射器链transmitter chain)时无法检测到(使用接收器链reciever chain)任何东西,因此设备在传输时无法执行CD(collision dection)。
在CD的情况下,设备直接检查电线上的电压水平(voltage level),但在无线情况下,该设备无法以这种方式检查碰撞(Collision )。
那么无线设备如何检测碰撞呢?
在CA(Collision Avoidance)方法中,设备正在等待来自接收器的ACK帧。如果在某个时间帧内没有检测到来自接收器的ACK帧,则发送器假设发生了一些冲突,并在某个退避时间(backoff time)内停止发送。
这种机制(mechanism)的问题是,由于冲突检测和ACK等待时间,它产生了大量开销(overhead),开销可能需要大约50%。
通道感应(载波感应)工作 Channel Sensing(Carrier Sensing) in Action
载波感应(Carrier Sensing)和数据传输(Data Transmission)的总体程序如下。
(A) :在设备尝试传输任何数据之前,它会启动载波感应。
(B) :如果设备检测到任何载波信号carrier signal(即其他设备正在使用该信道channel),它只会返回“等待”模式,并且在退避期内不会尝试进一步的载波感测。
(C) :即使载波不忙(即,即使没有人使用信道),设备也会在一定的持续时间内保持对载波的感测(DIFS)。如果在此期间检测到任何载波信号,则返回“等待”模式,并且在退避期间(BackOff Period)内不会尝试进一步的载波感测(carrier sensing)。
(D) :如果在一段时间内没有检测到载波信号(DIFS),则设备假设信道是畅通的(没有人使用信道),并发送自己的数据。
注意:图中的术语“睡眠”并不意味着用于省电的睡眠模式。它只是意味着“等待(没有数据传输和载波感应活动)”。
参考文献:
[1] How WLAN CSMA/CA Works
[2] 802.11n Tutorial
二、进化发展(Evolution)
以下是单表中所有不同的WLAN技术。当然,很多细节都隐藏在背景中,供您深入研究。
这是一张不错的快照(snapshot),在英特尔演示文稿(Intel Presentation)的一张幻灯片中展示了WiFi的最新发展。
YouTube
802.11ac Frames - What’s Changed? (Sep 2015)
High Efficiency Wi-Fi- 802.11ax | Dr. Eldad Perahia | WLPC US Phoenix 2017 (Jun 2017)
The Evolution of IEEE 802 11 standards - BAG NAC (Sep 2018)
802.11ax - What’s New Webinar (May 2018)
Explained: WiFi 1, 2, 3, 4, 5 and 6 (May 2019)
Future of Wireless Connectivity – Wi-Fi 7 and beyond | Intel Technology (Jul 2021)
三、PHY帧
更详细地说,802.11物理帧结构(Physical Frame structure)与每个标准(例如b/g/a/ac等)都不同,并且很难绘制一张图来表示每个WLAN标准的物理帧结构。然而,从非常高的层次来看,WLAN的物理帧结构可以表示如下。
有许多不同的方式来表示PHY帧。最常见的方法是绘制各种图表,因为您可以很容易地从规范文档或网络搜索中找到这些图表。我也会使用各种图表,但我会尝试使用测量设备的各种捕捉,试图给你更直观、更逼真的图像。
频域结构(Frequency Domain Structure)
时域结构(Time Domain Structure)/PHY帧结构
802.11a
802.11n
802.11ac VHT
802.11ad ControlPHY Frame
802.11ad Single Carrier PHY Frame
802.11ad Low Power Single Carrier PHY Frame
802.11ad OFDM PHY Fram
频谱分析示例
Snapshots on 802.11g
Snapshots on 802.11n - 20 Mhz
1、频域结构(Frequency Domain Structure)
WLAN大致使用两种类型的调制方法(modulation method),DSSS和OFDM。DSSS是一种古老的技术,是802.11b的基础技术,而802.11a、g、n、ac等最新标准都是基于OFDM的。以下是基于OFDM的WLAN标准的频域结构概述。
2、时域结构/PHY帧结构(Time Domain Structure/PHY Frame Structure)
3、频谱分析示例(Spectrum Analysis Example)
Reference :
[1] 802.11 OFDM Overview
[2] 802.11n Signal Structure
[3] 802.11ac Signal Structure
[4] WLAN 11ac frame format
[5] WLAN - 802.11 a,b,g and n
[6] 802.11n Tutorial
[7] SIGNAL and HT-SIG
四、MAC帧(MAC Frame )
正如你可能从我发布的其他技术中注意到的那样,我学习通信技术的方式总是一样的。研究和理解帧结构的细节,然后了解这些帧是如何在通信过程(协议)的每个步骤中交换的。
PHY/MAC Frame
PLCP (Physical Layer Convergence Protocol) Structure
MAC Header Structure
Frame Control Field Structure
Duration ID Field Structure
Sequence Control Field Structure
Example 1 > MAC Header / Beacon Frame
RTS Frame
CTS Frame
ACK Frame
Example 1 > MAC Header / ACK Frame
Beacon Frame
Example 1 > MAC Header / Beacon Frame
Trigger Frame
Example : MU-RTS
1、WLAN框架概述(Overview)
以下是WLAN帧的一些要点(bullelt)。(随着我了解的越来越多,列表会越来越长)
WLAN不使用802.3以太网帧(Ethernet frames)
有三种不同类型的WLAN帧,分别称为控制帧、管理帧和数据帧。
最大帧大小为2346字节,并且它们通常以1516字节进行分段。
前置码(Preamble)总是以1Mbps发送。
2、PHY/MAC帧
这是移动设备和接入点之间正在交换的帧。整个框架的结构如下所示。
绿色显示的“网络数据(Network Data)”是最终传输到有线主干(wired backbone)的部分,所有其他部分(PHY、DataLink、Packet Trailer)用于移动客户端和接入点之间的通信。物理层(PHY)和“数据链路(Data Link)”部分将是WLAN框架的主要主题。
3、PLCP(Physical Layer Convergence Protocol/物理层汇聚协议)结构
现在让我们来看看PLCP的细节。PLCP是在PHY层添加的一种报头(header)。它由两个主要部分组成:序言(preamble)和标题( Header),如下所示。
PLCP的第一部分用于“同步”(Synchronization)。这是一个由交替0和1的80位组成的部分。
下一部分是SFD(Start Frame Delimiter/起始帧分隔符)。这是一种指示物理帧开始的标签,是一个特定确定的16位序列(0000110010111101)。
4、MAC报头结构
MAC报头将是帧(frame)的最复杂的结构。MAC报头中包含的最重要的信息如下:
帧的类型是什么?
帧的源地址和目标地址(source and destination address是什么?
您可以看到分配给Address的四个不同位置。分配给哪个地址字段(address field)的地址类型由“to DS”和“From DS”字段决定。DS字段和Address字段之间的映射指定如下。
无论帧中的内容如何,MAC报头的结构都是相同的。那么我们(无线局域网设备)如何知道帧中包含什么样的信息(数据)呢?”“类型”和“子类型”字段(Type and Sub Type field)确定框架的特征。
类型字段(2位)确定帧所承载内容的主要特征,“子类型”定义信息的细节。
内容的“类型”/“子类型”和特征映射如下表所示。此表主要适用于802.11a、b、g,并且在最近的规范(例如802.11ac、802.11ad)中有一些更改(添加)。关于最近规范(specification)中的更改,我不会在此表中列出,我将在处理802.11ac或802.11ad的单独页面中列出这些更改。
持续时间字段(duration field)中的值具有不同的含义(解释),这取决于MSB(Most Significant Bits/最高有效位)处的一个或两个位,如下所示。
当数据包(packet)从更高层进入MAC层时,在“序列号”字段分配一个序列号(sequence number)。如果传入的数据包对于单个MAC帧来说太大,则将其拆分为多个片段(fragment)。在这种情况下(In this case),会在“片段编号”字段( ‘Fragment No’ field)中指定片段编号。当一个数据包进入多个MAC帧时,这些分段帧在“序列号”字段(‘Sequence Number’ field)中获得相同的值,在“片段编号”字段获得不同的值。
802.11可以传输最大2304字节的更高层分组。考虑到WEP开销和8字节LLC报头,最大MAC帧大小应该是2296字节。
5、RTS Frame
持续时间(Duration):以微秒( microsecond)为单位的时间。这是“数据/管理帧+CTS+ACK+3 SIFS”所需的时间
RA:收件人地址(Reciever Address)
TA:变送器地址(Transmitter Address)
6、CTS Frame
持续时间(Duration):以微秒( microsecond)为单位的时间。
RA:收件人地址(Reciever Address)
TA:变送器地址(Transmitter Address)
7、ACK Frame
持续时间(Duration):以微秒( microsecond)为单位的时间。
RA:收件人地址(Reciever Address)
TA:变送器地址(Transmitter Address)
8、信标帧(Beacon Frame)
9、触发帧(Trigger Frame)
Reference
Packets never lie: An in-depth overview of 802.11 frames
802.11ac Analysis Webinar
五、协议(Protocol)
有几种不同的WLAN操作模式。以下是我们通常使用的情况的协议序列(protocol sequence),其中我们有一个AP(Access Point\接入点),设备(客户端PC或智能手机WLAN)连接到接入点。
1、总体程序(Overall Procedure)
AP定期发送(广播)一个称为Beacon信号的特殊信号,上面写着“我在这里…我在这里。我有能力做这个和那个…等等”。基本上,该信标类似于移动通信(例如WCDMA/LTE等)中的MIB/SIB+物理层同步信道(Sync channel)。美联社每秒广播几次这个信标。信标传输间隔(Beacon transmission interval)包含在其中一个信标信息字段中。(请参阅信标数据字段)
当您在PC或智能手机上打开WLAN时,设备会首先检测并解码此信标信号,并建立物理同步(physical synchronization)。
在建立物理同步之后,设备和WLAN网络经过认证过程(authentication process),然后经过关联过程(association process),这与手机通信中的注册过程(registration process)概念相似。
说到扫描,有两种类型的扫描。一种被称为被动扫描(Passive Scan),另一种则被称为主动扫描( Active Scan)。如下所示(As shown below),在被动扫描中,设备扫描并检测来自AP的信标信号,并基于信标信号建立同步。在主动扫描模式下,设备向所有AP(或任何特定AP)广播探测请求(Probe Request),如果有任何AP检测到探测请求,则向设备发送探测响应(Probe Response)。
一旦他们通过了身份验证(Authentication)和关联过程( Association process),现在设备就可以发送和接收用户数据了。数据包交易(transaction)出现了一个棘手的问题(tricky issues),尤其是当一方试图传输一些东西时。WLAN没有专用信道(dedicated channel)的概念(例如,在UMTS移动通信中),并且它没有为每个单独的用户精心设计的物理/MAC层调度。基本上,他们可以在任何时候进行传输,但实际上设备无法在任何时候传输。如果它在另一个设备发送数据的同时发送一些数据,则数据可能在空中丢失,或者它将导致另一设备的数据丢失,因为来自两个设备的传输将相互干扰(interfer)。我们需要一些特殊的技术来防止这个问题的发生。在有线局域网中,我们使用一种名为CSMA/CD的技术,而在无线局域网中,则使用另一种名为GSMA/CA的技术。关于这些技术的细节,我将单独写一节。但该技术的目标/目的是确保一个设备在没有其他设备发送任何数据的情况下发送数据。
这里显示的跟踪日志(trace log)来自Aircrack NG教程(Tutorial):WPA数据包捕获解释。通常,步骤(1)~(7)对于大多数WLAN连接过程(attach process)来说是常见的,但之后的步骤会有所不同,具体取决于您在设备和接入点上设置的安全选项(security option)。(如果您想看到与步骤(8)及更高版本不同的示例,请参阅ePDG协议序列)
无线局域网用于在不干扰他人的情况下传输数据的技术如下所示。这个概念很简单。一个设备(我们称之为源设备)向另一个设备发送一个称为RTS的短信号(我们称其为目的地设备)。如果目的地设备成功地获得了RTS,那么它应该发送CTS。如果源设备成功地检测/解码(detect/decode)CTS,则它发送主数据。如果数据被目的地设备成功接收/解码,则目的地设备发送“ACK”。对于每一次数据包传输,都会重复此过程。
1)详细的数据传输(Data Transmission in Detail)
在时间方面,这种数据传输的更详细的过程可以如下图所示。
i) 源发送短RTS突发(burst),其中携带源、目的地和后续事务(following transaction)的持续时间(duration)。
ii)源周围的所有其他设备可以接收RTS突发。他们都在检查RTS是否适合自己。
iii)如果是针对其自身的并且介质(medium)是空闲的,则目的地设备(destination device)发送CTS,该CTS还携带后续事务的持续时间。
iv)现在,所有其他设备(除了“目的地”设备之外的相邻设备)也知道介质将从现在起被占用一定时间,他们将相应地设置他们的NAV(Network Allocation Vector/网络分配向量),使得它不会在该时间段内尝试感测和尝试发送任何东西。
在“碎片帧(Fragmented Frame)”的情况下,顺序如下:
2)睡眠模式和数据传输(Sleeping Mode and Data Transmission)
Reference :
[1] IEEE 802.11 - Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications
2、分布式协调功能DCF(Distributed Coordination Function)
DCF是WLAN MAC协议最基本的功能之一。该功能的主要作用是调度(schedule)基于CSMA/CA、退避(Backoff)和各种IFS(Inter Frame Space/帧间空间)的数据传输。整个DCF周期(algorithm/算法)如下所示(当然,它看起来比CAMA/CA+Backoff复杂得多:)。只要看一看整体情况,试着从中创造出你自己的故事。
步骤1:设备(Src)执行载波感应(Carrier Sensing),并检查信道是否空闲(free/idle)。如果信道在特定时间段内空闲(DIFS:DCF Inter Frame Space),则进入步骤2。
步骤2:Src(Initiator发起方)设备向Dest(Repient代表方)设备发送RTS。
步骤3:所有其他设备(除了Src和Dest之外的设备)基于RTS中的持续时间信息更新它们的NAV,使得它们在Src和Dest之间的通信完成之前不会尝试信道获取(channel acquisition)。
步骤4:Dest设备向Src设备发送CTS。
步骤5:所有其他设备基于CTS中的持续时间信息更新其NAV。
步骤6:在短时间的暂停(SIFS : Short Interframe Space/短帧间空间)之后,Src设备向Dest设备发送Data。
步骤7、Dest设备在接收到数据后的短时间段(SIFS:Short Interframe Space)向Src设备发送ACK。
步骤8:在完成一个数据传输周期后,所有设备(包括Src和Dest)都应该进行另一次短暂休息(DIFS)。
步骤9:然后,每个设备暂停一段特定的退避时间(这个退避周期是为每个设备随机确定的)。
3、点协调功能PCF(Point Coordination Function)
至少截至目前(2017年5月),在大多数WLAN通信中,没有用于数据调度(即数据传输和接收)的特定中心控制器。大多数调度是基于DCF(Distributed Coordination Function分布式协调功能)的。作为调度算法(scheduling algorithm)的另一种方式,引入了一种称为PCF的新算法,该算法(至少部分)与中心化控制器(centeralized controller)一起工作。然而,PCF并不是802.11规范中的强制(mandatory)算法。它是可选的,甚至认为规范本身是多年前敲定的。DCF基本上是基于竞争的算法,而PCF更像是无竞争的(Contention-Free)算法。
PCF的总体调度算法如下所示。如这里所示,即使在PCF中,也不是所有的数据通信都是在CF(Contention Free/无竞争)方法中完成的。它发生在CFP(Contention Free Period/无竞争期)和CP(Contention Period/竞争期)的交替时期。在本页中,我将主要关注CFP中正在发生的事情。关于CP中发生的事情,我建议您参考DCF页面。
在PCF操作中,称为PC(Point Coordinator in Access Point/接入点中的点协调器)的特殊调度器(scheduler)控制无线信道,并控制所有站点(WLAN用户设备)的数据调度(transmission and reception/发送和接收)。实际上,在PCF中,接入点在IFS(Interframe Space/帧间空间)期间通过传输信标(Beacon)劫持(hijack)无线电信道(radio channel),在IFS中没有人应该传输任何东西。
以下是PCF操作的示例。(事实上,PC控制每个工作站(Station)的方式可能有很多变化,但基本逻辑与此处所示的图表相似。
现在让我们更详细地看一下上图。
步骤(1):(如果载波空闲一定时间段(PIFS:PCF Inter Frame Space/PCF帧间空间)),AP发送信标(PIFS比DIFS短。这意味着信标是在传统调度方法的IFS内发送的)。由于此信标在没有人传输的情况下传输到介质(无线电信道)上,因此此消息将到达每个站点(WLAN设备),而不会有任何碰撞风险(risk of collision)。该信标携带关于AP的PCF能力的信息(有关详细信息,请参见信标帧部分)。通过这个步骤,AP将控制无线信道。
步骤(2):(如果AP有站A的数据),AP向站A发送[data]和[CF Poll(一种Grant)]。
步骤(3):由于站A从AP获得CF轮询(Grant),(如果它有AP的任何数据)它可以向AP发送[数据和ACK]。
步骤(4):(假设AP没有B站的数据),现在AP发送A站的[Ack]和B站的[CF Poll]。
步骤(5):由于B站从AP获得CF轮询(Grant),(如果它有AP的任何数据)它可以将[数据]发送到AP
步骤(6):在AP向所有设备提供CF轮询(Grant)之后,它发送最后一个站点(在这种情况下,站点B)的[ACK],并发送[CF End],以便通知所有设备(站点)这是CFP的结束。
Reference :
[1] PCF scheme
[2] MAC 802.11 Point Coordinator Function
4、网络分配向量NAV(Network Alloction Vector)
NAV是一种虚拟载波感应机制(virtual carrier sensing mechanism)。这是什么意思?我想你知道“载波感应(carrier sensing)”是什么意思。载波感测是一个WLAN站点物理测量(感测)介质(信道)中的能量水平的过程,以确定是否有任何通信已经由其他站点完成(参考CSMA/CA)。在实际的CSCM/CA过程中,站点进行物理测量以确定信道是否可用。
然而,有一种情况是,站可以在不执行物理测量(physical measurement)的情况下计算出信道的可用性。
一些WLAN MAC帧携带(例如RTS、CTS、ACK)称为“持续时间”的字段。如果站点解码这些帧并提取“持续时间”字段(Duration field),则可以在不执行任何物理测量的情况下确定信道何时可用。一旦它解码了这个“持续时间”信息,该站就将信息存储到内部配置字段(configuration field)中,这样它就不会在该时间段内尝试载波感应。
简单地说(Simply put),NAV是一个电台不应该发送任何东西的时间段。
以下是NAV如何配置的示例。
i) 站点(Src)正在向另一个站点(Dest)发送RTS帧
ii)站(Dest)检测来自站Src的RTS,并向站Src发送CTS帧。
iii)Src和Dest周围的所有其他站可以检测Src和Dest之间的RTS和CTS,因为这些帧在共享介质中广播( broadcast),并且解码RTS/CTS/ACK帧中包含的信息和contsruct NAV信息。
5、OFDMA系统
OFDMA(Orthogonal Frequency Division Multiple Access/正交频分多址)是从802.11ax(WiFi 6)引入的一种新技术。这是一种使WiFi AP能够同时与多个STA(用户)通信的技术。
OFDM和OFDMA之间的主要区别可以如下所示。在OFDM中,在给定的时间只有一个用户占用整个频谱(frequency spectrum)。相反(On the contrary),在OFDMA中,在给定时间,MULTIPLE用户可以将整个频谱划分为多个频率段(frequency segment),并与AP同时通信。在该方案中,使用不同频谱的每个用户——来自每个用户的信号彼此不冲突(即,CSMA/CA过程没有问题)。
注:OFDMA是从第一天起就在4G(LTE)、5G(NR)蜂窝通信(cellular communication)中使用的机制。因此,如果你有4G/5G蜂窝协议的经验,你就会熟悉这个概念。
现有的方法(OFDM)有什么问题?
为什么我们决定在WiFi中引入OFDMA?换句话说(In other words),现有的OFDM方法有什么问题吗?我不会说OFDM有任何问题,但我可以说它有一些低效率。低效率来自于这样一个事实,即在给定的时间,单个用户占据了整个频谱(spectrum),而在此期间没有其他用户可以通信。这将导致两个重要方面的效率低下。首先,这种类型的频谱分配(spectrum allocation)在许多情况下会造成资源浪费。一份报告显示,相当数量的WiFi流量只有256字节或更小,很明显,如此少量的流量需要全频谱。另一个问题是,它不允许多个用户(即多个用户)在给定时间同时通信,这意味着所有其他用户都应该等待,直到一个用户完成其通信。这将导致除一个用户之外的所有用户的时间延迟。
OFDMA解决了上述问题。OFDMA可以将整个频谱划分为多个段,这些段刚好足够每个用户使用,从而更有效地使用频谱。此外,它可以减少许多用户的时间延迟,因为多个用户可以同时通信,而无需等到其他用户完成通信。
OFDMA调度的基本单元 Basic Unit of OFDAM Scheduling = RU
如上所述,OFDMA的基本原理是将整个频谱分割成多个小段。然后出现了一个问题。它可以拆分多小的部分?极端地说(Extremely speaking),我们能把整个频谱分成单个子载波(subcarriers)的倍数吗?我们能把频谱分成任意数量的子载波的倍数吗?答案是否定的。如果我们将频谱划分为小到单载波或任意跨度(span),那么在资源分配信令过程(resource allocation signaling process)中会有巨大的开销(overhead),并导致基带信号处理(baseband signal processing)困难。因此,决定指定一组离散大小的频谱(discrete sized spectrum)用于传输。频谱段的允许大小被称为RU(Resource Unit/资源单元)。存在多个不同大小的RU,并且可能的大小根据全频谱的带宽(bandwidth)略有不同地变化。例如,在20Mhz频谱的情况下,RU的大小及其包括全频谱的组合如下所示。正如您所注意到的,最小大小的RU由26个子载波(2 Mhz)组成,第二小的RU由52个子载波(4 Mhz)构成,然后是106个子载波(8 Mhz),然后是242个子载波(20 Mhz)。如果信道带宽更宽,我们可以使用更多子载波的RU,如484个子载波(20MHz)、996个子载波(80MHz)。
如何安排下行链路(downlink)?
正如您可能注意到的,OFDMA在频谱利用(spectrum utilization)方面提供了更大的灵活性(flexibility)。我们的经验表明,“任何更灵活的东西”都需要“更复杂”的信号过程(即更复杂的控制机制)。在相同的逻辑中,与OFDM相比,OFDMA将需要稍微复杂一点的信令过程。在下行链路(即AP到站)的情况下,OFDMA信令过程进行如下。
(1) :AP发送一个称为MU-RTS(请求发送)的触发器(trigger)。与OFDM中使用的传统RTS相比,该触发将携带更多的信息。由于OFDMA涉及多个频谱段和多个用户(站),因此该触发器应携带更多信息,如多个用户的目的地地址和每个用户的RU数量(频谱宽度)等(对我来说,该触发器似乎类似于4G/5G蜂窝技术中的DCI)。基本上,这个触发器会说“我有数据要发送给你们所有人,你们准备好了吗?”。在这个步骤中,由于DL OFDAM,触发可以同时传递给所有用户。
(2) :触发器中指定的用户(站)发送CTS(清除发送)。这表示“是的,我准备好了”。在这个步骤中,由于UL OFDMA,所有用户都可以同时发送CTS。
(3) :AP同时(simultaneously)为所有用户发送数据。
(4) :AP向所有用户发送BAR(Block Ack Request/阻止确认请求)。上面写着“你们收到并解码了数据吗?”在这一步中,得益于DL-OFDAM,触发器可以同时发送给所有用户。
(5) :站点(用户)发送Block ACK,意思是“是的,我得到了数据并解码,没有问题”。在这个步骤中,由于DL OFDAM,触发可以同时传递给所有用户。
注:与4G/5G蜂窝通信相比,在蜂窝系统中也使用了类似于触发器和ACK的东西,但没有CTS和BAR这样的东西。在蜂窝系统中,触发器和数据之间的定时(timing)以及数据和ACK之间的定时由更高层消息或触发器本身预先配置。这意味着与蜂窝系统相比,WiFi 6仍然具有更多的信令开销(handshaking overhead/握手开销)。如果您对蜂窝通信中的OFDMA调度方式感兴趣,请参阅本(4G/LTE)和本(5G/NR)说明。
如何安排上行链路(uplink )?
用于上行链路的OFDMA调度进行如下。
(1) AP向多个用户(站)发送触发器(BSRP,Buffer Status Report Poll缓冲区状态报告轮询)。意思是“嘿!你们有什么数据要发给我吗。得益于OFDMA,AP可以同时向多个用户发送该分组。
(2) 多个用户(站)同时向AP发送BSR(Buffer Status Report/缓冲状态报告)。上面写着“是的,我有数据要发送”。得益于OFDMA,所有被分配的UE可以同时发送分组。
(3) AP向同时发送BSR的多个用户发送MU-RTS。上面写着“你准备好发送数据了吗?”由于OFDMA,AP可以同时将数据包发送给多个用户。
(4) 多个站(用户)同时向AP发送CTS。上面写着“是的,我已经准备好发送了”。所有被分配的UE都可以同时发送该分组。
(5) AP向多个站发送触发器。上面写着“站1,你可以使用这个RU发送数据,站2,你可以用这个RU等发送数据”。得益于OFDMA,AP可以同时向多个用户发送该分组。
(6) 每个用户(站)同时发送数据。所有被分配的UE都可以同时发送该分组。
(7) AP向所有用户发送ACK。上面写着“我收到并解码了数据”。得益于OFDMA,AP可以同时向多个用户发送该分组。
OFDMA可以支持多少用户(站)?
在OFDMA中,每80 Mhz信道带宽(channel bandwidth)最多可支持37个站。
References :
The MU-RTS/CTS process in the HE (802.11ax) - standard
Generating the Trigger Frame
New Wireless LAN Technology: 802.11ax (Mar 2019)
UL OFDMA, basic Trigger Frame and Multi-STA BlockAck (Aug 2019)
6、触发(Trigger)
触发器是一种机制,通过该机制,AP可以通知或请求站点的各种信息,或者最重要的是向站点发送调度信息。它主要用于OFDMA过程。为此,AP发送一个称为触发帧(Trigger Frame)的特定MAC帧。下面列出了各种类型的触发帧。
基本触发帧
波束形成报告轮询(BFRP:Beamforming Report Poll)
多用户阻塞确认请求(MU-BAR:Multi-user block ack request)
要发送的多用户请求(MU-RTS:Multi-user request to send)
缓冲区状态报告轮询(BSRP:Buffer Status Report Poll)
GCR多母线(GCR MU-BAR)
带宽查询报告轮询(BQRP:Bandwidth Query Report Poll)
NDP反馈报告轮询(NFRP:NDP Feedback Report Poll)
1)触发帧的结构(Structure of Trigger Frame)
用于OFDMA过程的最常见/最重要的触发帧的结构如下所示。根据触发的目的(例如,下行链路OFDMA或上行链路OFDMA),一些字段将被设置为“保留”(不使用)。
2)触发示例
有许多不同的情况下使用触发帧,下面是一些示例,展示了触发帧是如何工作的。我认为触发帧最常见的用例是OFDMA调度过程。
Downlink OFDMA
Uplink OFDMA
References :
The MU-RTS/CTS process in the HE (802.11ax) - standard
Generating the Trigger Frame
7、波束成形(BeamForming)
波束形成是一种我们可以将天线辐射方向图(antenna radiation pattern)聚焦到特定方向的技术。在大多数传统的无线通信中,来自通信设备的辐射模式往往是全向的(omnidirection meaning),这意味着它以相似的能量强度向所有方向辐射,但在某些情况下(尤其是在使用高频的现代通信中),我们需要(或更好地)将辐射聚焦到某个方向,而不是向所有方向发射。
为什么要进行波束成形?
我认为波束形成有两个主要原因。第一种情况是,我们想出于特定目的有意(intentionally)进行波束成形,还有一种情况是我们需要进行波束成形——即使我们可能不想这样做。如果一个通信设备正在与分散在各处的许多其他设备通信,最好使用全向天线(omidirectional antenna)来覆盖所有这些设备。相反(On the contrary),如果一个设备在某个方向上仅与一个或几个设备通信,则在通信设备所在的某个方向形成波束(beam)将更有效(更少的能量浪费)。
在其他一些情况下,如使用非常高的频率,很难用单个天线(大部分是全向的)实现足够的距离覆盖。在这种情况下,一种常见的技术是使用多个天线来增加覆盖范围。一旦我们使用多天线(称为天线)阵列来增加覆盖范围,由于天线元件的阵列类型定位,就会形成特定形状的波束。使用这种阵列天线,即使我们想要…也很难创建全向辐射方向图。。。因此波束成形将是不可避免的解决方案。
无论动机(motivation)是什么,BeamForming都有利弊( pros and cons)。优点(advantage)是我们可以将辐射能量仅聚焦到必要的方向,从而减少能量浪费,缺点是它需要非常复杂的算法(complicated algorithm),能够找到接收器设备所在的正确方向,当接收器频繁改变位置时,这有时会变得非常复杂(如蜂窝通信(celluar communication)或某些WiFi应用程序)。
如何形成波束?
也就是说,如何以这种方式塑造辐射图案,使其指向某个方向?有很多方法可以做到这一点,据我所知,一些最广泛使用的方法如下所示。
最常见的方法是使用碟形天线或喇叭形天线(Dish or Horn antenna),但将这种天线用于小型WiFi热点(hotspot)或移动设备是不切实际的(impractical)。碟形天线或喇叭形天线的另一个问题是很难改变波束的方向。改变碟形天线或喇叭形天线的波束方向是手动改变天线的方向,或者放置一些电机,并使用电机改变方向(如Startlink碟形天线)。因此,对于小型设备或需要频繁改变波束方向的应用,它们使用阵列天线(以阵列形式排列的天线的倍数)。阵列中的每个天线元件可以是如下所示的贴片天线(patch antenna)或偶极天线(dipole antenna)。阵列天线的另一个优点是它可以通过电子方式改变波束方向。由于使用阵列天线的波束成形在WiFi、蜂窝系统等高端通信系统中得到了广泛的应用。我已经写了一篇关于波束成形的详细说明。如果您对波束成形的细节感兴趣,请参阅本说明。
如何在WiFi协议中执行波束成形?
现在我们知道了什么是波束成形,以及为什么要使用这种技术。然后出现了一个问题。发射器(transmitter,BeamFormer波束成形器)如何想知道它应该将波束(beam)指向哪个方向?如果发射器(transmitter)和接收器(reciever)的位置是固定的,那么确定波束方向将很简单。你只需将发射器和接收器的天线指向这样一种方式,即在安装时它们在视线中对齐(大多数卫星通信(satellite communication)或微波链路(microwave link)都以这种方式确定波束方向)。然而,在WiFi的情况下,AP和站点的位置,特别是站点的位置变化非常频繁。因此,现在的工作光束方向在几分钟后将不起作用。这意味着应该有一些机制(mechanism)可以使波束成形器(BeamFormer)动态地确定波束的正确方向。这种动态机制(Dynamic mechanism)被实现为802.11中的一种协议。波束成形过程有两种类型,称为隐式和显式过程(Implicit and Explicit process)。
隐式处理(Implicit Process):波束形成器从波束形成器(beamformee)的特定参考信号中隐式地计算出合适的波束。在这种情况下,波束成形器不会明确地告诉波束成形器什么是最适合自己的波束。
显式处理(Explicit process):波束形成器从波束形成器发送的显式信息中找出最佳波束。在这种情况下,波束形成器基于来自波束形成器的参考信号和向波束形成器明确的最佳波束选择的结果来计算出什么是适合它的最佳波束。
这两个过程可以总结如下。
YouTube
NETGEAR implicit beamforming (Feb 2016)
Beamforming both explicit and implicit (Aug 2020)
802 11n 802 11ac MIMO Transmit Beamforming (Dec 2020)
六、安全(Security)
WLAN安全是一种特殊的机制,只允许特定的人(机器)访问特定的WLAN网络。更正式地说,它是一种确保WLAN网络上数据流的机密性和完整性(confidentiality and integrity)的机制。
由于这很容易成为一个非常枯燥的话题(dry topic),而且我对这些算法(algorithm)没有专家级的知识,所以我想尝试用更实用、更直观的水平来描述这一点。
WLAN安全类型(WLAN Authentication Types)
WEP
WPA
WPA2
WPA 3
WLAN身份验证类型(WLAN Authentication Types)
Open system authentication
Shared Key Authentication
WPA-Personal / WPA2-Personal / WPA3-Personal (Pre-shared Key)
WPA-Enterprise / WPA2-Enterprise / WPA3-Enterprise (802.1X Authentication)
Captive Portal
Authentication using SSID of AP
MAC address filtering
身份验证和安全中的WPA(WPA in Authentication and Security)
在你阅读一堆关于安全性的无聊文档之前,我建议你熟悉(get familiar with)一下技术文档中会遇到的一些术语(terminology)。一个熟悉的好方法是有一些时间仔细看看一些几乎每个人都在某个时候使用过但从未密切关注过的工具。
第一个例子是在允许我使用的网络上,在我自己的电脑上设置WLAN。我的WLAN接口(interface)具有以下类型的安全选项。您可能会在电脑和WLAN网络上看到不同的选项。不要试图在这里详细了解每一件事。只要熟悉一些WPA、WPA2或AES等术语即可。
下面是另一个例子。以下是我手机上显示的一个WiFi选项。你也会在这里看到很多新的术语。再说一遍,试着熟悉一下术语…
现在,您可能想知道这些算法(algorithm)在WiFi连接或数据通信过程中到底在哪里以及如何发挥作用。为此,我建议您浏览WiFi协议页面并全面了解WiFi协议。然后仔细查看WiFi Aattach过程的样本日志的步骤4、5、8、9、10、11。(每个步骤中的详细过程和参数会因每个算法的不同而有所不同,但你会从页面上看到一幅大图)。
现在,通过对基本关键字的一点熟悉和对协议的全面理解,让我们深入了解一些常用的安全算法。
你可以从页面底部的视频教程列表中获得一个很好的WLAN安全整体概念教程(tutorial)。
1、WLAN安全类型
无线局域网安全是无线网络的一个重要方面(essential aspect),因为它有助于保护您的网络免受未经授权的访问(unauthorized access),并确保您的数据安全。多年来,已经为WLAN开发了几种安全协议,每种协议都具有不同的保护级别。以下是主要的WLAN安全类型
1)
WEP是为Wi-Fi网络引入的第一个安全协议。它使用RC4流密码(stream cipher)进行加密,并支持64位和128位加密密钥(encryption key)。然而,WEP存在严重的安全漏洞(significant security vulnerability),被认为是过时和不安全的(outdated and insecure)。不建议在现代无线局域网中使用。
WEP代表有线等效隐私(Wired Equivalent Privacy),它具有以下属性/功能:
使用“共享密钥(shared key)”执行身份验证(Authentication)
使用RC4流密码加密(stream cipher encryption)执行保密(Confidentiality)
使用CRC-32完整性机制(integrity mechanism)执行完整性检查
不进行密钥管理
无法防止重放攻击
WEP的缺点(Drawback):由于没有密钥管理,并且使用共享密钥,因此每个无线站和AP都有相同的“预共享(preshared)”密钥,用于身份验证和加密(authentication and encryption)。这意味着您必须手动将密钥分发(distribute)到每个设备和每个AP,更改密钥将非常麻烦(cumbersome),因为一旦您更改密钥,您就必须手动重新分发所有密钥。因此,通常每个设备都会长时间使用相同的/静态密钥(same/static key),这给黑客(hacker)破坏系统提供了更多机会。
2)
WPA代表WiFi保护访问。它被提议作为临时解决方案,使用802.1X身份验证框架(authentication framework)提供密钥管理,并执行改进的加密和完整性检查。
WPA是作为一种临时解决方案(Interim solution)引入的,以解决WEP的安全弱点(security weakness)。它使用临时密钥完整性协议(TKIP:Temporal Key Integrity Protocol)进行加密,这是对WEP的改进,还结合(incorporate)了消息完整性检查(MIC:Message Integrity Check)来防止数据篡改(data tampering)。然而,WPA仍然使用RC4流密码,它存在已知的漏洞(vulnerability),使其不如最近的安全协议安全。
它具有以下属性/功能:
使用802.1X框架执行身份验证
使用TKIP加密执行保密(Confidentiality)
使用“Michael”协议执行完整性检查
使用802.1X框架执行密钥管理(也可以使用预共享密钥)
对重放攻击执行保护。
3)<WPA2>
这是一种WPA演进(evolution),在IEEE 802.16i中有规定。在大多数情况下,它与WPA相同,但它使用了一种称为AES的改进加密机制(encryption mechanism)。
WPA2是一种更安全且广泛使用的WLAN安全协议。它用更强大的(robust)高级加密标准(AES:Advanced Encryption Standard)密码(cipher)代替了TKIP进行加密(encryption),提供了更高级别的安全性。WPA2支持两种身份验证方法:用于家庭和小型办公室网络的WPA2 Personal(也称为WPA2-PSK),它使用预共享密钥;用于大型网络的WPA2-Enterprise,它依赖(rely on)RADIUS服务器进行身份验证。
4)<WPA 3>
WPA3是最新的安全协议,它比WPA2提供了一些增强功能(enhancement)。它通过等式的同时身份验证(SAE:Simultaneous Authentication of Equals)方法提供了更强的加密,该方法用更安全的密钥交换(key exchange)取代了WPA2 Personal中的预共享密钥。WPA3Enterprise通过192位加密提供了更高级别的安全性。WPA3还通过机会性无线加密(OWE:Opportunistic Wireless Encryption)提高了公共Wi-Fi网络的安全性。
2、WLAN身份验证类型
WLAN身份验证是验证试图连接到无线网络的设备的身份(identity)的过程。身份验证有助于防止未经授权的访问(unauthorized access),并保护您的网络免受潜在威胁( potential threat)。
有许多不同类型的WLAN身份验证方法,并且列表越来越长。以下是一些常见的方法,我会随着了解更多而不断更新。
开放系统身份验证(authentication)
共享密钥身份验证
WPA个人/WPA2个人/WPA3个人(预共享密钥Pre-shared Key)
WPA企业/WPA2企业/WPA3企业(802.1X身份验证)
强制门户(Captive Portal)
使用接入点(AP:Access Point )的设备名字(SSID:Service Set Identifier)进行身份验证
MAC地址过滤
1)开放系统身份验证
开放系统身份验证不需要任何身份验证或凭据(credential)即可连接到Wi-Fi网络。设备可以在不提供任何标识(identification)的情况下进行连接,这使其成为最不安全的身份验证方法。开放式网络通常出现在咖啡店、图书馆或机场等公共场所,这些场所的首要任务是方便访问,而不是安全。
事实上,“开放系统身份验证”意味着“无身份验证”。你会问“有人真的用这个吗?”。
答案是肯定的,主要有两个原因。一种只是将接入点用于特殊的测试目的,而在另一种更常见的情况下,你不在AP(接入点)级别上进行任何身份验证,所以你会在AP安全中设置“打开”,但你让数据包( packet)通过位于AP后面的附加安全系统。你会看到很多公司都在使用这种方法。
状态码(Status Code)携带802.11中定义的各种信息,它包括连接是否成功的状态。有关代码的详细信息,请参阅802.11关联状态、802.11 Deauth原因代码。
2)共享密钥身份验证
共享密钥身份验证是一种较旧的方法,它使用客户端(client)和接入点都知道的预共享密钥(PSK:pre-shared key )。客户端和接入点交换加密消息以相互验证。然而,共享密钥身份验证被认为是不安全的,因为它依赖于有缺陷的(flawed)WEP安全协议,因此不建议使用。
3)WPA个人/WPA2个人/WPA3个人(预共享密钥)
WPA个人、WPA2个人和WPA3个人使用预共享密钥(PSK:pre-shared key)进行身份验证。所有连接到网络的设备都需要提供正确的PSK才能获得访问权限。这种方法设置简单(straightforward),适用于家庭和小型办公网络。PSK方法的安全性取决于密码的强度和所使用的加密协议(WPA、WPA2或WPA3)。
4)WPA企业/WPA2企业/WPA3企业(802.1X身份验证)
WPA企业版、WPA2企业版和WPA3企业版使用802.1X身份验证框架,该框架为更大的网络提供了更健壮和可扩展的(robust and scalable)身份验证解决方案。它依赖于RADIUS服务器或另一个身份验证服务器来管理用户凭据(credential)和访问策略(access policy)。这种方法允许个人用户(individual user)身份验证,使其适用于需要更高级别安全性和访问控制的公司或企业(corporate or enterprise)网络。
5)强制门户(Captive Portal)
Captive Portal是一种经常在酒店或咖啡馆等公共Wi-Fi网络中使用的身份验证方法,用户需要在访问网络之前提供额外信息或同意条款和条件。当连接到专属门户(captive portal)时,用户会被重定向到一个网页,在那里他们需要输入凭据,如用户名和密码,或提供其他详细信息,如电子邮件地址
6) 使用接入点(AP:Access Point )的设备名字(SSID:Service Set Identifier)进行身份验证
7) MAC地址过滤
3、身份验证和安全中的WPA
您会注意到WPA家族同时用于身份验证过程和安全过程。两者之间有什么主要区别吗?
WPA身份验证是为了验证(verify)试图连接到Wi-Fi网络的设备的身份,而WPA安全算法则侧重于(focus on)用于保护通过网络传输的数据的加密方法(encryption method)。
1)WPA身份验证:
WPA身份验证是指当设备试图连接到Wi-Fi网络时验证其身份的过程。WPA身份验证可以是“WPA Personal”(也称为WPA-PSK)或“WPA Enterprise”(也称称为WPA-802.1X)。WPA Personal使用预共享密钥(PSK)进行身份验证,这是设备和接入点都知道的密码短语(passphrase)。WPA Enterprise使用身份验证服务器,如RADIUS服务器,根据用户的个人凭据individual credential(如用户名和密码或数字证书digital certificate)对用户进行身份验证。
2)WPA安全算法:
WPA安全算法侧重于用于保护通过Wi-Fi网络传输的数据的加密方法。对于WPA,主要的安全算法是临时密钥完整性协议(TKIP:Temporal Key Integrity Protocol)。TKIP旨在提高旧的有线等效隐私(WEP:Wired Equivalent Privacy)标准的安全性,而不需要新的硬件。然而,TKIP有其自身的局限性和漏洞(limitations and vulnerabilities)。
七、802.11ac标准
以下是802.11ac的主要特性列表。这些主要特性中的大多数将导致PLDC和MAC帧结构(frame structure)的一些添加/修改(addition / modification)。这些详细的变化将在每个相应的章节(corresponding section)中进行总结。如果您不熟悉WLAN框架结构和基本操作,我建议您先浏览WLAN框架结构与WLAN协议页面。
动机和策略(Motivation and Strategy)
总体规范/要求(Overall Specification/Requirements)
超高频吞吐量(VHT:Very High Throughput)
检测(Detect)802.11ac AP
检测802.11ac站点(设备)
动态带宽分配(Dynamic Bandwidth Allocation)
其他帧类型(Additional Frame Types)
波束形成报告轮询帧(Beamforming Report Poll Frame)
超高速吞吐量空数据包公告(VHT NDP Announcement,NDP:Null Data Packet)
超高速吞吐量压缩波束形成帧(VHT Compressed Beamforming Frame)
用于探测PPDU的VHT前导码格式(VHT preamble format for sounding PPDUs)
通道测量(探测)程序(Channel measurement (sounding) procedures)
MU-MIMO波束成形(MU-MIMO BeamForming)
兼容性(Compatibility)
1、动机和策略(Motivation and Strategy)
几乎在每种通信技术的每一次演进(evolution)中(物联网IoT除外),802.11ac的主要动机(motivation)是实现比以前的最高吞吐量技术(在这种情况下为802.11n)高得多的吞吐量(throughput)。我敢肯定,你会看到另一种技术的目标是比802.11ac更高的吞吐量(我们已经听说过802.11ad)。
那么,实现(achieve)这种高吞吐量的技术策略(strategy)是什么?总体策略也与其他技术相同(如果你看过蜂窝技术(celluar technology)的演变过程(例如WCDMA->HSPA->DCHSPA或LTE->LTE-MIMO->载波聚合(Carrier Aggregation)等),你会很容易理解该策略。这种演变的一些技术可以列出如下
更多天线(Antenna)
更多数据流(Data Stream)
更宽的信道(更宽的射频带宽) Wider Channel (Wider RF Bandwidth)
更高的调制深度(Modulation Depth)
更大的MAC(或更高)层帧(Layer Frame)
考虑到这个列表,如果你试图将这些技术中的每一项与802.11ac的每一个规范相关联(correlate),那么就更容易了解这些规范的全貌(big picture)或动机。
为了让您对这一动机有更实际的了解(practical insight),我将比较802.11n(802.11ac之前最先进的技术)和802.11ac在上述功能/技术方面的表现。(注:我从参考文献[13]中获得了大部分信息。如果您有时间,我建议您至少通读一次本文件)
2、总体规范/要求(Overall Specification/Requirements)
802.11 ac的第一个关键词key word(基本特性fundamental characteristics)是
5 Ghz band ONLY !
任何新技术都不可能在一夜之间(overnight)发明(invent)出来。我们都明白这一点。然而,我们不想永远等到一切都准备好了。在这种情况下,一种常见的做法是将这些需求/愿望列表拆分(split)为多个块(chunk),并逐块(chunk by chunk)攻击它们。在某些技术中,他们将这些区块称为“阶段(Stage)”(如阶段1、阶段2等),在某些技术中将其称为“时期(Phase)”(如,时期1、时期2等)。在802.11ac中,他们称它们为Wave(例如,Wave 1、Wave 2等)。802.11ac已发展(evolve)为两波(至少截至目前,2016年8月),如下所示。
1)<第1波>
最大3 x 3:3个数据流(Data Stream)
最大80 Mhz<=802.11最大带宽(bandwidth)的两倍
400ns GI(Guard Interval保护间隔)
256 QAM(Quadrature Amplitude Modulation正交振幅调制)
5/6 编码速率(Coding Rate)
在所有最大条件下为1300 Mbps
2)<第2波>
4 x 4:4数据流或最大8 x 8:8数据流
传输波束形成(基于显式CSI)
AP支持MU-MIMO
最大160 Mhz
800ns GI(保护间隔)
256 QAM
5/6 编码速率
3466.7 Mbps,4 x 4
6933.3 Mbps,8 x 8
3、检测802.11ac接入点(Detecting 802.11ac Access Point)
如果你有一个802.11ac无线网卡(设备),你要做的第一件事就是弄清楚(figure out)设备周围的接入点(AP:Access Point)是否支持802.11ac。
那么,您的WLAN设备将如何确定AP是否支持802.11ac?它是通过对来自AP的称为Beacon的特殊信息信号进行解码(decode)来实现的。如果您的AP支持802.11ac,它将广播(broadcast)包含以下信息的Beancon信号。
下面的信标信号(Beacon Signal)来自无线局域网测试设备安立MT8862。安立通过用户数据向我提供了一个从Beacon开始的完整样本日志(sample log),这将是我研究的一个很好的资源。随着我从日志中了解到更多信息,我将分享更多信息。您可以看到关于如何捕获此日志的测试设置。
它可能看起来很简单,有两行信息,但它将包含AP支持的802.11ac功能(capability)的许多细节。以下是完整的解码信息(decoded information)。
Tag: VHT Capabilities (IEEE Stc 802.11ac/D3.1)
Tag Number: VHT Capabilities (IEEE Stc 802.11ac/D3.1) (191)
Tag length: 12
VHT Capabilities Info: 0x03800022
.... .... .... .... .... .... .... ..10 = Maximum MPDU Length: 11 454 (0x00000002)
.... .... .... .... .... .... .... 00.. = Supported Channel Width Set: Neither 160MHz
nor 80+80 supported (0x00000000)
.... .... .... .... .... .... ...0 .... = Rx LDPC: Not supported
.... .... .... .... .... .... ..1. .... = Short GI for 80MHz: Supported
.... .... .... .... .... .... .0.. .... = Short GI for 160MHz and 80+80MHz: Not supported
.... .... .... .... .... .... 0... .... = Tx STBC: Not supported
.... .... .... .... .... .000 .... .... = Rx STBC: None (0x00000000)
.... .... .... .... .... 0... .... .... = SU Beam-former Capable: Not supported
.... .... .... .... ...0 .... .... .... = SU Beam-formee Capable: Not supported
.... .... .... .... 000. .... .... .... = Compressed Steering Number of Beamformer Antennas
Supported: 1 (0x00000000)
.... .... .... .000 .... .... .... .... = Number of Sounding Dimensions: 1 (0x00000000)
.... .... .... 0... .... .... .... .... = MU Beam-former Capable: Not supported
.... .... ...0 .... .... .... .... .... = MU Beam-formee Capable: Not supported
.... .... ..0. .... .... .... .... .... = VHT TXOP PS: Not supported
.... .... .0.. .... .... .... .... .... = +HTC-VHT Capable (VHT variant HT Control field):
Not supported
.... ..11 1... .... .... .... .... .... = Max A-MPDU Length: 1 048 575 (0x00000007)
.... 00.. .... .... .... .... .... .... = VHT Link Adaptation: No Feedback (0x00000000)
...0 .... .... .... .... .... .... .... = Rx Antenna Pattern Consistency: Not supported
..0. .... .... .... .... .... .... .... = Tx Antenna Pattern Consistency: Not supported
00.. .... .... .... .... .... .... .... = Reserved: False
VHT Supported MCS Set
Rx MCS Map: 0xfffe
.... .... .... ..10 = Rx 1 SS: MCS 0-9 (0x0002)
.... .... .... 11.. = Rx 2 SS: Not Supported (0x0003)
.... .... ..11 .... = Rx 3 SS: Not Supported (0x0003)
.... .... 11.. .... = Rx 4 SS: Not Supported (0x0003)
.... ..11 .... .... = Rx 5 SS: Not Supported (0x0003)
.... 11.. .... .... = Rx 6 SS: Not Supported (0x0003)
..11 .... .... .... = Rx 7 SS: Not Supported (0x0003)
11.. .... .... .... = Rx 8 SS: Not Supported (0x0003)
...0 0000 0000 0000 = Rx Highest Long GI Data Rate (in Mb/s, 0 = subfield not in use):
0x0000
Tx MCS Map: 0xfffe
.... .... .... ..10 = Tx 1 SS: MCS 0-9 (0x0002)
.... .... .... 11.. = Tx 2 SS: Not Supported (0x0003)
.... .... ..11 .... = Tx 3 SS: Not Supported (0x0003)
.... .... 11.. .... = Tx 4 SS: Not Supported (0x0003)
.... ..11 .... .... = Tx 5 SS: Not Supported (0x0003)
.... 11.. .... .... = Tx 6 SS: Not Supported (0x0003)
..11 .... .... .... = Tx 7 SS: Not Supported (0x0003)
11.. .... .... .... = Tx 8 SS: Not Supported (0x0003)
...0 0000 0000 0000 = Tx Highest Long GI Data Rate (in Mb/s, 0 = subfield not in use):
0x0000
Tag: VHT Operation (IEEE Stc 802.11ac/D3.1)
Tag Number: VHT Operation (IEEE Stc 802.11ac/D3.1) (192)
Tag length: 5
VHT Operation Info
Channel Width: 80 MHz (0x01)
Channel Center Segment 0: 42
Channel Center Segment 1: 0
Basic MCS Map: 0xfffc
.... .... .... ..00 = Basic 1 SS: MCS 0-7 (0x0000)
.... .... .... 11.. = Basic 2 SS: Not Supported (0x0003)
.... .... ..11 .... = Basic 3 SS: Not Supported (0x0003)
.... .... 11.. .... = Basic 4 SS: Not Supported (0x0003)
.... ..11 .... .... = Basic 5 SS: Not Supported (0x0003)
.... 11.. .... .... = Basic 6 SS: Not Supported (0x0003)
..11 .... .... .... = Basic 7 SS: Not Supported (0x0003)
11.. .... .... .... = Basic 8 SS: Not Supported (0x0003)
4、检测802.11ac站点(设备) Detecting 802.11ac Station (Device)
通讯(Communication)是两个或多个方面之间的信息交流。上一节展示了该设备如何计算出AP的802.11ac能力。然后你会问AP如何计算设备的802.11ac功能。AP可以从来自设备的[Probe Request探查请求]消息中计算出设备能力,如下所示。
注意:此日志由使用Anritsu MT8862的测试设置捕获
IEEE 802.11 Probe Request, Flags: …C
Type/Subtype: Probe Request (0x04)
Frame Control Field: 0x4000
.... ..00 = Version: 0
.... 00.. = Type: Management frame (0)
0100 .... = Subtype: 4
Flags: 0x00
.... ..00 = DS status: Not leaving DS or network is operating in AD-HOC mode
(To DS: 0 From DS: 0) (0x00)
.... .0.. = More Fragments: This is the last fragment
.... 0... = Retry: Frame is not being retransmitted
...0 .... = PWR MGT: STA will stay up
..0. .... = More Data: No data buffered
.0.. .... = Protected flag: Data is not protected
0... .... = Order flag: Not strictly ordered
.000 0000 0011 1100 = Duration: 60 microseconds
Receiver address: Anritsu_07:91:0e (00:00:91:07:91:0e)
Destination address: Anritsu_07:91:0e (00:00:91:07:91:0e)
Transmitter address: e0:cb:ee:f9:4a:de (e0:cb:ee:f9:4a:de)
Source address: e0:cb:ee:f9:4a:de (e0:cb:ee:f9:4a:de)
BSS Id: Anritsu_07:91:0e (00:00:91:07:91:0e)
Fragment number: 0
Sequence number: 2048
Frame check sequence: 0xfe06c6aa [correct]
[Good: True]
[Bad: False]
IEEE 802.11 wireless LAN management frame
Tagged parameters (83 bytes)
Tag: SSID parameter set: MT8862A6000000008
Tag Number: SSID parameter set (0)
Tag length: 17
SSID: MT8862A6000000008
Tag: Supported Rates 6, 9, 12, 18, 24, 36, 48, 54, [Mbit/sec]
Tag Number: Supported Rates (1)
Tag length: 8
Supported Rates: 6 (0x0c)
Supported Rates: 9 (0x12)
Supported Rates: 12 (0x18)
Supported Rates: 18 (0x24)
Supported Rates: 24 (0x30)
Supported Rates: 36 (0x48)
Supported Rates: 48 (0x60)
Supported Rates: 54 (0x6c)
Tag: DS Parameter set: Current Channel: 36
Tag Number: DS Parameter set (3)
Tag length: 1
Current Channel: 36
Tag: HT Capabilities (802.11n D1.10)
Tag Number: HT Capabilities (802.11n D1.10) (45)
Tag length: 26
HT Capabilities Info: 0x01ef
.... .... .... ...1 = HT LDPC coding capability:
Transmitter supports receiving LDPC coded packets
.... .... .... ..1. = HT Support channel width: Transmitter supports 20MHz and
40MHz operation
.... .... .... 11.. = HT SM Power Save: SM Power Save disabled (0x0003)
.... .... ...0 .... = HT Green Field: Transmitter is not able to receive PPDUs
with Green Field (GF) preamble
.... .... ..1. .... = HT Short GI for 20MHz: Supported
.... .... .1.. .... = HT Short GI for 40MHz: Supported
.... .... 1... .... = HT Tx STBC: Supported
.... ..01 .... .... = HT Rx STBC: Rx support of one spatial stream (0x0001)
.... .0.. .... .... = HT Delayed Block ACK: Transmitter does not support
HT-Delayed BlockAck
.... 0... .... .... = HT Max A-MSDU length: 3839 bytes
...0 .... .... .... = HT DSSS/CCK mode in 40MHz: Won't/Can't use of DSSS/CCK
in 40 MHz
..0. .... .... .... = HT PSMP Support: Won't/Can't support PSMP operation
.0.. .... .... .... = HT Forty MHz Intolerant: Use of 40 MHz transmissions
unrestricted/allowed
0... .... .... .... = HT L-SIG TXOP Protection support: Not supported
A-MPDU Parameters: 0x03
.... ..11 = Maximum Rx A-MPDU Length: 0x03 (65535[Bytes])
...0 00.. = MPDU Density: no restriction (0x00)
000. .... = Reserved: 0x00
Rx Supported Modulation and Coding Scheme Set: MCS Set
Rx Modulation and Coding Scheme (One bit per modulation): 2 spatial streams
.... .... .... .... .... .... 1111 1111 = Rx Bitmask Bits 0-7: 0x000000ff
.... .... .... .... 1111 1111 .... .... = Rx Bitmask Bits 8-15: 0x000000ff
.... .... 0000 0000 .... .... .... .... = Rx Bitmask Bits 16-23: 0x00000000
0000 0000 .... .... .... .... .... .... = Rx Bitmask Bits 24-31: 0x00000000
.... .... .... .... .... .... .... ...0 = Rx Bitmask Bit 32: 0x00000000
.... .... .... .... .... .... .000 000. = Rx Bitmask Bits 33-38: 0x00000000
.... .... ...0 0000 0000 0000 0... .... = Rx Bitmask Bits 39-52: 0x00000000
...0 0000 0000 0000 0000 0000 000. .... = Rx Bitmask Bits 53-76: 0x00000000
.... ..00 0000 0000 = Highest Supported Data Rate: 0x0000
.... .... .... ...0 = Tx Supported MCS Set: Not Defined
.... .... .... ..0. = Tx and Rx MCS Set: Equal
.... .... .... 00.. = Maximum Number of Tx Spatial Streams Supported: 0x0000,
TX MCS Set Not Defined
.... .... ...0 .... = Unequal Modulation: Not supported
HT Extended Capabilities: 0x0000
.... .... .... ...0 = Transmitter supports PCO: Not supported
.... .... .... .00. = Time needed to transition between 20MHz and 40MHz:
No Transition (0x0000)
.... ..00 .... .... = MCS Feedback capability: STA does not provide MCS feedback
(0x0000)
.... .0.. .... .... = High Throughput: Not supported
.... 0... .... .... = Reverse Direction Responder: Not supported
Transmit Beam Forming (TxBF) Capabilities: 0x0000
.... .... .... .... .... .... .... ...0 = Transmit Beamforming: Not supported
.... .... .... .... .... .... .... ..0. = Receive Staggered Sounding: Not supported
.... .... .... .... .... .... .... .0.. = Transmit Staggered Sounding:
Not supported
.... .... .... .... .... .... .... 0... = Receive Null Data packet (NDP):
Not supported
.... .... .... .... .... .... ...0 .... = Transmit Null Data packet (NDP):
Not supported
.... .... .... .... .... .... ..0. .... = Implicit TxBF capable: Not supported
.... .... .... .... .... .... 00.. .... = Calibration: incapable (0x00000000)
.... .... .... .... .... ...0 .... .... = STA can apply TxBF using CSI explicit
feedback: Not supported
.... .... .... .... .... ..0. .... .... = STA can apply TxBF using uncompressed
beamforming feedback matrix: Not supported
.... .... .... .... .... .0.. .... .... = STA can apply TxBF using compressed
beamforming feedback matrix: Not supported
.... .... .... .... ...0 0... .... .... = Receiver can return explicit CSI
feedback: not supported (0x00000000)
.... .... .... .... .00. .... .... .... = Receiver can return explicit uncompressed
Beamforming Feedback Matrix: not supported (0x00000000)
.... .... .... ...0 0... .... .... .... = STA can compress and use compressed
Beamforming Feedback Matrix: not supported (0x00000000)
.... .... .... .00. .... .... .... .... = Minimal grouping used for explicit
feedback reports: No grouping supported (0x00000000)
.... .... ...0 0... .... .... .... .... = Max antennae STA can support when CSI
feedback required: 1 TX antenna sounding (0x00000000)
.... .... .00. .... .... .... .... .... = Max antennae STA can support
when uncompressed Beamforming feedback required:
1 TX antenna sounding (0x00000000)
.... ...0 0... .... .... .... .... .... = Max antennae STA can support
when compressed Beamforming feedback required:
1 TX antenna sounding (0x00000000)
.... .00. .... .... .... .... .... .... = Maximum number of rows of CSI explicit
feedback: 1 row of CSI (0x00000000)
...0 0... .... .... .... .... .... .... = Maximum number of space time streams for
which channel dimensions can be simultaneously
estimated: 1 space time stream (0x00000000)
000. .... .... .... .... .... .... .... = Reserved: 0x00000000
Antenna Selection (ASEL) Capabilities: 0x00
.... ...0 = Antenna Selection Capable: Not supported
.... ..0. = Explicit CSI Feedback Based Tx ASEL: Not supported
.... .0.. = Antenna Indices Feedback Based Tx ASEL: Not supported
.... 0... = Explicit CSI Feedback: Not supported
...0 .... = Antenna Indices Feedback: Not supported
..0. .... = Rx ASEL: Not supported
.0.. .... = Tx Sounding PPDUs: Not supported
0... .... = Reserved: 0x00
Tag: Vendor Specific: Microsof: Unknown 8
Tag Number: Vendor Specific (221)
Tag length: 7
OUI: 00-50-f2 (Microsof)
Vendor Specific OUI Type: 8
Type: Unknown (0x08)
Tag: VHT Capabilities (IEEE Stc 802.11ac/D3.1)
Tag Number: VHT Capabilities (IEEE Stc 802.11ac/D3.1) (191)
Tag length: 12
VHT Capabilities Info: 0x338051b2
.... .... .... .... .... .... .... ..10 = Maximum MPDU Length: 11 454 (0x00000002)
.... .... .... .... .... .... .... 00.. = Supported Channel Width Set:
Neither 160MHz nor 80+80 supported (0x00000000)
.... .... .... .... .... .... ...1 .... = Rx LDPC: Supported
.... .... .... .... .... .... ..1. .... = Short GI for 80MHz: Supported
.... .... .... .... .... .... .0.. .... = Short GI for 160MHz and 80+80MHz:
Not supported
.... .... .... .... .... .... 1... .... = Tx STBC: Supported
.... .... .... .... .... .001 .... .... = Rx STBC: 1 Spatial Stream Supported
(0x00000001)
.... .... .... .... .... 0... .... .... = SU Beam-former Capable: Not supported
.... .... .... .... ...1 .... .... .... = SU Beam-formee Capable: Supported
.... .... .... .... 010. .... .... .... = Compressed Steering Number of Beamformer
Antennas Supported: 3 (0x00000002)
.... .... .... .000 .... .... .... .... = Number of Sounding Dimensions: 1
(0x00000000)
.... .... .... 0... .... .... .... .... = MU Beam-former Capable: Not supported
.... .... ...0 .... .... .... .... .... = MU Beam-formee Capable: Not supported
.... .... ..0. .... .... .... .... .... = VHT TXOP PS: Not supported
.... .... .0.. .... .... .... .... .... = +HTC-VHT Capable (VHT variant HT Control
field): Not supported
.... ..11 1... .... .... .... .... .... = Max A-MPDU Length:1 048 575 (0x00000007)
.... 00.. .... .... .... .... .... .... = VHT Link Adaptation: No Feedback
(0x00000000)
...1 .... .... .... .... .... .... .... = Rx Antenna Pattern Consistency:Supported
..1. .... .... .... .... .... .... .... = Tx Antenna Pattern Consistency:Supported
00.. .... .... .... .... .... .... .... = Reserved: False
VHT Supported MCS Set
Rx MCS Map: 0xfffa
.... .... .... ..10 = Rx 1 SS: MCS 0-9 (0x0002)
.... .... .... 10.. = Rx 2 SS: MCS 0-9 (0x0002)
.... .... ..11 .... = Rx 3 SS: Not Supported (0x0003)
.... .... 11.. .... = Rx 4 SS: Not Supported (0x0003)
.... ..11 .... .... = Rx 5 SS: Not Supported (0x0003)
.... 11.. .... .... = Rx 6 SS: Not Supported (0x0003)
..11 .... .... .... = Rx 7 SS: Not Supported (0x0003)
11.. .... .... .... = Rx 8 SS: Not Supported (0x0003)
...0 0011 0000 1100 = Rx Highest Long GI Data Rate
(in Mb/s, 0 = subfield not in use): 0x030c
Tx MCS Map: 0xfffa
.... .... .... ..10 = Tx 1 SS: MCS 0-9 (0x0002)
.... .... .... 10.. = Tx 2 SS: MCS 0-9 (0x0002)
.... .... ..11 .... = Tx 3 SS: Not Supported (0x0003)
.... .... 11.. .... = Tx 4 SS: Not Supported (0x0003)
.... ..11 .... .... = Tx 5 SS: Not Supported (0x0003)
.... 11.. .... .... = Tx 6 SS: Not Supported (0x0003)
..11 .... .... .... = Tx 7 SS: Not Supported (0x0003)
11.. .... .... .... = Tx 8 SS: Not Supported (0x0003)
...0 0011 0000 1100 = Tx Highest Long GI Data Rate
(in Mb/s, 0 = subfield not in use): 0x030c
5、超高速吞吐量 VHT (Very High Throughput)
802.11ac中最重要的关键词(keywords)之一是VHT。VHT代表(stand for)极高吞吐量(Very High Throughput)。对于这意味着什么,您不需要任何额外的解释。其含义显而易见(obvious and self-explanatory)。
问题是如何实现VHT,以及引入什么样的新帧和协议来实现(implement)这一点。
VHT是物理层帧概念,其定义如下所示。
在wireshark日志中,您可能会从Radiotap Header中看到此帧信息,如下所示。
6、动态带宽分配(Dynamic Bandwidth Allocation)
802.11ac支持各种类型的带宽组合(bandwidth combination),如20 Mhz、80 Mhz、160 Mhz。然后问题是“他们如何分配(allocate)带宽?”。静态还是动态(Statically or Dynamically)?
静态分配(Static allocation)意味着发送器Transmitter(启动器Initiator)和接收器Reciever(响应器Responder)在连接建立的早期阶段协商(negotiate)并确定带宽,并保持不变,直到通信(会话session)结束。
动态分配(Dynamic allocation)意味着即使在单个会话期间,发送器和接收器SOMEHOW也会在很短的时间间隔(interval)内协商/确定带宽。
802.11ac采用了动态分配方法(approach)。它允许在每次传输(transmission)时更改带宽。
那么问题是“怎么做?”。他们使用何种协商(negotiation)来确定/商定发射机和接收机之间的带宽?
基本想法很简单。正如您在详细信息中的数据传输部分所看到的,所有802.11的基本信道获取过程(acquisition process)都是基于RTS/CTS机制的。802.11ac使用相同的机制来动态地确定可用带宽(avaiable bandwidth)。其思想是将整个可能的802.11ac频带分割(split)成多个基本分段块(例如,20 MHz、40 MHz、80 MHz等),并在多个频率块上模拟地(simulateneously)执行(perform)多个RTS/CTS。(这与LTE中的载波聚合(Carrier Aggregation)非常相似)。首先,启动器(initiator)通过多频率块(frequency block)发送多个RTS,并等待CTS。如果启动器在所有块上接收到CTS,则可以使用所有频率块(非常宽的聚合带宽aggregated bandwidth)。如果启动器对于所有传输的RTS只接收到几个CTS,则它使用接收CTS的较小带宽。(详见参考文献[9])。
让我给你举几个(a couple of)例子,并举例说明动态带宽是如何发展的。这里只有两种情况,但在这方面可能有更多的变化。
1)<案例1> < Case 1 >
在这种情况下,节点(Node)A(发起方initiator)和节点B(接收方recipient)之间没有干扰(interference),并且两个节点都可以使用全带宽。当然,在完成步骤3之前,这些节点对带宽可用性(availability)一无所知。
步骤0:就在步骤1之前(Right before Step 1),假设节点A将整个80 Mhz部分划分为4个连续的(contiguous)20 Mhz块,并对这些20 Mhz块中的每个执行载波感测(carrier sensing )。并且假设所有这些20MHz块都是可用的。
步骤1:假设调度在DCF中完成,节点A等待称为DIFS(DCF帧间空间)的特定时间段。
步骤2:节点A使用802.11a帧向节点B发送(transmit)每个20MHz块的RTS,并且假设所有这些RTS都成功到达节点B。
步骤3:(假设节点B检测到针对所有20MHz块的RTS)节点B针对每20MHz子块使用802.11a帧来发送CTS。
步骤4:(假设节点A检测到所有20MHz块的CTS)节点A假设所有80Mhz BW都是无干扰/无干扰的(no-interference),并利用全部80Mhz以802.11ac模式发送数据。
步骤5:(假设节点B接收并解码了整个数据)节点B每20 Mhz块(总共40 Mhz)发送Ack。
2)<案例2> < Case 2 >
这是在节点B(接收方)上的80Mhz块内的一些频谱块中存在一些干扰的情况。当然,在完成步骤3之前,这些节点对带宽可用性一无所知。
步骤0:就在步骤1之前,假设节点A将整个80Mhz部分划分为4个连续的20Mhz块,并对这些20Mhz块中的每个执行载波感测。并且假设所有这些20MHz块都是可用的。
步骤1:假设调度在DCF中完成,节点A等待称为DIFS(DCF帧间空间)的特定时间段。
步骤2:节点A使用802.11a帧向节点B发送每个20MHz块的RTS。
步骤3:(由于各种原因,例如,节点B由于干扰而未能接收RTS,或者基于载波感测的介质繁忙)节点B仅针对两个连续的20MHz块使用802.11a帧来发送CTS。
步骤4:(假设节点A检测到两个20MHz块的CTS)节点A假设只有40Mhz BW是畅通的/没有干扰的,并利用40Mhz以802.11ac模式发送数据。
步骤5:(假设节点B接收并解码了整个数据)节点B发送两个20MHz块(总共40Mhz)的Ack。
7、其他MAC帧类型 (Additional MAC Frame Types)
在802.11ac中,以下新的帧类型被添加到现有类型中。大多数新帧类型用于实现信道测量和报告(Channel Measurement and Repor),以执行MU-MIMO波束形成。
8、波束形成报告轮询帧(Beamforming Report Poll Frame)
9、超高速吞吐量空数据包公告(VHT NDP Announcement,NDP:Null Data Packet)
该帧用于波束形成器(AP)启动(initiate)信道测量过程。(有关详细信息,请参阅802.11ac 8.3.1.20 VHT NDP公告帧格式)
10、超高速吞吐量压缩波束形成帧(VHT Compressed Beamforming Frame)
该帧用于BeamFormee(用户)报告信道测量结果(详见802.11ac 8.5.23.2 VHT压缩波束形成帧格式)
11、用于探测PPDU的VHT前导码格式(VHT preamble format for sounding PPDUs)
请参阅802.11ac表22-4——VHT PPDU的每个字段标签的字段。
12、通道测量(探测)程序(Channel measurement (sounding) procedures)
为了对特定设备执行正确的波束成形(beamforming),找出波束成形器(BeamFormer)和波束成形器(BeanFormee)之间的准确(accurate)信道条件至关重要(crucial)。为了计算通道条件,BeamFormer和BeamFormee执行一系列特定的校准过程(calibration process),该过程被称为通道测量或探测过程(Channel Measurement or Sounding process)。具体如下。
有关详细信息,请参阅802.11ac 9.31.5.2 VHT探测协议序列(sounding protocol sequences)规则、图9-41a和图9-41a。
<在单个VHT波束形成(BeamFormee)的情况下>
步骤1:BeamFormer(通常为AP)发送NDP(空数据包Null Data Packet)公告帧(Announcement frame)
步骤2:BeamFormee(通常是WLAN用户设备)响应NDP通知(NDP中未指定的其他设备推迟(defer)信道接入(channel access),直到信道测量过程完成)
步骤3:波束形成器(Beamformer)发送携带训练序列(Training Sequence)的空数据包(NDP帧,VHT前导码格式)
步骤4:BeamFormee分析训练序列并发送反馈矩阵(有关反馈矩阵(feedback Matrix)的详细信息,请参阅802.11ac 8.4.1.48 VHT Compressed Beamforming Report字段)
步骤5:BeamFormer根据反馈矩阵计算(calculate)引导矩阵(steering matrix)
<在多个VHT波束形成((BeamFormee))的情况下>
步骤1:BeamFormer(通常为AP)发送NDP(空数据包)公告帧
步骤2:BeamFormee(通常是WLAN用户设备)响应NDP通知(NDP中未指定的其他设备推迟信道接入,直到信道测量过程完成)
步骤3:波束形成器发送携带训练序列的空数据包(NDP帧,VHT前导码格式)
步骤4:BeamFormees分析训练序列
步骤5:BeamFormee1发送-发送反馈矩阵(有关反馈矩阵的详细信息,请参阅802.11ac 8.4.1.48 VHT压缩波束形成报告字段)
步骤6:BeamFormer发送下一个BeamFormee的BeamForming报告轮询
步骤7:下一次BeamFormee发送反馈矩阵
步骤8:重复步骤6,7,直到BeamFormer获得所有BeamFormee的所有信息。
步骤9:BeamFormer根据反馈矩阵计算引导矩阵
注:这个复杂过程(complicated process)的基本目的(fundamental purpose)是弄清楚接入点和设备之间无线电信道(radio channel)的特征charateristics(性质nature)。这也被称为“通道探测(Channel Sounding)”。在此过程中,不会传递(convey)任何用户数据。这意味着这个过程可能是一种开销overhead(吞吐量下降因素throughput degradation factor)。如果AP可以通过从该过程中提取(extract)最合适的波束形成参数(BeamForming parameter)来最佳地优化(optimize)通信,则该过程可以获得总体吞吐量增益(throughput gain)。然而,如果AP未能从该过程中获得最佳波束成形参数,这只会产生不必要的开销。
13、MU-MIMO波束成形(MU-MIMO BeamForming)
MU-MIMO代表(stands for)多用户MIMO,并且这仅在802.11ac中采用adopt(在802.11n及更低版本中不采用)。当我们说MIMO(多输入多输出Multi Input Multi Output)时,它通常指SU-MIMO(单用户MIMO),这是一种仅针对一个设备(用户)的MIMO。相反(On the contrary),MU-MIMO是模拟地(simulateneously)针对多个用户的MIMO。这意味着在MU-MIMO中,发射机transmitter(接入点Access Point)可以向多个用户发送多个数据流。
听起来不错(fancy),对吧?然而,这项技术的实现(implementation)并不像听起来那么容易,实际性能(real performance)也不会像预期的那样好。也许它需要经历漫长的进化过程。让我们思考一下与MU-MIMO相关的一些挑战(challenge)和可能的问题(possible issues)
为了向每个用户提供最佳的(optimized)优化波束,它需要非常准确地估计每个用户的无线电信道信息。
通常,为了对每个用户进行适当的信道估计(estimation),AP将需要来自每个用户(设备)的一些信道质量信息,该过程将在信令或数据通信(signaling or data communication)方面产生一些开销。
由于多个用户的多个波束同时(simultaneously)传输,因此一个波束总是有机会干扰(interfere)其他波束。因此,很难应用非常高阶的(very high order)调制调度modulation schedule(例如,64QAM或256QAM)。
为了为设备制造更好的指向波束(pointed beam),需要许多天线(antenna)来形成波束。考虑到我们最多有8个天线,我对我们能为多个用户生成(generate)多好的波束不太有信心(尤其是用户数量的增加)。
抛开这种MU-MIMO的实际可行性(practical feasibility)不谈,本规范(specification)已经完成。在大多数技术情况下(尽管并非所有情况都如此),一旦发布(issue)规范,技术就会不断发展(evolve),变得越来越好。
802.11ac MU-MIMO波束形成用如下数学表达式(mathematical expression)表示(这是基于802.11ac 22.3.11 SU-MIMO和DL-MU-MIMO波束形成)
14、兼容性(Compatibility)
每当任何技术的新版本问世时,最令人担忧的事情之一就是兼容性。这些新东西(stuff)能和那些旧东西一起工作吗?关于802.11ac,你也会有同样的问题。802.11ac是否与现有(以前的)技术(例如802.11a和802.11n)兼容?答案是肯定的。802.11ac从一开始就被设计为与802.11a/n兼容,用于接入点和设备。
15、Reference
[1] Wikipedia : IEEE 802.11ac
[2] 802.11ac Analysis Webinar
[3] Understanding IEEE 802.11ac VHT Wireless
[4] 802.11ac Testing with the Vector Signal Transceiver
[5] Gigabit Wi-Fi 802.11ac In Depth (YouTube)
[6] 802.11ac Gigabit WiFi: Fact vs. Fiction (YouTube)
[7] Demonstrating the Performance of the Aruba Networks 802.11ac (YouTube)
[8] Aruba Controller-based and Controllerless Wi-Fi (YouTube)
[9] 802.11ac : A Survival Guide - Chapter 3. The MAC
[10] 802.11ac Wireless Packet Captures
[11] Deploying, Testing, and Tuning 802.11ac
[12] How to validate the WI-FI Information within Wireshark – Part I: Determining the WLAN capabilities
[13] 802.11ac: The Fifth Generation of Wi-Fi Technical White Paper
八、802.11ad标准
802.11ad是一款专为在极(extremely)高频率和极高带宽下工作而设计的产品,提供了相对简单的高吞吐量结构。我所说的“相对简单的结构(relatively simple structure)”是指“不使用高度MIMO和高阶调制技术(modulation technique)”。这并不意味着802.11ad很容易实现( implement)。在实现方面(In terms implementation),我们需要克服在毫米波mmWave(60Ghz)范围内工作的各种技术问题。802.11ad的总体特性characteristic(特征feature)可以总结如下图所示。
就吞吐量而言(In terms of throughput),你可能会看到802.11ad并没有提供比802.ac高得多的吞吐量。实际上,802.11ac(8流,256QAM)的理论最大吞吐量(theoretical max throughput)高于802.11ad。然而,在常规/通用操作中,802.11ad更容易实现更高的吞吐量。
至少截至目前At least as of now(2017年6月),802.11ad不支持MIMO,也不支持非常高阶的调制方案modulation scheme(例如,64 QAM或更高)。那么你可能会问。。在不使用高阶调制或高度MIMO的情况下,我们如何实现如此高的吞吐量?答案很简单。。只需使用超宽带(super-wide bandwidth)。单信道802.11ad带宽高达1.88 Ghz(几乎为2 Ghz)。这在基带实现(baseband implementation)中可能是一个巨大的挑战。(当然,射频方面的挑战是开发/实现60Ghz组件。
1、PHY Frame
2、其他MAC帧类型 (Additional MAC Frame Types)
在802.11ad中,以下新的帧类型被添加到现有类型中。
配置帧扩展类型( Frame Extension type)时,帧控制字段(Frame Control field)的结构定义如下
控制帧扩展位字段(Control Frame Extension bit field)定义如下(802.11ad-表8-1a-控制帧扩展)。
References :
[1] Wikipeida : Wireless Gigabit Alliance
[2] Understanding IEEE 802.11ad Physical Layer and Measurement Challenges
[3] WLAN 802.11ad Tutorial
[4] WLAN 802.11ad physical layer
九、802.11ax (WiFi 6)标准
WiFi 802.11ax也称为WiFi 6。它的功能概述如下。其中一些是与以前版本相比的进化功能(evolutionary feature),还有一些是802.11ax中引入的全新(brand new)功能。
吞吐量增加:与往常一样(As always),有一部分要增加吞吐量,而且几乎总是通过更高的调制(modulation)来实现。===>尽管吞吐量的增加会吸引(attract)许多用户的注意,但这并不是802.11ax最重要的方面(aspect)。802.11ax的主要重点是提高效率,而不是增加吞吐量。
窄子载波间隔(Narrow Subcarrier Spacing)/长OFDM符号长度:子载波间隔(Subcarrier Spacing)变窄,意味着频域容量(frequency domain capacity)将增加。但是,子载波间隔的减小导致OFDM符号长度的增加。增加的OFDM符号长度将在吞吐量方面抵消(offset)子载波减少的影响,但它将通过允许更宽的延迟扩展(delay spreading)来提高长距离通信中的鲁棒性(robustness)。
同时支持多个用户和频率。这是通过多用户mimo和空间复用(spatial multiplexing)来实现的。在以前的版本(previous release)中,这些在下行链路(downlink)中得到了一定程度的支持,但在本版本中将扩展到上行链路(uplink)。
OFDMA:本版本中用于同时(simultaneous)支持多用户的最重要技术组件是OFDMA,这意味着它将获得类似于LTE或NR蜂窝网络(cellular network)的多用户调度的灵活性(flexibility)。这意味着一个用户不会等到所有其他用户完成通信。多个用户可以使用不同的频谱段(section of frequency spectrum)同时进行发送/接收transmit/recieve(仍然不允许在时域和频域(time and frequency domain)同时进行发送和接收transmission/reception)。OFDMA将有助于缩短通信的延迟(latency)。(详见本说明)
通过目标唤醒时间(Target Wakeup Time)机制实现低功耗(Low Power Consumption)。可以理解的是,该功能的主要用例将针对物联网应用(IoT application)。
下表引用了Aruba白皮书,很好地总结了802.11ax与先前版本相比的主要功能。如果您对进一步的技术细节感兴趣,我强烈建议您通读这份白皮书(whitepaper)。
注:我认为WiFi 6(802.11ax)引入了一些类似于4G/5G蜂窝技术的功能,主要是为了更有效地使用无线电资源(radio resources)。第一种是OFDMA,第二种是RU(Resource Unit资源单元)的概念。资源单元的最小大小是26个子载波(subcarrier)。对我来说,RU似乎类似于4G/5G蜂窝技术中的RB(Resource Block资源块)概念。
1、与4G/5G蜂窝技术相似(Similarity)
许多专家(expert)表示,WiFi 6G的主要重点是提高效率。尽管与之前的规范相比,WiFi 6G包括了提高吞吐量的技术组件,但效率的提高(efficiency improvement)比吞吐量的提高(throughput boost)更重要(priority)。在我看来,WiFi 6G中为提高效率而引入的许多技术功能与4G(LTE)/5G(NR)蜂窝技术中使用的技术非常相似。当然,关于如何实现(implement)这些功能的细节与蜂窝技术中的并不完全相同,但基本概念(fundamental concept)非常相似。以下是这些功能的列表。
OFDMA-显然很难否认(deny)这个想法来自4G/5G蜂窝技术。
RU(Resource Unit资源单元)的概念-这类似于4G/5G蜂窝技术中的RB(Resource Block资源块)。
目标唤醒时间(Target Wake Time)-对我来说,这似乎类似于4G/5G蜂窝技术中的PSM(Power Saving Mode省电模式),
BSR(Buffer Status Report缓冲状态报告)-与4G/5G蜂窝技术中的BSR概念相同
References :
802.11AX (Aruba Whitepaper)
High Efficiency Wi-Fi:802.11ax (Aruba)
IEEE 802.11ax TECHNOLOGY INTRODUCTION (Rhode & Schwarz Whitepaper)
Gjermund Raaen-WIFI
Wi-Fi 6 (802.11ax): A cheat sheet
IEEE 802.11ax: The Sixth Generation of Wi-Fi White Paper (Cisco)
What is 802.11ax (Wi-Fi 6)?
The MU-RTS/CTS process in the HE (802.11ax) - standard
Designing for Wi-Fi 6 (802.11ax): Common Challenges and Tips to Overcome Them (Dec 2017)
AP-initiated Multi-User Transmissions in IEEE 802.11ax WLANs (Jun 2018)
New Wireless LAN Technology: 802.11ax (Mar 2019)
UL OFDMA, basic Trigger Frame and Multi-STA BlockAck (Aug 2019)
WLAN BY GERMAN ENGINEERING - All about Wireless LAN (IEEE 802.11) … (Jan 2020)
802.11ax Frame Aggregation, a case study (Feb 2020)
Introduction to 802.11ax High-Efficiency Wireless (Aug 2020)
YouTube
Webinar: 802.11ax Sneak Peek – The Next Generation Wi-Fi (Mar 2017)
High Efficiency Wi-Fi- 802.11ax | Dr. Eldad Perahia | WLPC US Phoenix 2017 (Jun 2017)
Rohde & Schwarz webinar: Five things to know about WLAN 802.11ax and why testing is important (Aug 2017)
IEEE 802.11ax: Physical Layer Overview (Oct 2017)
802.11ax - What’s New Webinar (May 2018)
802 11ax - Aerohive Guest Webinar with David Coleman (Aug 2018)
802.11ax and OFDMA | Perry Correll | WLPC Prague 2018 (Oct 2018)
Ruckus Tutorial: 802.11ax OFDMA Detail Overview (WiFi 6) (Jan 2019)
What is 802.11ax? And why (Feb 2019)
OFDMA: The Key Technology of 802.11ax (Feb 2019)
Fundamentals of Wi-Fi 6: Capacity Is the New Metric (Apr 2019)
Wi-Fi 5 vs Wi-Fi 6 Comparison Demo (Sep 2019)
802.11ax Lessons Learned | Wes Purvis | WLPC Phoenix 2020 (Mar 2020)
WiFi 6 And OFDMA Telecommunication Technology Training (Mar 2020)
Wi Fi 6 for High Density Networks (Jun 2020)
Webinar: Enterprise Wi-Fi 6 for WISPs (Nov 2020)
十、WiFi直接连接(WiFi Direct)
WiFi Direct是一种机制,通过这种机制,两个(或多个)WiFi设备可以在不经过WiFi接入点的情况下直接相互通信。如果你更熟悉蓝牙的工作原理,你可以将“WiFi Direct”视为“WiFi像蓝牙一样工作,但它要快得多,因为它是通过WiFi通信的”。
截至目前As of now(2015年5月),我看到大多数相关手机都支持这一功能,你可能会发现很多数字电视和其他电子商品上都有“WiFi Direct”的标签(label)。
在本页中,我将讨论WiFi Direct是如何工作的(在3GPP Rel 12中,D2D被提议用于LTE,当D2D最终确定时,我们可能会在LTE中看到类似的概念。他们将直接通信的LTE版本称为LTE Direct)。建立(establish)WiFi直接连接的整个协议序列(protocol sequence )可以如下所示。
发现(Discovery ):此步骤与正常WiFi操作中的发现过程基本相同(详细信息请参阅WLAN协议页面)。此步骤中WiFi Direct和Normal WiFi操作之间的主要区别在于,两个设备都在WiFi Direct设备中发送SSID=Direct的Beacon。或者,他们可以通过探测请求/探测响应(Request/Probe Response)执行发现。
集团所有者协商(Group Owner Negotiation):尽管“WiFi Direct”听起来像是“两个设备将以同等权利(equal right)进行通信”,但实际上(in reality)其中一个设备将作为接入点(一种主设备 Master)工作,另一个设备则作为从设备(slave)。群主谈判是一个决定谁将成为主,谁将成为从的过程。这一步骤由三步握手(handshake )完成——GO 协商请求(Negotiation Request)、GO 协商响应(Negotiation Response)、GO协商确认(Negotiation Confirmation)。
在Group Owner上切换(Switch)到AP模式:一旦确定了Group Owner(GO),grouple Owner就会将其芯片组(chipset)切换到AP(接入点模式)模式,并开始作为接入点(Access Point)工作。
附加身份验证(Attach Authentication):现在另一个设备(未选择为Group Owner的设备)与GO设备执行附加过程。基本上,这与正常的WiFi操作类似(有关详细信息,请参阅WLAN协议页面)。
IP分配(IP Allocation):最后(At last),GO设备将IP分配(allocate)给非GO设备,以完成IP层端到端通信(end-to-end communication)路径。
十一、测试(Testing)
即使在几年前,大多数WLAN应用都与PC和笔记本电脑(laptop)捆绑在一起,其吞吐量和预期也没有那么高。测试的范围也没有那么广。现在,在智能手机(Smart phone)和许多其他支持无线局域网功能(functionality)的电子产品的时代,无线局域网的测试范围已经大大扩大。以下是目前我脑海中浮现的一些测试项目,随着我们向5G的发展,列表将越来越长,WLAN将在整个通信系统中发挥更大的作用。
1、物理/射频 (PHY/RF)
PHY/RF测试主要用于测试射频传输信号的质量(transimission signal quality)、接收灵敏度(reciever sensitity)。这些通常由WLAN芯片组供应商(Chipset vendor)或WLAN模块制造商(Module maker)进行测试。它有自己的测试项目列表,主要在IEEE规范中定义。
以下是来自安立(Anritsu)的PHY/RF测试系统的示例,名为MT8862A。.
项目2~6通常由提供WLAN作为完整服务的公司进行测试,如PC制造商、手机制造商或网络运营商(Network Operator)。通常,所有这些项目都合并(consolidate)到一个单独的测试包(test package)中。
2、用户界面 (User Interface)
在普通笔记本电脑/PC没有任何蜂窝通信能力的情况下,WLAN的用户界面不会那么复杂。可能(Probably)只有身份验证设置GUI就足够了。但在移动电话(SmartPhone)的情况下,除了WLAN之外,还有许多不同的无线通信方式。因此,与PC/笔记本电脑相比,通信有很多选择,WLAN也有更多选择。此外( In addition),WLAN相关用户接口的行为(behvaior)可能会根据其他通信技术的用户接口的设置而有所不同。因此,WLAN用户界面设置和行为验证(verification)的所有可能组合(combination)成为重要的测试项目。您会看到很多与这种用户界面相关的测试用例(test case)。以下是与移动电话上的WLAN直接或间接相关的用户界面的一个示例。你可能会在不同的手机上看到不同的界面。这只是一个例子。
尽管这只是用户界面测试,但您可能需要一个既支持蜂窝技术又支持WLAN技术的测试系统,因为某些用户界面操作需要完成某些无线电协议(radio protocol)。
3、身份验证/安全机制 (Authentication/Security Mechanism)
随着WiFi技术的发展(evolve),试图突破(break into)安全保护机制(security protection mechanism)的技术(technique)也在发展。因此(As a result),您将看到越来越多不同类型的安全机制被使用。由于移动电话(或笔记本电脑)预计可以在任何地方使用WiFi网络,因此您应该验证(verify)您的设备是否可以使用所有不同类型的安全系统。以下只是我的手机可以在我的办公室检测(detect)到的WiFi接入点的一个例子(出于信息保护的目的,我故意(intentionally)更改了SSID名称:),你会看到使用了各种不同类型的安全算法(安全方法显示(indicate)在黄线上。黄线上的“空”表示“打开”连接(基本上至少在接入点上没有安全性)。当然,这只是一个例子,你可能会看到更多不同的方法。
要测试这些方法,您需要一个支持所有这些安全方法和用户数据连接(data connectivity)的测试设备,或者您可以使用实时(live)接入点。
4、ePDG/IKE
ePDG是一种在IP数据层将WiFi网络(不受信任的网络组件)连接到蜂窝网络的特殊机制。要将这种不受信任的组件连接到蜂窝网络,需要一种特殊类型的身份验证(authentication)和安全算法(security algorithm),并且在大多数情况下(in most case)使用IKEv2。我不会详细介绍ePDG是如何工作的。如果您想了解更多详细信息,请参阅WiFi卸载页面和IKE页面。
据我所知(As far as I experienced),这项技术在移动电话行业已经开发了近两年(截至2015年6月),但直到最近,一些网络运营商(network operator)才开始在他们的实验室进行认真的测试。要测试这项功能(functionality),你需要一台设备,它至少有以下组件,可以模拟(simulate)蜂窝网络和ePDG/AAA服务(IKE),如下所示。如果您是参与此类测试的人员,请首先参阅WiFi卸载检查列表页面。
5、WLAN和蜂窝网络之间的接入选择
在所有支持WiFi和蜂窝技术的手机和一些PC的情况下,设备必须做出复杂的(complicated)决定,是应该连接到蜂窝网络还是WiFi网络。如果设备同时(simultaneously)连接到两个网络,则当用户试图进行语音呼叫(voice call)时,它必须做出另一个决定。它必须确定它是使用蜂窝网络还是WiFi网络发起(initiate)呼叫。
某一级别的决策(decision)是由用户配置(configure)的特殊设置做出的,而另一级别的决定是由蜂窝网络和WiFi网络之间的信号强度(signal strength)做出的。但详细的选择标准(criteria)是由每个服务提供商(Network Operator网络运营商)指定的,这些选择算法(algorithm)是大多数网络运营商测试的一个非常重要的部分。
以下是指导UE如何在蜂窝和WiFi之间选择网络的UE设置的一个示例。这是最简单的配置(configuration)之一,如果您的设备不仅支持WiFi上的数据呼叫(data call),而且还支持WiFi下的语音呼叫(voice call),您会看到非常复杂的(complicated)设置。
6、吞吐量(Throughput)
概念上的(Conceptually)吞吐量测试很容易理解,但根据我的经验,在WiFi中执行吞吐量测试比蜂窝技术更困难,因为WiFi PHY/MAC调度不如蜂窝技术可重用。由于WiFi基于CSMA/CA和随机退避(random backoff)来调度数据传输,因此如果信道(channel)中存在任何干扰(interference),吞吐量测试结果将大幅波动。
在吞吐量测试的初始阶段(initial phase),我们通常测试理想信道条件下的最大吞吐量,但最近我看到许多公司在吞吐量测试条件方面提出了更严格的标准(tougher criteria)。到目前为止(as of now),您可能会看到关于吞吐量测试的最常见标准如下:
理想信道条件下的最大吞吐量 (Max throughput under ideal channel condition)
吞吐量与范围(设备与AP之间的距离)
吞吐量与信噪比 (Throughput vs SNR)
吞吐量与帧分段 (Throughput vs Frame Fragmentation)
7、WiFi热点 (WiFi HotSpot)
WiFi热点是一种可以将WiFi协议转换(translate)为另一种类型的无线技术(例如WCDMA/HSPA或LTE)的技术。在某些情况下(In some case),我们使用实时网络(live network)或实验室网络,但在大多数情况下(in most case),使用如下所示的网络模拟器(network simulator)。在这种情况下(In this case),我们假设(assume)蜂窝部分网络模拟器正在执行理想的最大吞吐量,但正如您可能经历过的那样,没有“理想(ideal)”这样的事情。在测试系统设置的早期阶段(the early stage),您需要花费大量时间和精力(effort)来确保蜂窝网络模拟器按预期工作。一旦验证了这一部分,WiFi部分的其余测试方法和标准与上一节中描述的“吞吐量”测试类似。
8、WiFi直连 (WiFi Direct)
WiFi Direct是一种设备可以在不经过AP(Access Point接入点)的情况下直接与另一设备通信的机制。如果你不熟悉这个功能,请看这个视频:如何使用Wifi DIrect。如果您对技术细节更感兴趣,请参阅WiFi Direct页面。
如果你想对此进行非常严格的测试,你需要可以模拟WiFi设备的特殊设备,但我还没有见过这种设备。可能有这种我不知道的设备。
十二、WiFi射频测量(WiFi RF Meas.)
1、射频测试( RF Test)
你会发现20多个基于IEEE 802.11系列的正式测试用例,但我不会解释每个测试用例的太多细节。我打算在本页中为您提供最基本的测试快照(snapshot),这些测试可以用图形表示,以直观地理解(intuitive understanding)WLAN信号。起初,大部分情节(plot)看起来很相似,但你会看到不同之处。试着把这些图中的每一个都看10遍,包括每个轴上的数字,看看你是否发现(至少感觉到)每一个眼神都有什么不同。
2、射频测量的一般原理 (General Principle of RF Measurement)
为了使无线通信设备正常( properly)工作,它应该满足以下硬件要求
i) 该设备应以足够强的功率传输(transmit)信号,以确保信号到达通信的另一方。
ii)设备不应以太强的功率传输信号,从而干扰(interfere)其他方之间的通信。
iii)设备应以足够好的质量发送信号,该信号可由另一方解码/校正(decode/correct)。
iv)设备应以已分配给通信的确切频率发送信号。
v) 设备不应在为设备分配的频率区域之外产生(generate)任何噪声。
如果这些条件中的任何一个与规范偏离(deviate)太多,则设备无法与另一方通信,或阻止prevent(干扰interfer)其他设备与其伙伴(partner)通信。就测量设备而言,第i)项和第ii)项属于“功率测量”,第iii)项与“调制分析(Modulation Analysis)”有关,第iv)项则属于“频率误差测量(Frequency Error measurement)”。第v)项也是一种“功率测量”,但频域(frequency domain)中的测量区域与第i)项和第ii)项不同。无论如何,如果你有任何设备可以对你的通信技术进行以下三项测量,你就可以完成传输路径中最关键的(critical)部分。
a) 功率测量(频谱测量) Power Measurement (spectrum measurement)
b) 调制分析 Modulation Analysis
c) 频率误差测量 Frequency Error Measurement
如果你有任何具有足够带宽和频率的通用频谱分析仪(spectrum analyzer),你可以为任何无线设备进行大部分功率测量。然而,对于调制分析仪和频率误差测量,您需要为特定的无线技术设计特定的测量设备。
现在让我们考虑接收路径测量。通信设备最重要的接收特性(reciever characteristic)是什么?
i) 接收器( reciever)必须能够成功地解码(decode)来自发射器(transmitter)的信号,即使信号强度很低。
ii)接收器必须能够成功解码来自发射器的信号,即使信号周围有一定水平的噪声。
就测量逻辑而言,第i)项和第ii)项是相同的。在一些无线技术(例如,CDMA、WCDMA等)中,设备发送已知信号的模式,并让接收器对其进行解码,并通过接收器比较来自设备的原始信号和解码信号,以及它们之间的差异。它们之间的差异越大,接收质量就越差。我们称这种方法为“误码率(BER:Bit Error Rate)测量”。项i)在设备的输入信号非常低时测量BER,项ii)在输入信号有噪声时测量BER。在一些其他技术(例如,LTE、WiFi、蓝牙等)中,设备不逐位(bit by bit)比较TX和RX数据。他们只是发送一个数据包(packet)并检查DUT的响应。如果DUT成功解码了数据包,它将发送“ACK”,如果它未能解码数据包,则会发送“NACK”。由于DUT基于对while帧的解码来做出这种判断(judgement),因此这种测试被称为FER(Frame Error Rate帧错误率)测试或PER(Packet Error Rate分组错误率)检测。
3、RF TX的测量示例 (Measurement Example of RF TX)
我捕捉(capture)到了所有这些阴谋,安立MT8862。您可以看到这些测试的测试设置(对于802.11a、b、g,我使用三星GS4作为DUT,对于802.11ac,我使用D-Link的WiFi加密狗(dongle)作为DUT)。此处显示的测量结果并非来自严格控制的测量。因此,不要期望这些结果在规范的PASS范围内。这些放在这里只是为了让你了解各种WLAN信号的一些基本RF信号特性。
802.11b
802.11g
802.11a
802.11n
802.11ac