首页 > 其他分享 >Wi-Fi Basic PHY and MAC

Wi-Fi Basic PHY and MAC

时间:2023-09-27 14:55:07浏览次数:58  
标签:802.11 STA MAC AP PHY Fi 调制 MIMO

总体架构 Architecture

Wi-Fi 网络的网络拓扑

首先我们从下面这张图来了解一下 Wi-Fi 网络的网络拓扑

 

   BSS Basic Service Set 基本服务集是 802.11 网络的基本组件 building block。每个 BSS 基本服务集都一个唯一的标识,称为 BSSID Service Set Identifier 最常见的 infrastructure BSS 基础结构型基本服务集。由 AP access point 和 STA Station 组成。

  • AP 具有无线至有线桥接功能的设备。如路由器
  • STA  具有无线网络接入功能的电子设备如笔记本,手持设备等

  MAC和PHY层协议的结构

  我们再从下面这张图来了解一下MAC和PHY层的协议的结构:

 

IEEE 802.11 PHY

Wi-Fi 的频率、带宽、调制方式总览

下图介绍了不同版本的 Wi-Fi 协议采用的频率、带宽、调制方式,速率等。

 

  Wi-Fi 工作的频率

     目前 Wi-Fi 有3个频段分别是 2.4GHz, 5GHz 和 6GHz。在国内 6GHz 还没有开放,所以我们来看一下 2.4GHz 和 5GHz 这两个频段。

2.4G

 

  2.4GHz工作的频率范围为2.400—2.4835GHz,一共有14个信道。每个子信道频宽为22MHz;相邻信道的中心频点间隔5MHz;所以相邻的多个信道存在频率重叠。

  中国5G频段可以使用 36(5180), 40(5200), 44(5220), 48(5240), 52(5260), 56(5280), 60(5300), 64(5320), 149(5745), 153(5765), 157(5785), 161(5805), 165(5825)

  调制解调方式

  接下来我们具体介绍一下上面提到的各种调制解调方式:

  1. DSSS Direct Sequence Spread Spectrum 直接序列扩频。直接序列扩频系统是将要发送的信息用伪随机码(PN码)扩展到一个很宽的频带上去,在接收端,用与发端扩展用的相同的伪随机码对接收到的扩频信号进行相关处理,恢复出发送的信息。它是一种数字调制方法,具体说,就是将信源与一定的PN码(伪噪声码)进行摸二加。例如说在发射端将"1"用11000100110,而将"0"用00110010110去代替,这个过程就实现了扩频,而在接收机处只要把收到的序列是11000100110就恢复成"1"是00110010110就恢复成"0",这就是解扩。这样信源速率就被提高了11倍,同时也使处理增益达到10dB以上,从而有效地提高了整机信噪比。
  2. HFSS Frequency-Hopping Spread Spectrum 跳频扩频。在最早的 802.11 规范中 WiFi 采用了HFSS 跳频扩频的技术,这个调频类似 BLE 采用的方式。但从802.11b 之后被 DSSS 所取代。
  3. OFDM Orthogonal Frequency Division Multiplexing 正交频分复用。802.11g 开始  WiFi 引入了新的调制解调技术 OFDM。 OFDM 的核心是将一个宽带信号分成多个窄带子信号,每个子信号通过正交调制技术发送到接收端。OFDM技术将宽带信号分成N个子载波,每个子载波都有自己的频率,并且互相正交。所谓的正交,可以理解为互相没有影响,互不相干。这样设计可以避免子载波间的干扰,提高了通信的可靠性。                                                                                                                                                    
  4. OFDMA Orthogonal Frequency Division Multiple Access 正交频分多址。OFDMA 可以看作是 OFDM + FDMA。OFDM (Orthogonal Frequency Division Multiplexing)即正交频分复用技术。FDMA (frequency division multiple access),频分多址是把总带宽分隔成多个正交的信道,每个用户占用一个信道。                                                                                                                                     
  5. QAM Quadrature Amplitude Modulation 正交幅度调制。802.11n 引入了QAM 调制。 QAM 在载波和相位两个维度上进行调制。2-QAM 是二进制相移键控 BPSK,4-QAM实际上正交相移键控 QPSK                                                                                                                                                                                                                                                                                                          

  6. MIMO Multiple-Input Single-Output 多入单出模式。MIMO技术称为多入多出(Multiple-Input Multiple-Out-put)技术,同时也可以称为多发多收天线(MTMRA,Multiple Transmit Multiple Receive Antenna)技术。其基本原理是在发射端和接收端分别使用多个发射天线和接收天线,并能够区分发往或来自不同空间方位的信号,还可以在不增加带宽与发射功率的前提下,提高系统容量、覆盖范围和信噪比、改善无线信号的传送质量,它与传统的信号处理方式的不同之处在于其同时从时间和空间两个方面研究信号的处理问题。                                                                                            
  7. MU-MIMO Multi-User Multiple-Input Multiple-Output 即多用户 MIMO。802.11ax 开始 MIMO 由之前的 SU-MIMO 升级到 MU-MIMO。在 SU-MIMO 下,路由和不同的设备之前的通讯时分时的。 MU-MIMO 下路由可以同时和多个用户通讯。为了多用户MIMO(MU-MIMO),一定要避免各个用户相互的干扰,也就是让虚线的这些信号尽量小,这是通过Tx Beamforming(波束成形)来做的。单用户MIMO下,不需要Tx Beamforming来区分,但是可以用它增强信号。

 

  物理层的帧结构

   802.11 Physical (PHY) layer 被划分成2个 sublayers:

  • PLCP (Physical Layer Convergence Procedure) sublayer
  • PMD (Physical Medium Dependent) sublayer

  PLCP 从 MAC sublayer 收到数据帧后创建 PPDU PLCP Protocol Data Unit . PMD sublayer 来调制并发送 PPDU。802.11b 的 PPDU 由三部分组成,分别是 Preamble, Header 和 Payload Data。

 

  802.11b 协议的 Header 由下面4个字段组成:

  • Signal (8bits) – PSDU/MPDU 的定义数据传输速率。它有四个值:0Ah、14h、37h和6Eh,分别指定传输速率为1Mbps、2Mbps、5.5Mbps和11Mbps
  • Service (8bits) – 使用其中的 5 bits
      • Bit 2 指示Transmit Frequency 和 Symbol clock 由同一个时钟源驱动
      • Bit 3 指示编码方式 0 – CCK: Complementary Code Keying, 1- PBCC: Packet Binary Convolution Code
      • Bit 5-7 用于对长度进行补充说明.
  • Length (16 bits) –指示传输 PSDU 需要的时长单位是 us
  • CRC (16bits) – 包含 signal, service,length 三个部分

  前导码和PLCP头部信息以固定的1Mbps速率发送,而PSDU数据部分则以1Mbps(DBPSK调制)速率进行传送。所以我们可以从下图 Ellisys 抓到的包中看到 Preamble 的传输时长正好是144us,Header 的传输时长正好是48us。

 

IEEE 802.11 MAC

MAC层的帧结构

MAC 层的包我们称之为 MPDU MPDU MAC Protocol Data Unit 802.11 协议帧格式包括:

  • Frame Control 帧控制字段。长度 16-bit,包含帧的信息。
  • Duration 信道占用时间。在这个时间段内,所有收到此帧的 STA 不会尝试发送数据。
  • Address 1-4 48-bit MAC addresses 共有4种:
      • Destination Address (DA)
      • Source Address (SA)
      • Receiver Address (RA)
      • Transmitter Address (TA)
  • Sequence Control 传输帧序号。 总共 16-bit,其中包括 4-bit 的 fragment number 和 12-bit 的 sequence number。
  • Frame Body 数据帧。这部分是从上面传下来的 MSDU. maximum MSDU = 2304 bytes。
  • FCS Frame Check Sequence  校验码。长度32-bit,校验的范围包括除了 FCS 自己以外的下图所有字段。 

  下面这张图是 Probe Request 和 Probe Response 帧,我们可以看到 Frame Control 字段里的 Type 和 Sub Type 所指示的包的类型信息。

 

STA和AP建立连接的过程

STA 和 AP 建立连接分为4个过程:

  • Scan 扫描:用于 STA 发现无线网络。
  • Authentication 链路认证:STA 想要与 AP 建立无线链路,也需要一个认证,这就是链路认证。STA 和 AP 互相认证一下对方是不是 802.11设备。
  • Association 关联:确定 STA 有资格和 AP 建立无线链路后,STA 还需要与 AP 协商无线链路的服务参数,才能完成无线链路的建立。
  • 4-way Handshake 4 次握手:用于验证 STA 端并加密与 AP 的所有通信。握手是通过在客户端上运行的 WPA 请求者与在接入点上运行的验证者之间交换 EAPoL 帧来建立的。

Scan 扫描

通电后每个 802.11 Station 周期性地扫描每个 RF 信道,以便找到 BSS 加入。扫描类型分两种,一种是 active scan 主动扫描,另一种是 passive scan 被动扫描。主动扫描中 STA 会向广播地址发送 Probe Request。如果有 AP 收到 Probe Request,AP 会回 Probe response 包。

 

Authentication 认证

当 Station 找到自己满意的 AP 后,并不能够直接连接,而是需要先通过 AP 的认证,验证 Station 的合法资格后才能建立关联。总的来说,AP 验证的 Station 资格的方式有两种:

  • Open System Authentication 开放系统认证。 通常当我们选择了 WPA/WPA2-PSK的时候, 当前不需要身份的认证,放在后面的 4-way Handshake 来做。
  • Shared-key Authentication 共享密钥认证。 如果选择了Shared-key ,那就不需要后面的四次握手认证过程了。

  ·下图是 Open System Authentication 开放系统认证的过程,STA 先向 AP 发一个 Authentication 包,AP 回一个 Authentication 包。

 

Association 关联

Association 关联就是 STA 和 AP 间无线链路服务协商的过程。协商的内容主要包括支持的速率、信道、QoS 的能力,以及选择的接入认证和加密算法等。关联分为两个步骤:

  • Association Request 关联请求
  • Association Response 关联响应

  在 association request 和 association response 里面携带了很多种的链路参数。其中有一个 RSN  Robust Security Network 字段。它的作用是告诉 AP 数据加密的相关参数。AP 的加密参数包含在 beacon 中或者 probe response 的 RSN 字段中。

  • Group Data Cipher Suit 指示用来加密 multicast/broadcast 的算法。这里我们看到采用的算法是 CCMP-128 CCM mode Protocol。
  • Pairwise Cipher Suit 指示用来加密 unicast 的算法。同样采用了 CCMP-128 算法。
  • AKM Suite Authentication Key Management Suite 指示密钥管理方法。我们可以看到采用的是 PSK pre-shared key 预置密钥。

 

4-way Handshake 四次握手

AP 与 STA 只有通过四次握手协商产生 PTK/GTK,并且确认双方均已准备就绪后,才可以开始进行加密传输。PTK 用于单播数据帧的加密和解密,GTK 用于组播数据帧和广播数据帧的加密和解密,管理帧、控制帧和空数据帧不用加密。四次握手不是直接将密码发送到 AP,而是通过 EAPOL(Extensible authentication protocol over LAN)进行消息交换。下图是四次握手的详细流程。

 

总结

  本文介绍了  Wi-Fi 的 PHY 层和 MAC 层的一些基本概念。在物理层着重介绍了频段,调制解调方式,物理层帧格式等。在 MAC 层着重介绍了帧格式,STA 和 AP 建立连接的过程。

 

 

 

标签:802.11,STA,MAC,AP,PHY,Fi,调制,MIMO
From: https://www.cnblogs.com/victor-zheng/p/17727489.html

相关文章

  • 一个思路:实现 golang 中的 `__file__` `__line__` 宏
    作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢!cnblogs博客zhihuGithub公众号:一本正经的瞎扯测试zaplog发现,开启caller的调用,会使整个服务增加2%的损耗。其实文件及其行号完全可以在编译期加上去,没必要带来运行期的性能损耗。因此有一个思路,可以解决这......
  • Dockerfile如何制作mysql镜像
    原文:https://blog.csdn.net/dwd22/article/details/130705146Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可抑制的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。1.编写dockerfile_mysql5.7在文件夹/root/dockerfile/mysql创建文件......
  • jenkins自动部署web项目到tomcat 和 本地启动不一致 tomact log中文乱码
    最近项目使用jenkins来自动化部署,部署后发现catalina.out日志中文是乱码的。如果使用手动部署不经过Jenkins的话项目就一切正常。所以我想有可能是因为jenkins部署的时候,导致目标服务器那边获取不到相应的环境变量。在tomcat日志中发现,手动启动使用的是自己安装的JDK,而用jenkins......
  • centos防火墙 firewall
    CentOS7开放/关闭端口,关闭防火墙一、永久的开放需要的端口sudofirewall-cmd--zone=public--add-port=3000/tcp--permanentsudofirewall-cmd--reload二、永久关闭某端口$sudofirewall-cmd--remove-port=3000/tcp--permanent二、检查防火墙规则firewall-cmd--......
  • macOS下安装python3
    使用brew安装python3brewinstallpython3Running`brewupdate--auto-update`...==>Downloadinghttps://ghcr.io/v2/homebrew/portable-ruby/portable-ruby/blobs/sha256:61029cec31c68a1fae1fa90fa876adf43d0becff777da793f9b5c5577f00567a#########################......
  • 【文件上传】blob、file、formdata区别
    一、简单介绍blob是原始的也是用的最多的;file是input拿到的时候这个格式,从blob继承而来;base64类似于string那种,可以传输方便直接用于图像展示,而blob是原始的。一般base64用于图像展示,而blob、file用于文件上传。二、具体区别   formData就是将form表单元素的name和value进行组......
  • mac M2 清除系统数据
    磁盘至于265G打开一看系统数据是105G删除多余的数据设置->通用->存贮清除缓存sudorm-rf~/Library/Caches/*......
  • FinClip 现已兼容抖音小程序、支付宝小程序
    开发者朋友们!我们近期又迎来了一次重大升级!FinClip现已成为市面上兼容微信、抖音、支付宝小程序的项目厂商,让小程序更快上线,更轻松成功!为什么选择FinClip?在探索这一重大更新之前,让我们一同简要回顾一下FinClipStudio的相关能力。使用FinClipStudio创建小程序时界面FinClip......
  • FinClip 现已兼容抖音小程序、支付宝小程序
    开发者朋友们!我们近期又迎来了一次重大升级!FinClip现已成为市面上兼容微信、抖音、支付宝小程序的项目厂商,让小程序更快上线,更轻松成功!为什么选择FinClip?在探索这一重大更新之前,让我们一同简要回顾一下FinClipStudio的相关能力。使用FinClipStudio创建小程序时界面FinClip......
  • 如何创建可引导的 macOS Sonoma 安装介质
    2023年9月26日(北京时间27日凌晨)macOSSonoma正式版现已发布。如何创建可引导的macOSSonoma安装介质如何创建可引导的macOS安装器|如何制作macOSUSB启动盘请访问原文链接:https://sysin.org/blog/macos-createinstallmedia/,查看最新版。原创作品,转载请保留出处......